日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

 漢無為 2017-09-14

選自arXiv

機(jī)器之心編譯

本論文技術(shù)性地介紹了三種最常見的神經(jīng)網(wǎng)絡(luò):前饋神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)。且該文詳細(xì)介紹了每一種網(wǎng)絡(luò)的基本構(gòu)建塊,其包括了基本架構(gòu)、傳播方式、連接方式、激活函數(shù)、反向傳播的應(yīng)用和各種優(yōu)化算法的原理。本文不僅介紹了這三種神經(jīng)網(wǎng)絡(luò)的基本原理與概念,同時還用數(shù)學(xué)表達(dá)式正式地定義了這些概念。這是一份十分全面的神經(jīng)網(wǎng)絡(luò)綜述論文,機(jī)器之心簡要摘取了部分章節(jié),更詳細(xì)和完整的論述請查看原論文。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

論文地址:https:///pdf/1709.01412.pdf

目錄

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

簡介

該論文旨在用一種技術(shù)性但是偏教學(xué)的方式介紹三種常見的神經(jīng)網(wǎng)絡(luò)架構(gòu)形式,隨著章節(jié)的深入,內(nèi)容的復(fù)雜度逐漸增加。

第 4 章首先介紹引入的第一種網(wǎng)絡(luò)類型:常規(guī)前饋神經(jīng)網(wǎng)絡(luò),它本身是經(jīng)典感知機(jī) [8] 算法的進(jìn)化版本。大家應(yīng)該看到后者是非線性回歸,前饋網(wǎng)絡(luò)一層層堆疊感知器層。

我們還在第 4 章介紹了最簡單的神經(jīng)網(wǎng)絡(luò)層的基本構(gòu)建塊:加權(quán)平均(weight averaging)和激活函數(shù)(activation function),整個訓(xùn)練的目的是最小化適應(yīng)任務(wù)(分類或回歸)的損失函數(shù)。反向傳播算法的更多技術(shù)細(xì)節(jié)詳見第 4 章附錄,附錄中還包含對先進(jìn)前饋神經(jīng)網(wǎng)絡(luò) ResNet 的介紹。你可以找到前饋網(wǎng)絡(luò)的矩陣描述。

第 5 章中,我們介紹了第二種神經(jīng)網(wǎng)絡(luò)類型:卷積網(wǎng)絡(luò),尤其是適用于處理和標(biāo)注圖像的卷積網(wǎng)絡(luò)。這意味著我們要介紹與之相關(guān)的數(shù)學(xué)工具:卷積、池化、步幅等等。我們之后會介紹多個卷積架構(gòu),附錄中再次詳細(xì)介紹本章主要內(nèi)容較難的步驟。

最后,第 6 章介紹了適合時間序列數(shù)據(jù)的網(wǎng)絡(luò)架構(gòu)——循環(huán)神經(jīng)網(wǎng)絡(luò)。前面兩章內(nèi)容的新發(fā)現(xiàn)和修訂將在本章的主要內(nèi)容中進(jìn)行介紹,附錄介紹有助于理解該網(wǎng)絡(luò)架構(gòu)最復(fù)雜公式的知識。

第 4 章 前饋神經(jīng)網(wǎng)絡(luò)

本章,我們看一下第一種神經(jīng)網(wǎng)絡(luò):常規(guī)前饋神經(jīng)網(wǎng)絡(luò)(FNN)。該網(wǎng)絡(luò)不考慮輸入數(shù)據(jù)可能具備的任何特定結(jié)構(gòu)。盡管如此,它仍是非常強(qiáng)大的機(jī)器學(xué)習(xí)工具,尤其是與先進(jìn)的正則化技術(shù)一起使用時。這些技術(shù)(稍后將會介紹)幫助解決人們處理「深度」網(wǎng)絡(luò)時遇到的訓(xùn)練問題:神經(jīng)網(wǎng)絡(luò)有大量隱藏層,隱藏層非常難以訓(xùn)練(梯度消失和過擬合問題)。

