成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

直白介紹卷積神經(jīng)網(wǎng)絡(luò)(CNN)

GitChat / 849人閱讀

摘要:卷積神經(jīng)網(wǎng)絡(luò)除了為機(jī)器人和自動(dòng)駕駛汽車的視覺助力之外,還可以成功識(shí)別人臉,物體和交通標(biāo)志。卷積卷積神經(jīng)網(wǎng)絡(luò)的名字來源于卷積運(yùn)算。在卷積神經(jīng)網(wǎng)絡(luò)中,卷積的主要目的是從輸入圖像中提取特征。

什么是卷積神經(jīng)網(wǎng)絡(luò),它為何重要?

卷積神經(jīng)網(wǎng)絡(luò)(也稱作 ConvNets 或 CNN)是神經(jīng)網(wǎng)絡(luò)的一種,它在圖像識(shí)別和分類等領(lǐng)域已被證明非常有效。 卷積神經(jīng)網(wǎng)絡(luò)除了為機(jī)器人和自動(dòng)駕駛汽車的視覺助力之外,還可以成功識(shí)別人臉,物體和交通標(biāo)志。

圖1

如圖1所示,卷積神經(jīng)網(wǎng)絡(luò)能夠識(shí)別圖片的場(chǎng)景并且提供相關(guān)標(biāo)題(“足球運(yùn)動(dòng)員正在踢足球”),圖2則是利用卷積神經(jīng)網(wǎng)絡(luò)識(shí)別日常物品、人類和動(dòng)物的例子。最近,卷積神經(jīng)網(wǎng)絡(luò)在一些自然語言處理任務(wù)(如語句分類)中也發(fā)揮了很大作用。

圖2

因此,卷積神經(jīng)網(wǎng)絡(luò)是當(dāng)今大多數(shù)機(jī)器學(xué)習(xí)實(shí)踐者的重要工具。但是,理解卷積神經(jīng)網(wǎng)絡(luò)并開始嘗試運(yùn)用著實(shí)是一個(gè)痛苦的過程。本文的主要目的是了解卷積神經(jīng)網(wǎng)絡(luò)如何處理圖像。

對(duì)于剛接觸神經(jīng)網(wǎng)絡(luò)的人,我建議大家先閱讀這篇關(guān)于多層感知機(jī)的簡(jiǎn)短教程 ,了解其工作原理之后再繼續(xù)閱讀本文。多層感知機(jī)即本文中的“完全連接層”。

LeNet 框架(20世紀(jì)90年代)

LeNet 是最早推動(dòng)深度學(xué)習(xí)領(lǐng)域發(fā)展的卷積神經(jīng)網(wǎng)絡(luò)之一。這項(xiàng)由 Yann LeCun 完成的開創(chuàng)性工作自1988年以來多次成功迭代之后被命名為 LeNet5。當(dāng)時(shí) LeNet 框架主要用于字符識(shí)別任務(wù),例如閱讀郵政編碼,數(shù)字等。

接下來,我們將直觀地了解 LeNet 框架如何學(xué)習(xí)識(shí)別圖像。 近年來有人提出了幾種基于 LeNet 改進(jìn)的新框架,但是它們的基本思路與 LeNet 并無差別,如果您清楚地理解了 LeNet,那么對(duì)這些新的框架理解起來就相對(duì)容易很多。

圖3: 一個(gè)簡(jiǎn)單的卷積神經(jīng)網(wǎng)絡(luò)

圖3中的卷積神經(jīng)網(wǎng)絡(luò)在結(jié)構(gòu)上與原始的 LeNet 類似,并將輸入圖像分為四類:狗,貓,船或鳥(原始的 LeNet 主要用于字符識(shí)別任務(wù))。 從上圖可以看出,接收船只圖像作為輸入時(shí),神經(jīng)網(wǎng)絡(luò)在四個(gè)類別中正確地給船只分配了較高概率值(0.94)。輸出層中所有概率的總和應(yīng)該是1(之后會(huì)做解釋)。

圖3 的卷積神經(jīng)網(wǎng)絡(luò)中有四個(gè)主要操作:

卷積

非線性變換(ReLU)

池化或子采樣

分類(完全連接層)

這些操作是所有卷積神經(jīng)網(wǎng)絡(luò)的基本組成部分,因此了解它們的工作原理是理解卷積神經(jīng)網(wǎng)絡(luò)的重要步驟。下面我們將嘗試直觀地理解每個(gè)操作。

一張圖片就是一個(gè)由像素值組成的矩陣

實(shí)質(zhì)上,每張圖片都可以表示為由像素值組成的矩陣。

