專家分享:入門深度學習應該學什麼

導語:高揚,現某創業公司數據科學家、人工智慧專家。前歡聚時代資深大數據專家,有豐富的機器學習、深度學習實戰經驗。

在高揚老師此前的分享中,有不少同學問到高揚老師各種關於入門深度學習這個前沿技術領域的問題。部分重要問題,高揚老師做了具體的回復。真傳X技術教育平台致力於讓更多技術人受益其中,經高揚老師授權,我們將在此分享高揚老師專業的答疑。

另外,真傳X學院邀請到高揚老師開講系列深度學習入門進階實戰課程,想轉型的同學可以聯繫我們。

今天的分享,將集中在初學深度學習的解惑:入門深度學習時,應該學些什麼?需要什麼基礎?


最近被人問的最多的一個問題是「我想入門深度學習,我應該學些什麼」。

老實說,這個問題不是那麼好回答,畢竟每個人的知識背景和技能背景實在是太不一樣了。如果要假設一個人基本具備大專以上的水平和比較好的學習能力的話,可以假設一條學習路徑。

第一:學習Linux的基本應用

這主要指的是類似Ubuntu和CentOS這類主流Linux操作系統上的Shell操作,以及管道、埠、進程、內存等相關資源的概念。不推薦在Windows上去做深度學習的應用,因為幾乎全行業的人都在Linux上做工程,如果只有你使用Windows的話,那麼你會有一個很大的風險,那就是當出現各種問題的時候你很可能在網上找不到有人討論跟你發生相同的錯誤時的解決方案。這對於在開源環境下的學習是十分不利的。

這個部分我建議可以系統地學習上一個月到兩個月。當然在這個過程中可以穿插學習其它的知識。

第二:學習Python的應用與進階技巧

雖然Python作為一種語言來說,跟深度學習沒有什麼本質的聯繫。只不過,Python的普及性現在變得原來越好,書寫簡潔,可讀性好,開源社區也非常活躍。有很多第三方都開發了很多功能很強大的Python功能包,或者說對Python的調用做了支持,例如numpy,scipy,pandas等等這些就是其中的代表。那麼使用Python語言,並掌握一些常用的包使用技巧會讓你有站在巨人肩膀上前行的感覺。套用黃健翔的名言——你不是一個人在戰鬥。

這個部分是一個持續學習的過程。作為基礎部分來說,Python學習一個月左右也就差不多了,關鍵是要多練習。

第三:相關的數學知識

這個部分大家不要害怕,因為在使用框架的過程中,你基本沒有什麼機會去實戰數學方面的才華(除非是做模型優化的時候,例如SVD)。所以基本知道什麼叫導數,偏導數,什麼叫鏈式法則;凸函數的極值點求解怎麼個思路,非凸函數的求解有哪些演算法。OK,到這裡可以告一段落了。我當然不會阻攔有能力的同學繼續深入學習數學知識,只不過作為轉行入門的數學知識,到這裡已經基本夠用了。

這個部分,對於大本修過高數並且沒有完全還給老師的那些同學應該都是已經不用再學的了。對於沒學過的同學,如果高中的數學知識掌握得還好的話,那麼一周時間應該綽綽有餘。

第四:一種框架的使用

不管是Tensorflow、Caffe、Torch、Chainer,還是其他的框架,可以說是尺有所短寸有所長。現在大家都喜歡用Tensorflow主要是因為他背後的老大是Google,社區活躍,所以不容易冷場。在執行效率方面,很多場景不及Caffe,但是好像並不能阻擋大家學習的熱情。Caffe,剛剛說了,執行效率高,但是編譯起來有很多很多很多很多的坑,所以行業里有一句戲言——「安裝一萬三,一層五塊錢」,其實說的就是安裝很麻煩,但是網路模型定義並不難這麼一個事情。總之,大家在選擇框架之前多做了解吧,我個人覺得Tensorflow還是可以去follow的,相對資料比較多。

這個部分的學習,如果想要熟練掌握的話也是要用至少三個月到六個月左右的不斷學習才行了。多查手冊,多從Github上淘淘寶貝。

第五:Github

剛剛還說到Github,現在就著重提一下。

在全球有很多好事者喜歡把自己的代碼放到Github上去,不管動機是什麼,但總是給我們這些學習的人帶來了很多可以參考的學習材料。有的是做了某個論文的實現,有的是自己研究的一個小項目,林林總總不一而足,不乏有很多有價值的模型代碼。能不能用在你的生產環境不好說,但是比其它任何實戰教學來得都直接,所以有能力的人應該多去那裡取取經,開闊一下視野。


聲明:真傳X已獲得高揚老師授權發布此原創文,轉載需經高揚老師本人授權


推薦閱讀:

TAG:人工智慧 | 深度學習DeepLearning | 機器學習 |