從CFA到如今的Data Science/Deep Learning的學習已經有一年的時間了。期間經歷了自我的興趣、擅長事務的探索和試驗,有放棄了的項目,有新開辟的路線,有有始無終的遺憾,也有還在繼續(xù)的堅持。期間有數不清的彎路、失落,有無法一一道明的挫敗和孤獨,也有每日重復單調訓練而積累起來的自信與欣喜。和朋友聊天讓我意識到,將我目前所摸索到的一些材料和路徑分享出來,使其他想要進入這個領域的人或者僅僅是興趣愛好者能夠少走一些彎路,大概是有些意義的。
因為Google Alpha Go的原因,Deep Learning成了一個火熱的話題。然而,Deep Learning也僅僅是Machine Learning的一個細小分支;而Machine Learning中的很多發(fā)展、結論以及背后的本質思想,又是和statistics密不可分。過度關注Deep Learning而全然不顧Machine Learning的一些基本事實和其背后的一些statistics的動機,會讓你僅僅是知其然,而無法達到知其所以然。更無法使你根據你所要解決的現實問題去調整、優(yōu)化你的模型。僅僅是知道Deep Learning的過程,那是非常容易的,不過是在一堆線性的傳播路徑中加入一些非線性項,然后根據數據用gradient descent去更新參數罷了。然而,它們?yōu)槭裁纯梢云鹱饔??哪些構架更有效?對于不同的問題,哪些非線性函數又更加有效?這就不是僅僅知道個過程就可以回答的了。你必須深入背后所隱藏的理論,通過不斷地編寫程序去實驗、檢驗,才能夠慢慢積累起一些直觀,進而去探索、了解這些問題的答案。我不會允諾你任何的速成和捷徑,因為那不符合人最基本的客觀認識規(guī)律。但是,如果你真的很愿意進入這個領域,有著真正的熱情,那么持續(xù)不斷地每天至少3小時(考慮到8小時的工作時間無法撼動)的學習,3個月的時間應該能夠讓你建立起最起碼的自信。
對于任何一個課題、一個領域、一個國家,想要真正了解它,你就必須了解它的運作方式和行事風格。而要了解這些看不見的運作方式和行事風格,你就必須了解它的文化。而要了解它的文化,你就必須了解它的歷史。對于科學來說,其歷史不僅僅是指一段歷史的綜述性介紹。更重要的是,你要親自閱讀那些重要歷史節(jié)點的paper,去尋找最原始的idea是如何產生的。直接學習最前沿的材料,也許可以讓你最快速地獲取知識,讓你能夠立刻動手做事。因為這些材料已經經過了無數人的簡化、優(yōu)化和重組,讓你可以用最快的速度進行吸收。然而,這些材料的一個缺陷在于,這些重組織會將最原始的想法抹去,只留下最后的完美建筑。所有的材料都是精巧的,然而你卻找不到半點關于這個領域如何創(chuàng)建出來的線索(很多大師,諸如Gauss有著最強烈的這種癖好。更惡劣的代表是Laplace,不僅隱去行跡,還會加上一個注腳“容易得到”)。你完全不了解是什么啟發(fā)了當初的創(chuàng)建者提出了這些思想,又是什么影響了期間的發(fā)展,使它變成現在這樣。你又應該借鑒這背后的哪些想法和思想,去啟發(fā)你對別的領域做出一些突破。所有這些線索都埋藏在歷史的長河中。如果你無法耐住寂寞,腳踏實地去閱讀歷史節(jié)點的文獻,去尋找背后的脈絡,你對這個領域的認識和思考,就必然無法深入。這些基本的功夫,是之后一切發(fā)展的前提。
Deep Learning的發(fā)展史并不算太長,最早的關于backward propagation的文章First time back-propagation became popular發(fā)表在1986年。如果非要算上neural network的史前時期,第一篇關于感知機的文章Perceptron,也僅僅是在1957年,由Frank Rosenblatt發(fā)表。在這不長的歷史中,這些歷史節(jié)點的paper占據了最核心的地位。即便是今天的很多現代算法,比起它們“遠古時期”的樣子,也差不了多少。在這段30年左右的歷史中,neural network卻經歷了幾段波折和起伏。那些令人受挫的低潮期,就源自于人們對它以及它所代表的AI的過分期許。面對今天深度學習的又一次輝煌期,我們并不敢太確定,歷史是否還會重演。而在這些冰河時期依舊堅持、并推動著neural network持續(xù)發(fā)展的人,就是今天供職于Google, Facebook以及Université de Montréal大學的Deep Learning的三巨頭: Geoffrey E. Hinton, Yann LeCun, Yos