學深度學習,能「彎道超車」嗎?

困惑

深度學習的初學者,總會在學習路徑上遇到困惑。

先是那群框架,就讓你不知道該從哪兒著手。

一堆書籍,也讓你猶豫如何選擇。

即便你去諮詢專業人士,他們也總會輕飄飄地告訴你一句「先學好數學」。

怎樣算是學好?

對方會給你羅列出一堆大學數學課程名稱。直到你徹底放棄學習的想法。

真要是按照他們的要求,按部就班去學,沒有個幾年功夫,你連數學和編程基礎都打不完。

可到那時候,許多「低垂的果實」還在嗎?

其實,Sylvain Gugger (數學專業出身,自學深度學習,一年時間成為 fast.ai 的研究科學家)說了一段真話(鏈接在這裡)。

把我常用的那個例子,再給你舉一遍。

如果你想造汽車,恐怕要有多少年的理論功底,以及技術實踐。

但如果你只是想開汽車,卻是很快就能學會。

當個司機,你需要去了解汽油發動機原理嗎?

不需要。

因為你開的車,甚至有可能根本就用不上汽油發動機(電動車)。

深度學習,底層實際結構很複雜。

上圖還只是模塊示意圖哦。

然而,作為應用者,你只需要一兩行代碼,就能實現上述神經網路。加上數據讀取和模型訓練,也不過十行左右的代碼。

不信?

你可以參考我的《如何用 Python 和 fast.ai 做圖像深度遷移學習?》

感謝科技的進步,深度學習的用戶介面,越來越像搭積木

只要你投入適當的學習成本,就總是能很快學會的。

這種成本,究竟要投入多少呢?

成本

Jeremy Howard 的答案,是 7 節課。

我在《如何用 Python 和深度遷移學習做文本分類?》一文中,給你介紹過他的研究論文「用於文本分類的通用語言模型微調(ULMFiT)」。

與其說他是研究人員,倒不如說他是個老師。

Jeremy 看到許多普通人,被深度學習的高門檻攔在外面,很不愉快。

於是他研發了基於 Pytorch 的 fast.ai 深度學習框架。

這個框架的特點是:幾條語句,就能做出前沿水平(state of the art)的深度學習模型。

依據該框架,他還做了系列 MOOC ,現在在深度學習領域非常知名。

我給你寫這一篇文章,是因為早上看見,Jeremy 發了一條消息,大家期待已久的2019版本 Practical Deep Learning for Coders 課程終於上線了。

按照課程要求,每周上一節課,視頻看下來,大約需要2個多小時。

外加每周10個小時左右的練習時間。

7周之後,你就算結課了。

學這課程,需要的基礎是什麼?

機器學習?不需要。

深度學習?更不需要。

編程經驗?這個確實需要,大概一年左右。如果你用的編程語言,恰好是 Python ,那就最好了。學的是其他語言也不要緊。因為 Python 是可以很快掌握的,就如同我在《學 Python ,能提升你的競爭力嗎?》一文中跟你說的那樣。

對了,還有數學呢?

只需要高中數學(對應美國教學大綱,你懂的)知識,就夠了。

教學過程中,對於高等數學,如果需要,視頻里會即時補充。

以上是你需要花費的時間成本和前導條件。

經濟成本呢?

課程的教學視頻是免費的。

內容

這一版的 MOOC ,都包括哪些內容呢?

在這個頁面, Jeremy 做了介紹。

課程主要包含以下模塊:

  • 機器視覺(例如動物識別)
    • 圖片分類
    • 圖片分割
    • 圖片關鍵點

  • 自然語言處理(例如影片評論情感分析)
    • 語言模型
    • 文檔分類

  • 表格數據分析(例如銷售預測)
    • 類別數據
    • 連續數據

  • 協同過濾(例如影片推薦)

下面,用幾張截圖,給你展示一下能學到什麼。

這是對卷積神經網路工作原理的解釋。

