【资源】学 AI 该学哪些斯坦福 CS 课程,这个清单安排得明明白白
By 超神經
內容概要:斯坦福大學的計算機本碩畢業生 Mihail Eric,梳理了人工智能專業所需要的基礎課程和專業課程,并將其整理成四年的學習清單分享出來。
關鍵詞:網課分享 斯坦福AI課程
自 2011 年,MIT 和斯坦福大學首次將課程發布至線上,至今已經有數百所學校的上千門課程,免費對全球公眾開放。
其中斯坦福大學計算機類的課程以優質、全面、前沿受到全球終生學習者的認可。
近期一位本科與研究生均畢業于斯坦福大學計算機專業的小哥哥 Mihail Eric,梳理了一份課程清單。清晰分配了這些課程在四年學習中的順序,介紹了基本內容。完成這些課程,相當于完成了人工智能本科學位所需要的課程。
?曾任斯坦福助教,熱愛知識分享
Mihail Eric 在 2012 年進入斯坦福大學就讀計算機專業本科,2016 年繼續就讀計算機碩士,期間加入了斯坦福大學著名的 NLP 小組,還擔任過自然語言處理課程(CS 224N)和概率與統計學入門(CS 109)的助教。
Mihail Eric?也會在 Twitter 上分享學習經驗
https://twitter.com/mihail_eric
現在 Mihail 就職于亞馬遜的 Alexa AI 部門,擔任數據科學家。
Mihail 表示這個課程清單,主要受到他在斯坦福本碩期間所學習的課程印象和體會,以及他工作中對于人工智能學科學習的理解。所以這份課程清單,會更適用于想從基礎理論開始系統學習的人。
?自學第一年:夯實計算機基礎知識
在完成人工智能學位的第一年,應該聚焦于計算機科學和現代機器學習基礎的核心概念。針對沒有計算機學科基礎或基礎不扎實的同學。
這一年的主要精力應該花在學習軟件和算法基礎上,這些知識將貫穿這四年的學習和整個職業生涯,課程安排:
程序設計基礎?
課程代碼:CS 106B
CS 106 是斯坦福計算機課程中的經典課程,內容包括面向對象程序設計、數據結構(集合、圖等)知識,這些都是人工智能從業者需要的基礎軟件工程技能。
課程地址:http://web.stanford.edu/class/cs106b/
計算機系統導論?
CS 107
從底層角度來思考計算機科學系統是如何設計和構成的。其中,課程重點在于學習軟件編譯過程,當你運行程序時會發生什么,在內存中程序是如何組織的等。
課程地址:http://web.stanford.edu/class/cs107/
算法設計與分析?
CS 161
該課程涵蓋廣泛使用的算法背后的數學和理論,比如廣度優先遍歷、動態規劃,以及如何分析那些算法的內存和運行時特點。
課程地址:http://web.stanford.edu/class/cs161/
概率論?
CS 109
概率統計是許多機器學習算法的核心,學習如何解釋和分析數據,對于任何機器學習或大數據科學的領域來說 ,都是至關重要的。
課程地址:http://web.stanford.edu/class/cs109/
線性代數?
EE 103
涵蓋如何運用矩陣和向量,解線性方程,應用最小二乘法。這些數學基礎知識在機器學習領域都被廣泛使用。
課程地址:http://web.stanford.edu/class/ee103/
多維微積分?
math 51
這門課可以幫助你輕松地解開函數梯度,因為這是反向傳播等深度學習主力算法的核心技術。
課程地址:http://web.stanford.edu/class/math51/cgi-bin/51.php
(超神經備注:2020 學期開設的相關課程有調整,推薦包含線性代數內容的 math51)
?自學第二年:深入開發系統知識?
人工智能本科二年級學生的重點應該是讓自己了解人工智能的一般原理,和解決的問題是什么,以及是如何解決的。
此外,應該繼續理解與模型構建相關的計算機系統知識,并實踐軟件工程和設計原則。為此,建議學習以下課程:
人工智能導論?
CS 221
涵蓋了不同的人工智能領域的廣泛概述,如搜索、游戲、邏輯、圖形模型、機器學習和這些算法的應用。這樣的課程為從符號邏輯,到統計技術等方法的思想演變提供歷史背景。
課程地址:https://stanford-cs221.github.io/spring2020/
編譯器
CS 143
這門課的課程名稱言簡意賅:Compilers!
涵蓋編譯器背后的設計和理論,實踐從零構建一個完整的編譯器。
編譯器是編寫的每一個程序的核心,即使對人工智能從業者來說,理解它們的工作原理也是很重要的,這樣你才能成為能力更全面的工程師。
這樣的課程將讓你了解如何構建一個復雜的軟件系統,著重于模塊化的、經過文檔化和測試的、架構良好的組件。除此之外,如果你對自然語言理解的人工智能感興趣,編譯器的設計和傳統自然語言處理堆棧之間的共通特性是很有趣的。
課程地址:http://web.stanford.edu/class/cs143/
數據庫導論
CS 145
內容包括:數據庫管理系統背后的原理,重點諸如關系數據模型、索引、模式和事務等部分。任何現代數據科學家或機器學習工程師,都必須在某種程度上與數據庫交互,因此了解它們的組織架構方式至關重要。
課程地址:https://cs145-fa19.github.io/
并行計算?
CS 149
并行計算平臺構成了當今許多平臺和技術的核心,從 Apache Spark 到 GPU 等硬件。并行計算的課程介紹系統背后的思想,以便你更熟練地有效地使用它們。
課程地址:http://cs149.stanford.edu/fall19/
操作系統?
CS 140
如果你想真正擅長系統編程,成為一個更熟練的工程師,那就去上一門操作系統課程,在這門課程中,你必須從頭開始構建一個操作系統。不僅將學習如何設計操作系統,還將學習如何成為一名精通 Debug 代碼的程序員。在未來的人工智能職業中,這些基本技能將是非常有意義的。
課程地址:http://web.stanford.edu/~ouster/cgi-bin/cs140-spring20/index.php
?自學第三年:深入探索進階課程
在第三年,應該專注于深入學習機器學習以及統計原理的特定領域應用,包括自然語言處理、大數據分析和計算機視覺。以下是一些推薦的課程:
機器學習?
CS 229
涵蓋機器學習的基礎理論,包括監督和非監督學習和模型訓練概念,如偏方差權衡、正則化和模型選擇。一定要學習這些理論并把它們學好,因為人工智能從業者每天都在使用它們。
課程地址:http://cs229.stanford.edu/
凸優化?
EE 364A
Convex Optimization,這門課涵蓋解決凸優化問題背后的思想與應用到統計、機器學習、信號處理和其他領域。雖然現在許多模型使用非凸目標,但這有助于理解可處理優化問題背后的形式。
課程地址:http://web.stanford.edu/class/ee364a/
概率圖模型?
CS 228
課程內容包括介紹圖模型范式,它允許對隨機變量的大量集合進行概率建模。計算機視覺和自然語言處理等各種應用中的許多問題,都可以用概率圖模型來表達,因此了解這些知識是有幫助的。
課程地址:https://cs.stanford.edu/~ermon/cs228/index.html
數據挖掘?
CS 246
課程包括如何處理大數據集的技術和方法,尤其側重于推薦系統、聚類和大規模監督機器學習等應用領域。
鑒于每天都會產生大量新數據,人工智能從業者必須適應大規模操作和分析數據,特別是通過使用 Spark 這樣的現代工具包。
課程地址:http://web.stanford.edu/class/cs246/
自然語言處理?
CS 224N
介紹如何讓機器理解文本數據背后的理論和實踐。這樣的課程介紹諸如解析、命名實體識別之類的傳統自然語言處理中的任務,并講授如何使用諸如深度學習之類的技術來解決這些任務。
課程地址:http://web.stanford.edu/class/cs106b/
面向視覺識別的 CNN
CS 231N
《Convolutional Neural Networks for Visual Recognition》這門課,包含了現代深度學習體系結構背后的理論,尤其是與構建計算機視覺模型有關的理論。在當今的人工智能領域中,想要獲得成功,擁有扎實的神經網絡基礎至關重要。
課程地址:http://cs231n.stanford.edu/
?自學第四年:實踐!實踐!實踐!
第四年的課程就是實踐、實踐、再實踐!
重要的事情說三遍,在你完成你的頭三年課程的時候,你對初級計算機科學和軟件工程原理,以及人工智能概念及其應用理論有了深入了解。所以,你需要多花時間動動手。
找到感興趣的研究領域,獲取現有數據集(數據集下載站推薦 https://hyper.ai 或開發自己的數據集),然后開始構建模型。學習數據處理、假設檢驗和錯誤分析的細微差別。學習如何對模型進行故障排除。
想要成為一名人工智能領域的專家,那需要將你所學到的所有原則付諸實踐。下面是一些如何盡可能多實踐的方法:
參加校內項目?
作者舉例:CS 341
一些大學會開設一些實踐課程,在這些課程中,你可以在整個課程期間深入地處理一類問題中的單個項目。真正深入研究項目的所有復雜性,我想到的一個課程是 CS 341。
課程地址:http://web.stanford.edu/class/cs341/
超神經備注作者推薦的 CS 341 課程,與大三推薦課程 CS246 數據挖掘內容相關,可互為輔修。
投身科研項目?
線下組織或技術社區
參與研究是獲得人工智能工作中,所有錯綜復雜的實踐經驗的一種十分有效的方式。主動幫助研究生完成你感興趣的課題,或者請求老師資助你自己的課題!通過這樣做,你會很好地了解從事人工智能課題時的日常工作情況。?
進入行業實習?
內推或海投簡歷
如果你的時間安排允許,可以考慮從學校請假到一家人工智能公司實習。許多公司都提供 3-6 個月的實習機會,讓你接觸到所學原理的實際應用。如果你打算畢業后馬上就進入工業界,那么沒有更好的方式來體驗數據科學家或機器學習工程師的工作。
至此,已經完成了一個完整的四年課程的規劃,為未來成功的機器學習或數據科學的職業生涯準做好了準備!不過,上述所有課程并非必須學習。
比如,結合自身情況比對列表,并選修有關課程來填補自己的知識或技能空白。雖然有很多東西要學習,但現在正是參與進 AI 大潮的重要時刻,研究領域廣闊,機會無限,未來大有可為。
這些課程和課程資料,其實在網絡上都可以獲得,制定一個合理的學習計劃只是一個開始,認真執行才是最重要的,有興趣的小伙伴可以加入我們的學習群,分享課程資料,找準學習方向,認識學習伙伴~
祝大家好運,越學越有勁~
內容來源:https://www.mihaileric.com/posts/complete-artificial-intelligence-undergraduate-course-plan/
—— 完 ——
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯獲取一折本站知識星球優惠券,復制鏈接直接打開:https://t.zsxq.com/662nyZF本站qq群1003271085。加入微信群請掃碼進群(如果是博士或者準備讀博士請說明):總結
以上是生活随笔為你收集整理的【资源】学 AI 该学哪些斯坦福 CS 课程,这个清单安排得明明白白的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【论文导读】浅谈胶囊网络与动态路由算法
- 下一篇: 【深度学习】9 大主题卷积神经网络(CN