4.2 前饋神經(jīng)網(wǎng)絡(luò)架構(gòu)

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 4.1:有 N + 1 層(N ? 1 個隱藏層)的神經(jīng)網(wǎng)絡(luò)。淺層網(wǎng)絡(luò)架構(gòu)僅使用一個隱藏層。深度學(xué)習(xí)需要使用多個隱藏層,通常包含同樣數(shù)量的隱藏神經(jīng)元。數(shù)量大約是輸入和輸出變量數(shù)量的平均值。

FNN 由一個輸入層、一個(淺層網(wǎng)絡(luò))或多個(深層網(wǎng)絡(luò),因此叫作深度學(xué)習(xí))隱藏層,和一個輸出層構(gòu)成。每個層(除輸出層以外)與下一層連接。這種連接是 FNN 架構(gòu)的關(guān)鍵,具有兩個主要特征:加權(quán)平均值和激活函數(shù)。接下來我們將深入講解這些特征。

4.4 加權(quán)平均

FNN 很重要的一個概念就是加權(quán)平均過程,即將前一層給神經(jīng)元的激勵值和對應(yīng)的權(quán)重矩陣相乘而得出后一個神經(jīng)元的輸入值,這一過程展示在下圖 4.2 中,我們可以說前一層神經(jīng)元的加權(quán)和就是后一層神經(jīng)元的輸入。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

正式地,加權(quán)平均的過程可以使用如下方程式表達(dá):

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

其中 v∈[0,N?1]、f∈[0,(F_v+1)?1]、t∈[0,(T_mb)? 1]。e 代表包括或排除一個偏置項(xiàng),因?yàn)閷?shí)踐中我們經(jīng)常使用批量歸一化,所以 e 可以設(shè)為 0。

4.5 激活函數(shù)

每一層的隱藏神經(jīng)元可以定義為:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

其中其中 v∈[0,N?1]、f∈[0,(F_v+1)?1]、t∈[0,(T_mb)? 1]。在這里 g 為激活函數(shù),F(xiàn)NN 另外一個十分重要的元素,因?yàn)榧せ詈瘮?shù)的非線性屬性,所以它允許預(yù)測任意的輸出數(shù)據(jù)。在實(shí)踐中,g 通常采取以下描述的非線性函數(shù)作為激活函數(shù)。

4.5.1 Sigmoid 函數(shù)

Sigmoid 函數(shù)的值域?yàn)?[0,1],它的表達(dá)式為如下:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

Sigmoid 函數(shù)的導(dǎo)數(shù)可以表達(dá)為:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

該激活函數(shù)如今并不常用,因?yàn)樗奶荻忍菀罪柡?,不過 RNN-LSTM 網(wǎng)絡(luò)如今還會需要用到它。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 4.3:Sigmoid 函數(shù)和它的導(dǎo)數(shù)

4.5.2 tanh 函數(shù)

tanh 函數(shù)的值域?yàn)?[? 1, 1 ],它的表達(dá)式如下:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

tanh 函數(shù)的導(dǎo)數(shù)為:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

tanh 激活函數(shù)因?yàn)?ReLU 函數(shù)的普及使用而不那么流行了。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 4.4:tanh 函數(shù)和它的導(dǎo)數(shù)

然而 tanh 函數(shù)仍然用于許多標(biāo)準(zhǔn)的 RNN-LSTM 模型(6)。

4.5.3 ReLU 函數(shù)

線性修正單元(ReLU)的值域?yàn)?[0,+∞],它的表達(dá)式為:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

ReLU 的導(dǎo)數(shù)為:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 4.5:線性修正單元(ReLU)函數(shù)和它的導(dǎo)數(shù)

ReLU 是如今應(yīng)用最廣泛的激活函數(shù)。該函數(shù)還有兩個變體:滲漏線性修正單元(ReLU)和指數(shù)線性單元(ELU)。引進(jìn)這些變體的原因是 ReLU 激活函數(shù)可能「kill」特定的隱藏神經(jīng)元:一旦 ReLU 關(guān)閉(即處于零值),它將不會被再次激活。

4.5.4 The leaky-ReLU function(略)

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 4.6:leaky-ReLU 函數(shù)和它的導(dǎo)數(shù)