這是圖片分割的效果。

你能學會如何對模糊圖片進行增強。

以及如何訓練語言模型和下游分類任務。

課程涵蓋的知識點,包括但不限於以下內容:

怎麼樣?足夠有用,也足夠前沿吧?

效果

你可能很關心,花了7周時間學完之後,效果會怎麼樣?

Jeremy 自己表示,課程裡面有些前沿內容,還沒有在學術期刊上發表。

如果你是學術圈人士,看了這句話,應該微微一笑——吹吧!怎麼可能?傻嗎?

但這個 Jeremy ,以前真這麼干過。

前面提的他那篇 ULMfit 語言模型論文,你應該還有印象吧?

注意,Jeremy 不是像很多學者那樣,先發表了論文,然後才把內容在課程中講授的。

雖然是在舊金山大學教書,但是 Jeremy Howard 對於寫論文的興趣無限趨近於0.

他在上課的過程中,對於最新的機器學習研究旁徵博引,帶著一群初學者,遊走在學科的邊緣上。

直接在自己的課程中講了 ULMfit 這種方法,鼓勵學生去試。

他展示的語言模型遷移學習分類效果,許多已經超過目前最優水平。

他發現許多顯而易見的東西,居然都沒有人嘗試過,更沒有人發表過。

於是,授課之餘,他經常跑到人家深度學習圈兒裡面,扔一兩個想法和實踐效果進去,不過基本上沒人搭理他。

原因很簡單,學術界也是有路徑依賴的。

讓人家專家學者放著大路不走,試你這野路子?

好在,具有真有一位自然語言處理領域的活躍學者,來找他聊天兒。說對他提的這種新自然語言處理深度學習方法,很感興趣。

他挺開心的,倆人就聊,越聊越投機。

然後,這個叫做 Sebastian Ruder 的人,就提出來「既然你這想法,學術圈別人沒試過,咱們合寫論文吧!」

想起來了吧?我在知識星球里,曾經為你介紹過這傢伙,以及他那份著名的 NLP 前沿進展匯總。

面對 Sebastian 伸過來的橄欖枝,Jeremy 如何表態呢?

他立即回答:

No!

我才不寫那玩意兒!

Sebastian Ruder 於是使盡渾身解數,附加了以下條件:

  1. 你不需要給論文裡面寫一個字。只提供想法和代碼就可以;
  2. 我幫你把它完整轉換成為學術論文格式,用嚴謹的方式加以討論;
  3. 咱們第一時間把論文放到預印本平台,並投稿自然語言處理領域的高水平會議,以便讓更多人能免費閱讀,並因此獲得收益。

Jeremy 終於同意了。

這篇論文被 ACL 接收後,收穫大量關注。

更有趣的是,當初無人問津的方法,人們真的嚴肅嘗試後,獲得的獎項一個接一個。

我在《如何用 Python 和深度遷移學習做文本分類?》一文中,給你講到過,Czapla 等人,就利用這種方法,輕鬆贏得了波蘭語信息檢索比賽 PolEval18 的第一名,他們的模型效果,領先第二名 35% 。

這時候,回過頭來,再看 Jeremy 那句「課程裡面有些前沿內容,還沒有在學術期刊上發表」,你明白意味著什麼了吧?

資源

篤定決心要學的話,我們來說說如何上這門免費 MOOC 吧。

如果你使用筆記本電腦,可以點擊這個鏈接,直接訪問課程的視頻。

有意思的是,這一版課程,包含了新的視頻播放器。最大的特點是,你可以用內置內容搜索的功能,直接定位到感興趣的段落。這樣,找起內容和知識點來,方便多了吧?

如果你用移動設備學習,這個播放器可能無法正常使用。沒關係,你可以訪問這個播放列表頁面,直接看視頻。

不僅如此,為了讓你能夠用上 GPU 來實踐深度學習,課程還專門在配套網站上為你提供了詳細的分步教程。

