基礎(chǔ)學(xué)習(xí)深度學(xué)習(xí)是怎樣一種體驗?本文作者分享了他僅僅一年時間從零基礎(chǔ)到成為研究科學(xué)家的歷程,并且提出了一些有用的建議。
2018年時,我決心開啟深度學(xué)習(xí)之旅。
2017年10月,在閱讀了《紐約時報》一篇描述深度學(xué)習(xí)人才短缺的文章之后,我偶然發(fā)現(xiàn)了一個名叫fast.ai的網(wǎng)站。說它改變了我的生活聽起來有點陳詞濫調(diào),但那時的我很難想象,一年之后,我會在幕后幫助準(zhǔn)備這門課程的下一個版本。
因此,在這篇文章中,我將講述我個人進(jìn)入深度學(xué)習(xí)的歷程,并且分享一些建議,我認(rèn)為這些建議在對六個月前可能對我有用。
使用神經(jīng)網(wǎng)絡(luò)將埃菲爾鐵塔添加到一幅畫中的示例
我是誰?我從哪里來?
我的背景主要是數(shù)學(xué)。我擁有法國大學(xué)碩士學(xué)位;并且曾攻讀過博士學(xué)位,但六個月后就放棄了,因為我覺得這太令人沮喪了。于是接下來的7年,我繼續(xù)在巴黎教本科生。對于編程,我是自學(xué)的。我13歲時,我父親就給了我一本《Basic語言入門》。
我在三年半前搬到了紐約,成了半個全職奶爸,半個法國出版社的教科書作者。當(dāng)我第一次發(fā)現(xiàn)fast.ai的時候,我對圍繞AI的炒作很好奇,我想知道我是否能理解那些似乎只有少數(shù)天才才能理解的東西。
我必須承認(rèn),我一開始幾乎沒怎么上這門課;它聲稱可以向任何只有一年編程經(jīng)驗和高中數(shù)學(xué)知識的人解釋深度學(xué)習(xí),這個說法對我來說非常可疑,我想知道它是不是完全是騙人的(劇透警告:不是)。但我還是決定上完它;我每周抽出7個小時來學(xué)習(xí)這門課程。
雖然我在數(shù)學(xué)方面有明顯的優(yōu)勢,但在我稱之為“geeky stuff”的東西上苦苦掙扎。我是一名Windows用戶,之前從未使用過終端。在終于能夠訓(xùn)練自己的狗貓分類器之前,僅僅是設(shè)置就花了我一個多星期的時間。每次不得不在終端上運行一些命令時,感覺就像是某種形式的折磨(這一點仍然沒有多大改變!)
如果你是這個領(lǐng)域的新手,并且正在其中的某個部分(或全部)掙扎,請記住,沒有人能輕松地做到。總有一些事情是你不知道,那會是一個挑戰(zhàn),但如果你堅持下去,你就會克服它。隨著時間的推移,它會變得更容易,至少會容易一點……我有一半的bash命令仍然需要幫助,并且在第一節(jié)課中兩次損壞了文檔和課程網(wǎng)站。幸運的是,大家都忙著看Jeremy講課,沒有人注意到這些。
你需要高等數(shù)學(xué)才能進(jìn)行深度學(xué)習(xí)嗎?
簡單地說,答案是否定的。長篇大論地說,答案仍然是否定的。任何告訴你相反答案的人都只是想嚇唬你而已。在深度學(xué)習(xí)的某些理論研究領(lǐng)域,你可能需要高等數(shù)學(xué),但每個人都有自己的空間。
要在實踐中訓(xùn)練一個模型,你只需要知道三件事:知道導(dǎo)數(shù)是什么,知道誤差函數(shù)的log和exp,以及知道矩陣乘積是什么。你可以在很短的時間內(nèi),利用多種在線資源學(xué)習(xí)所有這些知識。在課程中,Jeremy推薦了可汗學(xué)院學(xué)習(xí)導(dǎo)數(shù)、log和exp,以及3blue1brown網(wǎng)站學(xué)習(xí)矩陣乘積。
在我看來,你真正需要掌握的是數(shù)學(xué)是“broadcasting”(有點像數(shù)學(xué)和編程的交叉領(lǐng)域)。
如果你是認(rèn)真的,那就制定自己的學(xué)習(xí)計劃
在完成課程的第一部分后,我很清楚我想在這個領(lǐng)域工作(因此我有了很強的決心)。我考慮了各種各樣的培訓(xùn)課程,這些培訓(xùn)承諾可以把我變成一名數(shù)據(jù)科學(xué)家,條件是巨額的學(xué)費。我在網(wǎng)上找到了很多培訓(xùn)課程的褒獎評價,這讓我有點害怕,幸好我很快就放棄了這個想法。
網(wǎng)上有足夠多的免費(或廉價)資源,能夠教你所需要的一切。所以只要你足夠自律,就可以制定自己的學(xué)習(xí)計劃。最好的當(dāng)然是fast.ai的課程(但我現(xiàn)在fast.ai工作,所以有點偏頗;))。
我以為我不會被選入International Fellowship,免費獲得第二部分課程,所以當(dāng)收到錄取郵件時我有點措手不及。我訂了一個共享辦公的地方,讓自己遠(yuǎn)離有一個嬰兒和一個蹣跚學(xué)步的小孩的家里,還雇了保姆。然后,每天朝九晚五,加上晚上,我都在學(xué)習(xí)。我原以為我會接著上其他MOOC,但Jeremy在論壇上布置的挑戰(zhàn)性作業(yè),以及那里充滿活力的社區(qū),讓我一直沒有時間去尋找其他地方。
雖然這門課的目的是讓人們每周花7個小時做作業(yè),但它絕對足夠讓你忙更長時間,尤其是在第二部分。如果你認(rèn)真考慮轉(zhuǎn)行深度學(xué)習(xí),那么你應(yīng)該花七周的時間來努力完成這門課。如果你能負(fù)擔(dān)得起金錢或家庭方面的費用,你也可以自己飛到舊金山,每天去參加南加州大學(xué)的學(xué)習(xí)小組。如果你做不到,那就在你所在的城市里找到一個學(xué)習(xí)小組(或者成立自己的小組)。無論如何,都要在論壇上保持活躍,不僅要在出現(xiàn)bug時提問題,還要幫助其他人寫代碼。
展現(xiàn)你的能力
我很害羞,我討厭交際。認(rèn)識我的人都知道,我不善于閑聊。幸運的是,有很多方法可以讓你在安全的電腦屏幕背后向潛在雇主推銷自己。
以下是一些可以提供幫助的事情:
制作你自己的項目,來展示你學(xué)到了什么。在轉(zhuǎn)移到另一個項目之前,一定要徹底完善前一個項目。
寫博客來解釋你學(xué)到了什么。不一定要寫復(fù)雜的新研究文章,可以從模型的基礎(chǔ)開始,即使你認(rèn)為已經(jīng)有成千上萬這樣的文章了。僅僅通過嘗試解釋你認(rèn)為你已經(jīng)理解了的東西,就能學(xué)到很多。
為深度學(xué)習(xí)相關(guān)的開源項目(比如fastai library)提交貢獻(xiàn)。
參加Kaggle競賽(這條仍然在我的待辦事項清單上,也許這將是我2019年的決心)。
建立一個Twitter賬戶,告訴人們以上所有的事情。
在課程還沒結(jié)束的時候,我就得到了幾份工作offer,這讓我非常驚訝。然后, Jeremy提到他要重fastai library,我主動提出幫忙。事情順?biāo)浦郏O(shè)法得到了AWS的贊助,讓我成為了fast.ai的研究科學(xué)家。
學(xué)習(xí)的三個階段
在我看來,學(xué)習(xí)都有三個階段。首先你要抽象地理解某件事,然后你要能夠解釋它,最后你要能設(shè)法實際做到。這就是為什么你是否能夠自己重寫一遍課程上看到的代碼非常重要。
就深度學(xué)習(xí)而言,上完了課程是我的第一階段;第二階段是在論壇上寫博客文章或回答問題;第三階段就是和Jeremy 一起重建fastai library。
在過去的幾個月里,我學(xué)到的東西甚至比我在跟著學(xué)完課程時還要多。其中有些內(nèi)容我很快就放棄了,還有很多是在Jeremy的指導(dǎo)下通過重構(gòu)代碼實現(xiàn)的,直到最后得到今天看到的結(jié)果。構(gòu)建一個完全集成的框架意味著你必須實現(xiàn)所有內(nèi)容,因此你需要掌握流程的每個部分。
總之,這是我一生中學(xué)習(xí)最多的一年。我將永遠(yuǎn)感謝Rachel和Jeremy創(chuàng)造了這門神奇的課程,我很自豪能為它做出一點小小的貢獻(xiàn)。
-
AI
+關(guān)注
關(guān)注
87文章
31443瀏覽量
269836 -
代碼
+關(guān)注
關(guān)注
30文章
4820瀏覽量
68882 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5511瀏覽量
121394
原文標(biāo)題:全職奶爸的一年深度學(xué)習(xí)之路:從零基礎(chǔ)到成為研究科學(xué)家
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論