這篇文章原地址為 An Intuitive Explanation of Convolutional Neural Networks,卷積神經(jīng)網(wǎng)絡(luò)的講解非常通俗易懂。
什么是卷積神經(jīng)網(wǎng)絡(luò)?為什么它們很重要?
卷積神經(jīng)網(wǎng)絡(luò)(ConvNets 或者 CNNs)屬于神經(jīng)網(wǎng)絡(luò)的范疇,已經(jīng)在諸如圖像識(shí)別和分類的領(lǐng)域證明了其高效的能力。卷積神經(jīng)網(wǎng)絡(luò)可以成功識(shí)別人臉、物體和交通信號(hào),從而為機(jī)器人和自動(dòng)駕駛汽車提供視力。

在上圖中,卷積神經(jīng)網(wǎng)絡(luò)可以識(shí)別場景,也可以提供相關(guān)的標(biāo)簽,比如“橋梁”、“火車”和“網(wǎng)球”;而下圖展示了卷積神經(jīng)網(wǎng)絡(luò)可以用來識(shí)別日常物體、人和動(dòng)物。最近,卷積神經(jīng)網(wǎng)絡(luò)也在一些自然語言處理任務(wù)(比如語句分類)上面展示了良好的效果。

因此,卷積神經(jīng)網(wǎng)絡(luò)對(duì)于今天大多數(shù)的機(jī)器學(xué)習(xí)用戶來說都是一個(gè)重要的工具。然而,理解卷積神經(jīng)網(wǎng)絡(luò)以及首次學(xué)習(xí)使用它們有時(shí)會(huì)很痛苦。那本篇博客的主要目的就是讓我們對(duì)卷積神經(jīng)網(wǎng)絡(luò)如何處理圖像有一個(gè)基本的了解。
如果你是神經(jīng)網(wǎng)絡(luò)的新手,我建議你閱讀下 這篇短小的多層感知器的教程 ,在進(jìn)一步閱讀前對(duì)神經(jīng)網(wǎng)絡(luò)有一定的理解。在本篇博客中,多層感知器叫做“全連接層”。
LeNet 架構(gòu) (1990s)
LeNet 是推進(jìn)深度學(xué)習(xí)領(lǐng)域發(fā)展的最早的卷積神經(jīng)網(wǎng)絡(luò)之一。經(jīng)過多次成功迭代,到 1988 年,Yann LeCun 把這一先驅(qū)工作命名為 LeNet5 。當(dāng)時(shí),LeNet 架構(gòu)主要用于字符識(shí)別任務(wù),比如讀取郵政編碼、數(shù)字等等。
接下來,我們將會(huì)了解 LeNet 架構(gòu)是如何學(xué)會(huì)識(shí)別圖像的。近年來有許多在 LeNet 上面改進(jìn)的新架構(gòu)被提出來,但它們都使用了 LeNet 中的主要概念,如果你對(duì) LeNet 有一個(gè)清晰的認(rèn)識(shí),就相對(duì)比較容易理解。

上圖中的卷積神經(jīng)網(wǎng)絡(luò)和原始的 LeNet 的結(jié)構(gòu)比較相似,可以把輸入的圖像分為四類:狗、貓、船或者鳥(原始的 LeNet 主要用于字符識(shí)別任務(wù))。正如上圖說示,當(dāng)輸入為一張船的圖片時(shí),網(wǎng)絡(luò)可以正確的從四個(gè)類別中把最高的概率分配給船(0.94)。在輸出層所有概率的和應(yīng)該為一(本文稍后會(huì)解釋)。
There are four main operations in the ConvNet shown in Figure 3 above:
在上圖中的 ConvNet 有四個(gè)主要操作:
卷積
非線性處理(ReLU)
池化或者亞采樣
分類(全連接層)
這些操作對(duì)于各個(gè)卷積神經(jīng)網(wǎng)絡(luò)來說都是基本組件,因此理解它們的工作原理有助于充分了解卷積神經(jīng)網(wǎng)絡(luò)。下面我們將會(huì)嘗試?yán)斫飧鞑讲僮鞅澈蟮脑怼?/p>
圖像是像素值的矩陣
本質(zhì)上來說,每張圖像都可以表示為像素值的矩陣:

通道 常用于表示圖像的某種組成。一個(gè)標(biāo)準(zhǔn)數(shù)字相機(jī)拍攝的圖像會(huì)有三通道 - 紅、綠和藍(lán);你可以把它們看作是互相堆疊在一起的二維矩陣(每一個(gè)通道代表一個(gè)顏色),每個(gè)通道的像素值在 0 到 255 的范圍內(nèi)。
灰度 圖像,僅僅只有一個(gè)通道。在本篇文章中,我們僅考慮灰度圖像,這樣我們就只有一個(gè)二維的矩陣來表示圖像。矩陣中各個(gè)像素的值在 0 到 255 的范圍內(nèi)——零表示黑色,255 表示白色。
卷積
卷積神經(jīng)網(wǎng)絡(luò)的名字就來自于其中的 卷積操作 。卷積的主要目的是為了從輸入圖像中提取特征。卷積可以通過從輸入的一小塊數(shù)據(jù)中學(xué)到圖像的特征,并可以保留像素間的空間關(guān)系。我們?cè)谶@里并不會(huì)詳細(xì)講解卷積的數(shù)學(xué)細(xì)節(jié),但我們會(huì)試著理解卷積是如何處理圖像的。
As we discussed above, every image can be considered as a matrix of pixel values. Consider a 5 x 5 image whose pixel values are alt="物聯(lián)網(wǎng)" width="127" height="115" />
同時(shí),考慮下另一個(gè) 3 x 3 的矩陣,如下所示:
