[Deep Learning] 神經(jīng)網(wǎng)絡(luò)基礎(chǔ) Foundations

本文是深度學(xué)習(xí)總結(jié)系列的第一篇站绪,主要內(nèi)容是神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)知識,最初版本翻譯自:Feedforward Nets and Conv Nets (lecturer: Dario Garcia)
本系列更多文章傳送門:第二篇 [Deep Learning] 卷積神經(jīng)網(wǎng)絡(luò) CNNs;第三篇 [Deep Learning] 集成學(xué)習(xí)Ensemble Learning&遷移學(xué)習(xí)Transfer Learning ;第四篇 [ [Deep Learning] 遞歸神經(jīng)網(wǎng)絡(luò)RNN ](http://www.reibang.com/p/5c22b41e9f07)论咏。

本文對人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks)的基礎(chǔ)內(nèi)容進(jìn)行介紹,主要內(nèi)容包括:

  1. 神經(jīng)網(wǎng)絡(luò)發(fā)展史
    1.1 感知器
    1.2 反向傳播和梯度下降
  2. 激活函數(shù)
  3. 常用參數(shù)
  4. 優(yōu)化方法
  5. 正則化方法

1. 神經(jīng)網(wǎng)絡(luò)發(fā)展史 A Bit of History

人工神經(jīng)網(wǎng)絡(luò)領(lǐng)域的第一篇論文誕生于1943年颁井,由Warren McCulloch和Walter Pitts發(fā)表[1]。在這篇論文中兩人試圖解釋大腦是如何使用神經(jīng)元這一簡單的處理單元來計(jì)算高度復(fù)雜的行為蠢护,并設(shè)計(jì)了多輸入權(quán)重的單個(gè)神經(jīng)元模型來模擬人類神經(jīng)元雅宾。

1.1 感知器 Rosenblatt’s Perceptron

1958年,F(xiàn)rank Rosenblatt基于McCulloch和Walter Pitts的神經(jīng)元理論提出感知器算法[2]葵硕,感知器是一個(gè)將實(shí)值輸入映射為0/1輸出的二元分類器眉抬。

  • f(x)= \begin{cases}1 \; if \; w \cdot x+b>0 \\ 0 otherwise \end{cases}
    (其中贯吓,w是權(quán)重向量,b是偏移常量)

Rosenblatt在 “Mark I Perceptron”[3]中首次實(shí)踐采用了感知器算法蜀变∏男常“Mark I Perceptron”是一個(gè)由400個(gè)光敏感受器組成的視覺分類器,與512個(gè)步進(jìn)電機(jī)相關(guān)聯(lián)库北,輸出8個(gè)神經(jīng)元[3]爬舰。它僅僅包含一層可訓(xùn)練的參數(shù),關(guān)于這一感知器的更多細(xì)節(jié)可參考[4][5]寒瓦。

Mark I Perceptron

Rosenblatt在一系列出版物中承認(rèn)他的感知器存在局限性情屹,與此同時(shí),Minsky和Papert出版了“Perceptrons: an introduction to computational geometry”一書杂腰,詳細(xì)介紹了感知器的局限性[6]垃你。 Minsky和Papert的工作對公眾產(chǎn)生了巨大影響,盡管很少有人真正理解他們研究的本質(zhì)喂很。 簡言之惜颇,Minsky和Papert認(rèn)為對于某些基本問題,例如異或問題少辣,單層網(wǎng)絡(luò)不能滿足需求凌摄,然而當(dāng)時(shí)并沒有適合多層網(wǎng)絡(luò)進(jìn)行訓(xùn)練的算法,因此70年代人工神經(jīng)網(wǎng)絡(luò)的資金開始大幅減少直至80年代中期毒坛,在人工神經(jīng)網(wǎng)絡(luò)幾乎被放棄之后望伦,人工智能研究的重點(diǎn)開始轉(zhuǎn)向“專家系統(tǒng)”,雖然這些系統(tǒng)在90年代也將遭遇自己的“人工智能寒冬”煎殷。

單層神經(jīng)網(wǎng)絡(luò)只能解決線性問題
1.2 反向傳播和隨機(jī)梯度下降 Backpropagation and Stochastic Gradient Descent

1974年屯伞,Werbos提出了針對多層神經(jīng)網(wǎng)絡(luò)訓(xùn)練的反向傳播算法[7]。1985年豪直,Rumelhart劣摇,Geoffrey E. Hinton和Williams重新發(fā)現(xiàn)該算法[8]并使其獲得廣泛關(guān)注,重新引發(fā)了人們對于人工神經(jīng)網(wǎng)絡(luò)的研究興趣弓乙,“AI寒冬”時(shí)期結(jié)束末融。

要訓(xùn)練多層神經(jīng)網(wǎng)絡(luò),首先從輸入開始正向傳遞直至到達(dá)網(wǎng)絡(luò)的最后一層暇韧,然后將神經(jīng)網(wǎng)絡(luò)預(yù)測的輸出標(biāo)簽與標(biāo)定正確的真實(shí)數(shù)據(jù)標(biāo)簽(the ground truth label)進(jìn)行比較勾习,并使用損失函數(shù)計(jì)算誤差,通過找到損失函數(shù)最小化的最佳梯度(盡管是偏導(dǎo)數(shù))更新網(wǎng)絡(luò)最末端一層的權(quán)重懈玻。然后巧婶,應(yīng)用鏈?zhǔn)揭?guī)則反向傳播,通過將前一層本地計(jì)算的梯度與向前傳遞的梯度相乘,得出那些不直接與輸出層相連的隱層的輸入值使得損失函數(shù)最小化的梯度艺栈,如下面的計(jì)算圖所示英岭。當(dāng)需要手動(dòng)推導(dǎo)計(jì)算反向傳播算法時(shí),簡單實(shí)用的方法是繪制計(jì)算圖(computing graph)再代入數(shù)值湿右。


反向傳播使用的鏈?zhǔn)揭?guī)則

權(quán)重根據(jù)梯度方向進(jìn)行優(yōu)化诅妹,具體調(diào)整的變化值使用梯度下降計(jì)算。
目前常用的隨機(jī)梯度下降(SGD)的“隨機(jī)”性主要體現(xiàn)在:SGD使用整個(gè)數(shù)據(jù)集的子集(mini-batch SGD)而不是完整的數(shù)據(jù)集迭代估計(jì)優(yōu)化的最佳方向毅人,因?yàn)檎麄€(gè)數(shù)據(jù)集可能非常大吭狡,因而是隨機(jī)的梯度下降并不能保證每一步都是最優(yōu)方向。除SGD算法外堰塌,現(xiàn)在已有更多改進(jìn)方案可用于計(jì)算權(quán)重的變化值進(jìn)行權(quán)重優(yōu)化赵刑,我們將在“優(yōu)化方法”一節(jié)中進(jìn)一步介紹。

對感知器和反向傳播算法等神經(jīng)網(wǎng)絡(luò)的系統(tǒng)學(xué)習(xí)有興趣可進(jìn)一步閱讀其他相關(guān)文章資源[9]场刑,包括反向傳播算法的詳細(xì)數(shù)學(xué)解釋[10]般此、以一組數(shù)據(jù)為例計(jì)算反向傳播算法各步驟執(zhí)行結(jié)果[11]以及了解反向傳播算法背后實(shí)現(xiàn)原理對解決梯度消失、死亡ReLU單元和RNN梯度爆炸等問題的幫助[12]牵现,關(guān)于算法的一步步導(dǎo)數(shù)的數(shù)學(xué)推導(dǎo)解釋可參考[13]铐懊,也可學(xué)習(xí)Stanford CS231n:Convolutional Neural Networks for Visual Recognition課程的相關(guān)內(nèi)容。

伴隨著新的訓(xùn)練方法的出現(xiàn)瞎疼,ANN的研究重新活躍起來科乎。1989年,Yann LeCun贼急,現(xiàn)任Facebook人工智能研究院院長茅茂,使用美國郵政局提供的數(shù)據(jù)開發(fā)了一個(gè)數(shù)字識別系統(tǒng)[14],首次展示了如何使用人工神經(jīng)網(wǎng)絡(luò)解決復(fù)雜的實(shí)際問題太抓。LeCun的系統(tǒng)包含一層卷積神經(jīng)元空闲,基于1980年Fukushima提出的用于視覺模式識別的層次神經(jīng)網(wǎng)絡(luò)[15],這是目前卷積神經(jīng)網(wǎng)絡(luò)的雛形走敌。

