自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

開發(fā) 開發(fā)工具
本論文技術(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)化算法的原理。

本論文技術(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í)還用數(shù)學(xué)表達(dá)式正式地定義了這些概念。這是一份十分全面的神經(jīng)網(wǎng)絡(luò)綜述論文,機(jī)器之心簡要摘取了部分章節(jié),更詳細(xì)和完整的論述請(qǐng)查看原論文。

神經(jīng)網(wǎng)絡(luò)

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

目錄

DNN概述論文

DNN概述論文

簡介

該論文旨在用一種技術(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),整個(gè)訓(xùn)練的目的是最小化適應(yīng)任務(wù)(分類或回歸)的損失函數(shù)。反向傳播算法的更多技術(shù)細(xì)節(jié)詳見第 4 章附錄,附錄中還包含對(duì)先進(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é)工具:卷積、池化、步幅等等。我們之后會(huì)介紹多個(gè)卷積架構(gòu),附錄中再次詳細(xì)介紹本章主要內(nèi)容較難的步驟。

最后,第 6 章介紹了適合時(shí)間序列數(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ù)雜公式的知識(shí)。

第 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í)。這些技術(shù)(稍后將會(huì)介紹)幫助解決人們處理「深度」網(wǎng)絡(luò)時(shí)遇到的訓(xùn)練問題:神經(jīng)網(wǎng)絡(luò)有大量隱藏層,隱藏層非常難以訓(xùn)練(梯度消失和過擬合問題)。

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

圖 4.1:有 N + 1 層(N − 1 個(gè)隱藏層)的神經(jīng)網(wǎng)絡(luò)

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

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

4.4 加權(quán)平均

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

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

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

4.5 激活函數(shù)

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

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

4.5.1 Sigmoid 函數(shù)

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

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

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

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

4.5.2 tanh 函數(shù)

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

tanh 函數(shù)

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

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

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

tanh 函數(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á)式為:

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

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

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

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

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

4.5.4 The leaky-ReLU function(略)

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

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

4.5.5 The ELU function(略)

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

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

4.6 FNN 層級(jí)

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)算層級(jí)之間的加權(quán)平均值和激活函數(shù),即前一層的神經(jīng)元輸出值加權(quán)和為后一層的輸入值,并將該輸入值投入激活函數(shù)中以產(chǎn)生該層級(jí)的輸出值。

4.6.3 輸出層

FNN 的輸出層可以表示為:

FNN 的輸出層

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

4.7 損失函數(shù)

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

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

4.8 正則化技術(shù)

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

4.9 反向傳播

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

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

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

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

一旦我們?cè)诜聪騻鞑ミ^程中計(jì)算了梯度,那么我們接下來就需要考慮如何使用這些梯度更新權(quán)重了??赡茏钭匀缓椭庇^的方法就是直接使用梯度下降更新權(quán)重,梯度下降的更新表達(dá)式為:

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

4.11.1 動(dòng)量(Momentum)

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

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

γ為模型的新參數(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)重從第一個(gè) epoch 開始添加梯度就會(huì)一直單調(diào)遞減。這一問題可以通過 Adadelta 技術(shù)得到緩解,因此我們有:

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

Adadelta 的更新規(guī)則

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

4.11.5 Adadelta(略)

4.11.6 Adam

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

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

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

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

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

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

4.12 權(quán)重初始化

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

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

5.1 簡介

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

5.2 CNN 架構(gòu)

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

一個(gè)典型的 CNN 架構(gòu)

圖 5.1

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

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

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

由于兩個(gè)額外的參數(shù),恒等變換可被實(shí)現(xiàn)

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

并且測試時(shí)將被使用的是。

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

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

不同層的圖示

圖 5.8:不同層的圖示

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

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

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

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

對(duì)卷積層也是同樣的操作

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

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

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

5.5.2 LeNet

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

LeNet CNN

圖 5.11:LeNet CNN

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

5.5.3 AlexNet

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

AlexNet CNN