圖4: 每張圖片就是一個(gè)像素矩陣

通道(channel)是一個(gè)傳統(tǒng)術(shù)語,指圖像的一個(gè)特定成分。標(biāo)準(zhǔn)數(shù)碼相機(jī)拍攝的照片具有三個(gè)通道——紅,綠和藍(lán)——你可以將它們想象為三個(gè)堆疊在一起的二維矩陣(每種顏色一個(gè)),每個(gè)矩陣的像素值都在0到255之間。

而灰度圖像只有一個(gè)通道。 鑒于本文的科普目的,我們只考慮灰度圖像,即一個(gè)代表圖像的二維矩陣。矩陣中每個(gè)像素值的范圍在0到255之間——0表示黑色,255表示白色。

卷積

卷積神經(jīng)網(wǎng)絡(luò)的名字來源于“卷積”運(yùn)算。在卷積神經(jīng)網(wǎng)絡(luò)中,卷積的主要目的是從輸入圖像中提取特征。通過使用輸入數(shù)據(jù)中的小方塊來學(xué)習(xí)圖像特征,卷積保留了像素間的空間關(guān)系。我們?cè)谶@里不會(huì)介紹卷積的數(shù)學(xué)推導(dǎo),但會(huì)嘗試?yán)斫馑侨绾翁幚韴D像的。

正如前文所說,每個(gè)圖像可以被看做像素值矩陣。考慮一個(gè)像素值僅為0和1的5 × 5大小的圖像(注意,對(duì)于灰度圖像,像素值范圍從0到255,下面的綠色矩陣是像素值僅為0和1的特殊情況):

另外,考慮另一個(gè) 3×3 矩陣,如下圖所示:

上述5 x 5圖像和3 x 3矩陣的卷積計(jì)算過程如圖5中的動(dòng)畫所示:

圖5:卷積操作。輸出矩陣稱作“卷積特征”或“特征映射”

我們來花點(diǎn)時(shí)間理解一下上述計(jì)算是如何完成的。將橙色矩陣在原始圖像(綠色)上以每次1個(gè)像素的速率(也稱為“步幅”)移動(dòng),對(duì)于每個(gè)位置,計(jì)算兩個(gè)矩陣相對(duì)元素的乘積并相加,輸出一個(gè)整數(shù)并作為最終輸出矩陣(粉色)的一個(gè)元素。注意,3 × 3矩陣每個(gè)步幅僅能“看到”輸入圖像的一部分。

在卷積神經(jīng)網(wǎng)路的術(shù)語中,這個(gè)3 × 3矩陣被稱為“過濾器”或“核”或“特征探測(cè)器”,通過在圖像上移動(dòng)過濾器并計(jì)算點(diǎn)積得到的矩陣被稱為“卷積特征”或“激活映射”或“特征映射”。重要的是要注意,過濾器的作用就是原始輸入圖像的特征檢測(cè)器。

從上面的動(dòng)畫可以明顯看出,對(duì)于同一張輸入圖像,不同的過濾器矩陣將會(huì)產(chǎn)生不同的特征映射。例如,考慮如下輸入圖像:

在下表中,我們可以看到上圖在不同過濾器下卷積的效果。如圖所示,只需在卷積運(yùn)算前改變過濾器矩陣的數(shù)值就可以執(zhí)行邊緣檢測(cè),銳化和模糊等不同操作 [8] —— 這意味著不同的過濾器可以檢測(cè)圖像的不同特征,例如邊緣, 曲線等。更多此類示例可在 這里 8.2.4節(jié)中找到。

另一個(gè)理解卷積操作的好方法可以參考下面圖6中的動(dòng)畫:

圖6: 卷積操作

一個(gè)過濾器(紅色邊框)在輸入圖像上移動(dòng)(卷積操作)以生成特征映射。在同一張圖像上,另一個(gè)過濾器(綠色邊框)的卷積生成了不同的特征圖,如圖所示。需要注意到,卷積操作捕獲原始圖像中的局部依賴關(guān)系很重要。還要注意這兩個(gè)不同的過濾器如何從同一張?jiān)紙D像得到不同的特征圖。請(qǐng)記住,以上圖像和兩個(gè)過濾器只是數(shù)值矩陣。

實(shí)際上,卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中會(huì)自己學(xué)習(xí)這些過濾器的值(盡管在訓(xùn)練過程之前我們?nèi)孕枰付ㄖT如過濾器數(shù)目、大小,網(wǎng)絡(luò)框架等參數(shù))。我們擁有的過濾器數(shù)目越多,提取的圖像特征就越多,我們的網(wǎng)絡(luò)在識(shí)別新圖像時(shí)效果就會(huì)越好。