2. 激活函數(shù) Activation Functions

人工神經(jīng)網(wǎng)絡(luò)的每個(gè)神經(jīng)元使用激活函數(shù)來確定多個(gè)權(quán)重輸入對應(yīng)的輸出結(jié)果碴倾。Rosenblatt的感知器使用最簡單的二元函數(shù),如果w \cdot x+b>0則激活掉丽,輸出1跌榔,否則不激活。如今我們可以選擇其他更復(fù)雜的非線性激活函數(shù)捶障,非線性激活函數(shù)使得神經(jīng)網(wǎng)絡(luò)能夠?qū)Ψ蔷€性模式進(jìn)行學(xué)習(xí)僧须。常用的激活函數(shù)包括[16]

  • Sigmoid函數(shù): f(x)=\frac{1}{1+e^{-x}}
Sigmoid函數(shù)
  • Tanh函數(shù): f(x)=\frac{2}{1+e^{-2x}}-1
Tanh函數(shù)
  • 修正線性單元/整流線性單元(The Rectified Linear Unit): f(x)=max(0,x)

ReLU

目前,ReLU是大多數(shù)情況下默認(rèn)使用的激活函數(shù)项炼,它使用固定的斜率避免了梯度消失問題[17]皆辽,梯度消失的主要問題是當(dāng)使用Sigmoid和Tanh這類將大范圍的輸入擠到[0,1]或[-1,1]小范圍輸出區(qū)間的激活函數(shù)時(shí)柑蛇,隨著神經(jīng)網(wǎng)絡(luò)誤差的反向傳播,前層的權(quán)重變化對輸出結(jié)果的影響越來越小直至梯度為零終止學(xué)習(xí)驱闷。

劃分指數(shù)級空間 具有足夠的表達(dá)能力

然而,ReLU單位在訓(xùn)練期間可能“死亡”空免。例如空另,流過ReLU神經(jīng)元的大梯度可能導(dǎo)致權(quán)重的更新使得神經(jīng)元無法在任何數(shù)據(jù)上激活。如果發(fā)生這種情況蹋砚,那么流經(jīng)該單元的梯度將從該點(diǎn)開始永遠(yuǎn)為零扼菠。也就是說,ReLU單元在訓(xùn)練期間不可逆轉(zhuǎn)地死亡坝咐,可以從數(shù)據(jù)流中被淘汰循榆。例如,如果學(xué)習(xí)率設(shè)置得太高墨坚,可能會發(fā)現(xiàn)多達(dá)網(wǎng)絡(luò)中40%的神經(jīng)元可能“死亡”秧饮。通過適當(dāng)設(shè)置學(xué)習(xí)率可以解決該問題。關(guān)于激活函數(shù)可進(jìn)一步學(xué)習(xí)Stanford CS231n課程的相關(guān)內(nèi)容[18]泽篮。神經(jīng)網(wǎng)絡(luò)的優(yōu)化的研究思路可從激活函數(shù)優(yōu)化入手盗尸,例如針對手機(jī)應(yīng)用ReLU激活函數(shù)時(shí)對非飽和區(qū)進(jìn)行優(yōu)化以大幅提升神經(jīng)網(wǎng)絡(luò)性能。

  • Leaky ReLU: f(x)=max(0.1x, x)
    Leaky ReLU試圖解決dying ReLU問題帽撑,當(dāng)x <0時(shí)泼各,函數(shù)不是零,而將具有小的負(fù)斜率(大約為0.01)亏拉。
Leaky ReLU
  • Maxout: f(x)=max(w_1^Tx+b_1, w_2^Tx + b_2)
    ReLU和Leaky ReLU都是這一函數(shù)的特例扣蜻,例如ReLU對應(yīng)w1,b1=0。
3. 訓(xùn)練參數(shù) Training Parameters

