2
本文作者: 三川 | 2017-06-13 19:20 |
我們先來(lái)談?wù)勛詫W(xué)深度學(xué)習(xí)最大的問題。
現(xiàn)在搞深度學(xué)習(xí)的,十之八九并不是“科班出身”。
這就導(dǎo)致:如果你想要跨行成為一名深度學(xué)習(xí)工程師,從頭到尾的一切,都基本靠自學(xué)。但是,開發(fā)者很快就會(huì)發(fā)現(xiàn)自己遇到了第一個(gè)障礙:
絕大多數(shù)的學(xué)習(xí)資源以理論研究為導(dǎo)向,輕工程實(shí)踐。
其實(shí)這也難怪。這幾年,深度學(xué)習(xí)是火了,但大牛們都來(lái)自學(xué)界,例子不勝枚舉:比如谷歌云首席科學(xué)家李飛飛、主管 FAIR 的 Yann LeCun、在谷歌大腦的 Ian Goodfellow,以及在過去三年里任百度首席科學(xué)家的吳恩達(dá)。大牛出身高校,他們編寫的教材、錄制的慕課也是,不可避免帶有很強(qiáng)的學(xué)術(shù)屬性,總給人一種“聽大學(xué)老師講課”的感覺(本來(lái)就是)。即便有意避免研究導(dǎo)向,甚至弱化數(shù)學(xué)理論部分(比如吳恩達(dá)老師在 Coursera 上的“Machine Learning”),仍然離產(chǎn)業(yè)界的需求相去甚遠(yuǎn)。
用一句話來(lái)概括:現(xiàn)有的深度學(xué)習(xí)資源,對(duì)學(xué)生群體很友好,但對(duì)在職工程師并不如此。許多人花大半年時(shí)間(有毅力的會(huì)更久)研讀了幾本深度學(xué)習(xí)教材,發(fā)現(xiàn)實(shí)際操作時(shí)仍然不知道該怎么實(shí)現(xiàn)一個(gè)具體的東西。
我們的老熟人——澳大利亞的機(jī)器學(xué)習(xí)(ML)專家 Jason Brownlee,就常用自己的“慘痛經(jīng)歷”勸誡深度學(xué)習(xí)學(xué)習(xí)者切勿迷信學(xué)校里的東西。
他本是一名普通的軟件工程師,對(duì) ML 感興趣之后,花幾百澳刀買了幾本教材自學(xué),但效果不是很好,以為需要“科班”學(xué)習(xí)經(jīng)歷才能讀懂那些學(xué)術(shù)語(yǔ)言。一咬牙辭職,從 AI 專業(yè)的研究生讀到博士。畢業(yè)了,卻發(fā)現(xiàn)“搞” ML(而不是研究 ML),其實(shí)在 IT 技能的基礎(chǔ)上,一步步邊實(shí)踐邊摸索就夠了,饒了一大圈回來(lái),還是重拾程序猿的老本行,成為一名幾年前的自己其實(shí)就能勝任的 ML 工程師。
Jason Brownlee
有感于自己繞的彎路,Jason Brownlee 創(chuàng)建了一個(gè) ML 學(xué)習(xí)網(wǎng)站 Machine Learning Mastery,把自己的學(xué)習(xí)心得分享給大家。他寫的教程和書,首重開發(fā)者最關(guān)心的具體模型的實(shí)現(xiàn),對(duì)其背后的理論一帶而過,結(jié)果大受工程師的歡迎。
如今, “Machine Learning Mastery” 已成為業(yè)界最知名的 ML 教育品牌之一。
關(guān)注雷鋒網(wǎng)的讀者應(yīng)該也發(fā)現(xiàn)了,但凡 Jason 有符合國(guó)內(nèi)讀者需求的技術(shù)教程,雷鋒網(wǎng)總在第一時(shí)間翻譯出來(lái)分享給大家。而這實(shí)際折射了一個(gè)趨勢(shì):凡是冠以“實(shí)戰(zhàn)”二字的深度學(xué)習(xí)、ML 文章,會(huì)更受歡迎。
這直接反映出:工程實(shí)踐導(dǎo)向的深度學(xué)習(xí)、ML 學(xué)習(xí)資源有多匱乏。
有句話怎么說來(lái)著——“需求產(chǎn)生供給”。巨大的市場(chǎng)缺口,吸引著越來(lái)越多產(chǎn)業(yè)界的 ML 工程師投身教育培訓(xùn)。比如說,除了 Machine Learning Mastery,國(guó)外的英偉達(dá) DLI 深度學(xué)習(xí)學(xué)院(詳情見雷鋒網(wǎng)此前報(bào)道“你聽說過英偉達(dá)深度學(xué)習(xí)學(xué)院 DLI 嗎?”)、fast.ai,國(guó)內(nèi)雷鋒網(wǎng)創(chuàng)立的 mooc.ai,都是以工程實(shí)踐為導(dǎo)向、面向開發(fā)者的深度學(xué)習(xí)培訓(xùn)項(xiàng)目。這些培訓(xùn),彌補(bǔ)了大多數(shù)深度學(xué)習(xí)慕課偏重理論講解、缺乏代碼實(shí)現(xiàn)的短板,可說是互為表里。
但由于深度學(xué)習(xí)開發(fā)者培訓(xùn)需要經(jīng)驗(yàn)豐富的工程師現(xiàn)場(chǎng)指導(dǎo)如何設(shè)置環(huán)境、如何操作開發(fā)工具,以及如何 troubleshooting,慕課的萬(wàn)人在線、線上學(xué)習(xí)形式難以滿足要求。高品質(zhì)的培訓(xùn),往往在線下進(jìn)行,這大幅限制了參與人數(shù),導(dǎo)致資源依舊稀缺。
鑒于此,AI 慕課學(xué)院(mooc.ai)聯(lián)合 fast.ai 中文社區(qū),邀請(qǐng)了四名中外深度學(xué)習(xí)工程師,6 月 17 -18 日在北京太庫(kù)(Techcode)進(jìn)行“12小時(shí)零基礎(chǔ)入門深度學(xué)習(xí)”線下培訓(xùn),目標(biāo)是提供業(yè)內(nèi)對(duì)新手最友好的深度學(xué)習(xí)入門指導(dǎo),降低學(xué)習(xí)者跨行從事深度學(xué)習(xí)開發(fā)的門檻。開課前夕,幾位指導(dǎo)老師同雷鋒網(wǎng)進(jìn)行了交流——為什么在他們眼中,深度學(xué)習(xí)可以“零基礎(chǔ)入門”。
雷鋒網(wǎng)對(duì)指導(dǎo)老師中的三位:楊杰、Max 和趙伊丹進(jìn)行了采訪。
其中,楊杰老師曾在南方航空動(dòng)力機(jī)械有限公司從事多年的生產(chǎn)線設(shè)計(jì),轉(zhuǎn)型深度學(xué)習(xí)后進(jìn)行算法金融項(xiàng)目的研發(fā);Max 本是金融學(xué)博士,在“深度學(xué)習(xí)”和“無(wú)人駕駛”領(lǐng)域有豐富教學(xué)經(jīng)驗(yàn);趙伊丹老師在致力于深度學(xué)習(xí)之前,從事校園 VC 的深度學(xué)習(xí)與無(wú)人駕駛項(xiàng)目。
為什么實(shí)戰(zhàn)培訓(xùn)如此重要?
楊杰:現(xiàn)在的學(xué)習(xí)資源太傾向數(shù)學(xué)理論。比如 Ian Goodfellow、Yoshua Bengio、Aaron Courville 編寫的教科書《Deep Learning》,初學(xué)者看了也不知道該怎么做。深度學(xué)習(xí)的理論研究已經(jīng)進(jìn)入到很深的層次,對(duì)于想要真正做好、精通的人,我認(rèn)為這本書是必讀的,但不適合初學(xué)者。
Max(經(jīng)雷鋒網(wǎng)編譯,下同):fast.ai 的創(chuàng)始人 Jeremy Howard 喜歡舉這么個(gè)例子:對(duì)于足球運(yùn)動(dòng)員,不需要學(xué)習(xí)物體的物理運(yùn)動(dòng)原理,只需要喜歡這項(xiàng)運(yùn)動(dòng),然后去踢,不斷在練習(xí)中提高技藝。對(duì)于開發(fā)者,在一開始上手時(shí),只需要知道怎么做,而不需要知道為什么。
楊杰:(補(bǔ)充道) 數(shù)學(xué)理論可以上手后再慢慢學(xué)。一開始就往里鉆容易產(chǎn)生畏難情緒, “覺得不是他的菜”,因而放棄??梢韵扔闷饋?lái),感興趣之后慢慢再研究理論。
新手入門深度學(xué)習(xí)的主要障礙是什么?
楊杰:心理障礙。
Max :知識(shí)點(diǎn)太多,需要理解的術(shù)語(yǔ)、概念太多。因此在一開始深度學(xué)習(xí)看上去很難。但真正上手之后,會(huì)發(fā)現(xiàn)其實(shí)沒有想象中那么難。
趙伊丹:環(huán)境配置(楊杰和 Max 點(diǎn)頭贊同)。這一關(guān)會(huì)把很多初學(xué)者嚇跑——很多人靠自己很難把第一步的開發(fā)環(huán)境設(shè)置起來(lái)。這里需要的東西很多也很麻煩,容易遇到各種系統(tǒng)問題。因此,“12小時(shí)零基礎(chǔ)入門深度學(xué)習(xí)”會(huì)把環(huán)境調(diào)好讓大家可以直接上手。
新手最需要掌握的技能是什么?
Max :Python 和 numpy。
楊杰:什么都不需要,一張白紙最好。什么都沒學(xué)過更容易入門,不然容易和以前學(xué)到的編程知識(shí)混淆。雖然深度學(xué)習(xí)開發(fā)必須要用 Python,但一開始不會(huì) Python 用不著介意。相比主流編程語(yǔ)言,比如 C++,Python 上手更簡(jiǎn)單,對(duì)普通人更友好。
趙伊丹:基礎(chǔ)編程技巧,以及計(jì)算機(jī)命令行。雖然這些可以慢慢學(xué),但事先就會(huì)的話能省些功夫。
推薦哪些輔助開發(fā)工具、框架?
三位老師:Keras+TensorFlow,后者已經(jīng)成為行業(yè)標(biāo)準(zhǔn),前者是后者的 API。
conda 和 Anaconda。
另外,由于硬件基本都是用 GPU,需要 CUDA。
對(duì)于各個(gè)深度學(xué)習(xí)模型,你們認(rèn)為新手應(yīng)從哪一個(gè)上手?
Max:CNN。圖像處理問題一般基于 CNN,它也很適合應(yīng)用于分類問題。簡(jiǎn)單來(lái)說就是:它最基礎(chǔ),應(yīng)用頻繁,很多更復(fù)雜的模型都是基于 CNN,非常適合入門。
三年前,世界屈指可數(shù)的頂級(jí)研究機(jī)構(gòu)才能實(shí)現(xiàn)的一些算法,現(xiàn)在任何一個(gè)開發(fā)者都可以利用各種開發(fā)工具借助 CNN 實(shí)現(xiàn)。
深度學(xué)習(xí)入門課程,比如”12 小時(shí)零基礎(chǔ)入門深度學(xué)習(xí)“,能為學(xué)習(xí)者帶來(lái)的最大的提升在于哪個(gè)方面?
楊杰:信心——明白“I can do it”。
趙伊丹:指導(dǎo)老師手把手帶著嘗試過了,在實(shí)戰(zhàn)中就知道怎么去做、朝什么方向去做。
你們當(dāng)初入門深度學(xué)習(xí)的過程中都遇到了哪些困難,又是如何解決的?
Max:搭建環(huán)境是個(gè)很大的坎兒。另外,當(dāng)時(shí)我沒有 GPU,訓(xùn)練速度特別慢。后來(lái)就想辦法減少數(shù)據(jù)加快速度。
我覺得新手可以多看看 “help”幫助文檔。再有就是 Google 和百度——從我的經(jīng)驗(yàn)來(lái)看,99%的問題都能搜索解決。絕大多數(shù)問題別人已經(jīng)遇到過,并且已經(jīng)解決過了,只需要多點(diǎn)耐心找出來(lái)。
趙伊丹:缺乏實(shí)踐項(xiàng)目的磨煉, 理論學(xué)得太多,但不知道怎么用。舉個(gè)例子,有很多深度學(xué)習(xí)模型的優(yōu)化方法,但只憑理論是無(wú)法判斷出應(yīng)該用哪個(gè)的,也不知道怎么去調(diào)。這里就需要實(shí)踐經(jīng)驗(yàn)并結(jié)合實(shí)際項(xiàng)目來(lái)做選擇。
有許多原本從事其他行業(yè)的程序員、甚至非程序員,想要跨行做深度學(xué)習(xí),對(duì)他們的建議是?
楊杰:(笑)我們以前就是跨行的。這次的培訓(xùn)也是針對(duì)這一點(diǎn),不需要深厚基礎(chǔ),不需要對(duì)深度學(xué)習(xí)數(shù)學(xué)理論有多深的理解。程序員也未必優(yōu)勢(shì)很大,他們上手新編程語(yǔ)言更容易,僅此而已。
Fast.ai 的座右銘是”make deep learning uncool again“,即“讓深度學(xué)習(xí)不再高冷”。你們的理解是?
Max:深度學(xué)習(xí)不應(yīng)該是只有科學(xué)家才能做的事情。各行各業(yè)的技術(shù)人員,都應(yīng)該有能力把深度學(xué)習(xí)技術(shù)整合進(jìn)他們的工程應(yīng)用中,把產(chǎn)品做得更好?,F(xiàn)在,只有谷歌等少數(shù)互聯(lián)網(wǎng)巨頭才稱得上是大范圍地應(yīng)用深度學(xué)習(xí)。但在不遠(yuǎn)的將來(lái),無(wú)數(shù)公司的服務(wù)、產(chǎn)品都會(huì)有這個(gè)需要。這其中的關(guān)鍵,就是讓深度學(xué)習(xí)不局限于內(nèi)行、專家,讓任何專業(yè)背景的技術(shù)人員借助工具都能掌握。而且,它本來(lái)就不難學(xué)。
趙伊丹:(補(bǔ)充道)現(xiàn)在還存在大片市場(chǎng)空白。在許多尚未涉及的領(lǐng)域,一旦應(yīng)用深度學(xué)習(xí)就很容易產(chǎn)生很大的效果。
學(xué)習(xí)形式:線下授課
時(shí)間:6 月 17 -18 日,兩天共九課時(shí)
地點(diǎn):北京市海淀區(qū)海淀大街鼎好大廈A座西南門 3 層
培訓(xùn)價(jià)格:999 元
課程詳情:http://www.mooc.ai/course/92
報(bào)名須知:每位學(xué)員請(qǐng)帶上個(gè)人筆記本電腦,Windows 用戶請(qǐng)安裝 Xshell
另:學(xué)員有機(jī)會(huì)參與太庫(kù)(Techcode)組織的 AI 企業(yè)參觀活動(dòng)。
相關(guān)文章:
你聽說過英偉達(dá)深度學(xué)習(xí)學(xué)院 DLI 嗎?
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。