深度學習如何入門

深度學習如何入門

 

連接:https://www.zhihu.com/question/26006703/answer/536169538

怎麼入門機器/深度學習?html

回答這個問題,最早要考慮的問題是:你有多少時間?git

準備用三個月入門,和想要一個月速成,確定是大相徑庭的路徑。固然我建議你們穩紮穩打,至少能夠拿出五個月的時間來學好機器學習的基礎知識。github

基礎很重要,知其因此然很重要。畢竟工具總在進步,每月都會出現更好的深度學習技術,但基礎知識是不變的。web

如何用五個月時間入門?下面分三個部分,詳細指南。(以及,若是你確實時間有限,最後還有一個速成指南)編程

五個月入門

Part 1:從機器學習開始(兩個月)

最好的入門教程,就是吳恩達講授的機器學習。吳恩達這套課程發佈好久了,雖然有些地方稍微過期,但相信我,如今沒有任何公開的課程,能比吳恩達講得更好。真的,課程結束時我幾乎哭了出來。後端

這個課程能夠說適合任何水平的學生,固然,你最好仍是得知道兩個矩陣如何相乘,以及對編程有一些基本的瞭解。網絡



這套課程能夠前往Coursera學習,傳送門:

也能夠上網易公開課收看,傳送門:

若是你有時間,必定要聽徹底部的課程。若是時間緊張,至少要聽完前五節課程,後面的能夠暫時跳過。框架

吳恩達的機器學習課程深刻講解了經典的機器學習模型,如線性迴歸、邏輯迴歸、神經網絡、支持向量機、PCA、無監督學習等等。大部分重要概念,都以簡單易懂的方式進行了介紹。機器學習

課程延伸ide

當你學習到第五節課,也就是開始講述神經網絡時,建議開始查看與課程平行的外部資料。比方3bule1brown推出的神經網絡講解視頻。推薦必看。

YouTube傳送門:

或者能夠前往B站查看:

以及,我以爲吳恩達在講神經網絡時有點快,因此建議補充閱讀一些資料。好比有關神經網絡和深度學習的在線書籍,免費的就很好了。

傳送門:

 

做者Michael A. Nielsen以一種簡單直觀的方式,深刻探究了神經網絡的每一個細節。建議閱讀這本書的前兩章,與吳恩達的課程並行。當你熟悉更多概念後,開始搞深度學習時,能夠再看書中的其他部分。

若是你英文很差,這本《神經網絡與深度學習》也有中文翻譯版本,能夠免費在線查看。

傳送門在此:

 


這個部分的學習結束以後,你就能明白機器/深度學習的許多概念。最後推薦閱讀Christopher Olah的博客,頗有意思。

傳送門:

 

Part 2:涉足深度學習(1個月)

開始研究深度學習以前,最好重溫一下大學數學。Ian Goodfellow傳奇般的「花書」《深度學習》,簡明扼要的歸納了大部分重要主題。

建議你們儘量深刻地閱讀線性代數、機率、信息理論的章節。每當讀論文遇到深度學習概念時,均可以在書中找到參考。

 

以及,這本書有在線的版本。

例如英文版在此:

而中文翻譯版本在此:

 

關於深度學習的在線資料有不少,你可能會挑花了眼。

再一次,我以爲最好的選擇,仍是聽吳恩達的《深度學習專項系列課程(Deep Learning Specialization)》。

Coursera傳送門:

網易雲課堂的傳送門:

這門課程包括五大章節。其實不是免費的,你能夠按照50美圓/月購買。固然,若是你負擔不起,還能申請「助學金」。申請時請詳細闡明理由,處理的時間大概須要15天左右。

固然不付費,大部份內容都是能夠看的。以及視頻的部分,在不少地方也能免費收看。

這五門課程主要講的是:

一、神經網絡和深度學習(4周)

二、改善深度神經網絡(3周)

三、結構化機器學習項目(2周)

四、卷積神經網絡(4周)

五、序列模型(3周)

 

前三門課程涉及通常的神經網絡和深度學習,第4、第五門課程涉及特定主題。若是你打算搞視覺,第四課必聽;若是你搞NLP、音頻等,第五課必聽。但若是你須要聽第五課,那麼建議也把第四課好好聽一下。

這裏鼓勵你們一下,課程裏每週的內容,實際上一兩天就能學完,因此不要被課程表嚇倒。勞逸集合、提高效率。