3.1 訓(xùn)練次數(shù)(Epochs)和批次大小(Batch Size)

  • Epoch對應(yīng)訓(xùn)練集的所有圖像都訓(xùn)練被一次的階段及塘,通常莽使,ANN訓(xùn)練需要許多次,因?yàn)槊總€(gè)輸入實(shí)例將網(wǎng)絡(luò)參數(shù)指引向不同方向磷蛹,并且網(wǎng)絡(luò)能夠在受到其他實(shí)例訓(xùn)練影響后對之前訓(xùn)練過的實(shí)例再次訓(xùn)練吮旅,從同一示例中不止一次地學(xué)習(xí)。通常味咳,當(dāng)epoch次數(shù)過多庇勃,網(wǎng)絡(luò)最終將過擬合。過擬合可以通過訓(xùn)練集上的損失降低同時(shí)測試集上損失開始上升來識別槽驶。

  • 批次大小定義了在單次網(wǎng)絡(luò)前向和反向傳播過程中的輸入實(shí)例的數(shù)量责嚷,是網(wǎng)絡(luò)能夠“一起看到”的輸入數(shù)量。批次大小的范圍從1到完整數(shù)據(jù)集大小掂铐。較大的批次大小能夠更快地訓(xùn)練罕拂,但可能會降低精確度[19]揍异。批次大小太小可以通過損失函數(shù)的噪聲[20]來識別,即某一批次的損失與下一批次是否顯著不同爆班。當(dāng)批次大小越小時(shí)擺動(dòng)越明顯衷掷,當(dāng)批次大小等于數(shù)據(jù)集大小時(shí)噪聲損失函數(shù)方差最小(除非學(xué)習(xí)率太高柿菩,在這種情況下網(wǎng)絡(luò)無法收斂)戚嗅。最常用的批次大小為16和32。

在CIFAR-10數(shù)據(jù)集上訓(xùn)練小型網(wǎng)絡(luò)時(shí)枢舶,典型損失函數(shù)隨時(shí)間變化的示例

3.2 學(xué)習(xí)率

  • 學(xué)習(xí)率定義了每一步權(quán)重優(yōu)化時(shí)的調(diào)整比例懦胞。通常,使用完全導(dǎo)數(shù)(學(xué)習(xí)率為1)會導(dǎo)致過度修正凉泄,學(xué)習(xí)率太大可能使得神經(jīng)元在定義的高維空間內(nèi)產(chǎn)生大的“跳躍”躏尉,從而無法收斂。學(xué)習(xí)率太小會使朝著最佳權(quán)重調(diào)整的步幅太小后众,訓(xùn)練時(shí)間過長[21]胀糜。較好的選擇是從較小的學(xué)習(xí)速率開始使權(quán)重調(diào)整走向正確的方向,然后逐漸增大以加快收斂吼具。在訓(xùn)練期間跟蹤的首先是loss僚纷,因?yàn)樗谇跋騻鬟f期間在各個(gè)批次上被評估。繪制不同學(xué)習(xí)率下loss隨時(shí)間的變化可以幫助我們更好地了解學(xué)習(xí)率的選擇拗盒。
關(guān)于大小學(xué)習(xí)率的行為對比

描繪不同學(xué)習(xí)率影響

3.3 其他參數(shù)
還有許多其他參數(shù)可能會影響學(xué)習(xí)過程怖竭,包括:

  • 權(quán)重衰減:每次更新后,權(quán)重會乘以一個(gè)0到1之間的因子陡蝇。這是一種正則化的式痊臭。
  • 權(quán)重初始化:訓(xùn)練開始前的初始權(quán)重和偏差值bias是訓(xùn)練結(jié)果的關(guān)鍵。針對ReLU激活函數(shù)的神經(jīng)元登夫,其權(quán)重初始化通常使用隨機(jī)數(shù)并使用sqrt(2.0/n)來平衡方差[22]广匙,而bias通常直接初始化為零。
w = np.random.randn(n) * sqrt(2.0/n)
  • 改進(jìn)優(yōu)化方法中的其他參數(shù)恼策,例如動(dòng)量
4. 優(yōu)化方法
  • 一階方法
    梯度下降

  • 二階方法
    Hessian 矩陣
    牛頓法
    用hessian矩陣替代學(xué)習(xí)率->自適應(yīng)
    但計(jì)算量太大->近似算法

  • 共軛牛頓法

  • 偽牛頓法