特征映射(卷積特征)的大小由我們?cè)趫?zhí)行卷積步驟之前需要決定的三個(gè)參數(shù)[4]控制:

深度:深度對(duì)應(yīng)于我們用于卷積運(yùn)算的過濾器數(shù)量。在圖7所示的網(wǎng)絡(luò)中,我們使用三個(gè)不同的過濾器對(duì)初始的船圖像進(jìn)行卷積,從而生成三個(gè)不同的特征圖??梢詫⑦@三個(gè)特征地圖視為堆疊的二維矩陣,因此,特征映射的“深度”為3。

圖7

步幅:步幅是我們?cè)谳斎刖仃嚿弦苿?dòng)一次過濾器矩陣的像素?cái)?shù)量。當(dāng)步幅為1時(shí),我們一次將過濾器移動(dòng)1個(gè)像素。當(dāng)步幅為2時(shí),過濾器每次移動(dòng)2個(gè)像素。步幅越大,生成的特征映射越小。

零填充:有時(shí),將輸入矩陣邊界用零來填充會(huì)很方便,這樣我們可以將過濾器應(yīng)用于輸入圖像矩陣的邊界元素。零填充一個(gè)很好的特性是它允許我們控制特征映射的大小。添加零填充也稱為寬卷積,而不使用零填充是為窄卷積。 這在[14]中有清楚的解釋。

非線性部分介紹(ReLU)

如上文圖3所示,每次卷積之后,都進(jìn)行了另一項(xiàng)稱為 ReLU 的操作。ReLU 全稱為修正線性單元(Rectified Linear Units),是一種非線性操作。 其輸出如下圖所示:

圖8: ReLU 函數(shù)

ReLU 是一個(gè)針對(duì)元素的操作(應(yīng)用于每個(gè)像素),并將特征映射中的所有負(fù)像素值替換為零。ReLU 的目的是在卷積神經(jīng)網(wǎng)絡(luò)中引入非線性因素,因?yàn)樵趯?shí)際生活中我們想要用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的數(shù)據(jù)大多數(shù)都是非線性的(卷積是一個(gè)線性運(yùn)算 —— 按元素進(jìn)行矩陣乘法和加法,所以我們希望通過引入 ReLU 這樣的非線性函數(shù)來解決非線性問題)。

從圖9可以很清楚地理解 ReLU 操作。它展示了將 ReLU 作用于圖6中某個(gè)特征映射得到的結(jié)果。這里的輸出特征映射也被稱為“修正”特征映射。

圖9: ReLU 操作

其他非線性函數(shù)諸如 tanh 或 sigmoid 也可以用來代替 ReLU,但是在大多數(shù)情況下,ReLU 的表現(xiàn)更好。

池化

空間池化(也稱為子采樣或下采樣)可降低每個(gè)特征映射的維度,并保留最重要的信息??臻g池化有幾種不同的方式:較大值,平均值,求和等。

在較大池化的情況下,我們定義一個(gè)空間鄰域(例如,一個(gè)2 × 2窗口),并取修正特征映射在該窗口內(nèi)較大的元素。當(dāng)然我們也可以取該窗口內(nèi)所有元素的平均值(平均池化)或所有元素的總和。在實(shí)際運(yùn)用中,較大池化的表現(xiàn)更好。

圖10展示了通過2 × 2窗口在修正特征映射(卷積+ ReLU 操作后得到)上應(yīng)用較大池化操作的示例。

圖10: 較大池化

我們將2 x 2窗口移動(dòng)2個(gè)單元格(也稱為“步幅”),并取每個(gè)區(qū)域中的較大值。如圖10所示,這樣就降低了特征映射的維度。

在圖11所示的網(wǎng)絡(luò)中,池化操作分別應(yīng)用于每個(gè)特征映射(因此,我們從三個(gè)輸入映射中得到了三個(gè)輸出映射)。

圖11: 在修正特征映射上應(yīng)用池化

圖12展示了我們對(duì)圖9中經(jīng)過 ReLU 操作之后得到的修正特征映射應(yīng)用池化之后的效果。

圖12: 池化

池化的作用是逐步減少輸入的空間大小[4]。具體來說有以下四點(diǎn):

使輸入(特征維度)更小,更易于管理

減少網(wǎng)絡(luò)中的參數(shù)和運(yùn)算次數(shù),因此可以控制過擬合 [4]