4.5.5 The ELU function(略)

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 4.7 :ELU 函數(shù)和它的導(dǎo)數(shù)

4.6 FNN 層級

4.6.1 輸入層

輸入層是 FNN 的第一層神經(jīng)元,它需要將輸入數(shù)據(jù)傳入 FNN 中。在全連接神經(jīng)網(wǎng)絡(luò)中,輸入層的神經(jīng)元數(shù)量但與特征向量的長度相等,比如說 MNIST 數(shù)據(jù)集的圖像為 28×28,那么特征向量的長度就為 764。

4.6.2 全連接層

全連接操作即運(yùn)算層級之間的加權(quán)平均值和激活函數(shù),即前一層的神經(jīng)元輸出值加權(quán)和為后一層的輸入值,并將該輸入值投入激活函數(shù)中以產(chǎn)生該層級的輸出值。

4.6.3 輸出層

FNN 的輸出層可以表示為:

其中 o 為輸出函數(shù)。

4.7 損失函數(shù)

損失函數(shù)評估了 FNN 在估計(jì)數(shù)據(jù)并執(zhí)行預(yù)測時的誤差,通常是我們判斷模型在一定權(quán)重下執(zhí)行任務(wù)好壞的依據(jù)。損失函數(shù)一般是計(jì)算真實(shí)值和預(yù)測值之間的距離而判斷誤差。對于回歸問題來說,簡單地使用均方誤差(MSE)就可以評估預(yù)測值與真實(shí)值之間的距離:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

對于分類任務(wù)來說,損失函數(shù)一般可以使用交叉熵函數(shù)。針對預(yù)測分布最小化交叉熵函數(shù)就等價于 KL 散度,所以它評估了預(yù)測分布和真實(shí)分布之間的距離:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

4.8 正則化技術(shù)

在處理深度學(xué)習(xí)技術(shù)時,一個重大難題是高效訓(xùn)練神經(jīng)網(wǎng)絡(luò)。為了解決該問題,已經(jīng)提出了多種正則化技術(shù)。這部分對這些技術(shù)進(jìn)行了回顧。

4.9 反向傳播

反向傳播是減少損失函數(shù)錯誤的標(biāo)準(zhǔn)技術(shù),只要準(zhǔn)確地預(yù)測需要哪一個就行。就像名字所示,在 FNN 網(wǎng)絡(luò)中反向傳播輸出層的錯誤,以便于更新權(quán)重。在實(shí)際中,我們需要計(jì)算大量的梯度,這是一項(xiàng)冗長的計(jì)算任務(wù)。然而,如果表現(xiàn)準(zhǔn)確,這也是 FN 中最有用、最重要的任務(wù)。

4.10 梯度下降使用哪些數(shù)據(jù)樣本

剛開始,我們顯示了用來訓(xùn)練模型的數(shù)據(jù)樣本。該程序重復(fù)了很多次(每一次是一個 epoch)。但在文獻(xiàn)資料中,共有三種從數(shù)據(jù)中進(jìn)行采樣的方法:Full-bath、隨機(jī)梯度下降、小批量梯度下降。

4.11 梯度優(yōu)化技術(shù)

一旦我們在反向傳播過程中計(jì)算了梯度,那么我們接下來就需要考慮如何使用這些梯度更新權(quán)重了。可能最自然和直觀的方法就是直接使用梯度下降更新權(quán)重,梯度下降的更新表達(dá)式為:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

其中η為超參數(shù)學(xué)習(xí)率,確定η最好的方法是在下降點(diǎn)執(zhí)行直線搜索而求得,不過這樣的計(jì)算成本非常高,所以我們一般可以根據(jù)經(jīng)驗(yàn)或交叉驗(yàn)證等方法確定該超參數(shù)。同時學(xué)習(xí)率還可以使用指數(shù)衰減更進(jìn)一步加快收斂速度。當(dāng)我們在使用小批量梯度下降時,根據(jù)損失函數(shù)而更新的權(quán)重很容易陷入局部極小值,因此有一些方法可以避免這種風(fēng)險(xiǎn)。我們會在下一部分介紹它們。

4.11.1 動量(Momentum)