動(dòng)量:增加動(dòng)量項(xiàng)能夠使得SGD能夠跳出局部最小值(local minima)和鞍點(diǎn)(saddle point)鸦致,加快在鞍點(diǎn)附近梯度緩慢處的前進(jìn)。此外涣楷,增加動(dòng)量項(xiàng)還能解決使用SGD時(shí)的Poor Conditioning:當(dāng)損失函數(shù)在一個(gè)方向上改變很快而在另一方向改變很慢分唾,使用普通SGD會出現(xiàn)在變化敏感方向上的鋸齒跳動(dòng),這種情況在高維下很常見狮斗。動(dòng)量項(xiàng)將先前權(quán)重更新的一小部分添加到當(dāng)前權(quán)重更新中绽乔。如果兩次更新在同一方向則會加快收斂,而更新在不同方向上時(shí)則會平滑方差碳褒,從而能夠盡快結(jié)束這種情況下的曲折前進(jìn)(Zigzagging)折砸。


Poorly Condition
  1. 普通SGD(Vanilla update):
    x_{t+1}=x_{t}+ learningrate * dx
    (梯度為損失函數(shù)下降的方向)
  2. 動(dòng)量SGD(Momentum update):增加速度值(velocity)初始化為0
    v_{t+1}=rho*v_{t}+dx
    (rho表示摩擦friction看疗,通常設(shè)為0.9或0.99)
    x_{t+1}=x_{t}+learningrate * v_{t+1}
  3. Nesterov動(dòng)量:
    x_{head} = x_t+rho*v_{t}
    v_{t+1}=rho*v_{t}+dx_{head}
    x_{t+1}=x_{t}+v_{t+1}
    動(dòng)量方法對比

關(guān)于如何優(yōu)化這些參數(shù)的幾個(gè)技巧,可參考Stanford cs231n超參數(shù)優(yōu)化部分[20]睦授。

適應(yīng)性學(xué)習(xí)方法 Adaptative Learning Methods
SGD學(xué)習(xí)方法對學(xué)習(xí)率两芳,動(dòng)量,權(quán)量衰減等諸多參數(shù)的調(diào)參挑戰(zhàn)促使了其他自動(dòng)化調(diào)參學(xué)習(xí)方法的出現(xiàn)睹逃。其中盗扇,廣受歡迎的方法有Adagrad,Adadelta沉填,RMSprop和Adam。關(guān)于這些適應(yīng)性學(xué)習(xí)方法的詳細(xì)介紹參見梯度下降的優(yōu)化[23]佑笋。
最早的牛頓法中通過計(jì)算Hessian矩陣可以反映坡度的陡緩翼闹,但計(jì)算量太大,需要使用full batch蒋纬。

  • Adagrad: 記錄所有梯度的平方和猎荠,使得能夠在較緩的維度上除以一個(gè)較小值進(jìn)行加速而在較陡的維度上除以一個(gè)較大值從而減速。但由于梯度的平方和越來越大蜀备,步幅會越來越小关摇,可能會停在鞍點(diǎn)處無法出來,因而Adagrad只適用于卷積層的學(xué)習(xí)碾阁。

gradSquared += dx*dx
x_{t+1} = x_{t} + learningrate * dx / (np.sqrt(gradSquared) + eps)
其中eps防止

  • RMSprop: RMSprop在Adagrad基礎(chǔ)上進(jìn)行小幅改動(dòng)输虱,對梯度的平方和進(jìn)行衰減,衰減率(decay rate)通常設(shè)為0.9或0.99脂凶。實(shí)現(xiàn)了指數(shù)移動(dòng)平均宪睹,類似于lstm的遺忘門。

gradSquared = decayrate*gradSquared+(1-decayrate)*dx*dx
x_{t+1} = x_{t} + learningrate * dx / (np.sqrt(gradSquared) + eps)

  • Adam: Adam結(jié)合了上述兩種方法和動(dòng)量項(xiàng)蚕钦,最為常用亭病。


    Adam算法
不同算法在鞍點(diǎn)處的行為比較

不同算法在損失平面等高線上隨時(shí)間的變化情況
5. 正則化方法 Regularization Methods

