1
雷鋒網(wǎng)AI科技評論按:Hinton的深度學(xué)習(xí)課程早在2012年上線,對于這門課程,有學(xué)者認(rèn)為它太過艱深,不適合初學(xué)者上手;也有的學(xué)生覺得它受益良多,是值得一學(xué)的好課程。那么五年過去,這門名為《神經(jīng)網(wǎng)絡(luò)和機器學(xué)習(xí)》的課程是否依然是“最值得學(xué)習(xí)的深度課程”?關(guān)于這個問題,目前就職于 Voci Technologies的首席語音架構(gòu)師、畢業(yè)于香港科技大學(xué)的 Arthur Chan 日前在他的博客上發(fā)表了看法,雷鋒網(wǎng)做了不改動原意的翻譯和編輯。
此外,為了讓廣大 AI 青年們不再為英語所累,快速進入學(xué)習(xí)狀態(tài),雷鋒網(wǎng)經(jīng)Hinton教授的親自授權(quán),推出了深度學(xué)習(xí)大牛 Geoffrey Hinton 的《Neutral Network for Machine Learning》中文系列視頻課程。目前正在大量招募長期字幕組成員,詳情可點擊了解。
以下為雷鋒網(wǎng)編譯的文章內(nèi)容:
對我而言, Hinton的深度學(xué)習(xí)課程,或者《神經(jīng)網(wǎng)絡(luò)和機器學(xué)習(xí)》(NNML)課程,應(yīng)當(dāng)是很早之前就要完成的。如你們所知,這套課程最初上線已經(jīng)是2012年的事情了,而我當(dāng)時還并不怎么看好深度學(xué)習(xí)。當(dāng)然,2013年的時候我的想法開始有所變化,但是那時候課程已經(jīng)下線存檔了。直到兩年以后,我打算嘗試吳恩達(dá)在機器學(xué)習(xí)方面的課程的時候,才有機會把Hinton的課程看一遍。等到去年10月,這套課程重新上線的時候,我決定再聽一遍,把所有的視頻看第二遍,完成所有的作業(yè),還要拿到能夠通過的分?jǐn)?shù)。當(dāng)你與我一起體會這趟旅程的時候,你就會發(fā)現(xiàn)這個課程很有難度。所以有一些課程視頻我得看四五遍,才能差不多明白Hinton說的是什么意思。有一些課后作業(yè)我要邊散步邊思考很久才能想清楚。最后,我完成了所有的20個課后作業(yè),甚至還付錢拿到了證書方便炫耀。這是一段清爽的、引人深思的,還讓人覺得滿足的旅程。
所以這篇文章是我對Hinton的這一系列課程的評論,告訴大家為什么這套課程是最值得學(xué)的課程,而你又應(yīng)該在什么時候?qū)W它。許多論壇上還有人提出了這個問題:“現(xiàn)在有那么多的深度學(xué)習(xí)課程,Hinton的課程是否過時了?它還是最適合初學(xué)者的課程嗎?” 我會在文章的最后從幾個角度引出對它的回答。
我對能夠在Coursera的老模式下完成這套課程的人其實抱有敬仰。眾所周知,許多評論都說Hinton的《神經(jīng)網(wǎng)絡(luò)和機器學(xué)習(xí)》比吳恩達(dá)的《機器學(xué)習(xí)》課程要難多了。我有一些博士朋友都沒辦法在課程的后一半里完全跟上Hinton的授課節(jié)奏。
這也不奇怪,當(dāng)Kapathay在2013年評論這套課程時,他說很多從來沒有從事過機器學(xué)習(xí)的人現(xiàn)在也慕名而來,但對于初次接觸的人來說,要理解類似“基于能量的模型”這種很多人都跟不上的話題,簡直引人入睡。那“深度信念網(wǎng)絡(luò)”(DBN)呢,這些人直到今天還會把它和深度神經(jīng)網(wǎng)絡(luò)(DNN)搞混。直白地說,別看我學(xué)完了這套課程,可我到現(xiàn)在都還不能領(lǐng)會第15堂課的某些證明,因為深度信念網(wǎng)絡(luò)的內(nèi)容真的很難。
這種舊模式里面,每道測試題只允許嘗試3次,這讓截止時間變得很緊張,而且課程的內(nèi)容你只能學(xué)一遍;有一次的課后作業(yè)還需要從細(xì)節(jié)開始導(dǎo)出反向傳播矩陣。這些都讓這套課程不太適合沒有大塊時間的個人(比如我),但是更適合第二年或者第三年的研究生,甚至是有很多時間的經(jīng)驗豐富的實踐者。(可真的有這樣的人嗎?)
我去年10月的時候嘗試了這套課程,這時候Coursera已經(jīng)把大多數(shù)的課程都換成了新模式,一門課可以反復(fù)學(xué)好幾次。這樣讓課程任務(wù)的難度降低了一點,更重要的是它更適合忙碌的人了。不過這還不意味著你可以對課程隨隨便便:大多數(shù)時候,你還是會需要給課程做評論、自己做數(shù)學(xué)推導(dǎo)、編寫偽代碼,等等。課后作業(yè)還是需要你提取反向傳播矩陣。好處是,你還是可以體會得到學(xué)習(xí)這門課過程中的所有快樂(手動微笑);壞處是,如果少于每周10到15小時的投入,仍然不要指望可以完成這套課程。
跟吳恩達(dá)的課程或者cs231n的課程不一樣,《神經(jīng)網(wǎng)絡(luò)和機器學(xué)習(xí)》對于沒有高等數(shù)學(xué)基礎(chǔ)的初學(xué)者來說并不算容易。其中的數(shù)學(xué)部分不算太難,多數(shù)時候都是用鏈?zhǔn)揭?guī)則做求導(dǎo),憑直覺寫出黑塞矩陣,以及更重要的,向量求導(dǎo)——可是如果這些東西你以前都沒有學(xué)過,那這門課真的會讓你覺得云里霧里。在嘗試這套課程之前,一定要先學(xué)過高等數(shù)學(xué),并且知道一些基本的矩陣方程。
另一個這套課程有難度的原因是,至少一半的課程內(nèi)容是在我們稱作“基于能量的模型”之上進行的。它的意思是指Hopfield網(wǎng)絡(luò)(HopfieldNet)、玻爾茲曼機(BM)以及受限玻爾茲曼機(RBM)。即便及對有監(jiān)督學(xué)習(xí)的學(xué)習(xí)方法中的數(shù)學(xué)部分比較熟悉,比如線性衰退、對數(shù)衰退甚至反向傳播,RBM的數(shù)學(xué)公式部分還是會讓你覺得頭大。這也不奇怪,許多這種模型都來自于物理,比如伊辛模型(Ising model);深度學(xué)習(xí)的研究還會經(jīng)常用到來自貝葉斯網(wǎng)絡(luò)的想法。如果你對物理和貝葉斯網(wǎng)絡(luò)兩者都不熟悉的話,也應(yīng)當(dāng)會覺得很困惑。
對我來講,我花了很多時間在谷歌上搜索、閱讀相關(guān)的文獻,這支持我解決了一些問題,但是這并不代表我就對這些課題真的了解了,因為它們可能真的會很深入,并且跟直覺相悖。
如果你近期學(xué)習(xí)過RNN,應(yīng)該要么是看了Socher的cs224d課程,要么是看了Mikolov的論文吧。當(dāng)你在考慮增加和減少維度問題的時候,LSTM很容易就會成為你腦中唯一考慮的那個方法。其它的方法當(dāng)然也是有的,比如回聲狀態(tài)網(wǎng)絡(luò)(ESN)和無黑塞模型的方法,不過近期很少有人討論它們了。再重復(fù)一下,它們的方程與你從反向傳播和梯度下降中學(xué)到的標(biāo)準(zhǔn)方法有很大區(qū)別,不過對他們的學(xué)習(xí)能夠拓展你的眼界,并且讓你思考這種狀態(tài)引用是否是正確的方法。
假設(shè)你只用用機器學(xué)習(xí)、深度學(xué)習(xí)中的某些有趣的工具,我估計你只需要看吳恩達(dá)的課程、嘗試一些范例,然后就會覺得自己是個專家了;現(xiàn)在也有很多人這樣做。實際上,吳恩達(dá)的Coursera課程本來就是為了讓你上手試一試機器學(xué)習(xí),當(dāng)然了,你還可以在學(xué)習(xí)這個課程后再補充很多別的機器學(xué)習(xí)工具。
即便我說了剛才那些話,你還是需要知道,只做那些事的話,你對機器學(xué)習(xí)、深度學(xué)習(xí)的理解還是比較淺薄的。你心里想的可能是:“哇,我有一大堆數(shù)據(jù),那就扔到Algorithm X里面去看看吧”,或者“嘿,我們就是想要用XGBoost,對吧!它總是能給出最好的結(jié)果!”你理應(yīng)明白,性能指標(biāo)并不是一切。知道你的模型里面正在發(fā)生什么是很重要的。當(dāng)你的理解不足的時候,你很容易做出高成本的、短視的、狹隘的決定。這種事情時不時在我同事和我自己身上發(fā)生,甚至在我的有些導(dǎo)師身上也時有發(fā)生。
別再犯這樣的錯誤了!一定要思考得更深、試著弄懂其中的核心思想。如果你只是做了吳恩達(dá)的神經(jīng)網(wǎng)絡(luò)課程的課后作業(yè),現(xiàn)在你肯定還在考慮這些內(nèi)容要如何才能運用到其它的工作中。去聽聽Hinton的課,去反復(fù)體會一下在教授的論述中眩暈的感覺。然后你就能開始建立對深度學(xué)習(xí)的更深的理解了。
另一個比較技術(shù)方面的提醒:如果你想學(xué)習(xí)深度無監(jiān)督學(xué)習(xí),我覺得這個課程也應(yīng)當(dāng)是你學(xué)習(xí)的第一套課程。Hinton教授會教會你對許多種機器的關(guān)鍵點,讓你也會有機會實際試試。對于Hopfiled網(wǎng)絡(luò)和RBM,如果你了解基本的倍頻程編程的話,可行性也是很高的。
五年過去了,這門課過時了嗎?
現(xiàn)代的學(xué)習(xí)者,可以說他們很幸運,在學(xué)習(xí)一些像深度學(xué)習(xí)這樣艱深的課題的時候,他們有會很多的選擇。只需要看看我自己的前五大推薦,cs231n,cs224d,甚至Silver的課程都是非常適合作為第二個課程的。
但是我仍然推薦Hinton的“神經(jīng)網(wǎng)絡(luò)和機器學(xué)習(xí)”(NNML)課程,具體有四個原因如下:
1,它比其它課程更深度、更難。就像我剛才說過的,神經(jīng)網(wǎng)絡(luò)和機器學(xué)習(xí)很難,不完全難在數(shù)學(xué)上(Socher的和Silver的數(shù)學(xué)也不簡單),而是難在概念上,比如基于能量的模型和不同的訓(xùn)練RNN的方式,都是典型的例子。
2. 許多機器學(xué)習(xí)、深度學(xué)習(xí)的概念都可以從多個角度解讀。比如,偏置和多樣性之間需要為了頻率做權(quán)衡,但是這對于貝葉斯來說又是“頻率論幻覺”。同樣的情況也發(fā)生在反向傳播、梯度遞減這樣的概念中。一旦你開始思考他們,就會發(fā)現(xiàn)他們都是非常艱深的概念。所以,上課學(xué)習(xí)的原因之一,并不是教會你這個概念就結(jié)束,而是讓你能夠從不同的角度來觀察這件事。從這個角度講,NNML這門課簡直天造地設(shè)。我發(fā)現(xiàn)自己經(jīng)常走在路上還會經(jīng)常思考Hinton講過的話。
3. Hinton的觀點:Hinton教授在過去的30年中,幾乎都在機器學(xué)習(xí)的失敗的那一面。但是隨著他一直堅持,你可以通過他的講述中感受到他如何、又為什么要開始這樣一種研究方向,沒準(zhǔn)最后你還會知道如果自己以后要研究什么東西,你應(yīng)該如何做。
4. Hinton教授的授課方法很幽默??梢匀サ?0節(jié)課看看他是如何看待80年代的時候物理學(xué)家為什么要在神經(jīng)網(wǎng)絡(luò)上花費精力的(備注:他在研究無神經(jīng)網(wǎng)絡(luò)之前是物理學(xué)家)
結(jié)論
說了這么多,Hinton教授的“神經(jīng)網(wǎng)絡(luò)和機器學(xué)習(xí)”(NNML)課程真的是必修課。我們每一個人,不論初學(xué)者還是專家,都能從教授的視角和課題的寬度中受益。
不過如果你完全是門外漢,我確實還是建議你先學(xué)習(xí)一下Ng的課程,或者學(xué)一學(xué)微積分,加一些線性代數(shù)、概率論和數(shù)理統(tǒng)計,這會讓課程變得更容易接受(以及可能更有可行性)。在我看來,Kapathy的課程和Socher的課程都是Hinton課程之下的更簡單的第二好的課程。
當(dāng)你完成這門課以后,最好還是看看其它的基礎(chǔ)課程。從我這篇“學(xué)習(xí)深度學(xué)習(xí)——我的前五大推薦”博文中,你會對下面要學(xué)的東西有不少想法。額外提到一件事情是Paphne Koller的“概率圖形模型”,我覺得它同樣具有挑戰(zhàn)性,而且沒準(zhǔn)能夠在比如深度信念網(wǎng)絡(luò)這樣非常深奧的課題中帶給你一些洞見。
再給你一個建議:你可以上完一遍以后再上第二遍。這也是我打算在半年以后做的事情——正如前文所說,我還沒能理解課程里的每一個細(xì)枝末節(jié)。但是我覺得等我第六次或者第七次學(xué)習(xí)這些材料的時候,應(yīng)當(dāng)就能完全領(lǐng)悟了。
via The Grand Janitor Blog - A Review on Hinton's Coursera "Neural Networks and Machine Learning"
AI科技評論招業(yè)界記者啦!
在這里,你可以密切關(guān)注海外會議的大牛演講;可以采訪國內(nèi)巨頭實驗室的技術(shù)專家;對人工智能的動態(tài)了如指掌;更能深入剖析AI前沿的技術(shù)與未來!
如果你:
*對人工智能有一定的興趣或了解
* 求知欲強,具備強大的學(xué)習(xí)能力
* 有AI業(yè)界報道或者媒體經(jīng)驗優(yōu)先
簡歷投遞:
lizongren@leiphone.com
相關(guān)文章:
Hinton 機器學(xué)習(xí)教程 Youtube 播放量高達(dá) 100 萬,卻沒人看過中文版?
深度學(xué)習(xí)鼻祖Geoffrey Hinton幫你入門帶你飛
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。