Momentum[10] 引進(jìn)了一個新向量 v_e,該向量對前面更新的 epoch 保留了一定的記憶。其中 e 代表 epoch 的數(shù)量,我們暫時不使用 f、f'和 v 的指代以簡化標(biāo)記方法。因此我們有:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

權(quán)重在 epoch e 中更新的表達(dá)式為:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

γ為模型的新參數(shù),其經(jīng)常可以設(shè)置為 0.9,但它可以根據(jù)交叉驗(yàn)證而得到更新與優(yōu)化。

4.11.2 Nesterov accelerated gradient(略)

4.11.3 Adagrad(略)

4.11.4 RMSprop

因?yàn)樵?Adagrad,權(quán)重從第一個 epoch 開始添加梯度就會一直單調(diào)遞減。這一問題可以通過 Adadelta 技術(shù)得到緩解,因此我們有:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

其中γ為模型的新參數(shù),其經(jīng)??梢栽O(shè)置為 0.9。Adadelta 的更新規(guī)則可以表達(dá)為 Adagrad 那樣:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

其中η常常設(shè)置為固定值(10^-3)。

4.11.5 Adadelta(略)

4.11.6 Adam

Adam[14] 可以通過以下兩個向量追蹤梯度和二階導(dǎo):

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

其中β1 和 β2 參數(shù)通常可以分別設(shè)置為 0.9 和 0.999。但是 Adam 算法的穩(wěn)健和強(qiáng)大可以保證整個學(xué)習(xí)過程極少依賴于它們的取值。為了避免第一次迭代陷入數(shù)值問題,該向量可以標(biāo)準(zhǔn)化為:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

在進(jìn)行權(quán)重更新前:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

這一最優(yōu)化技術(shù)在整個過程中隱含使用的學(xué)習(xí)率衰減為:

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

其中α_0 可由交叉驗(yàn)證決定,η_0 通常是初始化為 10^-3 到 10^-2。

4.12 權(quán)重初始化

在沒有任何正則化的情況下,訓(xùn)練神經(jīng)網(wǎng)絡(luò)令人望而卻步,因?yàn)橐獙?quán)重初始化條件進(jìn)行微調(diào)。這也是為什么神經(jīng)網(wǎng)絡(luò)經(jīng)歷過寒冬的一個原因。因?yàn)?dropout 與批規(guī)范化技術(shù),該問題有所改進(jìn),但我們不能用對稱的方式初始化權(quán)重(例如都是 0),也不能把它們初始化的太大。一個好的 heuristic 是

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

第五章 卷積神經(jīng)網(wǎng)絡(luò)

5.1 簡介

本章中我們將回顧神經(jīng)網(wǎng)絡(luò)的第二個類型,可能也是最流行的一個:卷積神經(jīng)網(wǎng)絡(luò)(CNN)。CNN 尤其擅長圖像分類。我們將會回顧其相關(guān)創(chuàng)新并與 FNN 相對比。其中卷積和池化是 CNN 的構(gòu)建基元。另外,在 FNN 部分所推導(dǎo)的正則化技巧方面,我們將會觀察需要對 CNN 做出哪些修改?最后,從 LeNet 到 ResNet,我們將會介紹最常使用的 CNN 架構(gòu)。

5.2 CNN 架構(gòu)

CNN 由若干個卷積和池化操作組成,通常跟隨著一個或多個全連接層(與傳統(tǒng)的 FNN 層相似)。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 5.1:一個典型的 CNN 架構(gòu)(受到 LeNet 啟發(fā)):卷積操作之后跟著池化操作,直到每一個特征圖的大小降為 1。然后再引入全連接層。

5.4 改進(jìn)批歸一化(MBN)

在 CNN 中,通過以下方式改進(jìn)批歸一化(這里,與常規(guī) FNN 不同,并非所有隱藏層需要被批歸一化。實(shí)際上這一操作并不在池化層的輸出上執(zhí)行。因此我們將針對正則化和批歸一化的隱藏層使用不同的名字 v 和 n。)

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

由于兩個額外的參數(shù)

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

,恒等變換可被實(shí)現(xiàn)

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