網(wǎng)絡(luò)的學(xué)習(xí)能力由其權(quán)重?cái)?shù)量和深度定義。深層架構(gòu)通常有數(shù)百萬參數(shù)(AlexNet有60M參數(shù)嘶居,VGG16有138M參數(shù))罪帖,其中大量參數(shù)來自全連接層,因?yàn)榫矸e層通過權(quán)重共享能夠大大減少它們的數(shù)量邮屁。一個(gè)具有4,096個(gè)神經(jīng)元的全連接層加上輸入層的4,096個(gè)神經(jīng)元就將包含16M參數(shù)(4,096 x 4,096)整袁。具有如此多參數(shù)的模型對任何訓(xùn)練數(shù)據(jù)集都很容易過擬和,因?yàn)樗哂泻軓?qiáng)的記憶它的能力樱报。為避免過擬合問題葬项,用于深度架構(gòu)的正則化方法被提出,常用的正則化方法包括:

  • L1 / L2正則化:該方法試圖通過對每個(gè)權(quán)重的平方增加懲罰(將\frac{1}{2} \lambda w^2項(xiàng)加入到loss函數(shù)中)來避免權(quán)重尖峰值的影響迹蛤。
L1/L2正則化
  • Dropout [24]:該方法在訓(xùn)練期間以一定的概率設(shè)置部分神經(jīng)元為0民珍,在全連接層上簡單有效襟士。Dropping概率p通常設(shè)為0.5,但dropout會導(dǎo)致輸出結(jié)果隨機(jī)嚷量,因此在測試時(shí)陋桂,根據(jù)概率計(jì)算的平均結(jié)果我們需要將激活函數(shù)乘以dropping概率進(jìn)行伸縮作為最終結(jié)果,或在訓(xùn)練時(shí)的dropout mask步驟直接除以dropping概率蝶溶。
  • 批標(biāo)準(zhǔn)化[25]:該方法對每批次輸入的均值和方差進(jìn)行標(biāo)準(zhǔn)化嗜历,通常用在全連接層之后。它既可以作為正則化方法抖所,也可以解決與權(quán)重初始化相關(guān)的問題梨州,同時(shí)也可以加速收斂。
  • 層標(biāo)準(zhǔn)化[26]:該方法類似于批標(biāo)準(zhǔn)化田轧,但均值和方差是在每層計(jì)算的暴匠。這對于批標(biāo)準(zhǔn)化不能直接應(yīng)用的RNN和完全連接層十分有用,但不適用卷積層傻粘。它可以比批標(biāo)準(zhǔn)化更快地加速收斂每窖。
  • Data Augmentation數(shù)據(jù)增量:對同一張圖片進(jìn)行隨機(jī)剪切、伸縮旋轉(zhuǎn)弦悉、水平變換窒典、改變亮度對比度、透鏡畸變等操作后作為輸入數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練稽莉。
數(shù)據(jù)大小變換

數(shù)據(jù)色彩變換
  • Dropconnect:將權(quán)重矩陣中的某些值隨機(jī)設(shè)為0瀑志,丟棄某些連接。
  • Fractional Max Pooling:采用不同的pooling區(qū)域并在測試時(shí)固定平均肩祥。
  • Stochastic Depth:在訓(xùn)練深度非常深的網(wǎng)絡(luò)時(shí)隨機(jī)丟棄某些層后室,在測試時(shí)再恢復(fù)全部使用。

批標(biāo)準(zhǔn)化和層標(biāo)準(zhǔn)化混狠、Dropout方法以及數(shù)據(jù)增量本質(zhì)都是通過在訓(xùn)練階段增加某些隨機(jī)性然后在測試時(shí)進(jìn)行估計(jì)將隨機(jī)性平均化從而實(shí)現(xiàn)正則化[27]岸霹。