使網(wǎng)絡(luò)對(duì)輸入圖像微小的變換、失真和平移更加穩(wěn)?。ㄝ斎雸D片小幅度的失真不會(huì)改池化的輸出結(jié)果 —— 因?yàn)槲覀內(nèi)×肃徲虻妮^大值/平均值)。

可以得到尺度幾乎不變的圖像(確切的術(shù)語是“等變”)。這是非常有用的,這樣無論圖片中的物體位于何處,我們都可以檢測(cè)到,(詳情參閱[18]和[19])。

至此…

圖13

目前為止,我們已經(jīng)了解了卷積,ReLU 和池化的工作原理。這些是卷積神經(jīng)網(wǎng)絡(luò)的基本組成部分,理解這一點(diǎn)很重要。如圖13所示,我們有兩個(gè)由卷積,ReLU 和 Pooling 組成的中間層 —— 第二個(gè)卷積層使用六個(gè)過濾器對(duì)第一層的輸出執(zhí)行卷積,生成六個(gè)特征映射。然后將 ReLU 分別應(yīng)用于這六個(gè)特征映射。接著,我們對(duì)六個(gè)修正特征映射分別執(zhí)行較大池化操作。

這兩個(gè)中間層的作用都是從圖像中提取有用的特征,在網(wǎng)絡(luò)中引入非線性因素,同時(shí)對(duì)特征降維并使其在尺度和平移上等變[18]。

第二個(gè)池化層的輸出即完全連接層的輸入,我們將在下一節(jié)討論。

完全連接層

完全連接層是一個(gè)傳統(tǒng)的多層感知器,它在輸出層使用 softmax 激活函數(shù)(也可以使用其他分類器,比如 SVM,但在本文只用到了 softmax)?!巴耆B接”這個(gè)術(shù)語意味著前一層中的每個(gè)神經(jīng)元都連接到下一層的每個(gè)神經(jīng)元。 如果對(duì)多層感知器不甚了解,我建議您閱讀這篇文章。

卷積層和池化層的輸出代表了輸入圖像的高級(jí)特征。完全連接層的目的是利用這些基于訓(xùn)練數(shù)據(jù)集得到的特征,將輸入圖像分為不同的類。例如,我們要執(zhí)行的圖像分類任務(wù)有四個(gè)可能的輸出,如圖14所示(請(qǐng)注意,圖14沒有展示出完全連接層中節(jié)點(diǎn)之間的連接)

圖14: 完全連接層——每個(gè)節(jié)點(diǎn)都與相鄰層的其他節(jié)點(diǎn)連接

除分類之外,添加完全連接層也是一個(gè)(通常來說)比較簡(jiǎn)單的學(xué)習(xí)這些特征非線性組合的方式。卷積層和池化層得到的大部分特征對(duì)分類的效果可能也不錯(cuò),但這些特征的組合可能會(huì)更好[11]。

完全連接層的輸出概率之和為1。這是因?yàn)槲覀冊(cè)谕耆B接層的輸出層使用了 softmax 激活函數(shù)。Softmax 函數(shù)取任意實(shí)數(shù)向量作為輸入,并將其壓縮到數(shù)值在0到1之間,總和為1的向量。

正式開始——使用反向傳播進(jìn)行訓(xùn)練

如上所述,卷積+池化層用來從輸入圖像提取特征,完全連接層用來做分類器。

注意,在圖15中,由于輸入圖像是船,對(duì)于船類目標(biāo)概率為1,其他三個(gè)類為0

輸入圖像 = 船

目標(biāo)向量 = [0, 0, 1, 0]

圖15:訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)

卷積網(wǎng)絡(luò)的整體訓(xùn)練過程概括如下:

步驟1:用隨機(jī)值初始化所有過濾器和參數(shù)/權(quán)重

步驟2:神經(jīng)網(wǎng)絡(luò)將訓(xùn)練圖像作為輸入,經(jīng)過前向傳播步驟(卷積,ReLU 和池化操作以在完全連接層中的前向傳播),得到每個(gè)類的輸出概率。

假設(shè)上面船只圖像的輸出概率是 [0.2,0.4,0.1,0.3]

由于權(quán)重是隨機(jī)分配給第一個(gè)訓(xùn)練樣本,因此輸出概率也是隨機(jī)的。

步驟3:計(jì)算輸出層的總誤差(對(duì)所有4個(gè)類進(jìn)行求和)

總誤差=∑ ?(目標(biāo)概率 – 輸出概率)2

步驟4:使用反向傳播計(jì)算網(wǎng)絡(luò)中所有權(quán)重的誤差梯度,并使用梯度下降更新所有過濾器值/權(quán)重和參數(shù)值,以最小化輸出誤差。

