如何系統(tǒng)型的學(xué)習(xí)深度學(xué)習(xí)?
不知小伙伴們遇到?jīng)]遇到這樣的情況,對(duì)于想學(xué)習(xí)一個(gè)科目,總想把全部的資料收集起來(lái),然后通過各種渠道了解總共需要學(xué)習(xí)哪些知識(shí)點(diǎn),最后做一個(gè)看著非常努力而又詳細(xì)的路線圖時(shí)間表。 好似我們知道學(xué)習(xí)什么,資料也有了,路線圖也有了,我們就真的會(huì)系統(tǒng)的學(xué)習(xí),成為明日大牛了。 小編有過這種經(jīng)歷,如果是自己想學(xué)習(xí)的科目,而無(wú)任何考試或其他外在壓力,按照這種路線,基本是整一次失敗一次。我把這種經(jīng)歷最后歸結(jié)為起步階段的“完美主義”。 經(jīng)歷了幾次,小編發(fā)現(xiàn)學(xué)習(xí)真的是學(xué)才行,如果你真的想系統(tǒng)的學(xué)習(xí)某一個(gè)領(lǐng)域知識(shí),建議不要總是在起步階段打轉(zhuǎn),行動(dòng)起來(lái),不管怎樣資料沒有收集完的時(shí)候,路線圖時(shí)間表沒有一次就完美的情況,做個(gè)大致規(guī)劃,開始了再說。 最后,小編摘抄了幾個(gè)知乎高贊回答,都是小伙伴們自身實(shí)踐的經(jīng)驗(yàn),大家可以看看。
01
作者:機(jī)器學(xué)習(xí)入坑者
https://www.zhihu.com/question/305745486/answer/557055667
一開始,我每天固定兩個(gè)小時(shí)學(xué)Python,兩個(gè)小時(shí)看吳大佬的有題目的視頻教程,兩個(gè)小時(shí)自己實(shí)現(xiàn)課后習(xí)題。這期間感覺自己進(jìn)步很大,但是總覺得哪里出了問題,卻又說不出來(lái)。
兩個(gè)多月以后,課程完結(jié),開始學(xué)習(xí)tensorflow,看書敲代碼,出現(xiàn)問題就百度。雖然自己能實(shí)現(xiàn)類似resnet這種基礎(chǔ)網(wǎng)絡(luò),但是自我感覺沒有之前那么好了,好像越學(xué)越糊涂。
再后來(lái),我開始看論文了,找那些有開源實(shí)現(xiàn)的論文,看一篇論文,學(xué)習(xí)一篇代碼。在這樣穩(wěn)扎穩(wěn)打的步伐下,我感覺自己又進(jìn)入了快速上升期。
既然能搞懂別人的論文了,能不能自己來(lái)一篇?于是我開始去怎么提出新東西,進(jìn)而意識(shí)到我應(yīng)該先對(duì)自己領(lǐng)域現(xiàn)存方法有所了解,知道它們的優(yōu)點(diǎn)和不足。按照這種想法,我開始有意識(shí)的泛讀自己領(lǐng)域的頂會(huì)論文,了解最流行的方法。我意識(shí)到,最簡(jiǎn)單的創(chuàng)新實(shí)際上就是把別的領(lǐng)域的東西搬過來(lái)用,所以我從nlp找了點(diǎn)思想用到對(duì)抗上(此時(shí)我并不知道已經(jīng)有人這么做了,畢竟自己掌握的文獻(xiàn)還不夠)。不管怎么說,我算是有自己的成果了。
這就足夠了嗎?不是的。我越發(fā)感覺到自己的不足,深度學(xué)習(xí)僅僅在cv領(lǐng)域就有各個(gè)子分支,每個(gè)分支就算整個(gè)研究生生涯都不一定能吃透。
更要命的是,我發(fā)現(xiàn)我一直都是在寫算法,從沒考慮過如何部署模型,也就是整天紙上談兵。所以我最近開始學(xué)網(wǎng)絡(luò)知識(shí),學(xué)習(xí)什么是客戶機(jī)服務(wù)器模式,學(xué)習(xí)flask,想把自己的模型部署到web服務(wù)器上。
總得來(lái)說,我沒有采納我當(dāng)初所看見的建議,那些建議有的列出來(lái)一系列書單,有的列出來(lái)一系列課程,對(duì)我個(gè)人來(lái)說是不太可行的計(jì)劃我一般都不去做。
我覺得應(yīng)該從自己想解決的問題入手,舊問題的解決往往伴隨新問題的誕生。我最開始只是想知道啥玩意是反向傳播,后來(lái)卻自己搞出一篇論文,是那些困擾我的問題激勵(lì)著我進(jìn)一步研究,每次解決問題都會(huì)有那種喜悅的心理,這是我進(jìn)步的源泉。
02
作者:Jason金
https://www.zhihu.com/question/305745486/answer/798114557
系統(tǒng)性我不太了解,但是我可以講講我的學(xué)習(xí)經(jīng)歷,我主要分為四個(gè)階段:
1.初學(xué)階段
啃吳恩達(dá)的機(jī)器學(xué)習(xí)的課程,然后看的是黃海廣博士等人翻譯的課程和筆記,這一階段主要了解相關(guān)的概念,一定要有一個(gè)整體的結(jié)構(gòu),每個(gè)名字大概是什么意思,有什么用。
然后就是代碼方面的事情,我沒有馬上跟上代碼,而是去學(xué)習(xí)了一下一些以后會(huì)用到的基礎(chǔ)的python庫(kù),比如pandas,numpy,matplotlib等
2.初探代碼階段
當(dāng)時(shí)因?yàn)橐恍┡既灰蛩匾錾疃葘W(xué)習(xí)方面的東西,然后去kaggle上下載了一段完整的訓(xùn)練代碼。這里有一些了解的初學(xué)者可能會(huì)問到底選什么深度學(xué)習(xí)平臺(tái)好,tensorflow?pytorch?keras?每個(gè)平臺(tái)之間并沒有絕對(duì)的優(yōu)勢(shì),主要還是看自己的具體情況。
我的方向是和醫(yī)學(xué)圖像相關(guān)的東西,所以選擇了keras,因?yàn)樗鲜挚欤梢钥焖贅?gòu)建出一個(gè)模型,但是靈活性要稍微差一些;pytorch是另一個(gè)熱門選擇,我的很多師兄師姐都是用的pytorch,他們很多事做的和人臉相關(guān)的方向;tensorflow不太建議初學(xué)者,相比之下前期學(xué)習(xí)花銷大且代碼量也比較多。
回到正題,上面說的那段完整的訓(xùn)練代碼,我進(jìn)行了一次精讀,理解他每個(gè)步驟都在干些什么,然后用到了哪些有關(guān)的庫(kù),然后對(duì)訓(xùn)練過程有了一個(gè)整體了解,還有就是熟悉這個(gè)框架的一些函數(shù)。
3.“照葫蘆畫瓢”階段(最艱難但進(jìn)步最快)
這個(gè)階段,就如小標(biāo)題所說的一樣,跟著別人的代碼一步一步來(lái),然后化為己用。
雖然對(duì)那段代碼進(jìn)行了精讀,但是直接拿來(lái)自己用還是比較牽強(qiáng),各個(gè)專業(yè)名詞越來(lái)越混,也不知道要如何下手。沒辦法,只能繼續(xù)鞏固基礎(chǔ),我就去把keras的官方文檔給琢磨了一遍,然后照著它給的最簡(jiǎn)單的分類網(wǎng)絡(luò)實(shí)現(xiàn)了一遍,之中有很多坎坷和挫折,但是堅(jiān)持下來(lái)就是勝利。然后就是將自己的數(shù)據(jù)集放入到模型中了,結(jié)果根本不好,但起碼能跑起來(lái)。
接下來(lái)就是調(diào)參的過程,不會(huì)或者疑惑的地方就百度谷歌還有問師兄師姐,自己感受一遍和只看書是完全不一樣的。
4.進(jìn)階階段
到了這個(gè)階段,已經(jīng)對(duì)網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練流程有了一定認(rèn)知了,接下里就是要訓(xùn)練出一個(gè)表現(xiàn)不錯(cuò)的模型了。又要回到專業(yè)名詞中去,去看別人是怎么優(yōu)化的,提出了什么網(wǎng)絡(luò)結(jié)構(gòu),有什么創(chuàng)新的思路,相關(guān)的paper當(dāng)然是要讀的,然后就是嘗試去優(yōu)化自己的模型。
接下來(lái)的階段我也還在摸索,但是最重要的事就是要不斷學(xué)習(xí),不斷去理解深度學(xué)習(xí),把它化作自己能用的東西。
03
作者:瘋貓子
https://www.zhihu.com/question/305745486/answer/557090589
分享一下我的學(xué)習(xí)路徑。
首先,基本的數(shù)學(xué)素養(yǎng)是必須具備的,這個(gè)自不必細(xì)說。
正是開始學(xué)習(xí)前,先了解神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)原理,在動(dòng)手寫一遍代碼,是自己動(dòng)手實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的算法。
有了這個(gè)基礎(chǔ),再開始學(xué)習(xí)深度神經(jīng)網(wǎng)絡(luò)的原理及用代碼擼一遍。
開始逐步加深難度,學(xué)習(xí)激活函數(shù)并加入神經(jīng)網(wǎng)絡(luò)。學(xué)習(xí)反向傳播,學(xué)習(xí)損失函數(shù),學(xué)習(xí)梯度下降。動(dòng)手?jǐn)]一遍代碼。
自此,基本原理搞明白之后,就可以開始熟悉主流框架,包括tensorflow keras等,能夠閱讀代碼之后,開始研究各種成熟網(wǎng)絡(luò)的結(jié)構(gòu)和調(diào)參。
主要包括基本的cnn,RNN,GAN。這個(gè)過程不是孤立的學(xué)習(xí),需要看論文,做一些小項(xiàng)目來(lái)實(shí)踐,所以過程較長(zhǎng)。
當(dāng)然,人生苦短,這個(gè)過程,你還需要弄塊好顯卡來(lái)給深度神經(jīng)網(wǎng)絡(luò)加速。
這個(gè)過程,我大概每天平均2-3小時(shí)的學(xué)習(xí),也差不多用了9個(gè)月,所以,祝好,祝學(xué)習(xí)快樂。
04
作者:yuquanle
https://www.zhihu.com/question/305745486/answer/558653688
個(gè)人感覺有了些基礎(chǔ)常識(shí)之后就開始在實(shí)踐中學(xué)習(xí)吧,系統(tǒng)的學(xué)里面涉及那么多知識(shí),學(xué)一遍怕的黃花菜都涼了~遇到不懂的概念利用百度谷歌,然后理解學(xué)習(xí)這個(gè)概念,若是概念難懂,就多看不同的人對(duì)這些概念的理解,有的時(shí)候有些人能深入淺出的講解一些很不錯(cuò)的資料,我覺得這種有目的性的實(shí)踐學(xué)習(xí)方式學(xué)來(lái)的東西更加印象深刻~
這樣即鍛煉了個(gè)人能力(獨(dú)立查找資料文獻(xiàn)也是能力),又能達(dá)成某些目的~這樣過了一段時(shí)間之后,你好像又懂很多東西了,但是好像又有很多方面不了解,其實(shí)這就是你在某個(gè)點(diǎn)有點(diǎn)深度了,但是廣度還不夠。如果此時(shí)有大把閑置的時(shí)間,就可以去刷刷那些不錯(cuò)的系統(tǒng)性課程,刷課的時(shí)候會(huì)發(fā)現(xiàn)很多概念理解起來(lái)輕松多了,或者說似曾相識(shí)(理解的知識(shí)點(diǎn)又得到了復(fù)習(xí)并再次確認(rèn)自己的理解了的知識(shí)點(diǎn)和這些老師講的是否一致)。
每天進(jìn)步一丟丟
使用邏輯回歸處理多標(biāo)簽的分類問題 使用哪一種方法來(lái)處理多分類問題取決于具體問題的定義。如果一個(gè)樣本只對(duì)應(yīng)于一個(gè)標(biāo)簽,我們可以假設(shè)每個(gè)樣本屬于不同標(biāo)簽的概率服從于幾何分布,使用多項(xiàng)邏輯回歸(Softmax Regression)來(lái)進(jìn)行分類。(多項(xiàng)邏輯回歸實(shí)際上是二分類邏輯回歸在多標(biāo)簽分類下的一種拓展。) 當(dāng)存在樣本可能屬于多個(gè)標(biāo)簽的情況時(shí),我們可以訓(xùn)練k個(gè)二分類的邏輯回歸分類器。第i個(gè)分類器用以區(qū)分每個(gè)樣本是否可以歸為第i類,訓(xùn)練該分類器時(shí),需要把標(biāo)簽重新整理為“第i類標(biāo)簽”與“非第i類標(biāo)簽”兩類。通過這樣的辦法,我們就解決了每個(gè)樣本可能擁有多個(gè)標(biāo)簽的情況,
-
Web
+關(guān)注
關(guān)注
2文章
1283瀏覽量
70869 -
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86257 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5555瀏覽量
122515
原文標(biāo)題:如何系統(tǒng)地學(xué)習(xí)深度學(xué)習(xí)(從初級(jí)到高級(jí),初學(xué)者必看)
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論