0
本文作者: 高婓 | 2016-09-09 17:56 |
編者按:李飛飛高徒Andrej Karpathy2015年在斯坦福大學(xué)獲得計(jì)算機(jī)科學(xué)專業(yè)博士,2016進(jìn)入OpenAI工作,主要研究興趣為:深度學(xué)習(xí),生成模型和強(qiáng)化學(xué)習(xí)。2011至2015年先后在Google Brain,Deepmind及各大DL實(shí)驗(yàn)室實(shí)習(xí)過,在學(xué)習(xí)與工作方面經(jīng)驗(yàn)頗豐。本文是他在Quora為廣大機(jī)器學(xué)習(xí)研究領(lǐng)域?qū)W子答疑解惑,希望對大家有所啟發(fā)。
您是如何學(xué)習(xí)研究ML/DL的?在學(xué)習(xí)DL過程中,您最喜歡的書籍有哪些?
我曾經(jīng)在數(shù)據(jù)科學(xué)周刊的訪談中談?wù)撨^這個(gè)話題。我們長話短說,我以前是想做量子計(jì)算這一塊兒,之后覺得稍有點(diǎn)灰心喪氣,并且意識(shí)到AI是我想要研究的最重要的“元”問題。
在我攻讀博士學(xué)位期間,DL方面沒有太多可供參考的書籍。現(xiàn)在有Ian Goodfellow等深度學(xué)習(xí)方面的書籍及其他資料來源(例如,許多演講,CS231n等)。
我個(gè)人不太過分依賴參考書。我喜歡Bishop的書,在讀博期間曾從頭到尾讀過好多遍,還有Sutton的強(qiáng)化學(xué)習(xí)(Reinforcement Learning)一書,這本書我在幾周內(nèi)快速翻閱了一遍,反復(fù)實(shí)踐有關(guān)ReinforceJS章節(jié)的知識(shí)。不過,遺憾的是,這本書在策略梯度(Policy Gradients)這一塊兒講得略少,而我們在研究中用到這方面的知識(shí)還是蠻多的,不管怎樣,這本書都為我在DL方面的學(xué)習(xí)打下了良好的基礎(chǔ)。
到現(xiàn)在為止,我發(fā)現(xiàn),想要學(xué)會(huì)許多知識(shí)的訣竅就是反復(fù)實(shí)踐已經(jīng)學(xué)到的理論知識(shí),正所謂實(shí)踐出新知嘛。無論何時(shí),當(dāng)我讀到一些知識(shí),我會(huì)想象著自己已經(jīng)理解透徹了,然后強(qiáng)制自己反復(fù)實(shí)踐,這種方法總會(huì)給我?guī)硇碌挠腥さ亩匆?。這是我最愛的學(xué)習(xí)方法。
您個(gè)人偏愛哪一種深度學(xué)習(xí)框架?
在讀博期間,我在學(xué)習(xí)深度學(xué)習(xí)框架過程中經(jīng)歷過幾個(gè)轉(zhuǎn)型期。起初是使用Matlab,當(dāng)時(shí)每個(gè)人都使用這個(gè)軟件。不過,遺憾的是,Matlab不是一種真正的語言,當(dāng)時(shí)所有人都為此嘲笑我,所以我轉(zhuǎn)而學(xué)習(xí)Python/numpy,手寫出我自己所有的反向傳播算法代碼。不過,不幸的是,numpy不適用于GPU,因此,學(xué)習(xí)Python也行不通。
之后,我開始學(xué)習(xí)Torch,我當(dāng)時(shí)非常喜歡這個(gè)計(jì)算框架,到現(xiàn)在還是很喜歡。Torch比較簡單:你可以在CPU或GPU上透明地以各種方式操作Tensor 對象,并且可以使用這種簡易的深度學(xué)習(xí)專門轉(zhuǎn)化器。你幾乎可以理解所有的內(nèi)容,并對所學(xué)到的知識(shí)進(jìn)行檢測,改善,都是行得通的。
我現(xiàn)在使用TensorFlow,OpenAI的所有研究者都在使用這種系統(tǒng)。說實(shí)在話,我覺得我的代碼變得越來越復(fù)雜。相比使用Torch,我現(xiàn)在要花費(fèi)很多時(shí)間來排除故障。我現(xiàn)在還處于學(xué)習(xí)階段,不過,我覺得現(xiàn)在遇到的難題都是暫時(shí)的。
我們再探討的深入一些,我感覺到在學(xué)習(xí)TensorFlow的過程中,自己放棄了很多東西(比如,我不能再輕而易舉地處理原始梯度,不能全面檢測代碼庫,不能再簡單地運(yùn)用任意命令代碼創(chuàng)建網(wǎng)絡(luò)層,此外,編寫代碼要花費(fèi)更多的時(shí)間),但是,我的收獲付出并不對等。盡管這樣,我選擇TensorFlow就像下了一個(gè)長期的賭注,現(xiàn)在正在這條路上變得越來越專業(yè)。如果你不想做出太瘋狂的選擇,喜歡自己小型,敏捷,透明,快速的代碼,Torch依然是個(gè)不錯(cuò)的選擇。
您是如何學(xué)習(xí)強(qiáng)化學(xué)習(xí)(RL)的?
關(guān)于RL,我在博客上放過一些相關(guān)鏈接:Deep Reinforcement Learning: Pong from Pixels。這篇博文簡要回顧了RL背后的基本思想。更專業(yè)一點(diǎn),我推薦從Sutton的書入門打基礎(chǔ),再看John Schulman或Pieter Abbeel近來的一些公開課(例如,蒙特利爾深度學(xué)習(xí)夏令營的公開課就很棒),然后從頭反復(fù)實(shí)踐DQN或策略梯度方面的知識(shí)。利用OpenAI的Gym慢慢適應(yīng)整個(gè)研究環(huán)境。
遺憾的是,在許多新的領(lǐng)域,很難做到在研究領(lǐng)域之外實(shí)驗(yàn)突破。如果你決心要投身AI研究的話,我認(rèn)為,你肯定想要與該領(lǐng)域更有經(jīng)驗(yàn)的人合作。在RL研究領(lǐng)域更是如此,因?yàn)殛P(guān)于如何利用函數(shù),基線,如何設(shè)置實(shí)驗(yàn)步驟,如何有效地排除故障,等等,都鮮有訣竅,這些在相關(guān)論文中都得不到系統(tǒng)的解答。相反,在一個(gè)領(lǐng)域的研究者中,這些知識(shí)都僅算得上常識(shí)。當(dāng)然,這并不是說你真的無法自己實(shí)現(xiàn)某一領(lǐng)域的突破,只是利用1對1學(xué)徒學(xué)習(xí)這種方式可以少走很多彎路了。
您能否為一個(gè)有志成為一名機(jī)器學(xué)習(xí)工程師的本科生提供一些建設(shè)性的意見?
本科生往往太注重分?jǐn)?shù)(我曾經(jīng)也犯過相同的錯(cuò)誤)。我將開始削減一些具體的項(xiàng)目,將這些項(xiàng)目記錄在Github或博客上。我覺得,有自己參與過的具體工作和項(xiàng)目是非常寶貴的經(jīng)歷。
您認(rèn)為,有哪些方面在ML發(fā)展過程中沒有受到重視?
目前,我尚未找到合適的答案來回答這個(gè)問題,不過,我認(rèn)為,我們在深度學(xué)習(xí)領(lǐng)域所做的都是存儲(chǔ)(memorization)(比如,內(nèi)插法,模式識(shí)別等),而不是思考(thinking)(比如,外推法,歸納法等)。我還沒有見到過能夠“思考(think)”的神經(jīng)網(wǎng)絡(luò),而且我也不知道,如何定義“思考”這樣一個(gè)抽象概念,更難以想象會(huì)“思考”的神經(jīng)網(wǎng)絡(luò)會(huì)是什么樣的。
有一些文章似乎解答過這個(gè)難解的謎題,不過,我尚不能茍同。如果非讓我指出有什么作品提及到“會(huì)思考的神經(jīng)網(wǎng)絡(luò)”(我個(gè)人的觀點(diǎn)),那應(yīng)當(dāng)是Jacob Andreas的動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)(dynamic neural nets)一書。關(guān)于這個(gè)話題,我暫且講到這里。
工作篇
在Google Brain工作是什么體驗(yàn)?
2011年我在Google Brain實(shí)習(xí),那個(gè)時(shí)候Google Brain的發(fā)展正處于幼兒期。當(dāng)時(shí),這個(gè)項(xiàng)目人手還不是很多,我們都對無監(jiān)督學(xué)習(xí)超感興趣。當(dāng)我2013年再次來實(shí)習(xí)時(shí),大家都對監(jiān)督學(xué)習(xí)很癡迷,因?yàn)樵诋?dāng)時(shí)監(jiān)督學(xué)習(xí)真的很有用。2015年,當(dāng)我再次回到Google時(shí),強(qiáng)化學(xué)習(xí)又開始盛行。
如今Google Brain與往昔大不相同。我想說的是,這里聚集了很多有才能,很牛的研究員,工程師,尤其是有一些能夠大規(guī)模運(yùn)用深度學(xué)習(xí)的經(jīng)驗(yàn)豐富的人士。我覺得,Google 非??粗谺rain 這個(gè)項(xiàng)目,他們都有很優(yōu)秀的領(lǐng)導(dǎo)型人才,為大家營造了很棒的工作環(huán)境(這是我從公司內(nèi)部朋友那兒得來的消息),在這里我個(gè)人不能給予過多評論。
您為什么選擇去OpenAI?
我覺得,OpenAI是一塊極具創(chuàng)新性的土地,這是它最吸引我的地方。這樣一個(gè)機(jī)構(gòu)涵蓋了學(xué)術(shù)研究,有一個(gè)產(chǎn)業(yè)界研究實(shí)驗(yàn)室,是AI研究領(lǐng)域的后起之秀。我們也有一些非凡且有趣的實(shí)驗(yàn),如貝爾實(shí)驗(yàn)室,一個(gè)政府管制壟斷的大型研究實(shí)驗(yàn)室。上述這些都有其有趣的優(yōu)點(diǎn)和缺點(diǎn)。我覺得,OpenAI在創(chuàng)新方面有非常有趣的實(shí)驗(yàn),結(jié)合了我所感興趣的事物(是學(xué)術(shù)與產(chǎn)業(yè)的結(jié)合),像這樣一個(gè)組織能夠創(chuàng)造出更多價(jià)值,我有幸能夠參與實(shí)驗(yàn),能夠從一開始便陪伴其成長發(fā)展。所以,我選擇了OpenAI。這是我人生中很關(guān)鍵的一步。
OpenAI當(dāng)前最有趣的研究課題有哪些?
有一些非常有價(jià)值的項(xiàng)目和計(jì)劃,在學(xué)術(shù)界根本無法開展(比如,大量工程方面或者綜合性工作是一小群博士生無法勝任的),而產(chǎn)業(yè)界人士可能不想去做(比如,可能出于動(dòng)機(jī)方面的原因,也可能有法律方面的顧慮)。OpenAI目前正在致力于開展幾項(xiàng)極具價(jià)值的項(xiàng)目,這些項(xiàng)目不僅僅限于科研工作本身,可以被認(rèn)為是在做“元”的東西,比如開設(shè)一些平臺(tái)和基礎(chǔ)設(shè)施,為每一位研究者提供便利。我們今年早些時(shí)候發(fā)布的 Gym不失為一個(gè)好例子。
具體來講,我們中有很大一部分人(包括我在內(nèi))都專心投入到一個(gè)項(xiàng)目中,我本人對這個(gè)項(xiàng)目特別感興趣,不過,我想,這個(gè)項(xiàng)目目前還未公開討論過??傊?,目前我只能透露,該項(xiàng)目涉及很多工程方面的工作,在很大程度上能夠提升并擴(kuò)展AI領(lǐng)域的研究工作。關(guān)于這個(gè)項(xiàng)目的進(jìn)展,在這里我只能為大家留下懸念,非常抱歉。
Andrej Karpathy博士的論文詳細(xì)
本文由雷鋒網(wǎng)獨(dú)家編譯,未經(jīng)許可拒絕轉(zhuǎn)載!
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。