深度学习入门笔记(七):深层神经网络
歡迎關(guān)注WX公眾號(hào):【程序員管小亮】
專欄——深度學(xué)習(xí)入門筆記
聲明
1)該文章整理自網(wǎng)上的大牛和機(jī)器學(xué)習(xí)專家無私奉獻(xiàn)的資料,具體引用的資料請(qǐng)看參考文獻(xiàn)。
2)本文僅供學(xué)術(shù)交流,非商用。所以每一部分具體的參考資料并沒有詳細(xì)對(duì)應(yīng)。如果某部分不小心侵犯了大家的利益,還望海涵,并聯(lián)系博主刪除。
3)博主才疏學(xué)淺,文中如有不當(dāng)之處,請(qǐng)各位指出,共同進(jìn)步,謝謝。
4)此屬于第一版本,若有錯(cuò)誤,還需繼續(xù)修正與增刪。還望大家多多指點(diǎn)。大家都共享一點(diǎn)點(diǎn),一起為祖國科研的推進(jìn)添磚加瓦。
文章目錄
- 歡迎關(guān)注WX公眾號(hào):【程序員管小亮】
- 專欄——深度學(xué)習(xí)入門筆記
- 聲明
- 深度學(xué)習(xí)入門筆記(七):深層神經(jīng)網(wǎng)絡(luò)
- 1、深層神經(jīng)網(wǎng)絡(luò)
- 2、前向傳播和反向傳播
- 3、核對(duì)矩陣的維數(shù)
- 4、參數(shù)VS超參數(shù)
- 5、調(diào)參
- 推薦閱讀
- 參考文章
深度學(xué)習(xí)入門筆記(七):深層神經(jīng)網(wǎng)絡(luò)
1、深層神經(jīng)網(wǎng)絡(luò)
目前為止,學(xué)習(xí)了只有一個(gè)單獨(dú)隱藏層的神經(jīng)網(wǎng)絡(luò)(深度學(xué)習(xí)入門筆記(六):淺層神經(jīng)網(wǎng)絡(luò))的正向傳播和反向傳播,還有邏輯回歸(深度學(xué)習(xí)入門筆記(二):神經(jīng)網(wǎng)絡(luò)基礎(chǔ)),并且還學(xué)到了向量化(深度學(xué)習(xí)入門筆記(四):向量化),這在隨機(jī)初始化權(quán)重(深度學(xué)習(xí)入門筆記(六):淺層神經(jīng)網(wǎng)絡(luò))時(shí)是很重要。
這一次所要做的是把這些理念集合起來,就可以組建并執(zhí)行一個(gè)術(shù)語你自己的 深度神經(jīng)網(wǎng)絡(luò),有沒有一種樂高積木的感覺呢?
簡單復(fù)習(xí)下前面的內(nèi)容:
邏輯回歸,下圖左邊。一個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò),下圖右邊。
神經(jīng)網(wǎng)絡(luò)層數(shù)的定義方式:從左到右,由隱藏層開始,定義為第一層,比如上邊右圖,x1{x}_{1}x1?、x2{x}_{2}x2?、x3{x}_{3}x3?這一層右邊的隱藏層是第一層,所以淺層神經(jīng)網(wǎng)絡(luò)是兩層網(wǎng)絡(luò)。
由此類推,下圖左邊是兩個(gè)隱藏層的三層神經(jīng)網(wǎng)絡(luò),右邊是五個(gè)隱藏層的六層神經(jīng)網(wǎng)絡(luò)。(這個(gè)層數(shù)叫法是存在不同的結(jié)論的,最簡單且不出錯(cuò)的方法是說隱藏層的層數(shù),比如左邊的是兩個(gè)隱藏層,右邊的是五個(gè)隱藏層)
所以,嚴(yán)格意義上來說,邏輯回歸也是一個(gè)一層的神經(jīng)網(wǎng)絡(luò),而上邊右圖一個(gè)深得多的模型,是一個(gè)六層的神經(jīng)網(wǎng)絡(luò)。我們所說的淺層神經(jīng)網(wǎng)絡(luò)和深層神經(jīng)網(wǎng)絡(luò)中的淺與深,僅僅是指一種程度,也就是相對(duì)而言的。
小結(jié)一下: 嚴(yán)格的說,有一個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò),就是一個(gè)兩層神經(jīng)網(wǎng)絡(luò)。記住算神經(jīng)網(wǎng)絡(luò)的層數(shù)時(shí),不算輸入層,只算隱藏層和輸出層。
2、前向傳播和反向傳播
深度神經(jīng)網(wǎng)絡(luò)的每一層都有 前向傳播 步驟以及一個(gè)相反的 反向傳播 步驟,那么這兩個(gè)步驟是如何實(shí)現(xiàn)的呢?
先說前向傳播,lll 表示層數(shù),網(wǎng)絡(luò)的輸入 a[l?1]{a}^{[l-1]}a[l?1],網(wǎng)絡(luò)的輸出是 a[l]{a}^{[l]}a[l],網(wǎng)絡(luò)的緩存為 z[l]{z}^{[l]}z[l];從實(shí)現(xiàn)的角度來說可以緩存下 w[l]{w}^{[l]}w[l] 和 b[l]{b}^{[l]}b[l],這樣更容易在不同的環(huán)節(jié)中調(diào)用函數(shù)。
所以前向傳播的步驟可以寫成:
(1)z[l]=W[l]?a[l?1]+b[l]{z}^{[l]}={W}^{[l]}\cdot{a}^{[l-1]}+{b}^{[l]}z[l]=W[l]?a[l?1]+b[l]
(2)a[l]=g[l](z[l]){{a}^{[l]}}={{g}^{[l]}}\left( {{z}^{[l]}}\right)a[l]=g[l](z[l])
向量化(深度學(xué)習(xí)入門筆記(四):向量化)整個(gè)過程之后,可以寫成:
(1)z[l]=W[l]?A[l?1]+b[l]{z}^{[l]}={W}^{[l]}\cdot {A}^{[l-1]}+{b}^{[l]}z[l]=W[l]?A[l?1]+b[l]
(2)A[l]=g[l](Z[l]){A}^{[l]}={g}^{[l]}({Z}^{[l]})A[l]=g[l](Z[l])
前向傳播需要喂入 A[0]{A}^{[0]}A[0] 也就是 XXX,即輸入特征,來進(jìn)行初始化,初始化的是第一層的輸入值。a[0]{a}^{[0]}a[0] 對(duì)應(yīng)于一個(gè)訓(xùn)練樣本中的輸入特征,而 A[0]{{A}^{[0]}}A[0] 對(duì)應(yīng)于一整個(gè)訓(xùn)練樣本中的輸入特征,所以這就是這條鏈的第一個(gè)前向函數(shù)的輸入,重復(fù)這個(gè)步驟就可以從左到右計(jì)算前向傳播。
再講反向傳播,具體的原理和推導(dǎo)可以看這個(gè)博客——深度學(xué)習(xí)100問之深入理解Back Propagation(反向傳播),輸入為 da[l]{{da}^{[l]}}da[l],輸出為 da[l?1]{{da}^{[l-1]}}da[l?1],dw[l]{{dw}^{[l]}}dw[l], db[l]{{db}^{[l]}}db[l]。
所以反向傳播的步驟可以寫成:
(1)dz[l]=da[l]?g[l]′(z[l])d{{z}^{[l]}}=d{{a}^{[l]}}*{{g}^{[l]}}'( {{z}^{[l]}})dz[l]=da[l]?g[l]′(z[l])
(2)dw[l]=dz[l]?a[l?1]d{{w}^{[l]}}=d{{z}^{[l]}}\cdot{{a}^{[l-1]}}~dw[l]=dz[l]?a[l?1]?
(3)db[l]=dz[l]d{{b}^{[l]}}=d{{z}^{[l]}}~~db[l]=dz[l]??
(4)da[l?1]=w[l]T?dz[l]d{{a}^{[l-1]}}={{w}^{\left[ l \right]T}}\cdot {{dz}^{[l]}}da[l?1]=w[l]T?dz[l]
(5)dz[l]=w[l+1]Tdz[l+1]?g[l]′(z[l])d{{z}^{[l]}}={{w}^{[l+1]T}}d{{z}^{[l+1]}}\cdot \text{ }{{g}^{[l]}}'( {{z}^{[l]}})~dz[l]=w[l+1]Tdz[l+1]??g[l]′(z[l])?
式子(5)由式子(4)帶入式子(1)得到,前四個(gè)式子就可實(shí)現(xiàn)反向傳播。
向量化實(shí)現(xiàn)過程可以寫成:
(6)dZ[l]=dA[l]?g[l]′(Z[l])d{{Z}^{[l]}}=d{{A}^{[l]}}*{{g}^{\left[ l \right]}}'\left({{Z}^{[l]}} \right)~~dZ[l]=dA[l]?g[l]′(Z[l])??
(7)dW[l]=1mdZ[l]?A[l?1]Td{{W}^{[l]}}=\frac{1}{m}\text{}d{{Z}^{[l]}}\cdot {{A}^{\left[ l-1 \right]T}}dW[l]=m1?dZ[l]?A[l?1]T
(8)db[l]=1mnp.sum(dz[l],axis=1,keepdims=True)d{{b}^{[l]}}=\frac{1}{m}\text{ }np.sum(d{{z}^{[l]}},axis=1,keepdims=True)db[l]=m1??np.sum(dz[l],axis=1,keepdims=True)
(9)dA[l?1]=W[l]T?dZ[l]d{{A}^{[l-1]}}={{W}^{\left[ l \right]T}}\cdot d{{Z}^{[l]}}dA[l?1]=W[l]T?dZ[l]
小結(jié)一下:
吳恩達(dá)老師手稿如下,舉一個(gè)簡單的三層(兩層隱藏層)神經(jīng)網(wǎng)絡(luò)。
- 前向傳播:第一層可能有一個(gè) ReLU 激活函數(shù),第二層為另一個(gè) ReLU 激活函數(shù),第三層(輸出層)可能是 sigmoid 函數(shù)(如果做二分類的話),輸出值為 y^\hat yy^?,用來和 yyy 計(jì)算損失 LLL;
- 反向傳播:向后迭代,進(jìn)行反向傳播求導(dǎo)來求 dw[3]{{dw}^{[3]}}dw[3],db[3]{{db}^{[3]}}db[3] ,dw[2]{{dw}^{[2]}}dw[2] ,db[2]{{db}^{[2]}}db[2] ,dw[1]{{dw}^{[1]}}dw[1] ,db[1]{{db}^{[1]}}db[1]。在計(jì)算的時(shí)候,緩存會(huì)把 z[1]{{z}^{[1]}}z[1] z[2]{{z}^{[2]}}z[2]z[3]{{z}^{[3]}}z[3] 傳遞過來,然后回傳 da[2]{{da}^{[2]}}da[2],da[1]{{da}^{[1]}}da[1] ,da[0]{{da}^{[0]}}da[0];
- 前向遞歸:用輸入數(shù)據(jù) xxx 來初始化,那么反向遞歸(使用 Logistic 回歸做二分類),對(duì) A[l]{{A}^{[l]}}A[l] 求導(dǎo)。
3、核對(duì)矩陣的維數(shù)
當(dāng)實(shí)現(xiàn)深度神經(jīng)網(wǎng)絡(luò)的時(shí)候,其中一個(gè)最常用的也是最好用的檢查代碼是否有錯(cuò)的方法,就是拿出一張紙過一遍算法中矩陣的維數(shù)。或者有一個(gè)笨方法就是,一直運(yùn)行,一直 debugdebugdebug,不過這樣太低效了。
向量化前,變量的維度如下:
-
www 的維度是(下一層的維數(shù),前一層的維數(shù)),即 w[l]{{w}^{[l]}}w[l]:(n[l]{{n}^{[l]}}n[l],n[l?1]{{n}^{[l-1]}}n[l?1]);
-
bbb 的維度是(下一層的維數(shù),1),即 b[l]{{b}^{[l]}}b[l]:(n[l],1){{n}^{[l]}},1)n[l],1);
-
zzz 和 aaa 的維度是(下一層的維數(shù),1),即 z[l]{{z}^{[l]}}z[l],a[l]{{a}^{[l]}}a[l]: (n[l],1)({{n}^{[l]}},1)(n[l],1);
-
dw[l]{{dw}^{[l]}}dw[l] 和 w[l]{{w}^{[l]}}w[l] 維度相同;
-
db[l]{{db}^{[l]}}db[l] 和 b[l]{{b}^{[l]}}b[l] 維度相同;
www 和 bbb 向量化維度不變,但 zzz,aaa 以及 xxx 的維度會(huì)向量化后發(fā)生變化。
向量化后:
-
Z[l]{Z}^{[l]}Z[l] 可以看成由每一個(gè)單獨(dú)的 z[l]{z}^{[l]}z[l] 疊加而得到,Z[l]=(z[l][1],z[l][2],z[l][3],…,z[l][m]){Z}^{[l]}=({{z}^{[l][1]}},{{z}^{[l][2]}},{{z}^{[l][3]}},…,{{z}^{[l][m]}})Z[l]=(z[l][1],z[l][2],z[l][3],…,z[l][m]),mmm 為訓(xùn)練集大小,所以 Z[l]{Z}^{[l]}Z[l] 的維度不再是 (n[l],1)({{n}^{[l]}},1)(n[l],1),而是 (n[l],m)({{n}^{[l]}},m)(n[l],m)。
-
A[l]{A}^{[l]}A[l] 和 Z[l]{Z}^{[l]}Z[l] 一樣,維度變成 (n[l],m)({n}^{[l]},m)(n[l],m),其中 A[0]=X=(n[l],m){A}^{[0]} = X =({n}^{[l]},m)A[0]=X=(n[l],m)
到這里,一個(gè)深層神經(jīng)網(wǎng)絡(luò)就設(shè)計(jì)完成了,理論知識(shí)也大概講述完畢了。
4、參數(shù)VS超參數(shù)
想要你的深度神經(jīng)網(wǎng)絡(luò)起很好的效果,維度的準(zhǔn)確性是最基本的東西,代碼不出錯(cuò)也是必須的一步,除了這些以外,還需要規(guī)劃好參數(shù)以及超參數(shù)。
- 什么是超參數(shù)?
定義:在機(jī)器學(xué)習(xí)的上下文中,超參數(shù)是在開始學(xué)習(xí)過程之前設(shè)置值的參數(shù),而不是通過訓(xùn)練得到的參數(shù)數(shù)據(jù)。通常情況下,需要對(duì)超參數(shù)進(jìn)行優(yōu)化,給學(xué)習(xí)機(jī)選擇一組最優(yōu)超參數(shù),以提高學(xué)習(xí)的性能和效果。
- 超參數(shù)和參數(shù)的區(qū)別是什么?
參數(shù)是從數(shù)據(jù)中自動(dòng)估計(jì)的,而超參數(shù)是手動(dòng)設(shè)置的。
- 超參數(shù)是如何影響神經(jīng)網(wǎng)絡(luò)的?
超參數(shù),實(shí)際上控制了最后的參數(shù) WWW 和 bbb 的值,影響了模型。
- 超參數(shù)有哪些呢?
比如算法中的 learning rate(學(xué)習(xí)率)、iterations(梯度下降法循環(huán)的數(shù)量)、LLL(隱藏層數(shù)目)、n[l]{{n}^{[l]}}n[l](隱藏層單元數(shù)目)、choice of activation function(激活函數(shù)的選擇)等等,這些都需要你來設(shè)置。
輸了一些比較熟悉的超參數(shù),你可能有點(diǎn)感覺了,但是實(shí)際上深度學(xué)習(xí)有很多不同的超參數(shù),之后也會(huì)介紹一些其他的超參數(shù),如 momentum(動(dòng)量)、mini batch size(批大小)、regularization parameters(正則化參數(shù))等等。
- 如何尋找超參數(shù)的最優(yōu)值?
其實(shí)這個(gè)過程和人類的思維過程類似,為什么這么說呢?人類在大腦風(fēng)暴的過程中,是先有 Idea,然后 Realize,最后 Experiment。不過深度學(xué)習(xí)中,是 Idea—Code—Experiment—Idea 這個(gè)大循環(huán),Realize 是用 Code 替換的,再嘗試各種不同的參數(shù),實(shí)現(xiàn)模型并觀察是否成功,然后再迭代。
深度學(xué)習(xí)的應(yīng)用領(lǐng)域,是個(gè)很經(jīng)驗(yàn)性的過程:通常有個(gè)想法(Idea),比如你可能大致知道一個(gè)別人用的最好的學(xué)習(xí)率值,可能說 a=0.0001(10?4)a=0.0001(10^{-4})a=0.0001(10?4) 效果最好,我在做圖像處理實(shí)驗(yàn)的時(shí)候,真的發(fā)現(xiàn)這個(gè)學(xué)習(xí)率很不錯(cuò),建議你也可以嘗試一下。
那么我會(huì)想說,先試試看,然后可以實(shí)際更改一下,再訓(xùn)練一下,最后看看效果如何。
基于這個(gè)嘗試的結(jié)果,你會(huì)發(fā)現(xiàn),學(xué)習(xí)率設(shè)定再提高到 0.0005(5?10?4)0.0005(5*10^{-4})0.0005(5?10?4) 可能會(huì)比較好。
但是你又不確定什么值是最好的,這個(gè)時(shí)候大可以先試試你猜想的新學(xué)習(xí)率 aaa 到底怎么樣,更改參數(shù)重新實(shí)驗(yàn),再看看損失函數(shù) JJJ 的值有沒有下降?
如果沒有的話,你可以試一試再大一些的值,如果這個(gè)時(shí)候,你發(fā)現(xiàn)損失函數(shù)的值不但沒減少,反而增加并且發(fā)散了。恭喜你,你失敗了2333。
然后可能需要試試其他的一些數(shù),再改再看實(shí)驗(yàn)結(jié)果,看損失函數(shù)是否下降的很快或者收斂到在更高的位置?
你可能嘗試不同的 aaa 并觀察損失函數(shù) JJJ 這么變了,試試一組值,然后可能損失函數(shù)變成這樣,這個(gè) aaa 值會(huì)加快學(xué)習(xí)過程,并且收斂在更低的損失函數(shù)值上,然后敲定,我就用這個(gè) aaa 值了。
再或者還可能你發(fā)現(xiàn),固定學(xué)習(xí)率并不能滿足你的要求,這個(gè)時(shí)候你需要學(xué)習(xí)率是變化的,比如學(xué)習(xí)率衰減——深度學(xué)習(xí)100問之學(xué)習(xí)率衰減。
可能有的小伙伴就會(huì)說了,這也太麻煩了吧,這不是一直試試試的???這也是工作量的一部分,所以深度學(xué)習(xí)也被人吐槽說是一個(gè)經(jīng)驗(yàn)主義學(xué)科。。。應(yīng)用深度學(xué)習(xí)領(lǐng)域,一個(gè)很大程度基于經(jīng)驗(yàn)的過程,憑經(jīng)驗(yàn)的過程通俗來說,就是試直到你找到合適的數(shù)值。
只能說調(diào)參是門玄學(xué),好與壞不是你我說了算的。
之前在知乎上看到過一個(gè)文章說可以使用算法調(diào)參,但是我還沒接觸過。。。論文:Hyperparameter Optimization: A Spectral Approach,有興趣的小伙伴可以看一看,這可是頂端科學(xué)技術(shù)了。
5、調(diào)參
一個(gè)近來深度學(xué)習(xí)的影響是,它可以用于解決很多問題,從 計(jì)算機(jī)視覺 到 語音識(shí)別,到 自然語言處理,到很多 結(jié)構(gòu)化的數(shù)據(jù)應(yīng)用,比如 網(wǎng)絡(luò)廣告 或是 網(wǎng)頁搜索 或 產(chǎn)品推薦 等等。
很多領(lǐng)域的研究人員,對(duì)這些領(lǐng)域中的一個(gè)問題進(jìn)行研究,嘗試了不同的參數(shù)設(shè)置,有時(shí)候這種設(shè)置超參數(shù)的直覺是可以推廣的,但有時(shí)又不會(huì)。所以剛開始應(yīng)用新問題的人們,去試一定范圍的值看看結(jié)果如何(比如我們實(shí)驗(yàn)室的方向,就是近兩年才開始結(jié)合深度學(xué)習(xí)作為方法論,進(jìn)行問題的研究與解決)。
然后是其他情況,比如你已經(jīng)用了很久的模型進(jìn)行問題的解決,可能你在做網(wǎng)絡(luò)廣告應(yīng)用,也可能是其他的,在開發(fā)的過程中,很有可能學(xué)習(xí)率的最優(yōu)數(shù)值或是其他超參數(shù)的最優(yōu)值是會(huì)變的!!!所以即使每天都在用當(dāng)前最優(yōu)的參數(shù)調(diào)試系統(tǒng),你還是會(huì)發(fā)現(xiàn),最優(yōu)值過一年就會(huì)變化,這可能是很多原因?qū)е碌?#xff0c;其中一種可能就是因?yàn)殡娔X的基礎(chǔ)設(shè)施,CPU 或是 GPU 可能會(huì)變化很大,比如你是一個(gè) GPU,那么 GPU 的型號(hào)?(以N卡的天梯為例)
(圖源:http://www.mydrivers.com/zhuanti/tianti/gpu/)
所以之前的經(jīng)驗(yàn)規(guī)律可能每幾個(gè)月就會(huì)變,如果你的工作臺(tái)一直不變,那么數(shù)據(jù)也可能會(huì)有變化,再或者你的網(wǎng)絡(luò)結(jié)構(gòu)也會(huì)有微調(diào),等等。所以要經(jīng)常試試不同的超參數(shù),勤于檢驗(yàn)結(jié)果,看看有沒有更好的超參數(shù)數(shù)值,相信慢慢的,你會(huì)得到設(shè)定超參數(shù)的直覺,知道你的問題最好用什么數(shù)值。😃
這可能的確是深度學(xué)習(xí)比較讓人不滿的一部分,也就是你必須嘗試很多次不同可能性。但參數(shù)設(shè)定這個(gè)領(lǐng)域,深度學(xué)習(xí)研究還在進(jìn)步中,所以可能過段時(shí)間就會(huì)有更好的方法決定超參數(shù)的值,也很有可能由于 CPU、GPU、網(wǎng)絡(luò)和數(shù)據(jù)都在變化,這樣的指南可能只會(huì)在一段時(shí)間內(nèi)起作用,只有不斷嘗試,并且嘗試保留交叉檢驗(yàn)或類似的檢驗(yàn)方法,然后挑一個(gè)對(duì)你的問題效果比較好的數(shù)值,這種方法才是現(xiàn)在最好的解決辦法。
近年來,受深度學(xué)習(xí)影響或者可以稱之為 沖擊,很多領(lǐng)域發(fā)生了變化,從計(jì)算機(jī)視覺到語音識(shí)別到自然語言處理到很多結(jié)構(gòu)化的數(shù)據(jù)應(yīng)用,比如網(wǎng)絡(luò)廣告、網(wǎng)頁搜索、產(chǎn)品推薦等等;有些同一領(lǐng)域設(shè)置超參數(shù)的直覺可以推廣,但有時(shí)又不可以,特別是那些剛開始研究新問題的人們應(yīng)該去嘗試一定范圍內(nèi)的結(jié)果如何,甚至那些用了很久的模型得學(xué)習(xí)率或是其他超參數(shù)的最優(yōu)值也有可能會(huì)改變。我們能做的只有以不變應(yīng)萬變!!!這也是這個(gè)領(lǐng)域的項(xiàng)目經(jīng)驗(yàn)或者經(jīng)歷更為重要的原因之一。
最后,記住一條經(jīng)驗(yàn)規(guī)律:經(jīng)常試試不同的超參數(shù),勤于檢查結(jié)果,看看有沒有更好的超參數(shù)取值,你將會(huì)得到設(shè)定超參數(shù)的直覺。
推薦閱讀
- 深度學(xué)習(xí)入門筆記(一):深度學(xué)習(xí)引言
- 深度學(xué)習(xí)入門筆記(二):神經(jīng)網(wǎng)絡(luò)基礎(chǔ)
- 深度學(xué)習(xí)入門筆記(三):求導(dǎo)和計(jì)算圖
- 深度學(xué)習(xí)入門筆記(四):向量化
- 深度學(xué)習(xí)入門筆記(五):神經(jīng)網(wǎng)絡(luò)的編程基礎(chǔ)
- 深度學(xué)習(xí)入門筆記(六):淺層神經(jīng)網(wǎng)絡(luò)
- 深度學(xué)習(xí)入門筆記(七):深層神經(jīng)網(wǎng)絡(luò)
- 深度學(xué)習(xí)入門筆記(八):深層網(wǎng)絡(luò)的原理
- 深度學(xué)習(xí)入門筆記(九):深度學(xué)習(xí)實(shí)踐
- 深度學(xué)習(xí)入門筆記(十):正則化
- 深度學(xué)習(xí)入門筆記(十一):權(quán)重初始化
- 深度學(xué)習(xí)入門筆記(十二):深度學(xué)習(xí)數(shù)據(jù)讀取
- 深度學(xué)習(xí)入門筆記(十三):批歸一化(Batch Normalization)
- 深度學(xué)習(xí)入門筆記(十四):Softmax
- 深度學(xué)習(xí)入門筆記(十五):深度學(xué)習(xí)框架(TensorFlow和Pytorch之爭)
- 深度學(xué)習(xí)入門筆記(十六):計(jì)算機(jī)視覺之邊緣檢測
- 深度學(xué)習(xí)入門筆記(十七):深度學(xué)習(xí)的極限在哪?
- 深度學(xué)習(xí)入門筆記(十八):卷積神經(jīng)網(wǎng)絡(luò)(一)
- 深度學(xué)習(xí)入門筆記(十九):卷積神經(jīng)網(wǎng)絡(luò)(二)
- 深度學(xué)習(xí)入門筆記(二十):經(jīng)典神經(jīng)網(wǎng)絡(luò)(LeNet-5、AlexNet和VGGNet)
參考文章
- 吳恩達(dá)——《神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)》視頻課程
總結(jié)
以上是生活随笔為你收集整理的深度学习入门笔记(七):深层神经网络的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 标签体系应用及设计思路
- 下一篇: 深度学习入门笔记(十二):深度学习数据读