0
| 本文作者: AI研習社-譯站 | 2020-08-17 14:16 |
字幕組雙語原文:人工智能本科學位完整四年課程規(guī)劃(斯坦福)
英語原文:A Complete 4-Year Course Plan for an Artificial Intelligence Undergraduate Degree
翻譯:雷鋒字幕組(明明知道、jiazhenbin、婁門人家)

離開學校已經(jīng)有一段時間了,我現(xiàn)在有許多時間可以去反思下某些課程對我在人工智能和機器學習領(lǐng)域的發(fā)展有多大益處。我決定將我的想法在這篇文章中發(fā)表,為四年制人工智能本科學位的學習給出一個完整的課程規(guī)劃。
這些課程旨在為人工智能和計算機科學領(lǐng)域的新人們提供廣度與深度并重的知識。這個課程體系的構(gòu)建深受我所學過課程的啟發(fā),并且反映了那些我認為在人工智能生涯中必備的技能。
你也許通過Coursera在線課程就能獲得某些人工智能領(lǐng)域的知識,但我的側(cè)重點是在實際應(yīng)用中培養(yǎng)對這些概念的深層理解。徹底理解某個領(lǐng)域確實花費時間,但我認為所謂的“捷徑”并不可行,因此,這個課程規(guī)劃是為那些想從基礎(chǔ)理論開始系統(tǒng)學習的人們配備的。
介紹結(jié)束了,就讓我們開始吧。
在人工智能學位學習的第1年,你應(yīng)該聚焦于學習那些構(gòu)成計算機科學和現(xiàn)代機器學習基礎(chǔ)的核心概念。此處,我假設(shè)你完全沒有計算機科學先修經(jīng)歷,所以,這一年的主要精力應(yīng)該花在學習軟件和算法基礎(chǔ)上,在你的整個學位學習階段和職業(yè)生涯中都將會需要這些基礎(chǔ)知識。你應(yīng)該聚焦的課程包括:
程序設(shè)計基礎(chǔ)(Programming Fundamentals):介紹面向?qū)ο蟪绦蛟O(shè)計及數(shù)據(jù)結(jié)構(gòu)(集合、圖等)。人工智能從業(yè)者需要有扎實的軟件工程技能。相關(guān)課程代碼:CS 106B。
計算機系統(tǒng)導論(Introduction to Computer Systems):講授從低層來角度來看計算機科學系統(tǒng)是如何設(shè)計和構(gòu)成的。其中,重點在于學習軟件編譯過程,當你運行程序時會發(fā)生什么,在內(nèi)存中程序是如何組織的等。相關(guān)課程代碼:CS 107。
算法(Algorithms):涵蓋廣泛使用的計算機科學算法后面的數(shù)學和理論,比如廣度優(yōu)先遍歷、動態(tài)規(guī)劃,以及如何分析那些算法的內(nèi)存和運行時特點。相關(guān)課程代碼:CS 161。
概率論(Probability Theory):概率統(tǒng)計是許多機器學習算法的核心, 學習如何解釋和分析數(shù)據(jù)對于任何機器學習或大數(shù)據(jù)科學的領(lǐng)域來說 ,都是至關(guān)重要的。相關(guān)課程代碼:CS 109。
線性代數(shù)(Linear Algebra):涵蓋如何運用矩陣和向量,解線性方程,應(yīng)用最小二乘法。這些數(shù)學基礎(chǔ)知識在機器學習領(lǐng)域都被廣泛使用。相關(guān)課程代碼:EE 103。
多維微積分(Multi-dimensional Calculus):你應(yīng)該能輕松地解得函數(shù)梯度,因為這是諸如反向傳播算法之類的現(xiàn)代深度學習主力算法的核心技術(shù)。相關(guān)課程代碼:工程向量微積分。
人工智能本科二年級學生的重點應(yīng)該是讓自己了解人工智能的一般原理,已經(jīng)解決的問題是什么以及是如何解決的。此外,你應(yīng)該繼續(xù)理解與模型構(gòu)建相關(guān)的計算機系統(tǒng),并實踐軟件工程和設(shè)計原則。為此,建議學習以下課程:
人工智能導論(Introduction to Artificial Intelligence):涵蓋了不同的人工智能領(lǐng)域的廣泛概述,如搜索、游戲、邏輯、圖形模型、機器學習和這些算法的應(yīng)用。這樣的課程應(yīng)該為從符號邏輯到統(tǒng)計技術(shù)等方法的思想演變提供歷史背景。相關(guān)課程:CS 221。
編譯器(Compilers):涵蓋編譯器背后的設(shè)計和理論,理想情況下強調(diào)從頭構(gòu)建一個完整的編譯器。編譯器是你編寫的每一個程序的核心,即使對人工智能從業(yè)者來說,理解它們的工作原理也是很重要的,這樣你才能成為有能力的工程師。這樣的課程將讓你很好地接觸到如何構(gòu)建一個復雜的軟件系統(tǒng),著重于模塊化的、經(jīng)過文檔化和測試的、架構(gòu)良好的組件。除此之外,如果你對追求應(yīng)用于語言理解的人工智能感興趣,編譯器的設(shè)計和傳統(tǒng)自然語言處理堆棧之間的相似之處是不可思議的。相關(guān)課程:CS 143。
數(shù)據(jù)庫導論(Introduction to Databases):涵蓋數(shù)據(jù)庫管理系統(tǒng)背后的原理,重點諸如關(guān)系數(shù)據(jù)模型、索引、模式和事務(wù)等部分。任何現(xiàn)代數(shù)據(jù)科學家或機器學習工程師都必須在某種程度上與數(shù)據(jù)庫交互,因此了解它們的組織架構(gòu)方式至關(guān)重要。相關(guān)課程:CS 145。
并行計算(Parallel Computing):并行計算平臺構(gòu)成了當今許多平臺和技術(shù)的核心,從 Apache Spark 到 GPU 等硬件。有關(guān)并行計算的課程應(yīng)該介紹這些系統(tǒng)背后的思想,以便你更熟練地有效地使用它們。相關(guān)課程:CS 149。
操作系統(tǒng)(Operating Systems):如果你想真正擅長系統(tǒng)編程,成為一個更熟練的工程師,那就去上一門操作系統(tǒng)課程,在這門課程中,你必須從頭開始構(gòu)建一個操作系統(tǒng)。您不僅將學習如何設(shè)計操作系統(tǒng),還將學習如何成為一名精通Debug代碼的程序員。在未來的人工智能職業(yè)中,這些基本技能將是無價的。相關(guān)課程:CS 140。
在第三年,你應(yīng)該專注于深入學習機器學習以及統(tǒng)計原理的特定領(lǐng)域應(yīng)用,包括自然語言處理、大數(shù)據(jù)分析和計算機視覺。以下是一些推薦的課程:
機器學習(Machine Learning):涵蓋機器學習的原則,包括監(jiān)督和非監(jiān)督學習和模型訓練概念,如偏方差權(quán)衡、正則化和模型選擇。一定要學習這些理論并把它們學好,因為人工智能從業(yè)者每天都在使用它們。相關(guān)課程:CS 229。
凸優(yōu)化(Convex Optimization):涵蓋解決凸優(yōu)化問題背后的思想與應(yīng)用到統(tǒng)計、機器學習、信號處理和其他領(lǐng)域。雖然現(xiàn)在許多模型使用非凸目標,但這有助于理解可處理優(yōu)化問題背后的形式。相關(guān)課程:EE 364A。
概率圖形模型(Probabilistic Graphical Models):涵蓋圖形模型范式,它允許對隨機變量的大量集合進行概率建模。計算機視覺和自然語言處理等各種應(yīng)用中的許多問題都可以用圖形模型來表達,因此了解這些思想是有幫助的。相關(guān)課程:CS 228。
數(shù)據(jù)挖掘(Data Mining):涵蓋如何處理大數(shù)據(jù)集的技術(shù)和方法,尤其側(cè)重于推薦系統(tǒng)、聚類和大規(guī)模監(jiān)督機器學習等應(yīng)用領(lǐng)域。鑒于每天都會產(chǎn)生大量新數(shù)據(jù),人工智能從業(yè)者必須適應(yīng)大規(guī)模操作和分析數(shù)據(jù),特別是通過使用 Spark 這樣的現(xiàn)代工具包。相關(guān)課程:CS 246。
自然語言處理(Natural Language Processing):介紹讓機器理解文本數(shù)據(jù)背后的理論和實踐。這樣的課程應(yīng)該概述諸如解析和命名實體識別之類的傳統(tǒng)自然語言處理中的任務(wù),并講授如何使用諸如深度學習之類的技術(shù)來解決這些任務(wù)。相關(guān)課程:CS 224N。
用于計算機視覺的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks for Computer Vision):涵蓋了現(xiàn)代深度學習體系結(jié)構(gòu)背后的理論,尤其是與構(gòu)建計算機視覺模型有關(guān)的理論。在當今的人工智能領(lǐng)域中,想要獲得成功,擁有扎實的神經(jīng)網(wǎng)絡(luò)基礎(chǔ)至關(guān)重要。相關(guān)課程:CS 231N。
第四年的課程名稱應(yīng)該是實踐、實踐、再實踐!在你完成你的頭三年課程的時候,你對低級計算機科學和軟件工程原理以及人工智能概念及其應(yīng)用背后的理論已經(jīng)有了深入的了解。在這一點上,你需要多花時間動動手。
找到您感興趣的研究領(lǐng)域,獲取現(xiàn)有數(shù)據(jù)集(或開發(fā)自己的數(shù)據(jù)集),然后開始構(gòu)建模型。學習數(shù)據(jù)處理、假設(shè)檢驗和錯誤分析的細微差別。學習如何對模型進行故障排除。
想要成為一名人工智能領(lǐng)域的專家,那需要將你所學到的所有原則付諸實踐。下面是一些如何盡可能多實踐的方法:
參加項目課程:一些大學會開設(shè)一些課程,在這些課程中,你可以在整個課程期間嚴格地處理一類問題中的單個項目。這些類很好,因為您有時間真正深入研究項目的所有復雜性。我想到的一個例子是 CS 341。
參與研究:參與研究是獲得人工智能工作中所有錯綜復雜的實踐經(jīng)驗的一種十分有效的方式。主動幫助研究生完成你感興趣的課題,或者請求老師資助你自己的課題!通過這樣做,你會很好地了解從事人工智能課題時的日常工作情況。
進行行業(yè)實習:如果你的時間安排允許,可以考慮從學校請假到一家人工智能公司實習。許多公司都提供 3-6 個月的實習機會,讓你接觸到所學原理的實際應(yīng)用。如果你打算畢業(yè)后馬上就進入工業(yè)界,那么沒有更好的方式來體驗數(shù)據(jù)科學家或機器學習工程師的工作。
至此,你已經(jīng)完成了一個完整的四年課程規(guī)劃,為你未來成功的機器學習或數(shù)據(jù)科學的職業(yè)生涯準做好了準備!值得一提的是,并非必須參加上述所有課程。
另一種方法是瀏覽上述列表,并選修有關(guān)課程來填補自己的概念或技能空白。雖然有很多東西要學習,但但現(xiàn)在正是參與人工智能的激動人心的時刻,機遇無窮,研究領(lǐng)域廣闊,未來大有可為。好運!
雷鋒字幕組是由AI愛好者組成的志愿者翻譯團隊;團隊成員有大數(shù)據(jù)專家、算法工程師、圖像處理工程師、產(chǎn)品經(jīng)理、產(chǎn)品運營、IT咨詢?nèi)恕⒃谛熒恢驹刚邆儊碜訧BM、AVL、Adobe、阿里、百度等知名企業(yè),北大、清華、港大、中科院、南卡羅萊納大學、早稻田大學等海內(nèi)外高校研究所。
了解字幕組請聯(lián)系微信:tlacttlact
轉(zhuǎn)載請聯(lián)系字幕組微信并注明出處:雷鋒字幕組
雷鋒網(wǎng)雷鋒網(wǎng)