根據(jù)權(quán)重對(duì)總誤差的貢獻(xiàn)對(duì)其進(jìn)行調(diào)整。

當(dāng)再次輸入相同的圖像時(shí),輸出概率可能就變成了 [0.1,0.1,0.7,0.1],這更接近目標(biāo)向量 [0,0,1,0]。

這意味著網(wǎng)絡(luò)已經(jīng)學(xué)會(huì)了如何通過調(diào)整其權(quán)重/過濾器并減少輸出誤差的方式對(duì)特定圖像進(jìn)行正確分類。

過濾器數(shù)量、大小,網(wǎng)絡(luò)結(jié)構(gòu)等參數(shù)在步驟1之前都已經(jīng)固定,并且在訓(xùn)練過程中不會(huì)改變 —— 只會(huì)更新濾器矩陣和連接權(quán)值。

步驟5:對(duì)訓(xùn)練集中的所有圖像重復(fù)步驟2-4。

?

通過以上步驟就可以訓(xùn)練出卷積神經(jīng)網(wǎng)絡(luò) —— 這實(shí)際上意味著卷積神經(jīng)網(wǎng)絡(luò)中的所有權(quán)重和參數(shù)都已經(jīng)過優(yōu)化,可以對(duì)訓(xùn)練集中的圖像進(jìn)行正確分類。

當(dāng)我們給卷積神經(jīng)網(wǎng)絡(luò)中輸入一個(gè)新的(未見過的)圖像時(shí),網(wǎng)絡(luò)會(huì)執(zhí)行前向傳播步驟并輸出每個(gè)類的概率(對(duì)于新圖像,計(jì)算輸出概率所用的權(quán)重是之前優(yōu)化過,并能夠?qū)τ?xùn)練集完全正確分類的)。如果我們的訓(xùn)練集足夠大,神經(jīng)網(wǎng)絡(luò)會(huì)有很好的泛化能力(但愿如此)并將新圖片分到正確的類里。

注1:為了給大家提供一個(gè)直觀的訓(xùn)練過程,上述步驟已經(jīng)簡(jiǎn)化了很多,并且忽略了數(shù)學(xué)推導(dǎo)過程。如果想要數(shù)學(xué)推導(dǎo)以及對(duì)卷積神經(jīng)網(wǎng)絡(luò)透徹的理解,請(qǐng)參閱 [4] 和 [12]。

注2:上面的例子中,我們使用了兩組交替的卷積和池化層。但請(qǐng)注意,這些操作可以在一個(gè)卷積神經(jīng)網(wǎng)絡(luò)中重復(fù)執(zhí)行多次。實(shí)際上,現(xiàn)在效果較好的一些卷積神經(jīng)網(wǎng)絡(luò)都包含幾十個(gè)卷積和池化層! 另外,每個(gè)卷積層之后的池化層不是必需的。從下面的圖16中可以看出,在進(jìn)行池化操作之前,我們可以連續(xù)進(jìn)行多個(gè)卷積 + ReLU 操作。另外請(qǐng)注意圖16卷積神經(jīng)網(wǎng)絡(luò)的每一層是如何展示的。

圖16

卷積神經(jīng)網(wǎng)絡(luò)的可視化

一般來說,卷積步驟越多,神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)識(shí)別的特征就更復(fù)雜。例如,在圖像分類中,卷積神經(jīng)網(wǎng)絡(luò)在第一層可能會(huì)學(xué)習(xí)檢測(cè)原始像素的邊緣,然后在第二層利用這些邊緣檢測(cè)簡(jiǎn)單形狀,然后在更高級(jí)的層用這些形狀來檢測(cè)高級(jí)特征,例如面部形狀 [14]。圖17演示了這個(gè)過程 —— 這些特征是使用卷積深度信念網(wǎng)絡(luò)學(xué)習(xí)的,這張圖片只是為了演示思路(這只是一個(gè)例子:實(shí)際上卷積過濾器識(shí)別出來的對(duì)象可能對(duì)人來說并沒有什么意義)。

圖17: 卷積深度信念網(wǎng)絡(luò)學(xué)習(xí)特征

Adam Harley 創(chuàng)建了一個(gè)基于 MNIST 手寫數(shù)字?jǐn)?shù)據(jù)集 [13]訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的可視化。我強(qiáng)烈推薦大家 使用它來了解卷積神經(jīng)網(wǎng)絡(luò)的工作細(xì)節(jié)。