夠貼心吧?

我個人比較推薦其中的 Google Colab 和 Google Cloud Platform。前者免費,後者雖然有開銷(每小時需要 0.38 美元),但如果你是新用戶,Google 會先送給你300美金 ,1年內有效。足夠你學完這門課了。

我專門寫了個步驟詳細的教程,教你如何用 Google Cloud Platform 跑 fast.ai 課程的練習,你可以訪問這個鏈接查看。

多囑咐一句,課程的論壇,一定要經常查看。

上面各路高手經常就課程相關內容,有些甚至是非常前沿的技術進行切磋。你在一邊觀看,都可以獲益良多。

如果你有問題,也不妨拋出來。論壇活躍度很高,「同學們」會很樂意幫助你的。

激勵

不少人試圖去了解 fast.ai 的商業模式,於是問 Jeremy 。

他直接告訴大家:我們的商業模式,是花自己的錢做事,幫人們學深度學習。連資助我們都不要。

順便說一句,fast.ai 的 slogan 是這樣的:

翻譯過來就是,讓神經網路變得不再酷。

在別人刻意製造信息與技術的鴻溝時,偏偏有人認為,人工智慧應該能幫助更多人,而不是只讓少數技術領先者和巨頭獲益。

說到這裡,你可能會疑惑,這個 Jeremy Howard 怎麼這麼奇怪?

世人一直追逐的兩件事,不就是名和利嗎?

論文發表,就是,多少人每天想的,不就是論文、論文、論文嗎?

人家都關心怎麼知識變現,也就是,他為什麼不拿資助,不賺錢,還搭上自己的錢來做這件事?

他這麼兢兢業業,為了課程設計和 fast.ai 框架演進,真是做到了廢寢忘食,殫精竭慮。

2018的 Cutting Edge Deep Learning for Coders 里,經常有這樣的情況。晚上要上課, Jeremy 中午飯都沒吃,一直在嘗試最前沿的方法,以便能把最新的技能傳授給學生。

看得出來,他很疲憊。但是課上他的笑容,是滿足而真誠的。

為什麼面對名利,Jeremy 如此拒絕呢?

給你半分鐘,思考一下。

……

以下是答案公布時間。

不要名利,是因為他不缺那些東西。

在 Wikipedia 上面,有好幾個 Jeremy Howard 。其中咱們提到的這位,頁面是這樣的:

他最為人知的身份,是企業家。

再看看這段早年經歷:

19歲,別人才剛開始上大學的年紀,Jeremy 已經在麥肯錫年入20萬美元了。

再看這段,更為傳奇:

一個管理諮詢界的人物,跑去 Kaggle 參賽,結果因為成績太好,一年後就成了 Kaggle 的主席和首席科學家。

至於名聲,你看看這段 2014年的 TED 演講,就知道他到底有多知名。

詳細介紹在這裡。感興趣的話,你可以自己去看看,勵志一下。

我們總以為,要用足夠的激勵,讓人們做出最大的產出貢獻。

但是,許多最有影響力的優質產出,恰恰是那些根本對外部激勵無感的人做出的。

這是不是值得制度設計領域的研究者,以及大型組織機構的管理者們思考一下呢?

關於英語

沒錯,課程是英文的。

別抱怨了。

沒用。

你在抱怨的時候,那些花時間學英語的人,已經悄悄跑到你前面去了。

學吧。

我給自己的研究生,寫過一篇英語學習方法介紹文章,叫做《寫給我即將入學的研究生(英語學習篇)》。你要是感興趣的話,不妨讀讀。希望對你學英語有幫助。

祝深度學習愉快!

喜歡請點贊和打賞。還可以微信關注和置頂我的公眾號「玉樹芝蘭」。

如果你對 Python 與數據科學感興趣,不妨閱讀我的系列教程索引貼《如何高效入門數據科學?》,裡面還有更多的有趣問題及解法。


推薦閱讀:
相关文章