作者以拋球?qū)嶒?yàn)為例講解了許多卷積的數(shù)學(xué)原理和機(jī)制,并通過卷積來(lái)表述卷積神經(jīng)網(wǎng)絡(luò)。文章附有大量圖片解釋,幫助大家更容易理解。
拋球?qū)嶒?yàn) -- Ball drop experiment
想象一下,我們把一個(gè)球從某個(gè)高度落到地面上,它只有一個(gè)運(yùn)動(dòng)維度。如果你把球落下,然后再?gòu)乃穆潼c(diǎn)上方把它落下,球會(huì)走一段距離 的可能性有多大?
我們來(lái)分析一下: 第一次下落后,它將以概率 落在離起點(diǎn)一個(gè)單位的地方,其中是概率分布?,F(xiàn)在,在第一次落下之后,我們把球撿起來(lái),從它第一次落地點(diǎn)以上的另一個(gè)高度落下。球從新的起點(diǎn)滾動(dòng) 個(gè)單位的概率是 ,如果它是從不同的高度落下的,那么 可能是不同的概率分布。
如果我們把第一次下落的結(jié)果固定下來(lái),使我們知道球走了距離 ,對(duì)于球走的總距離 ,第二次下落時(shí)走的距離也固定為 ,即 。所以這種情況發(fā)生的概率簡(jiǎn)單來(lái)說(shuō)就是 。。
我們用一個(gè)具體的離散例子來(lái)思考這個(gè)問題。我們希望總距離 為 3。如果它第一次滾動(dòng),,那么第二次必須滾動(dòng) ,才能達(dá)到我們的總距離 。這個(gè)概率是 。
然而,這并不是我們可以達(dá)到總距離3的唯一方法。球可以第一次滾1個(gè)單位,第二次滾2個(gè)單位?;蛘叩谝淮螡L0個(gè)單位,第二次滾3個(gè)單位。它可以是任何 和 ,只要他們加起來(lái)是 3。
為了求出小球到達(dá)總 的總概率,我們不能只考慮到達(dá) 的一種可能方式,而是考慮將 分成 和 的所有可能方式,并將每種方式的概率相加。
我們已經(jīng)知道, 的每一種情況的概率簡(jiǎn)單來(lái)說(shuō)就是 。所以,將 的每一個(gè)解求和,我們可以將總似然表示為。
和 的卷積,在 處被定義為。
如果我們把代入,我們得到。
為了使這一點(diǎn)更加具體,我們可以從球可能落地的位置來(lái)考慮。在第一次落地后,它將以概率 落在中間位置 。如果它落在 處,它落在 處的概率為 。
為了得到卷積,我們需要考慮所有的中間位置。
可視化卷積 -- Visualizing Convolutions
假設(shè)一個(gè)球落在離原點(diǎn)一定距離 的概率是。那么,它 從 處返回原點(diǎn)的的概率是。
如果我們知道球在第二次落地后落在 處,那么第一次的位置是 的概率是多少?
所以,前一個(gè)位置是 的概率是 。
每個(gè)中間位置球最終落在 處的概率。我們知道第一個(gè)落點(diǎn)把球放到中間位置 的概率是 。我們還知道,如果它落在 處,它在 處的概率是 。
將 的所有可能值相加,我們得到卷積結(jié)果。
通過移動(dòng)下半部分,當(dāng)分布對(duì)齊時(shí),卷積達(dá)到峰值。
并且隨著分布之間的交點(diǎn)越來(lái)越小而縮小。
下圖,我們能夠直觀地看到三角波與方波函數(shù)的卷積。
掌握了這個(gè)要點(diǎn),很多概念變得更加直觀。
在音頻處理中有時(shí)會(huì)用到卷積。例如,人們可能會(huì)使用一個(gè)有兩個(gè)尖峰,但其他地方都是零的函數(shù)來(lái)創(chuàng)建一個(gè)回聲。當(dāng)我們的雙尖峰函數(shù)滑動(dòng)時(shí),一個(gè)尖峰首先擊中一個(gè)時(shí)間點(diǎn),將該信號(hào)添加到輸出聲音中,之后,另一個(gè)尖峰跟隨,添加第二個(gè)延遲的副本。
高維卷積--Higher Dimensional Convolutions
卷積不僅僅適用于1維看空間,也適用于高維空間。
回顧開頭的例子,落下的球?,F(xiàn)在,當(dāng)它落下時(shí),它的位置不僅在一維中移動(dòng),而且在二維中移動(dòng)。
和前面的卷積一樣。
只是,現(xiàn)在 , , 和 都是向量。更明確地說(shuō),
標(biāo)準(zhǔn)定義:
就像一維卷積一樣,我們可以把二維卷積看成是把一個(gè)函數(shù)滑動(dòng)到另一個(gè)函數(shù)之上,進(jìn)行乘法和加法。
卷積神經(jīng)網(wǎng)絡(luò)--Convolutional Neural Networks
那么,卷積與卷積神經(jīng)網(wǎng)絡(luò)的關(guān)系如何呢?
在一個(gè)1維卷積層中,輸入 ,輸出 。
從信號(hào)與系統(tǒng)的角度來(lái)描述,
是輸入信號(hào),是輸出信號(hào), 是系統(tǒng),這個(gè)系統(tǒng)由 個(gè)神經(jīng)元組成,可以用輸入來(lái)描述輸出。
也可以用神經(jīng)網(wǎng)絡(luò)的方式來(lái)描述
其中 是輸入, 是權(quán)重。權(quán)重描述了神經(jīng)元與輸入的連接方式。
負(fù)的權(quán)重意味著輸入會(huì)抑制神經(jīng)元發(fā)射,而正的權(quán)重則鼓勵(lì)它發(fā)射。
權(quán)重是神經(jīng)元的心臟,控制著它的行為。如果說(shuō)2個(gè)神經(jīng)元是相同的,即它們的權(quán)重是相同的。
其中一個(gè)常見的應(yīng)用是圖像處理。我們可以把圖像看作是二維函數(shù)。許多重要的圖像變換都是卷積,你用一個(gè)非常小的局部函數(shù)(稱為 “內(nèi)核”)對(duì)圖像函數(shù)進(jìn)行卷積。
在上面的演示中,綠色部分類似于我們的 5x5x1 輸入圖像 。在卷積層的第一部分進(jìn)行卷積操作的元素被稱為Kernel/Filter, 用黃色表示。我們選擇一個(gè)3x3x1矩陣作為Kernel。
Kernel 以一定的步伐向右移動(dòng),直到它解析出整行的寬度。接著,它以相同的步伐值跳到圖像的開頭(左邊),并重復(fù)這個(gè)過程,直到遍歷整個(gè)圖像。
在多通道圖像的情況下( 如RGB ),Kernel 的深度與輸入圖像的深度相同。Kernel 與圖片 進(jìn)行矩陣乘法,然后將所有結(jié)果與偏置相加,得到一個(gè)單通道卷積特征輸出。
卷積操作的目的是從輸入圖像中提取高級(jí)特征,如邊緣。傳統(tǒng)上,卷積層可以捕捉低級(jí)特征,如邊緣、顏色、梯度方向等。隨著層數(shù)的增加,架構(gòu)也可以捕捉高階特征,讓我們的神經(jīng)網(wǎng)絡(luò)對(duì)圖像有更深刻的理解。
該卷積有兩種結(jié)果--一種是卷積特征與輸入相比維度減少,有效填充(Valide Padding)。另一種是維度增加或保持不變,相同填充(Same Padding)。
當(dāng)我們將5x5x1的圖像填充為6x6x1的圖像,然后在其上應(yīng)用3x3x1的核,我們發(fā)現(xiàn)卷積矩陣變成了5x5x1的尺寸。因此,我們將其命名為--相同填充(Same Padding)。
另一方面,如果我們?cè)跊]有填充的情況下執(zhí)行同樣的操作,我們將得到一個(gè)具有內(nèi)核(3x3x1)本身尺寸的矩陣--有效填充(Valide Padding)。
池化層 -- Pooling Layer
與卷積層類似,Pooling層負(fù)責(zé)減少卷積特征的空間大小。這是為了通過降低維度來(lái)降低處理數(shù)據(jù)所需的計(jì)算能力。此外,它還有助于提取旋轉(zhuǎn)和位置不變的主導(dǎo)特征,從而保持模型的有效訓(xùn)練過程。下圖表示在5x5卷積特征上的3x3池化。
有兩種類型的池化。最大池化和平均池化。最大池化(Max Pooling)返回的是Kernel覆蓋的圖像部分的最大值。另一方面,平均池化(Average Pooling)返回Kernel覆蓋的圖像部分的所有值的平均值。
Max Pooling也是一種噪聲抑制器。它完全丟棄了嘈雜的激活,并在降低維度的同時(shí)進(jìn)行去噪。另一方面,Average Pooling只是作為噪聲抑制機(jī)制進(jìn)行維度降低。因此,我們可以說(shuō)Max Pooling的性能比Average Pooling好很多。
卷積層和池化層,共同構(gòu)成了卷積神經(jīng)網(wǎng)絡(luò)的第層。根據(jù)圖像的復(fù)雜程度,可以增加這些層的數(shù)量,以便進(jìn)一步捕捉低層次的細(xì)節(jié),但代價(jià)是增加計(jì)算能力。
在經(jīng)歷了上述過程后,我們已經(jīng)成功地使模型理解了特征。接下來(lái),我們要將最終的輸出結(jié)果進(jìn)行扁平化處理,并將其饋送到普通的神經(jīng)網(wǎng)絡(luò)中,以達(dá)到分類的目的。
全連接層(FC層) —- Fully Connected Layer (FC Layer)
全連接層正在學(xué)習(xí)該空間中可能的非線性函數(shù)。
現(xiàn)在,我們已經(jīng)將輸入圖像轉(zhuǎn)換為適合多級(jí)感知器 (Multi-Level Perceptron) 的形式,我們將把圖像扁平化(Flatten layer)為列向量。扁平化的輸出被送入前饋神經(jīng)網(wǎng)絡(luò),并在每次訓(xùn)練迭代中應(yīng)用反向傳播。在一系列的紀(jì)元中,該模型能夠區(qū)分圖像中的主導(dǎo)特征和某些低級(jí)特征,并使用Softmax分類方法對(duì)其進(jìn)行分類。
總結(jié) -- Conclusion
我們?cè)谶@篇博文中介紹了很多數(shù)學(xué)機(jī)制,但我們獲得的東西可能并不明顯。卷積顯然是概率論和計(jì)算機(jī)圖形學(xué)中的一個(gè)有用工具,但是用卷積來(lái)表述卷積神經(jīng)網(wǎng)絡(luò),我們獲得了什么?
第一個(gè)好處是,我們有了一些非常強(qiáng)大的語(yǔ)言來(lái)描述神經(jīng)網(wǎng)絡(luò)的層。卷積大大簡(jiǎn)化了繁瑣的計(jì)算工作。
其次,卷積非常容易實(shí)現(xiàn)?,F(xiàn)存的許多庫(kù)都提供了高效的卷積方法。
此外,卷積看起來(lái)是一個(gè) 操作,但使用一些相當(dāng)深刻的數(shù)學(xué)見解,可以創(chuàng)建一個(gè) 的實(shí)現(xiàn)。
Tips:
我們想知道球第一次滾動(dòng) 單位,第二次滾動(dòng) 單位的概率。所以 。
卷積滿足交換律,即 。
卷積滿足結(jié)合律的,即,
編輯:jq
-
卷積
+關(guān)注
關(guān)注
0文章
95瀏覽量
18478 -
離散
+關(guān)注
關(guān)注
0文章
35瀏覽量
17720 -
噪聲抑制器
+關(guān)注
關(guān)注
0文章
3瀏覽量
7208
原文標(biāo)題:如何透徹理解卷積的數(shù)據(jù)原理與機(jī)制:從拋球?qū)嶒?yàn)說(shuō)起
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論