重磅干貨,,第一時間送達 今天和大家分享一份Stanford學長的人工智能本科 4 年課程清單,。相信每個入行人工智能的老手,,對自己過往的幾年學習生涯都或多或少會有一些遺憾:如果我當年先從基本概念入手就好了,如果我當年把核心算法吃的更透一點就好了……最近,,一位在行業(yè)內工作了幾年的斯坦福人工智能”師兄“就根據(jù)自己的工作和學習經(jīng)驗,,為入學的師弟師妹們送出了一份大禮:人工智能的本科4年課程清單,希望想要了解人工智能的新生能夠靠著這份指路圖,,少走彎路,。這位大方的學長名叫Mihail Eric,本人也是一位妥妥的“學霸”。在斯坦福大學的NLP研究組里,,與Christopher Manning, Percy Liang, Christopher Potts(三位巨佬)一起做研究,,度過了3年非常充實的研究時光,收獲頗多,。同時Eric向ACL\EMNLP\NLP for AI work投稿論文,,均已發(fā)表,目前正在擔任ACL的審稿人,,也是業(yè)內人工智能公司Alexa AI的工程師。作為已經(jīng)畢業(yè)的學長,,Eric離開學校已經(jīng)有一段時間了,,總結了一下自己的學習和工作經(jīng)歷,Eric為自己的人工智能和機器學習的職業(yè)生涯,,設計一個完整的4年制人工智能本科學位基礎課程,。這些課程是為AI和CS領域的萌新提供的,雖然是萌新定位,,但Eric覺得這些課程直到今天都還在用,,是基礎必會的技能。
假設你沒有CS的經(jīng)驗,,這一年的大部分時間應該用在CS和機器學習的核心概念和算法上,推薦的課程有:
1.編程基礎,,這是AI從業(yè)人員必需具備的軟件工程學的基本技能,。課程為CS106B:http://web./class/cs106b/2.計算機系統(tǒng),這門課的重點在于計算機的基礎設計和構建,,尤其是學習軟件編譯的時候,,運行一個程序會發(fā)生什么,以及程序是如何在內存中運行的,。課程為CS107:3.算法概論,,這門課包含了計算機算法背后的數(shù)學和理論基礎,比如最優(yōu)搜索算法和動態(tài)編程,,以及如何分析這些算法的內存和優(yōu)缺點,。課程為CS161:4.概率論,概率論和統(tǒng)計學是機器學習算法中的核心,,尤其是分析數(shù)據(jù)在實戰(zhàn)里很重要,。課程為CS109:5.線性代數(shù),如何計算矩陣和向量,,線性方程組,,最小二乘法,這些都是機器學習需要用到的數(shù)學基礎。課程為EE103:6.多維微積分,,調試函數(shù)的梯度,,反向傳播以及機器學習,這些都是經(jīng)常用到的,。課程為向量微積分(工程師):https://www./learn/vector-calculus-engineers第2年,,從系統(tǒng)的基礎知識中開始慢慢探索AI本科的第二年,至少要明白人工智能的一些原理,,應該用什么樣的理論去解決問題,,還需要加強對計算機系統(tǒng)運行的理解。
1.人工智能概論,,這門課包括了人工智能領域所運用的研究,,比如搜索,游戲,,邏輯以及圖像還有機器學習算法的應用,。課程CS221:https://stanford-cs221./spring2020/2.編譯器,主要是講編譯器背后的設計和理論,,你學了之后,,至少應該了解一個編譯器是如何構建的,還有編譯器的模塊化組件,,也需要了解,。如果你對語義識別感興趣,可以好好琢磨一下編譯器的設計和傳統(tǒng)的自然語言處理堆棧之間的相似之處,,非常有趣,。課程CS143:3.數(shù)據(jù)庫原理,主要講數(shù)據(jù)庫管理系統(tǒng)背后的原則,,比如關系數(shù)據(jù)模型,、索引、模式等主題,,但凡你想成為數(shù)據(jù)專家或者機器學習工程師,,就必須要懂得數(shù)據(jù)庫的原理。課程CS145:4.并行計算,,并行計算這門課會講Apache Spark到GPU這些系統(tǒng)背后的原理,,課程CS149:5.操作系統(tǒng),你如果想要擅長系統(tǒng)編程,,就一定要上這門課,,這門課是講如何從頭開始搭建一個操作系統(tǒng),不僅需要設計系統(tǒng),,還需要明白如何調試和代碼管理,。如果你不明白,,你手下的人敲完:sudo rm -rf /*就撤了,你該如何拯救你的代碼,?課程CS140:http://web./~ouster/cgi-bin/cs140
這個時候應該開始學高級課程,開始NLP,,BA,,CV這些方向的研究,1.機器學習,,監(jiān)督學習和模型訓練的概念,,比如偏差、方差,,正則化以及模型選擇,,這些內容看上去簡單,實際上每個AI從業(yè)者天天都在用的,。課程CS229:2.凸優(yōu)化,這門課運用很廣,,比如統(tǒng)計學,,機器學習,信號處理和其它使用凸優(yōu)化的領域,,雖然現(xiàn)在有不少問題都是非凸化的,,但是你最好還是要懂背后的邏輯。課程EE364A:http://web./class/ee364a/3.概率圖模型,,像CV和NLP就會經(jīng)常用到,,所以還是需要了解。課程CS228:https://cs./~ermon/cs228/index.html4.數(shù)據(jù)挖掘,,大數(shù)據(jù)與數(shù)據(jù)挖掘,,這門課涵蓋了處理大型數(shù)據(jù)集的技術方法,會運用到推薦算法,、聚類以及大規(guī)模的數(shù)據(jù)集計算與分析,,要知道每天產(chǎn)生的數(shù)量還是比較大的。課程CS246:5.NLP,,自然語言處理,,讓機器懂得文本數(shù)據(jù)的理論和時間,而且還會在這門課里學到傳統(tǒng)自然語言處理,,老師會教如何用深度學習技術來處理這些,。課程CS224N:http://web./class/cs224n/6.基于CV的卷積神經(jīng)網(wǎng)絡,基本包含了深度學習背后的理論,,比如CV模型就經(jīng)常運用,,只要學過人工智能課程的人,,沒錯,是來自李飛飛教授的CS231N吧,。課程CS231N:
經(jīng)過前面3年課程的訓練,你應該對計算機系統(tǒng)和人工智能概念,、應用有了清楚的理解,,找到你比較感興趣的方向,拿起數(shù)據(jù)集,,就要開始自己跑模型,,做數(shù)據(jù)分析,調參還有解決Bug,。想要成為一個真正的人工智能專家,,不僅得學,還得上手練,。1.做研究項目,,有的學校會提供這類課程,在這門課里,,你需要深入研究整個項目的情況,。課程CS341:2.參加課題研究,主動去找研究生學長學姐,,做他們的助理,,將基礎知識再過一遍,也可以選擇自己開一個課題項目,,進行研究,,主要是讓你有一個項目經(jīng)驗。3.大廠實習,,如果你要是時間管理的好,,可以考慮在課余時間去AI公司實習,一般大廠都有這種3-6個月的實習機會,,在實習里,,不僅讓你了解書本上的基礎知識,還能使用基礎知識進行落地的運用,,這種應該算比較好的實戰(zhàn)機會了,。以上就是作為一個人工智能從業(yè)者的斯坦福畢業(yè)生Eric,送給AI萌新的4年規(guī)劃安排,,如果你覺得上面的課程比較難,,可以適當調整,當然也歡迎分享你的學習之路,。就像歌詞所說“一代人終將老去,,但總有人正年輕,。“AI之路任重且道遠,,不管是不是萌新,,只要你還愿意學習,就一直在路上,,加油?。?!https://www./posts/complete-artificial-intelligence-undergraduate-course-plan/
|