在這篇文章中,我所總結(jié)的所有信息普遍適用于那些對(duì)這個(gè)領(lǐng)域有興趣的高中生。文章的編排是按照時(shí)間順序進(jìn)行,這與其他入門指南的內(nèi)容安排有所不同,高中生不需要理解線性代數(shù),偏導(dǎo)數(shù)及其他復(fù)雜的數(shù)學(xué)概念,而只需要按照我們的安排一步步學(xué)習(xí)??紤]到高中生的學(xué)習(xí)能力及時(shí)間安排,這種學(xué)習(xí)方式對(duì)絕大多數(shù)的高中生都非常適用,我相信你可以在三個(gè)月內(nèi)達(dá)到相當(dāng)高的專業(yè)水平。
下面讓我們開始吧!
1. 學(xué)習(xí)Python,并用于算法編程。
在此,我強(qiáng)烈建議初學(xué)者學(xué)習(xí)Python。Python不僅非常容易適合初學(xué)者掌握,而且它幾乎支持機(jī)器學(xué)習(xí)中所有的依賴庫。雖然R語言很有用,但一般說來Python更適合高中生學(xué)習(xí)。除了基本編程外,對(duì)于機(jī)器學(xué)習(xí)來說,最有用的庫包括Numpy,Pandas和Matplotlib。
對(duì)于那些沒有編程基礎(chǔ)的同學(xué),我建議學(xué)習(xí)多倫多大學(xué)(現(xiàn)在是ML / AI最好的大學(xué)之一)開設(shè)一門編程課程。雖然這需要幾周的學(xué)習(xí)時(shí)間,但是通過本課程你可以獲得的大部分編程所需的知識(shí)。不僅如此,該課程對(duì)所有人都是免費(fèi)的,你可以在https://www.coursera.org/learn/learn-to-program?siteID=SAyYsTvLiGQrs4V8qoewjp3oL7Nr.r_Fw&utm_content=10&utm_medium=partners&utm_source=linkshare&utm_campaign=SAyYsTvLiGQ#獲取課程相關(guān)的信息。
對(duì)于那些擁有Python語言編程經(jīng)驗(yàn)的人,你只需瀏覽本教程的語法https://www.tutorialspoint.com/python/python_basic_syntax.htm,這對(duì)你來說不需要花費(fèi)太多的時(shí)間。
在了解Python的基礎(chǔ)知識(shí)后,你還需要了解我上面提到的前兩個(gè)庫(Matplotlib可以晚點(diǎn))。 Numpy和Pandas可以用于修改和使用數(shù)據(jù),而Matplotlib則用于圖表和數(shù)據(jù)的可視化。你可以通過以后鏈接來學(xué)習(xí)Numpy和Pandas庫,這不會(huì)花費(fèi)你太多的時(shí)間:
Numpy:
http://cs231n.github.io/python-numpy-tutorial/
Pandas:
https://pandas.pydata.org/pandas-docs/stable/10min.html
有了Python的編程基礎(chǔ),現(xiàn)在你可以開始學(xué)習(xí)機(jī)器學(xué)習(xí)和人工智能所需的核心編程。
2. 深入了解機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí)。
Andrew Ng的機(jī)器學(xué)習(xí)(Machine Learning)課程是一門最通用的機(jī)器學(xué)習(xí)課程。由于課程中涉及到一些偏導(dǎo)數(shù)的概念(盡管整個(gè)課程的學(xué)習(xí)并不需要完全理解這些概念),因此對(duì)于高中學(xué)生來說這門課程可能還有點(diǎn)難度。然而,我發(fā)現(xiàn)課程中第3至5周的一些講座對(duì)高中生的入門學(xué)習(xí)還是有益的。
我鼓勵(lì)每個(gè)人都可以嘗試著開始這個(gè)課程的學(xué)習(xí)并相應(yīng)地做一些筆記。盡管課程的學(xué)習(xí)不需要太難的數(shù)學(xué)知識(shí)及相關(guān)的Matlab編程能力,但這對(duì)于高中生來說仍然還是難以掌握。不用擔(dān)心,我們將在短時(shí)間內(nèi)用Python復(fù)現(xiàn)其中相同(或更先進(jìn))的算法。
免費(fèi)課程鏈接:https://www.coursera.org/learn/machine-learning.
3. 學(xué)習(xí)各種機(jī)器學(xué)習(xí)算法,并理解如何在真實(shí)世界的場(chǎng)景中應(yīng)用它們。
理論上來說,高中生無法直接理解一些大學(xué)的數(shù)學(xué)知識(shí)及相關(guān)的機(jī)器學(xué)習(xí)算法。但是澳大利亞的一個(gè)研究團(tuán)隊(duì)解決了這個(gè)問題。來自SuperDataScience團(tuán)隊(duì)的Kirill Eremenko和Hadelin dePonteves通過尋找在現(xiàn)實(shí)生活中場(chǎng)景來應(yīng)用各種機(jī)器學(xué)習(xí)算法,這種學(xué)習(xí)的方法是非常有效的。此外,在應(yīng)用中適當(dāng)?shù)厣钊肜斫馑惴ǖ墓δ?,而無需接觸復(fù)雜高深的數(shù)學(xué)知識(shí),這對(duì)于高中生學(xué)習(xí)機(jī)器學(xué)習(xí)算法來說,無疑是一大福利。
他們的課程資源在Udemy上,你可以通過以下鏈接https://www.udemy.com/machinelearning/learn/v4/overview 獲取課程的詳細(xì)信息。
雖然這門課程不是免費(fèi)的,但Udemy上的課程定期都享受90%或以上的折扣,這門課的價(jià)格約為10美元。
此外,這門課程的學(xué)習(xí)涵蓋了Python和R語言,你只需通過Python來實(shí)現(xiàn)課程后的任務(wù)而無需涉及R語言。如果你發(fā)現(xiàn)課程的進(jìn)度太慢,可以通過設(shè)置倍速播放來學(xué)習(xí)這個(gè)課程(我是這樣做的,發(fā)現(xiàn)這樣非常好用)。課程的內(nèi)容涵蓋了從基本的回歸算法到深度卷積神經(jīng)網(wǎng)絡(luò)的所有機(jī)器學(xué)習(xí)內(nèi)容。如果你想進(jìn)一步探索更先進(jìn)的領(lǐng)域,其深度學(xué)習(xí)課程將在機(jī)器學(xué)習(xí)結(jié)束時(shí)提供,你將享受90%的折扣。然而,深度學(xué)習(xí)課程中的一些新穎的概念可能有點(diǎn)先進(jìn),也無適當(dāng)?shù)恼f明文檔,這可能對(duì)初學(xué)者來說不好理解。
如果你不愿意學(xué)習(xí)這門付費(fèi)的課程,那么還可以通過https://www.udacity.com/course/deep-learning-ud730或密歇根大學(xué)推出的免費(fèi)機(jī)器學(xué)習(xí)課程www.coursera.org/learn/python-machine-learning來開始你的機(jī)器學(xué)習(xí)之旅。
你還可以通過查看Google的免費(fèi)深度學(xué)習(xí)課程來獲得該領(lǐng)域的一些最前沿的知識(shí)。但是,這些與SuperDataScience團(tuán)隊(duì)的課程相差甚遠(yuǎn)。
對(duì)于這些課程,筆記并不是必需的,因?yàn)榫W(wǎng)上有大量的“算法備忘單(algorithmcheat sheets)”資源,它們簡便地記錄了一些基本概念、編程知識(shí)及相關(guān)依賴庫的使用方法,這能方便你在需要的時(shí)候快速的查閱。
你可以通過這個(gè)鏈接https://www.analyticsvidhya.com/blog/2017/02/
top-28-cheat-sheets-for-machine-learning-data-science-probability-sql-big-data/ 獲取一些備忘單的詳細(xì)信息。
4. 進(jìn)一步探索機(jī)器學(xué)習(xí)的應(yīng)用。
到目前為止,你已經(jīng)掌握了廣泛的機(jī)器學(xué)習(xí)基本知識(shí),并學(xué)到了大量的技能及編程知識(shí)。這些足以讓你獨(dú)立地去完成一些基礎(chǔ)的項(xiàng)目。我建議去Kaggle(https://www.kaggle.com/)或UCI機(jī)器學(xué)習(xí)庫(http://archive.ics.uci.edu/ml/datasets.html),找到你所感興趣的項(xiàng)目或數(shù)據(jù)集,運(yùn)用機(jī)器學(xué)習(xí)算法對(duì)其進(jìn)行初步建模,并通過微調(diào)模型參數(shù)來嘗試優(yōu)化模型的性能。
在開始一個(gè)項(xiàng)目之前,首先要確保所使用的數(shù)據(jù)集是簡單且干凈的,它們需要進(jìn)行太多的數(shù)據(jù)預(yù)處理或修改操作。一些簡單的數(shù)據(jù)集包括theIris,BreastCancerWisconsin,AutismScreening,CongressVoting,HandwrittenDigits MNIST 和 FashionMNIST ones等。
如果你在項(xiàng)目過程中遇到問題,你可以通過StackOverflow(https://stackoverflow.com/)提出你的問題,這是個(gè)活躍的社區(qū),社區(qū)里有各種各樣的領(lǐng)域大牛。通常,你只需發(fā)布一個(gè)bug,在幾個(gè)小時(shí)內(nèi)就會(huì)得到答復(fù),總有人能夠解答你的問題。
在這里我沒有更多要說的,當(dāng)你了解該領(lǐng)域的基本知識(shí)并掌握了相關(guān)的編程知識(shí),接下來你只需要通過實(shí)戰(zhàn)項(xiàng)目來多加練習(xí),熟悉解決問題的整體流程,在不斷實(shí)戰(zhàn)中鍛煉并提高自身的專業(yè)能力,這只能靠你自己去努力!
5. 找到一個(gè)特別感興趣的領(lǐng)域,并深入探索。
雖然你現(xiàn)在已經(jīng)對(duì)機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí)有了廣泛而深入的理解,但是對(duì)于這些機(jī)器學(xué)習(xí)算法的實(shí)際應(yīng)用還沒有很清楚地界限。因此,我建議你要盡快找到一個(gè)特別感興趣的機(jī)器學(xué)習(xí)應(yīng)用領(lǐng)域,并進(jìn)行深入研究。在高中期間,你可能沒有充分的時(shí)間深入研究所有的機(jī)器學(xué)習(xí)領(lǐng)域,那么請(qǐng)從你最感興趣的領(lǐng)域開始深入探索吧。
▌學(xué)習(xí)AI可能會(huì)涉及的領(lǐng)域
下面,我會(huì)列出一些可能涉及的領(lǐng)域,但你在開始之前要明白你正在學(xué)習(xí)的是什么。我還會(huì)通過一個(gè)簡單的YouTube提供你所需要的高級(jí)解釋。
1. 計(jì)算機(jī)視覺:這可能是目前機(jī)器學(xué)習(xí)/人工智能領(lǐng)域最熱門的領(lǐng)域。通過計(jì)算機(jī)使用特殊類型的深度神經(jīng)網(wǎng)絡(luò)來識(shí)別、檢測(cè)和理解圖像內(nèi)容。斯坦福大學(xué)發(fā)布了在線的計(jì)算機(jī)視覺課程(http://cs231n.stanford.edu/),課程內(nèi)容包括專題講座,課程筆記和作業(yè)任務(wù)。
通過這個(gè)課程,你可以掌握涵蓋計(jì)算機(jī)視覺的大部分知識(shí)。此外,你還可以了解OpenCV,這是一個(gè)計(jì)算機(jī)視覺庫,涵蓋計(jì)算機(jī)視覺中所有的知識(shí)及應(yīng)用。完成這些課程學(xué)習(xí)后,你可以試著開始探索Kaggle和UCI上更先進(jìn)的圖像數(shù)據(jù)集,甚至可以參加Kaggle的比賽。
OpenCV教程:
https://www.youtube.com/watchv=Z78zbnLlPUA&list=PLQVvvaa0QuDdttJXlLtAJxJetJcqmqlQq
2. 自然語言處理:了解計(jì)算機(jī)如何學(xué)習(xí)說話也是當(dāng)前一個(gè)熱門的研究話題。斯坦福大學(xué)推出的一個(gè)在線的自然語言處理課程(http://web.stanford.edu/class/cs224n/)。你不需要掌握很復(fù)雜的數(shù)學(xué)概念,通過這門課程的學(xué)習(xí),你可以了解這個(gè)領(lǐng)域的相關(guān)知識(shí)及工作原理。對(duì)于課程任務(wù)的實(shí)現(xiàn),你可以參考這個(gè)Udemy課程:https://www.udemy.com/data-science-natural-language-processing-in-python/。
但是,你也可以選擇Siraj Rava的MachineLearnerl的視頻(如https://www.youtube.com/watch?v=9zhrxE5PQgY)。如果你已經(jīng)完成了這些課程,那么可以嘗試開始一些簡單的項(xiàng)目,如建立聊天機(jī)器人,情感分析或?yàn)楦枨鷦?chuàng)建歌詞,這個(gè)簡單的YouTube視頻應(yīng)該幫助你開展你的項(xiàng)目。
3. 強(qiáng)化學(xué)習(xí):該領(lǐng)域?qū)W⒂谌绾巫寵C(jī)器以特定方式進(jìn)行學(xué)習(xí),其在視頻游戲領(lǐng)域的應(yīng)用最為廣泛。
SirajRaval推出了一個(gè)不錯(cuò)的視頻教程,你可以在這個(gè)鏈接(https://www.youtube.com/watch?v=i_McNBDP9Qs&list=PL2-dafEMk2A5FZ-MnPMpp3PBtZcINKwLA)學(xué)習(xí)過去的課程。
此外,David Silver在UCL開展的一門關(guān)于強(qiáng)化學(xué)習(xí)的課程也非常棒(http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html),但這對(duì)于初學(xué)者入門學(xué)習(xí)來說有很大的難度。
一旦你完成了這些課程學(xué)習(xí)后,就可以開始從網(wǎng)上下載一些基礎(chǔ)項(xiàng)目,并嘗試添加人工智能元素來修改代理的行為及智能體的學(xué)習(xí)方式。更多的視頻教程可以在Youtube上搜索。
4. 數(shù)據(jù)科學(xué):這是一個(gè)新興的領(lǐng)域,在現(xiàn)實(shí)生活中有廣泛的應(yīng)用,也創(chuàng)造了大量的工作機(jī)會(huì)。
建議你以SuperDataScience的課程(https://www.udemy.com/datascience/)或UC San Diego的課程(https://www.edx.org/course/python-data-science-uc-san-diegox-dse200x)開始你的應(yīng)用學(xué)習(xí),前者是需要付費(fèi)的,后者是一門基于python的免費(fèi)課程。此外,你也可以通過Google搜索找到數(shù)據(jù)科學(xué)的特定學(xué)習(xí)路徑。
5. 你還必須要學(xué)習(xí)SQL以及Matplotlib的相關(guān)課程。如果可以的話,在掌握數(shù)據(jù)科學(xué)領(lǐng)域的相關(guān)知識(shí)后,最好能夠找到一些公司的實(shí)習(xí),因?yàn)楣緦?shí)際的業(yè)務(wù)問題能夠讓你通過項(xiàng)目更好地鞏固數(shù)據(jù)科學(xué)的工作流程,在實(shí)戰(zhàn)中快速的提高自己的能力,這對(duì)日后的職業(yè)發(fā)展也有很大的幫助。
SQL:
https://www.khanacademy.org/computing/computer-programming/sql
Matplotlib:
https://www.youtube.com/watch?v=q7Bo_J8x_dw
6. 此外,還有的應(yīng)用領(lǐng)域諸如像表示學(xué)習(xí)(用于推薦系統(tǒng)),生成對(duì)抗網(wǎng)絡(luò)(利用AI來改進(jìn)AI)及遺傳算法(以類似自然進(jìn)化的方式來改進(jìn)問題的解決方案)也是值得你進(jìn)一步探究的。但從目前情況來看,很多子應(yīng)用領(lǐng)域還未被完全的挖掘和探索。對(duì)于一名高中生來說,如果你對(duì)其中某一個(gè)領(lǐng)域有特別感興趣,那么就盡情地開始探索這些領(lǐng)域吧。
▌附加說明(這非常重要,有助于你真正理解人工智能領(lǐng)域)
對(duì)于一名高中生而言,如果你想在未來長期致力在機(jī)器學(xué)習(xí)或人工智能領(lǐng)域工作,那么一個(gè)至關(guān)重要的問題是你要了解它是什么,它的突破性在哪里及它對(duì)社會(huì)的影響。此外,你還需要盡快地確定一個(gè)感興趣的領(lǐng)域,這將決定你未來學(xué)習(xí)和研究的方向。一旦你確定了研究的領(lǐng)域并對(duì)該領(lǐng)域的工作有了必要的了解,那么你就可以按著以上的步驟開始針對(duì)性學(xué)習(xí)。不僅如此,在高中階段還需要扎實(shí)地掌握該領(lǐng)域的知識(shí)并對(duì)其發(fā)展有個(gè)總的把握,對(duì)于這些我將給出我的一些建議:
1. 開始閱讀研究論文:這聽起來并不是多么有挑戰(zhàn)性的工作。閱讀研究性的論文對(duì)于大多數(shù)高中生來說是完全可以的,論文中的大部分內(nèi)容也是容易把握的。如果偶爾碰到一個(gè)不明白的問題,可以嘗試跳過這些障礙,只要能理清論文整體的思路即可。
你可以通過這個(gè)鏈接(https://www.kdnuggets.com/2017/04/top-20-papers-machine-learning.html)獲取大量優(yōu)秀的論文,你還可以通過這個(gè)鏈接(http:// www.jmlr.org/papers/)找到最新的一些論文(在其中的第5部分中找到你所感興趣或與你的專業(yè)知識(shí)相關(guān)的領(lǐng)域論文列表)。
2. 傾聽領(lǐng)域大牛的意見:諸如Andrew Ng,Ian Goodfellow和Yann LeCunn等業(yè)界大牛都會(huì)定期地接受采訪,并給出關(guān)于人工智能及相關(guān)領(lǐng)域主題的觀點(diǎn)。我還建議你學(xué)習(xí)下這個(gè)youtube頻道的內(nèi)容:https://www.youtube.com/user/Maaaarth/videos,你可以對(duì)內(nèi)容進(jìn)行編譯,以便查看,保證你受益良多。
3. 實(shí)時(shí)關(guān)注領(lǐng)域動(dòng)態(tài):Wired是任何對(duì)科技感興趣的人都會(huì)關(guān)注的一個(gè)媒體平臺(tái),它每天會(huì)實(shí)時(shí)發(fā)布多個(gè)與機(jī)器學(xué)習(xí)、人工智能相關(guān)的文章,你可以在https://www.wired.com/tag/artificial-intelligence/上找到相關(guān)資源。此外,你也可以使用TechCrunch的FacebookMessenger bot看到與人工智能相關(guān)的文章,它會(huì)每日推送你感興趣的話題。
4. 了解其含義:TED演講是了解人工智能知識(shí)的最佳途徑之一。主題演講者都是這個(gè)領(lǐng)域優(yōu)秀工作者,他們對(duì)于各自領(lǐng)域的知識(shí)及未來的發(fā)展趨勢(shì)有著獨(dú)到的見解,并能在演講中分享他們?cè)诠ぷ髦械囊恍氋F經(jīng)驗(yàn),你可以在 https://www.youtube.com/user/TEDtalksDirector/videos上找到大量視頻資源。
5. AI哲學(xué):人工智能的成功有它的支持者和反對(duì)者。然而,它背后的哲學(xué)是有趣的。我認(rèn)為適合高中生的一些AI哲學(xué)書籍包括Ray Kurzweil的“''How to Createa Mind”和MaxTegmark的“''Life3.0”,你可以在這個(gè)鏈接()http://s3.amazonaws.com/arena-attachments/1446178 / cffa5ebc74cee2b1edf58fa9a5bbcb1c.pdf?1511265314找到這些資源,可以嘗試閱讀這些書籍,相信你會(huì)對(duì)人工智能有新的認(rèn)識(shí)。
6. 貢獻(xiàn):如果你喜歡從別人的經(jīng)驗(yàn)中學(xué)習(xí),你可以查閱Facebook group推出的人工智能和深度學(xué)習(xí)專題。如果你更喜歡對(duì)話的形式,那么可以在https://www.reddit.com/r/artificial/上查看AI Reddit主題,你會(huì)找到你所需要的內(nèi)容。
▌總結(jié)
我希望這種學(xué)習(xí)方式對(duì)于未來想要從事這一行業(yè)的每個(gè)人都能有所幫助。我聽到有太多人說機(jī)器學(xué)習(xí)和人工智能太復(fù)雜,一般認(rèn)為是研究生的研究領(lǐng)域,對(duì)于高中生很難入門。因此,我總結(jié)這篇文章的目的是想為每個(gè)初學(xué)者鋪平學(xué)習(xí)中的障礙,希望每個(gè)人都能入門這個(gè)新興領(lǐng)域,特別是高中生。
如果還有內(nèi)容要補(bǔ)充,建議,查詢或反饋意見的話,請(qǐng)隨時(shí)寫信給我@ kj.jaisingh@gmail.com。
聯(lián)系客服