圖 5.12:AlexNet CNN

5.5.4 VGG

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

 VGG CNN

圖 5.13: VGG CNN

這一網(wǎng)絡(luò)在處理 CNN 任務(wù)中是一個(gè)標(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 層(名字來自諾蘭的電影《盜夢(mèng)空間》)。GoogleNet 不通過簡單的池化、卷積或全連接操作從 CNN 的一個(gè)層到達(dá)下一個(gè)層,而是平均下列架構(gòu)的結(jié)果。

Inception 模塊

圖 5.14:Inception 模塊

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

GoogleNet CNN

圖 5.15 GoogleNet CNN

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

5.5.6 ResNet

Bottleneck 殘差架構(gòu)

圖 5.16:Bottleneck 殘差架構(gòu)

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

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

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

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

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

但是被設(shè)計(jì)成,第二個(gè) 1 x 1 卷積讀取

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

ResNet CNN

圖 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ù)也以新的時(shí)間依賴方向傳遞。在這里,我們將介紹第一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)架構(gòu),同時(shí)還有目前最流行的一種:長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)。

 RNN 架構(gòu)

圖 6.1

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

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

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

6.2.2 RNN-LSTM 中的反向傳遞

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

RNN-LSTM 中的反向傳遞必須遵守一定的時(shí)間規(guī)律

圖 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ù)的時(shí)間結(jié)構(gòu)。放大圖 6.1 的隱藏層,這就是我們看到的最簡單的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。

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

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

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

RNN 隱藏層互相影響的方式

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

6.5 LSTM 特征

6.5.1 LSTM 架構(gòu)

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

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

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

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

 LSTM 隱藏單元的交互方式

圖 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í)是一個(gè)快速發(fā)展的領(lǐng)域,或許本文所述內(nèi)容將在不久的將來成為過時(shí)信息,但其闡述的方法仍然可以為讀者構(gòu)建新架構(gòu)提供啟發(fā)。那時(shí),我們已經(jīng)獲得足夠的知識(shí),可以構(gòu)建自己的 FNN、CNN 與 RNN-LSTM 模型了。

【本文是51CTO專欄機(jī)構(gòu)“機(jī)器之心”的原創(chuàng)譯文,微信公眾號(hào)“機(jī)器之心( id: almosthuman2014)”】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2019-11-06 17:00:51

深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)人工智能

2018-08-03 16:00:09

人工智能神經(jīng)網(wǎng)絡(luò)高級(jí)算法

2018-04-08 11:20:43

深度學(xué)習(xí)

2017-05-15 22:45:43

神經(jīng)網(wǎng)絡(luò)架構(gòu)信息檢索

2017-05-04 18:30:34

大數(shù)據(jù)卷積神經(jīng)網(wǎng)絡(luò)

2022-04-07 09:01:52

神經(jīng)網(wǎng)絡(luò)人工智能

2014-11-17 13:39:53

OpenStack云計(jì)算架構(gòu)設(shè)計(jì)

2017-11-20 13:15:40

神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2025-03-03 08:10:00

神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)人工智能

2019-01-05 08:40:17

VGG神經(jīng)網(wǎng)絡(luò)

2022-10-11 23:35:28

神經(jīng)網(wǎng)絡(luò)VGGNetAlexNet

2025-03-05 14:00:00

2020-03-25 09:48:10

AI芯片神經(jīng)網(wǎng)絡(luò)

2022-02-07 15:28:16

工具神經(jīng)網(wǎng)絡(luò)

2022-06-16 10:29:33

神經(jīng)網(wǎng)絡(luò)圖像分類算法

2018-08-27 17:05:48

tensorflow神經(jīng)網(wǎng)絡(luò)圖像處理

2018-03-16 13:27:55

神經(jīng)網(wǎng)絡(luò)大詞匯量語音識(shí)別

2018-08-30 09:15:42

人工智能神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)

2024-09-20 07:36:12

2024-10-28 00:38:10

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)