希望是個不太一樣的機器學習路線圖

開啟機器學習的旅程,哪個人不想少走彎路、節(jié)約時間、充分利用現(xiàn)成資源呢?本期就這三個問題,以過來人的視角和經(jīng)驗,提供一些建議,盡量讓你避開一些常見的坑,更加高效愉悅地實現(xiàn)自己的目標。
Part 1. 如何快速上手
一張腦圖最容易說清學習的路線圖,給人獲得全局既視感。如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?
首先,聊一聊機器學習的江湖。具體包括:這個系列在內(nèi)容上的三個特點;一張各類算法的族譜圖;以及在內(nèi)容講解上的幾點說明。其中族譜圖是個小小的創(chuàng)新,試圖用相對嶄新的視角重新劃分機器學習的類別。借助金庸武俠小說中的人物關系,幫助大家簡單明了地記住不同算法間的異同和聯(lián)系。在做到過目不忘的同時,還能受到些許啟發(fā),對未來新的算法趨勢有一定的預測和思考。

其次,說一說機器學習的日常。解析神經(jīng)網(wǎng)絡訓練的主要步驟,我們會用一個簡單而具體的例子讓你以最快速度一下子明白機器學習的訓練過程,非常地容易理解和上手。
第三步是簡明扼要的帶你快速復習所需數(shù)學和編程知識。本著非必要不引入,引入即直白易懂兩個原則,所有內(nèi)容讓你在一天內(nèi)妥妥地弄明白,不相信你可以試試。無論是內(nèi)容,還是教學方式,都已經(jīng)在只具備小學水平且沒啥太多編程知識的孩子身上得以驗證。

接下來的重點是機器學習的四大核心內(nèi)容:數(shù)據(jù)、模型、算法和訓練。
數(shù)據(jù)部分。這一部分,我們會介紹一些業(yè)內(nèi)流行的數(shù)據(jù)集,讓你知道benchmark,也就是基準線在哪兒。同時,小結一下常見的數(shù)據(jù)預處理方法,這幾乎是所有訓練必須要做的步驟。另外,講述一些數(shù)據(jù)處理技巧,比如歸一化對模型效果的影響。最后再介紹一種流行的數(shù)據(jù)擴增方法—數(shù)據(jù)增強。這部分工程性比較強,但是突出實用性。

模型部分。這是重中之重,經(jīng)常聽到的各種網(wǎng)絡都會在這里一一介紹。但是與傳統(tǒng)書籍資料不同,我們刻意摒棄那種刻板嚴肅的教學方式,做了兩種創(chuàng)新:一是看電影講故事,用生活中淺顯易懂的例子或者有趣的情節(jié),讓你迅速抓住其中的精髓,領悟機器學習的思想,有種“??!懂了懂了,原來是這樣啊”的感覺;二是做類比,縱向貫通講清楚網(wǎng)絡結構的演變歷程,橫向比較講清楚不同模型間的異同,從而極大的降低理解的難度和記憶的負擔,短時間內(nèi)即能舉一反三,明白紛繁復雜模型間的內(nèi)在聯(lián)系。

算法部分。我們集中講清涉及算法選擇相關的幾件事:誤差損失函數(shù)、反向傳播和梯度下降。如果說前面模型講的是神經(jīng)網(wǎng)絡的“形”,算法就是神經(jīng)網(wǎng)絡的“神”。它能告訴我們?yōu)樯渡窠?jīng)網(wǎng)絡能夠?qū)崿F(xiàn)學習的神奇效果!換言之,模型講的是靜態(tài)的神經(jīng)網(wǎng)絡,多種多樣富于變化,而算法講的是動態(tài)的神經(jīng)網(wǎng)絡怎么訓練的。你會驚奇的發(fā)現(xiàn),原來不同的神經(jīng)網(wǎng)絡間的訓練算法如此的一致。

訓練部分。著重介紹訓練過程中常見的性能提升問題。如果你是初學或者僅僅想從宏觀上了解機器學習的概況和思想,大可把這章先跳過去,忽略這些細節(jié)問題。當然最好的辦法是快速瀏覽,大概知道訓練過程中可能會遇到哪些問題,都是什么術語,不必深究其所以然的情況下,做到先知其然。如果你已經(jīng)是個熟手,希望這一章能夠幫你跳過繁瑣細節(jié)的泥沼,從另外一個角度重新思考訓練中的諸多細節(jié),能夠相對的梳理出一個清晰的思路。

最后,將花一部分篇幅給大家介紹一些有意思的應用和最新最前沿的算法,保姆級地教大家一步步實踐,開啟大家對機器學習的興趣和更加深入的認知。
附錄部分包含四部分:
一是數(shù)學知識的延伸閱讀。這部分比前面概述要更加詳細。一方面能自成體系,讓你不用再到處找資料,相對全面地提供機器學習入門所需的數(shù)學基礎知識;另一方面作為橋梁,告訴你更加深入的學習應該學什么,為啥學,大概應該怎么學,或者學到什么程度。
二是編程知識的延伸學習。包括了軟件環(huán)境的詳細安裝說明,手把手的教你搞定;python的常見命令;以及常用機器學習開發(fā)框架的介紹。
三是英文術語對照表。無論是閱讀論文,還是編程,都需要熟練掌握一定量的學術黑話??偨Y這個表的目的就是想幫你節(jié)省時間,能夠比較快的一口氣吃掉所有的學術單詞。
四是學習工具和資源的小結。包含了我們的文章、視頻,以及網(wǎng)上優(yōu)質(zhì)的相關學習資源推薦。
多久能學會
拿起一本書,往往你問自己的一個靈魂拷問是“我多久能學會?”
這個問題中最難定義的是“會到什么程度”。這有點兒像是吃飯,要看你的目的到底是吃飽,還是吃好。是追求不餓,注重營養(yǎng),還是講究口感和色香味俱全。我們想幫你實現(xiàn)的是,面對一桌子從未吃過的螃蟹美食,不是望而生畏,心存恐懼,也不是因噎廢食。

機器學習某種程度上也是門語言,和機器對話的語言。和所有語言的學習一樣,入門是最難的,興趣永遠是學習的最好動力?!皫煾殿I進門修行在個人”,最后能學到什么程度,那要看個人造化,更要看不同的目的和需要。任何時候堅持與不懈的努力都是最好的解藥。

如果你時間寶貴,推薦你用三天到一周的時間淺嘗輒止的概覽,看看例子、故事、視頻,把握模型、算法、訓練和應用的區(qū)別與聯(lián)系。從全局上了解這么學科涉及哪些內(nèi)容,又能快速理解它的核心思想和精要之處就夠了。
如果你有一個月左右的時間,也確實想比較深入的了解這門學科。希望你能從只看不試,跨越到又看又試,畢竟“紙上得來終覺淺,絕知此事要躬行”。

如果你想進入這行,希望這個系列能夠成為一個良好的開端和相對美妙的回憶。以此為跳板,幫你認識更多的資源、圈子和同路人。在迷茫和焦慮中,有那么個過來人跟你說說人話,講講故事和心得。
歡迎關注、交流!