對于交叉驗(yàn)證和測試集的評估(e 為迭代/epochs 的數(shù)量),我們可以計(jì)算

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

并且測試時將被使用的是

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

。

5.5 網(wǎng)絡(luò)架構(gòu)

我們現(xiàn)在來了解過去 20 年文獻(xiàn)中使用的標(biāo)準(zhǔn) CNN 架構(gòu),我們將按時間順序介紹這些架構(gòu)(到 2015 年底)。我們將采用以下圖示進(jìn)行介紹。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 5.8:不同層的圖示

5.5.1 現(xiàn)實(shí)架構(gòu)(Realistic architecture)

在現(xiàn)實(shí)架構(gòu)中,每一個全連接層(除了最后一個輸出層)后是一個 ReLU(或者其他)激活和批歸一化步驟(這兩個數(shù)據(jù)處理步驟可以顛倒順序)。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 5.9:現(xiàn)實(shí)的全連接操作

對卷積層也是同樣的操作

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 5.10:現(xiàn)實(shí)的卷積操作

我們使用上圖右側(cè)的表示方法以簡化表達(dá),記住真正的 CNN 結(jié)構(gòu)要更豐富。[16] 中詳細(xì)介紹了 CNN 近期進(jìn)展,現(xiàn)在我們轉(zhuǎn)向深度學(xué)習(xí)社區(qū)使用的第一個流行 CNN。

5.5.2 LeNet

LeNet[3](90 年代末)網(wǎng)絡(luò)中包含一個輸入,后面是兩個卷積池化層和全連接層,最后是輸出層。如圖 5.11 所示。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 5.11:LeNet CNN

在處理大圖像(224 × 224)時,使用較大的感受野和步幅。這有兩個負(fù)面影響:一,給定權(quán)重矩陣中的參數(shù)與感受野大小成正比,因此感受野越大,參數(shù)越大。因此,該網(wǎng)絡(luò)更容易過擬合。二,大步幅和大感受野意味著對圖像微觀結(jié)構(gòu)的分析精細(xì)度降低。所有后續(xù)的 CNN 實(shí)現(xiàn)的目的都是解決這兩個問題。

5.5.3 AlexNet

在 CNN 理論中,AlexNet[17] (2012) 并沒有出現(xiàn)質(zhì)的飛躍,模型性能的大幅度提升是因?yàn)楦玫奶幚砥髂軌蛱幚砀嗟碾[藏層。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 5.12:AlexNet CNN

5.5.4 VGG

The VGG[4] 網(wǎng)絡(luò) (2014) 采用了一個簡單的標(biāo)準(zhǔn):只有步長為 2 的 2 x 2 padding 和步長為 1 的 3 x 3 卷積(帶有一個大小為 1 的 padding),因此通過卷積操作保存了圖像寬度與高度的大小。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 5.13: VGG CNN

這一網(wǎng)絡(luò)在處理 CNN 任務(wù)中是一個標(biāo)準(zhǔn)的深度學(xué)習(xí)架構(gòu)。不過自出現(xiàn)以來其設(shè)計(jì)創(chuàng)新性已經(jīng)降低了,因此不再是當(dāng)前最優(yōu)。

5.5.5 GoogleNet

GoogleNet [18] 引入新型層(現(xiàn)有層的聯(lián)結(jié)):inception 層(名字來自諾蘭的電影《盜夢空間》)。GoogleNet 不通過簡單的池化、卷積或全連接操作從 CNN 的一個層到達(dá)下一個層,而是平均下列架構(gòu)的結(jié)果。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 5.14:Inception 模塊

我們不會詳細(xì)講解 concat 層,因?yàn)樯蠄D所示 Google Net 不再是最先進(jìn)的了。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 5.15 GoogleNet CNN

確實(shí),平均多個卷積池化操作的結(jié)果來獲取 CNN 下一個隱藏層被先進(jìn)的 CNN——ResNet 大大簡化。

