國內(nèi) Top2 高校研一在讀,為什么感覺深度學(xué)習(xí)越學(xué)越懵?

極市導(dǎo)讀
?本文總結(jié)了來自于知乎問題:“為什么感覺深度學(xué)習(xí)越學(xué)越懵?”下的精華回答,優(yōu)秀的作者們對學(xué)習(xí)的方式,書籍的選擇以及該問題本質(zhì)下透露的目前領(lǐng)域的發(fā)展困境都提出了自己的看法。?>>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺的最前沿
01
02
盡管你是top2研一,但是你還是會發(fā)現(xiàn)周圍的全是調(diào)參俠和啟發(fā)式帶師。
如果真想做下去,而不是研究生畢業(yè)去找工作,看完一遍花書(第九章之前),然后就可以把花書當(dāng)工具去查了。(花書,即goodfellow寫的deep learning一書,中文名是深度學(xué)習(xí))
花書的問題是它有些機(jī)器學(xué)習(xí)的基礎(chǔ)(被絕大部分頂會論文所忽略的東西)略過不談,但是在描述深度學(xué)習(xí)的時(shí)候又不由自主的用了這些東西,所以初學(xué)者讀起來云里霧里的。
而這些基礎(chǔ),從西瓜書里可以看到,從統(tǒng)計(jì)學(xué)習(xí)方法里可以看到,但你不會去注意,因?yàn)槟悴⒉徽J(rèn)為它關(guān)鍵,一掠而過。這是現(xiàn)在很多深度學(xué)習(xí)者所面臨的致命問題。
我的方法是興趣廣泛的讀論文,讀那些試圖去解釋神經(jīng)網(wǎng)絡(luò)的論文,包括NTK這些企圖用線性代數(shù)和動力學(xué)的,用特征和矩陣分解的,用優(yōu)化理論的,用編碼的,等等。然后去做實(shí)驗(yàn),思考你該怎么在不斷波動的測試結(jié)果中選擇填進(jìn)論文里的數(shù)據(jù),你很快就會意識到偏差,方差,過擬合,欠擬合,early stop等等詞語和你最開始理解的東西完全不一樣。思考那些看似合理的曲線在各種各樣的理論里扮演著怎么樣的角色,深度學(xué)習(xí)背后的幽靈會在那些曲線里露出馬腳。
格物而致知。
這世界上的科學(xué)莫過于此。
03
建議選一本為主進(jìn)行學(xué)習(xí),如李航老師《統(tǒng)計(jì)學(xué)習(xí)方法》,其他參照即可,因?yàn)榇蟛糠纸滩牡暮诵膬?nèi)容都大同小異。以我對李航老師教材內(nèi)容的了解,在掌握微積分、線性代數(shù)、概率論、編程等基礎(chǔ)知識后,還比較容易讀。如果經(jīng)常卡殼,建議從這些基礎(chǔ)知識補(bǔ)起。
另外結(jié)合高贊回答(剛發(fā)現(xiàn)該回答已刪除,不是現(xiàn)在的高贊回答)說幾句,現(xiàn)在AI是很火,吸引很多學(xué)生,論文成倍增加,也出現(xiàn)很多質(zhì)量參差不齊的工作。我覺得主要原因是,行之已久的基于“信任”的學(xué)術(shù)會議同行評審機(jī)制,無法應(yīng)對背后功利暗涌的海量投稿。從論文價(jià)值上講,只要一份工作實(shí)驗(yàn)結(jié)果和結(jié)論是真實(shí)的,無論作用大小,對整個(gè)領(lǐng)域總是正面的,而且這些科研過程訓(xùn)練學(xué)生解決開放能力也是非常有意義的;而從最底線上講,以我參與的相關(guān)學(xué)術(shù)會議服務(wù)的經(jīng)歷,很多學(xué)術(shù)會議已經(jīng)開始利用數(shù)據(jù)挖掘算法檢測和打擊互bid論文行為,開始探討如何解決當(dāng)下的可復(fù)現(xiàn)性(reproducibility)問題。
當(dāng)然這也是因?yàn)楝F(xiàn)在國內(nèi)還處在數(shù)頂會論文的階段。等后面大家都有頂會論文了,相信又會有人開始刷引用刷其他影響力。只要有一個(gè)評價(jià)標(biāo)準(zhǔn),就總會有人走捷徑,除非這個(gè)領(lǐng)域不火了。但無論怎樣,有人也許能通過不合適的手段獲益,也不應(yīng)當(dāng)成為你這么做的理由。學(xué)術(shù)研究應(yīng)當(dāng)做的是不斷追求卓越,而不是反復(fù)試探底線。
04
那么,問題就在于你的數(shù)學(xué)太差了,你疑惑的哪些問題全是數(shù)學(xué)問題,但是這個(gè)時(shí)間點(diǎn),你應(yīng)該還在學(xué)習(xí)基礎(chǔ)課,其實(shí)機(jī)器學(xué)習(xí)是比較高深的課程,學(xué)這個(gè)之前,數(shù)值計(jì)算,各種計(jì)算機(jī)系統(tǒng)課程,優(yōu)化,統(tǒng)計(jì)概率應(yīng)該先學(xué)完再來學(xué)機(jī)器學(xué)習(xí),這時(shí)候才能很好的理解那些概念,再實(shí)戰(zhàn)強(qiáng)化。但是現(xiàn)在很多整ai的,直接跳過了這個(gè)過程,我經(jīng)常碰到做深度學(xué)習(xí)計(jì)算機(jī)視覺的,問數(shù)學(xué)優(yōu)化算法不會,跟系統(tǒng)相關(guān)的東西你讓他改點(diǎn)東西不會。太浮躁了。
建議抓緊補(bǔ)數(shù)學(xué)基礎(chǔ),你數(shù)學(xué)越硬,后面做研究才能做的更扎實(shí),而不是一個(gè)大神整出來什么算法然后喊666在拷貝過來改吧改吧用。
補(bǔ)完數(shù)學(xué)基礎(chǔ),有空一些寫一些機(jī)器學(xué)習(xí)算法,光李航那本書,如果你想用cpp從底層一路打上去實(shí)現(xiàn)也要用到很多基礎(chǔ)計(jì)算機(jī)算法和系統(tǒng)知識的。別光用python調(diào)包,你都不知道他怎么實(shí)現(xiàn)的,你說你理解的有多深刻,自己都不信的。用c++寫,不用所有算法都寫,但是要寫一些,然后改并行分布式。練兩個(gè)之后再去看一些算法實(shí)現(xiàn)的源碼,這時(shí)候你入門了。再去跑數(shù)據(jù)集,然后就會有很多idea,你才逐步進(jìn)入科研。
05
本來就是煉丹,你這么覺得完全沒錯。
深度學(xué)習(xí)搞了這么久,還是個(gè)黑盒子,最多就是隱層截幾張圖片出來搞個(gè)“可視化”,搞了一堆沒什么用的“萬能”逼近理論,結(jié)果理論中的結(jié)果和現(xiàn)實(shí)中的樣本量、參數(shù)量根本不在一個(gè)數(shù)量級上。最核心的問題,也就是樣本空間的數(shù)學(xué)結(jié)構(gòu),因?yàn)樘^復(fù)雜根本沒人能講清楚,也沒人想到要去研究。譬如說,手寫數(shù)字MNIST數(shù)據(jù)集服從什么分布?
應(yīng)用上除了CV和NLP也沒搞出什么東西。
CV搞出的東西被對抗樣本克得死死的。對抗的手段要多少有多少,一個(gè)一個(gè)去堵是堵不完的。現(xiàn)在已經(jīng)只要在標(biāo)識牌上貼個(gè)便簽條就能把自動駕駛算法給忽悠了,或者戴個(gè)紙糊的眼鏡就能把基于深度學(xué)習(xí)的人臉識別算法給騙了,相關(guān)的論文你都可以自己去找。
NLP搞出的東西的可解釋性就是差,也沒有很緊密地和邏輯體系、知識體系相融合,一融合就是貝葉斯,實(shí)際上只不過是用貝葉斯公式強(qiáng)行解釋神經(jīng)網(wǎng)絡(luò)罷了,至于融合上沒有不知道。
我讀過的每篇論文里都會用貝葉斯公式,仿佛深度學(xué)習(xí)能和數(shù)理統(tǒng)計(jì)掛上鉤似的。如果真能掛上鉤,那么神經(jīng)網(wǎng)絡(luò)對應(yīng)的概率論模型是什么?樣本服從什么分布?為什么服從這樣的分布?能不能用假設(shè)檢驗(yàn)來驗(yàn)證這一模型是合理的?等到哪天學(xué)術(shù)界能夠不玩文字游戲地解釋清楚這些問題,深度學(xué)習(xí)才能被解釋清楚。如果總是說什么隱變量(隱層神經(jīng)元)、嵌入(見VAE等)等服從高維正態(tài)分布,那也太含混不清了。
VAE那篇開山作品,將MNIST嵌入到二維流形上,生成了一張圖片,上面按照不同的嵌入表示不同的數(shù)字。依我看來基本邏輯都說不通。應(yīng)該是每個(gè)數(shù)字和字母處在一個(gè)低維的流形,例如二維或者三維,1就是1,2就是2,每個(gè)類所處的流形之間應(yīng)該存在一個(gè)比較清晰的邊界。將所有的數(shù)字混到一個(gè)流形上去是要干什么,而且這個(gè)流形居然還是一個(gè)二維的正方形,意義不明啊,合著1就是7,3就是5,兩兩之間傻傻分不清啊。我個(gè)人在這個(gè)問題上還做過一點(diǎn)科研,用簡單的LadderNetwork將MNIST嵌入到二維空間上并且使每個(gè)類聚在一起,類與類之間有一定間距。效果一般般,只能說確實(shí)能把MNIST嵌入到二維流形上。訓(xùn)練集每個(gè)類都聚得很好,測試集就烏七八糟了,過擬合極為明顯。
還有什么卷積神經(jīng)網(wǎng)絡(luò)的平移不變性、縮放不變性什么的,如果你找一張圖片往上邊補(bǔ)個(gè)黑邊,左右平移平移10%、20%、30%,縮放1.1倍、1.2倍、1.3倍,找個(gè)state of art的網(wǎng)絡(luò)喂進(jìn)去,分類結(jié)果絕對精彩。
我看還是搞搞強(qiáng)化學(xué)習(xí)運(yùn)用到機(jī)器人控制上比較靠譜,畢竟任務(wù)簡單些。參數(shù)超過一萬個(gè)的網(wǎng)絡(luò)我是覺得都信不過。機(jī)械臂、機(jī)械狗的動作軌跡都有比較簡單的模型,參數(shù)不多,這些模型應(yīng)該是能做好的,實(shí)際上我們也看到包括波士頓動力等一些公司造出了實(shí)際的產(chǎn)品。
或者多搞搞對抗樣本惡心一下學(xué)術(shù)界和工業(yè)界也不錯。
實(shí)在不行也可以將深度學(xué)習(xí)運(yùn)用到藝術(shù)創(chuàng)作上。生成游戲場景貼圖、創(chuàng)作音樂、創(chuàng)作抽象藝術(shù),反正是在虛擬的世界里,不會有什么實(shí)質(zhì)的危害,最多也就是惡搞惡搞特朗普罷了。或者用來生成語音,不過這方面科大訊飛已經(jīng)有比較成熟的產(chǎn)品了。
工業(yè)化的應(yīng)用,例如自動車,我看還是別搞的好,特斯拉已經(jīng)霍霍死不少人了,不需要再多一家。
事實(shí)上工業(yè)界里機(jī)器學(xué)習(xí)是很吃香的,應(yīng)用極為廣泛,只不過那些都是模型的內(nèi)涵被分析得非常清楚的傳統(tǒng)的機(jī)器學(xué)習(xí)。
如果沒有理想的話,深度學(xué)習(xí)灌水是很簡單的。東拼西湊就能整一篇,但有什么用呢?
順帶說一句,Goodfellow那本Deep Learning的英文版我看過,也就是那樣的東西,別搞得跟圣經(jīng)似的。
原文鏈接:
【1】https://www.zhihu.com/question/429256719/answer/1639011591
【2】https://www.zhihu.com/question/429256719/answer/1607900416
【3】https://www.zhihu.com/question/429256719/answer/1636624831
【4】https://www.zhihu.com/question/429256719/answer/1565236651
【5】https://www.zhihu.com/question/429256719/answer/1571752656
推薦閱讀