我們?cè)谙聢D中可以看到神經(jīng)網(wǎng)絡(luò)對(duì)于輸入數(shù)字“8”的具體操作細(xì)節(jié)。請(qǐng)注意,圖18中并未多帶帶顯示ReLU操作。

圖18:基于手寫數(shù)字訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的可視化

輸入圖像包含 1024 個(gè)像素點(diǎn)(32 × 32 圖像),第一個(gè)卷積層(卷積層1)由六個(gè)不同的5 × 5(步幅為1)過濾器與輸入圖像卷積而成。如圖所示,使用六個(gè)不同的過濾器得到深度為六的特征映射。

卷積層1之后是池化層1,它在卷積層1中的六個(gè)特征映射上分別進(jìn)行2 × 2較大池化(步幅為2)。將鼠標(biāo)指針移動(dòng)到池化層的任意像素上,可以觀察到它來自于2 x 2網(wǎng)格在前一個(gè)卷積層中的作用(如圖19所示)。注意到2 x 2網(wǎng)格中具有較大值(最亮的那個(gè))的像素點(diǎn)會(huì)被映射到池化層。

圖19:池化操作可視化

池化層1之后是十六個(gè)執(zhí)行卷積操作的5 × 5(步幅為1)卷積過濾器。然后是執(zhí)行2 × 2較大池化(步幅為2)的池化層2。 這兩層的作用與上述相同。

然后有三個(gè)完全連接(FC)層:

第一個(gè)FC層中有120個(gè)神經(jīng)元

第二個(gè)FC層中有100個(gè)神經(jīng)元

第三個(gè)FC層中的10個(gè)神經(jīng)元對(duì)應(yīng)于10個(gè)數(shù)字 —— 也稱為輸出層

注意,在圖20中,輸出層的10個(gè)節(jié)點(diǎn)每一個(gè)都連接到第二個(gè)完全連接層中的全部100個(gè)節(jié)點(diǎn)(因此稱為完全連接)。

另外,注意為什么輸出層中明亮的節(jié)點(diǎn)是’8’ —— 這意味著神經(jīng)網(wǎng)絡(luò)對(duì)我們的手寫數(shù)字進(jìn)行了正確分類(節(jié)點(diǎn)亮度越高表示它的輸出更高,即8在所有數(shù)字中具有較高的概率)。

圖20:完全連接層可視化

該可視化系統(tǒng)的 3D 版本在此。

其他卷積神經(jīng)網(wǎng)絡(luò)框架

卷積神經(jīng)網(wǎng)絡(luò)始于20世紀(jì)90年代初。我們已經(jīng)討論了LeNet,它是最早的卷積神經(jīng)網(wǎng)絡(luò)之一。下面列出了其他一些有影響力的神經(jīng)網(wǎng)絡(luò)框架 [3] [4]。

LeNet (20世紀(jì)90年代):本文已詳述。

20世紀(jì)90年代到2012年:從20世紀(jì)90年代后期到2010年初,卷積神經(jīng)網(wǎng)絡(luò)正處于孵化期。隨著越來越多的數(shù)據(jù)和計(jì)算能力的提升,卷積神經(jīng)網(wǎng)絡(luò)可以解決的任務(wù)變得越來越有趣。

AlexNet(2012) – 2012年,Alex Krizhevsky(和其他人)發(fā)布了 AlexNet,它是提升了深度和廣度版本的 LeNet,并在2012年以巨大優(yōu)勢(shì)贏得了 ImageNet 大規(guī)模視覺識(shí)別挑戰(zhàn)賽(ILSVRC)。這是基于之前方法的重大突破,目前 CNN 的廣泛應(yīng)用都要?dú)w功于 AlexNet。

ZF Net(2013) – 2013年 ILSVRC 獲獎(jiǎng)?wù)邅碜?Matthew Zeiler 和 Rob Fergus 的卷積網(wǎng)絡(luò)。它被稱為 ZFNet(Zeiler 和 Fergus Net 的簡(jiǎn)稱)。它在 AlexNet 的基礎(chǔ)上通過調(diào)整網(wǎng)絡(luò)框架超參數(shù)對(duì)其進(jìn)行了改進(jìn)。

GoogLeNet(2014) – 2014年 ILSVRC 獲獎(jiǎng)?wù)呤?Google 的 Szegedy 等人的卷積網(wǎng)絡(luò)。其主要貢獻(xiàn)是開發(fā)了一個(gè)初始模塊,該模塊大大減少了網(wǎng)絡(luò)中的參數(shù)數(shù)量(4M,而 AlexNet 有60M)。

