標籤:

第三幕筆記計劃

(之前知乎專欄不知道出了什麼問題,文章寫完發表一看居然有一半的內容沒存下來,只能刪了重寫。看來的確是任何在線保存的文檔工具都不可信)

整理過台大林軒田教授的機器學習課(Coursera上此課分為機器學習基石與機器學習技法兩個部分)的學習筆記以後,我休息了一段時間。在這段時間裡,我主要考慮了一下接下來應該看一些什麼課程

(在重溫林課之前)我的最初想法是,把之前斯坦福CS224d的課程筆記重新整理一下。一是因為這門課是一門很好的深度學習入門課,二是因為我自己一直對語言非常感興趣,希望能把專業技能和個人興趣結合起來。但是後來,在整理林課筆記的過程中,我出去面試了幾家公司。雖然憑藉著從CS224d中學到的東西拿到了兩個offer(另一家大廠不知什麼原因掛在了最後一面),但是在面試過程中,無論是從自身感覺還是從面試官反饋來看,我感覺我對深度學習的了解還是比較膚淺的。進入新的公司以後,我經過思考,覺得還是應該先好好再看看深度學習的一些知識——所以CS224d的筆記又雙叒叕要延後整理了

既然下一階段的目標是要「更深入地了解一些深度學習的知識」,可選的課程就比較有限。出於對林課的推崇,我很想找到一門同樣類型的深度學習課,希望它能符合以下幾個條件:首先,中文授課。雖然經歷多年的科研訓練以後我的英語還算湊合,但是漢語畢竟是母語,接受起來更方便。其次,理論深入淺出,不止講解what和how,最好還要講why。再次,作業有一定的挑戰性,兼顧理論理解和應用實踐。通過做林課的編程作業,我先後實現了感知機、Logistic回歸、AdaBoost、決策樹、隨機森林、神經網路等模型,對它們的原理有了更清楚的了解。因此,我希望我再深入學習深度學習的時候,能通過類似的事,達到同樣的效果。最後,希望有視頻課程,畢竟幻燈片有時候太過簡略

我最先想到的是同在台大的李宏毅老師開設的深度學習課。調研時只看到他今年春天開的課程的大綱,裡面基本有一半都是在講GAN。儘管GAN現在特別火熱,但是個人感覺可能還是CV領域用得比較多,而其在NLP領域的效果還有待觀察。後來我發現他和陳蘊儂老師又在秋天合上了一堂課,但是看了大綱以後還是沒有什麼感覺。而其他比較著名的課程似乎就沒用用漢語講授的了

既然如此,我只能把注意力轉向英語講授的課程。這裡面最有名的應該就是吳恩達在Coursera上開設的深度學習專項課程,不過根據朋友的反饋,以及之前上他ml-class課的經驗,深度學習專項課程應該是對初學者比較友好。儘管其中會有一些實踐經驗的介紹,也許比較有用,但是畢竟跟我的期望有所偏差

後來,我改變思路,準備看看三大強校CMU、斯坦福和MIT有沒有開設比較好的深度學習課程,以及花書DLBook的作者和Yann LeCun開的課。經過調研,Yoshua Bengio在2016年開設的課程引起了我的注意:在該課程主頁里,沒有作業和幻燈片,也沒有視頻,只有推薦材料。但是這些推薦材料將深度學習之父Geoffrey Hinton在Coursera上的課和花書的章節大致做了一個對應,而Hinton的課之前也是名聲在外。儘管嚴格來講,Hinton的課與我的要求也有偏差(比較老,作業概念題比較多,編程題少而且用MATLAB),但是卻使得我開始反思這麼幾個問題:我為什麼想要學深度學習課,用林軒田課程的標準來套是否合適

我想要一個「林軒田式」課程的原因其實還是想打好基礎,經歷了這幾次面試,我覺得我能大概理解思想,但是問到更深的問題時候就束手無策。但是我忽略了一個問題,就是深度學習畢竟是機器學習中一個分支的延展,而且是剛剛興起,想有一個特別成熟,範圍特別合適的課程是比較難的。我們目前看到的所有模型,其實都是由一些經典論文而來。搞清楚網路原理最直接的方法,也許就是看論文+寫代碼親自實現。此外,我學習深度學習並不是為了去提出一個新的模型,而是打好神經機器翻譯的基礎,也就是如何用好它。從這一點上,CS224其實是一個很好的選擇,我之所以之前覺得看了CS224收穫沒有想像的那麼大,主要有這麼幾個原因。其一是期望太高,其二是Manning也好Socher也好,他們講課的時候感覺就是大致指點+結合應用+推廣自己的工作。做好作業固然是這門課正確的打開方式之一,但是我覺得要想真正有所突破,需要研讀好lecture notes和感興趣方向的論文。讀論文,按照論文把它們的公式一步步推出來,其實就是最好的理論推導

有鑒於此,我計劃在接下來的學習過程中綜合來自多方面的課程內容,初步打算包括:

  • Hinton在Coursera上的課,這個是重點
  • Youtube上一個關於花書讀書會的系列視頻。如果Hinton講課的內容和花書的某一章吻合,看該章讀書會討論內容做補充(這系列視頻我還沒看過,所以質量如何是個未知數)
  • 閱讀Hinton給出的參考資料、花書中重要的參考論文。由於Hinton的課程與CS224d也會有少量重合(例如CNN和RNN),所以當重合發生時,也參考CS224d給出的補充材料
  • 穿插看一些斯坦福CS20SI這門課的課程資料。這門課主要是講TensorFlow,對我的工作可能比較有用,可惜沒有視頻

這樣看來,接下來這一階段的學習將會是一項比較浩大的工程。如果都能做到,說不定可以趕上看CS224d 2019 Winter的課。希望這不是只立Flag吧

(ps:Bengio的課還引用了另一位教授開設的深度學習課程。不過我對該課興趣不大,而且怕自己貪多嚼不爛,所以沒列在上文裡面)

推薦閱讀:

如何制定假期計劃
我的17年計劃
這些簡單唯美的計劃管理技巧,幫我搞定大小考試
深度學習力005:新年計劃?你可能定了一個假目標
投稿 ||「 我的一天」與「人生夢想清單」你值得一試。

TAG:計劃 |