5.5.6 ResNet

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 5.16:Bottleneck 殘差架構(gòu)。左圖比較簡略,右圖較為具體。共有步幅 1、padding 為 0 的 1 x 1 卷積,一個標(biāo)準(zhǔn)的 VGG 卷積和 1 x 1 卷積。圖示對 ResNet 做出的兩個重要更新是:BN 操作放在 ReLU 之后,最后的 ReLU 在額外操作之前。

ResNet[5] 不使用 VGG 網(wǎng)絡(luò)用同樣的規(guī)模進(jìn)行卷積操作(除了第一個)的做法。它該考慮一個實(shí)驗(yàn)事實(shí):全連接層(通常在同等規(guī)模內(nèi)包含最多參數(shù))對良好的網(wǎng)絡(luò)性能并不必要。移除全連接層導(dǎo)致 CNN 參數(shù)數(shù)量大幅下降。此外,池化操作也越來越不常用,可能會被卷積操作取代。這為 ResNet 基本構(gòu)建塊,圖 5.16 中的殘差模塊提供了基礎(chǔ)部分。

殘差模塊有兩個重點(diǎn)必須要提。一,通常的卷積-卷積-卷積(conv-conv-conv)結(jié)構(gòu)將導(dǎo)致下一個輸出(不考慮出于簡化目的和當(dāng)前時間的批歸一化,表示無需在 1 x 1 卷積操作中進(jìn)行 padding),

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

殘差模塊將前面的方程修改為(隱含條件為輸入特征的寬、大小和數(shù)量與輸出是一樣的):

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

嘗試擬合輸入的一個微小改善而不是輸入,因此稱之為殘差。相比于傳統(tǒng)架構(gòu),這允許網(wǎng)絡(luò)在必要時最小化改善輸入。第二,如果特征圖的數(shù)量很重要,步長為 1 的 3 x 3 卷積就執(zhí)行時間和傾向于過擬合(大量的參數(shù))而言可以非常昂貴。這就是 1 x 1 卷積存在的原因,其目標(biāo)僅是準(zhǔn)備 3 x 3 卷積的輸入,以減少特征圖的數(shù)量,數(shù)量接著將通過殘差模塊的最后的 1x1 卷積恢復(fù)。第一個 1 x 1 卷積讀作加權(quán)平均操作

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

但是被設(shè)計(jì)成

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

,第二個 1 x 1 卷積讀取

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

,恢復(fù)最初的特征圖大小。ResNet 架構(gòu)接著堆棧大量殘差模塊(通常是 50 個),從卷積池層開始,以池化操作結(jié)束,從而獲得一個輸出函數(shù)可以直接應(yīng)用的全連接層。下面是一張圖示。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 5.17 ResNet CNN

ResNet 在一些常見的訓(xùn)練集中都達(dá)到了業(yè)內(nèi)最佳的結(jié)果(如 CIFAR、MNIST 等)。以下我們將介紹 CNN 中標(biāo)準(zhǔn)架構(gòu)(如 VGG)的反向傳播算法。

5.6 反向傳播(略)

在FNN中,我們只需要計(jì)算兩種反向傳播:從輸出到全連接層,以及從全連接到全連接。在傳統(tǒng)CNN中,需要計(jì)算4種新的傳播方式:全連接到池化、池化到卷積、卷積到卷積,以及卷積到池化。

第六章 循環(huán)神經(jīng)網(wǎng)絡(luò)

本章中,我們將介紹第三種神經(jīng)網(wǎng)絡(luò)架構(gòu):循環(huán)神經(jīng)網(wǎng)絡(luò)。與卷積神經(jīng)網(wǎng)絡(luò)(CNN)相比,這種網(wǎng)絡(luò)引入了真正的新架構(gòu)——而不僅僅是在空間方向上進(jìn)行傳播,數(shù)據(jù)也以新的時間依賴方向傳遞。在這里,我們將介紹第一個循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)架構(gòu),同時還有目前最流行的一種:長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 6.1 RNN 架構(gòu),數(shù)據(jù)在「空間」和「時間」域同時傳播。在我們的例子中,時間尺寸為 8,而空間尺寸為 4。

