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