參考文獻(xiàn)


  1. McCulloch, Warren S., and Walter Pitts. “A logical calculus of the ideas immanent in nervous activity.” The bulletin of mathematical biophysics 5.4 (1943): 115-133. ?

  2. Rosenblatt, Frank. “The perceptron: A probabilistic model for information storage and organization in the brain.” Psychological review 65.6 (1958): 386 ?

  3. Mark I Perceptron Operators’ Manual ? ?

  4. Kurzweil, Ray. How to create a mind: The secret of human thought revealed. Penguin, 2013. ?

  5. http://www.andreykurenkov.com/writing/a-brief-history-of-neural-nets-and-deep-learning/ ?

  6. https://en.wikipedia.org/wiki/Perceptrons_(book) ?

  7. Webos, Paul John. “Beyond regression: New tools for prediction and analysis in the behavioral sciences.” Doctoral Dissertation, Applied Mathematics, Harvard University (1974) ?

  8. Rumelhart, David E., Geoffrey E. Hinton, and Ronald J. Williams. Learning internal representations by error propagation. No. ICS-8506. California Univ San Diego La Jolla Inst for Cognitive Science, 1985. ?

  9. http://www.andreykurenkov.com/writing/a-brief-history-of-neural-nets-and-deep-learning/ ?

  10. http://neuralnetworksanddeeplearning.com/chap2.html ?

  11. https://becominghuman.ai/back-propagation-is-very-simple-who-made-it-complicated-97b794c97e5c ?

  12. https://medium.com/@karpathy/yes-you-should-understand-backprop-e2f06eab496b ?

  13. https://medium.com/@erikhallstrm/backpropagation-from-the-beginning-77356edf427d ?

  14. LeCun, Yann, et al. “Backpropagation applied to handwritten zip code recognition.” Neural computation 1.4 (1989): 541-551. ?

  15. Fukushima, Kunihiko. “Neocognitron: A hierarchical neural network capable of visual pattern recognition.” Neural networks 1.2 (1988): 119-130. ?

  16. https://medium.com/the-theory-of-everything/understanding-activation-functions-in-neural-networks-9491262884e0 ?

  17. https://www.quora.com/What-is-the-vanishing-gradient-problem ?

  18. http://cs231n.github.io/neural-networks-1/#actfun ?

  19. https://github.com/fchollet/keras/issues/68 ?

  20. http://cs231n.github.io/neural-networks-3/ ? ?

  21. https://www.linkedin.com/pulse/gradient-descent-simple-words-parth-jha ?

  22. https://arxiv.org/abs/1502.01852 ?

  23. http://ruder.io/optimizing-gradient-descent/ ?

  24. Srivastava Nitish, Geoffrey E. Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. “Dropout: a simple way to prevent neural networks from overfitting.” Journal of Machine Learning Research 15.1 (2014): 1929-1958. ?

  25. Ioffe, Sergey, and Christian Szegedy. “Batch normalization: Accelerating deep network training by reducing internal covariate shift.” International Conference on Machine Learning. 2015. ?

  26. Ba, Jimmy Lei, Jamie Ryan Kiros, and Geoffrey E. Hinton. “Layer normalization.” arXiv preprint arXiv:1607.06450 (2016). ?

  27. http://cs231n.github.io/neural-networks-2/ ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市将饺,隨后出現(xiàn)的幾起案子贡避,更是在濱河造成了極大的恐慌,老刑警劉巖予弧,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刮吧,死亡現(xiàn)場離奇詭異,居然都是意外死亡掖蛤,警方通過查閱死者的電腦和手機(jī)杀捻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚓庭,“玉大人致讥,你說我怎么就攤上這事仅仆。” “怎么了垢袱?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵墓拜,是天一觀的道長。 經(jīng)常有香客問我请契,道長咳榜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任爽锥,我火速辦了婚禮涌韩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘氯夷。我一直安慰自己较店,他們只是感情好腿准,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著阔加,像睡著了一般奢啥。 火紅的嫁衣襯著肌膚如雪秸仙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天桩盲,我揣著相機(jī)與錄音寂纪,去河邊找鬼。 笑死赌结,一個(gè)胖子當(dāng)著我的面吹牛捞蛋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播柬姚,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼拟杉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了量承?” 一聲冷哼從身側(cè)響起搬设,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎撕捍,沒想到半個(gè)月后拿穴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡忧风,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年默色,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狮腿。...
    茶點(diǎn)故事閱讀 40,561評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡腿宰,死狀恐怖呕诉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情酗失,我是刑警寧澤义钉,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站规肴,受9級特大地震影響捶闸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拖刃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一删壮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧兑牡,春花似錦央碟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至苞也,卻和暖如春洛勉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背如迟。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工收毫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人殷勘。 一個(gè)月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓此再,卻偏偏與公主長得像,于是被迫代替她去往敵國和親玲销。 傳聞我的和親對象是個(gè)殘疾皇子输拇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容