學到這個地步,其實就能夠再去 ,查看第三到第六章的內容,來強化你的概念。若是你有什麼還沒搞懂的,請前往Olah的博客。

以及,這時候你要開始看深度學習的論文了,從中學習知識。深度學習有個強烈的特色,那就是內容都很是新,閱讀論文是跟上時代惟一的方法。不想被拋下,那麼仍是養成閱讀論文的好習慣吧。

Part 3:深度學習上手練(兩個月)

學到這裏,你應該對機器學習和深度學習中的大多數概念有了正確的理解,如今是時候投入沸騰的實際生活中了。

練手深度學習,最好的資源在fast.ai。

 

傳送門在此:

他們在流行的深度學習工具PyTorch上構建了一個庫,只須要幾行代碼,就能實現世界級的性能。

fast.ai的理念有點不一樣。吳恩達等老師的教授方法是自上而下,先講再作。而fast.ai倡導自下而上,先作再講。

因此在他們的課程中,第一節就帶你創建一個強大的圖像分類器。本身訓練模型的快感,刺激着你去完成其他的課程。

 

除此之外,還要推薦兩門課。

斯坦福大學的CS231n和CS224n。CS231n專一於計算機視覺的深度學習,而CS224n專一於序列建模。

CS231n,李飛飛等主講。
官網傳送門:
CS224n,目前是Richard Socher主講。
官網傳送門:

此前的課程,網上也有中文字幕版本,你們可自行搜索。

到這裏,爲期五個月的機器/深度學習入門就結束了。

但願你們都能穩紮穩打,夯實基礎。

以及最後,兌現一個開頭的承諾。若是你確實時間很緊張,必須儘快入門機器/深度學習,那麼請看——

速成指南

我最多隻有倆月

一、完成吳恩達機器學習課程的前五週,要作編程練習。

二、看完3Blue1Brown的視頻。

三、完成吳恩達的深度學習專項系列課程,作練習。

四、若是你想搞圖像,看專項課程第四講,搞NLP或序列數據,看第五講。

五、搜索你感興趣的開源實現。若是你還沒想好用什麼語言,推薦Keras。而後根據須要,再遷到TensorFlow或者PyTorch框架。

我,只有一個月

想要在30天完成入門超級困難。除非,你只是想了解機器學習的工做原理,而後應用到本身的項目中。

若是是這樣的話,速成建議以下:

一、略讀吳恩達機器學習課程第1-5周的課程,只看視頻,掌握概念便可。第三週能夠跳過MATLAB/Octave課程。

二、看完3Blue1Brow的視頻。

三、略讀吳恩達深度學習專項系列課程的第一課,也就是神經網絡和深度學習。

四、若是你想作圖像處理項目,看一下Nielsen書中的第六章:

若是你須要序列建模的一些想法,能夠看看Olah的博客:

五、Siraj Raval拍了不少有趣的視頻,涉及大多數機器/深度學習的主題。傳送門在此:

六、搜索跟你感興趣的開源實現,隨時調整以知足你的需求。如前所述,我推薦你先用帶有TensorFlow後端的Keras語言。

其餘資源

YouTube上有一個兩分鐘讀論文的系列視頻,能夠幫你快速瞭解全球深度學習的最熱門進展。

若是你關注進機器學習領域的進展,Twitter是個絕佳的工具。

遇到困境的時候,記得reddit和Facebook上有不少志同道合的人,不要猶豫,在社區裏尋求幫助,你們會伸出援手。

結論

機器學習和深度學習是當今世界最具魅力的技術之一。並且這個領域的深度學習專家老是處於稀缺的狀態。從職業前景來看,深度學習很是吸引人。

須要提醒的是,與計算機學科的其餘領域不一樣,深度學習的資源還不夠豐富。不少時候你會遇到失敗挫折,千萬不要灰心喪氣,你能夠向更多人尋求幫助,不少人都願意伸出援手,你們都在學習。

關於機器/深度學習,有一個誤解是須要計算機科學的背景才能學習。這不是真的,你確實須要一些編程的思惟纔好入手,但也僅限於此。如今機器學習領域的不少專家,都來自其餘研究領域。

若是你有計算機科學的背景,這是一個很是好的開始。但若是你出身其餘學科,想要迎頭遇上並不難。

感謝看到這裏。

 

原做:Masum Hasan

問耕 編譯整理

原做地址:

 

============================= End

相關文章
相關標籤/搜索