VGGNet(2014) – 2014年 ILSVRC 亞軍是名為 VGGNet 的網(wǎng)絡(luò)。其主要貢獻(xiàn)在于證明了網(wǎng)絡(luò)深度(層數(shù))是影響性能的關(guān)鍵因素。

ResNets(2015) – 何凱明(和其他人)開發(fā)的殘差網(wǎng)絡(luò)是2015年 ILSVRC 的冠軍。ResNets 是迄今為止較先進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)模型,并且是大家在實(shí)踐中使用卷積神經(jīng)網(wǎng)絡(luò)的默認(rèn)選擇(截至2016年5月)。

DenseNet(2016年8月) – 最近由黃高等人發(fā)表,密集連接卷積網(wǎng)絡(luò)的每一層都以前饋方式直接連接到其他層。 DenseNet 已經(jīng)在五項(xiàng)競(jìng)爭(zhēng)激烈的對(duì)象識(shí)別基準(zhǔn)測(cè)試任務(wù)中證明自己比之前較先進(jìn)的框架有了顯著的改進(jìn)。具體實(shí)現(xiàn)請(qǐng)參考這個(gè)網(wǎng)址。

結(jié)論

本文中,我嘗試著用一些簡(jiǎn)單的術(shù)語解釋卷積神經(jīng)網(wǎng)絡(luò)背后的主要概念,同時(shí)簡(jiǎn)化/略過了幾個(gè)細(xì)節(jié)部分,但我希望這篇文章能夠讓你直觀地理解其工作原理。

本文最初是受 Denny Britz 《理解卷積神經(jīng)網(wǎng)絡(luò)在自然語言處理上的運(yùn)用》這篇文章的啟發(fā)(推薦閱讀),文中的許多解釋是基于這篇文章的。為了更深入地理解其中一些概念,我鼓勵(lì)您閱讀斯坦福大學(xué)卷積神經(jīng)網(wǎng)絡(luò)課程的筆記以及一下參考資料中提到的其他很棒的資源。如果您對(duì)上述概念的理解遇到任何問題/建議,請(qǐng)隨時(shí)在下面留言。

文中所使用的所有圖像和動(dòng)畫均屬于其各自的作者,陳列如下。

參考

karpathy/neuraltalk2: Efficient Image Captioning code in Torch, Examples

Shaoqing Ren, et al, “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks”, 2015, arXiv:1506.01497

Neural Network Architectures, Eugenio Culurciello’s blog

CS231n Convolutional Neural Networks for Visual Recognition, Stanford

Clarifai/Technology

Machine Learning is Fun! Part 3: Deep Learning and Convolutional Neural Networks

Feature extraction using convolution, Stanford

Wikipedia article on Kernel (image processing)

Deep Learning Methods for Vision, CVPR 2012 Tutorial

Neural Networks by Rob Fergus, Machine Learning Summer School 2015

What do the fully connected layers do in CNNs?

Convolutional Neural Networks, Andrew Gibiansky

W. Harley, “An Interactive Node-Link Visualization of Convolutional Neural Networks,” in ISVC, pages 867-877, 2015 (link). Demo

Understanding Convolutional Neural Networks for NLP

Backpropagation in Convolutional Neural Networks

A Beginner’s Guide To Understanding Convolutional Neural Networks

Vincent Dumoulin, et al, “A guide to convolution arithmetic for deep learning”, 2015, arXiv:1603.07285

What is the difference between deep learning and usual machine learning?

How is a convolutional neural network able to learn invariant features?

A Taxonomy of Deep Convolutional Neural Nets for Computer Vision

Honglak Lee, et al, “Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations” (link)

歡迎加入本站公開興趣群

商業(yè)智能與數(shù)據(jù)分析群

興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價(jià)值的辦法,實(shí)際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉庫,數(shù)據(jù)挖掘工具,報(bào)表系統(tǒng)等全方位知識(shí)

QQ群:81035754

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/4746.html