這種類型的神經(jīng)網(wǎng)絡(luò)真正的新穎之處在于,我們正試圖預(yù)測時間序列會被編碼進(jìn)整個網(wǎng)絡(luò)架構(gòu)中。RNN 最開始被用于預(yù)測句子中的下一個單詞(分類任務(wù)),即時間序列上的預(yù)測。但這種網(wǎng)絡(luò)架構(gòu)也可以被應(yīng)用在回歸問題中??梢允紫认氲降膯栴}就是股價走勢與溫度預(yù)測。與之前介紹的神經(jīng)網(wǎng)絡(luò)(定義 v 表示之前層空間方向的索引)相反,

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

現(xiàn)在,隱藏層同時被「空間」和「時間」索引(T 是這個新方向的網(wǎng)絡(luò)維度)。而且,RNN 的哲學(xué)也與其他方法不同:現(xiàn)在 a 通常以 c 的單元狀態(tài)、符號表示,一些瑣碎的基本 RNN 架構(gòu)在 LSTM 網(wǎng)絡(luò)中會更加重要。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

6.2.2 RNN-LSTM 中的反向傳遞

RNN-LSTM 中的反向傳遞必須遵守一定的時間規(guī)律,如下圖所示

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 6.2 架構(gòu)與反向傳播。在這里我們不能在沒有計(jì)算流入的情況下計(jì)算層梯度。

在這種思想下,我們來看看 RNN 和它那重要的變體:長短期記憶網(wǎng)絡(luò)(LSTM)-RNN

6.4 RNN 特征

RNN 是最基本的架構(gòu),由于它的內(nèi)建結(jié)構(gòu)是考慮到需要預(yù)測數(shù)據(jù)的時間結(jié)構(gòu)。放大圖 6.1 的隱藏層,這就是我們看到的最簡單的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 6.3 RNN 隱藏層細(xì)節(jié)

而下圖顯示了圖 6.3 代表的隱藏層的輸出如何進(jìn)入后續(xù)的隱藏單元。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 6.4 RNN 隱藏層互相影響的方式

6.5 LSTM 特征

6.5.1 LSTM 架構(gòu)

在長短期記憶網(wǎng)絡(luò) [7], 中,給定單元的狀態(tài)并不由其左側(cè)或底部近鄰直接決定,而是由相應(yīng)的隱藏單元決定,而該單元輸出是單元狀態(tài)的探測。首先,這個表達(dá)式看來令人困惑,但與第四章附錄中我們接觸到的 ResNet 方法類似:與嘗試讓輸入內(nèi)容與復(fù)雜的函數(shù)適應(yīng)相反,我們試圖讓這些輸入的變量產(chǎn)生微小的變化,從而允許梯度在網(wǎng)絡(luò)中以更平滑的方式流動。在 LSTM 網(wǎng)絡(luò)中,我們需要引入幾個門:輸入門判定是否讓新的信息進(jìn)入單元;輸出門判定是否將輸出值設(shè)置為 0,或反映目前的單元狀態(tài);最后,遺忘門決定是否遺忘過去的單元狀態(tài)。所有這些都在圖 6.5 中展示,其中 LSTM 與 6.4.1 中 RNN 結(jié)構(gòu)相對應(yīng)。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 6.5 LSTM 隱藏單元細(xì)節(jié)

在 LSTM 中,不同的隱藏單元以下面的方式交互。

最全的DNN概述論文:詳解前饋、卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)技術(shù)

圖 6.6 LSTM 隱藏單元的交互方式

第七章 結(jié)論

希望本文能讓讀者更好地了解神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)原理,以及它的工作機(jī)制。以上,我們已經(jīng)討論了三種最為常見的神經(jīng)網(wǎng)絡(luò)架構(gòu),以及它們訓(xùn)練公式的詳細(xì)數(shù)學(xué)推導(dǎo)。深度學(xué)習(xí)是一個快速發(fā)展的領(lǐng)域,或許本文所述內(nèi)容將在不久的將來成為過時信息,但其闡述的方法仍然可以為讀者構(gòu)建新架構(gòu)提供啟發(fā)。那時,我們已經(jīng)獲得足夠的知識,可以構(gòu)建自己的 FNN、CNN 與 RNN-LSTM 模型了。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多