相關(guān)文章

  • 【機(jī)器學(xué)習(xí)基礎(chǔ)】卷積神經(jīng)網(wǎng)絡(luò)CNN)基礎(chǔ)

    摘要:而在卷積神經(jīng)網(wǎng)絡(luò)中,這兩個(gè)神經(jīng)元可以共用一套參數(shù),用來做同一件事情。卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)如圖所示從右到左,輸入一張圖片卷積層池化層卷積層池化層展開全連接神經(jīng)網(wǎng)絡(luò)輸出。最近幾天陸續(xù)補(bǔ)充了一些線性回歸部分內(nèi)容,這節(jié)繼續(xù)機(jī)器學(xué)習(xí)基礎(chǔ)部分,這節(jié)主要對(duì)CNN的基礎(chǔ)進(jìn)行整理,僅限于基礎(chǔ)原理的了解,更復(fù)雜的內(nèi)容和實(shí)踐放在以后再進(jìn)行總結(jié)。卷積神經(jīng)網(wǎng)絡(luò)的基本原理  前面對(duì)全連接神經(jīng)網(wǎng)絡(luò)...

    番茄西紅柿 評(píng)論0 收藏2637
  • 用于圖像分割的卷積神經(jīng)網(wǎng)絡(luò):從R-CNN到Mark R-CNN

    摘要:自從和在年贏得了的冠軍,卷積神經(jīng)網(wǎng)絡(luò)就成為了分割圖像的黃金準(zhǔn)則。事實(shí)上,從那時(shí)起,卷積神經(jīng)網(wǎng)絡(luò)不斷獲得完善,并已在挑戰(zhàn)上超越人類?,F(xiàn)在,卷積神經(jīng)網(wǎng)絡(luò)在的表現(xiàn)已超越人類。 卷積神經(jīng)網(wǎng)絡(luò)(CNN)的作用遠(yuǎn)不止分類那么簡(jiǎn)單!在本文中,我們將看到卷積神經(jīng)網(wǎng)絡(luò)(CNN)如何在圖像實(shí)例分割任務(wù)中提升其結(jié)果。自從 Alex Krizhevsky、Geoff Hinton 和 Ilya Sutskever ...

    daydream 評(píng)論0 收藏0
  • 計(jì)算機(jī)視覺和 CNN 發(fā)展十一座里程碑

    摘要:從到,計(jì)算機(jī)視覺領(lǐng)域和卷積神經(jīng)網(wǎng)絡(luò)每一次發(fā)展,都伴隨著代表性架構(gòu)取得歷史性的成績。在這篇文章中,我們將總結(jié)計(jì)算機(jī)視覺和卷積神經(jīng)網(wǎng)絡(luò)領(lǐng)域的重要進(jìn)展,重點(diǎn)介紹過去年發(fā)表的重要論文并討論它們?yōu)槭裁粗匾?。這個(gè)表現(xiàn)不用說震驚了整個(gè)計(jì)算機(jī)視覺界。 從AlexNet到ResNet,計(jì)算機(jī)視覺領(lǐng)域和卷積神經(jīng)網(wǎng)絡(luò)(CNN)每一次發(fā)展,都伴隨著代表性架構(gòu)取得歷史性的成績。作者回顧計(jì)算機(jī)視覺和CNN過去5年,總結(jié)...

    劉厚水 評(píng)論0 收藏0
  • Matlab編程之——卷積神經(jīng)網(wǎng)絡(luò)CNN代碼解析

    摘要:是一個(gè)深度學(xué)習(xí)包,里面含有很多機(jī)器學(xué)習(xí)算法,如卷積神經(jīng)網(wǎng)絡(luò),深度信念網(wǎng)絡(luò),自動(dòng)編碼堆棧,卷積的作者是。對(duì)于每個(gè)卷積輸出,表示該層的一個(gè)輸出,所對(duì)應(yīng)的所有卷積核,包含的神經(jīng)元的總數(shù)。 deepLearnToolbox-master是一個(gè)深度學(xué)習(xí)matlab包,里面含有很多機(jī)器學(xué)習(xí)算法,如卷積神經(jīng)網(wǎng)絡(luò)CNN,深度信念網(wǎng)絡(luò)DBN,自動(dòng)編碼AutoEncoder(堆棧SAE,卷積CAE)的作者是 R...

    senntyou 評(píng)論0 收藏0
  • 卷積神經(jīng)網(wǎng)絡(luò)CNN)之一維卷積、二維卷積、三維卷積詳解

    摘要:一維卷積常用于序列模型,自然語言處理領(lǐng)域。三維卷積這里采用代數(shù)的方式對(duì)三維卷積進(jìn)行介紹,具體思想與一維卷積二維卷積相同。 由于計(jì)算機(jī)視覺的大紅大紫,二維卷積的用處范圍最廣。因此本文首先介紹二維卷積,之后再介紹一維卷積與三維卷積的具體流程,并描述其各自的具體應(yīng)用。1、二維卷積?? ? 圖中的輸入的數(shù)據(jù)維度為 14 × 14 ,過濾器大小為 5 × 5,二者做卷積,輸出的數(shù)據(jù)維度為 10 × 1...

    renweihub 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<