卷积神经网络之卷积计算、作用与思想 深度学习
博客:blog.shinelee.me | 博客園 | CSDN
卷積運(yùn)算與相關(guān)運(yùn)算
在計(jì)算機(jī)視覺領(lǐng)域,卷積核、濾波器通常為較小尺寸的矩陣,比如3×33×3。從這個(gè)角度看,多層卷積是在進(jìn)行逐層映射,整體構(gòu)成一個(gè)復(fù)雜函數(shù),訓(xùn)練過程是在學(xué)習(xí)每個(gè)局部映射所需的權(quán)重,訓(xùn)練過程可以看成是函數(shù)擬合的過程。
從模版匹配的角度理解。 前面我們已經(jīng)知道,卷積與相關(guān)在計(jì)算上可以等價(jià),相關(guān)運(yùn)算常用模板匹配,即認(rèn)為卷積核定義了某種模式,卷積(相關(guān))運(yùn)算是在計(jì)算每個(gè)位置與該模式的相似程度,或者說每個(gè)位置具有該模式的分量有多少,當(dāng)前位置與該模式越像,響應(yīng)越強(qiáng)。下圖為圖像層面的模板匹配(圖片來自鏈接),右圖為響應(yīng)圖,可見狗頭位置的響應(yīng)最大。當(dāng)然,也可以在特征層面進(jìn)行模版匹配,卷積神經(jīng)網(wǎng)絡(luò)中的隱藏層即可以看成是在特征層面進(jìn)行模板匹配。這時(shí),響應(yīng)圖中每個(gè)元素代表的是當(dāng)前位置與該模式的相似程度,單看響應(yīng)圖其實(shí)看不出什么,可以想像每個(gè)位置都有個(gè)“狗頭”,越亮的地方越像“狗頭”,若給定模板甚至可以通過反卷積的方式將圖像復(fù)原出來。這里多說一句,我們真的是想把圖像復(fù)原出來嗎,我們希望的是在圖像中找到需要的模式,若是通過一個(gè)非線性函數(shù),將響應(yīng)圖中完全不像“狗頭”的地方清零,而將像“狗頭”的地方保留,然后再將圖像復(fù)原,發(fā)現(xiàn)復(fù)原圖中只有一個(gè)“狗頭”,這是不是更美好——因?yàn)槲覀兠鞔_了圖像中的模式,而減少了其他信息的干擾!
-
本篇文章將傾向于從第2個(gè)角度來理解卷積神經(jīng)網(wǎng)絡(luò)。
卷積能抽取特征
上一節(jié)中提到了“狗頭”模板,如果把卷積核定為“狗頭”模板會(huì)有什么問題?將缺乏靈活性,或者說泛化能力不夠,因?yàn)楣返淖藨B(tài)變化是多樣的,如果直接把卷積核定義得這么“死板”,狗換個(gè)姿勢或者換一條狗就不認(rèn)得了。
那么,為了適應(yīng)目標(biāo)的多樣性,卷積核該怎么設(shè)計(jì)呢?這個(gè)問題,我們在下一節(jié)回答,這里先看看人工定義的卷積核是如何提取特征的。
以下圖sobel算子為例(圖片來自鏈接),對圖像進(jìn)行卷積,獲得圖像的邊緣響應(yīng)圖,當(dāng)我們看到響應(yīng)圖時(shí),要知道圖中每個(gè)位置的響應(yīng)代表著這個(gè)位置在原圖中有個(gè)形似sobel算子的邊緣,信息被壓縮了,響應(yīng)圖里的一個(gè)數(shù)值其實(shí)代表了這個(gè)位置有個(gè)相應(yīng)強(qiáng)度的sobel邊緣模式,我們通過卷積抽取到了特征。
人工能定義邊緣這樣的簡單卷積核來描述簡單模式,但是更復(fù)雜的模式怎么辦,像人臉、貓、狗等等,盡管每個(gè)狗長得都不一樣,但是我們即使從未見過某種狗,當(dāng)看到了也會(huì)知道那是狗,所以對于狗這個(gè)群體一定是存在著某種共有的模式,讓我們?nèi)四軌虮嬲J(rèn)出來,但問題是這種模式如何定義?在上一節(jié),我們知道“死板”地定義個(gè)狗的模板是不行的,其缺乏泛化能力,我們該怎么辦?
通過多層卷積,來將簡單模式組合成復(fù)雜模式,通過這種靈活的組合來保證具有足夠的表達(dá)能力和泛化能力。
多層卷積能抽取復(fù)雜特征
為了直觀,我們先上圖,圖片出自論文《Visualizing and Understanding Convolutional Networks》,作者可視化了卷積神經(jīng)網(wǎng)絡(luò)每層學(xué)到的特征,當(dāng)輸入給定圖片時(shí),每層學(xué)到的特征如下圖所示,注意,我們上面提到過每層得到的特征圖直接觀察是看不出什么的,因?yàn)槠渲忻總€(gè)位置都代表了某種模式,需要在這個(gè)位置將模式復(fù)現(xiàn)出來才能形成人能夠理解的圖像,作者在文中將這個(gè)復(fù)現(xiàn)過程稱之為deconvolution,詳細(xì)查看論文(前文已經(jīng)有所暗示,讀者可以先獨(dú)自思考下復(fù)現(xiàn)會(huì)怎么做)。
從圖中可知,淺層layer學(xué)到的特征為簡單的邊緣、角點(diǎn)、紋理、幾何形狀、表面等,到深層layer學(xué)到的特征則更為復(fù)雜抽象,為狗、人臉、鍵盤等等,有幾點(diǎn)需要注意:
卷積神經(jīng)網(wǎng)絡(luò)每層的卷積核權(quán)重是由數(shù)據(jù)驅(qū)動(dòng)學(xué)習(xí)得來,不是人工設(shè)計(jì)的,人工只能勝任簡單卷積核的設(shè)計(jì),像邊緣,但在邊緣響應(yīng)圖之上設(shè)計(jì)出能描述復(fù)雜模式的卷積核則十分困難。
數(shù)據(jù)驅(qū)動(dòng)卷積神經(jīng)網(wǎng)絡(luò)逐層學(xué)到由簡單到復(fù)雜的特征(模式),復(fù)雜模式是由簡單模式組合而成,比如Layer4的狗臉是由Layer3的幾何圖形組合而成,Layer3的幾何圖形是由Layer2的紋理組合而成,Layer2的紋理是由Layer1的邊緣組合而成,從特征圖上看的話,Layer4特征圖上一個(gè)點(diǎn)代表Layer3某種幾何圖形或表面的組合,Layer3特征圖上一個(gè)點(diǎn)代表Layer2某種紋理的組合,Layer2特征圖上一個(gè)點(diǎn)代表Layer1某種邊緣的組合。
這種組合是一種相對靈活的方式在進(jìn)行,不同的邊緣→不同紋理→不同幾何圖形和表面→不同的狗臉、不同的物體……,前面層模式的組合可以多種多樣,使后面層可以描述的模式也可以多種多樣,所以具有很強(qiáng)的表達(dá)能力,不是“死板”的模板,而是“靈活”的模板,泛化能力更強(qiáng)。
卷積神經(jīng)網(wǎng)絡(luò)真正使用時(shí),還需要配合池化、激活函數(shù)等,以獲得更強(qiáng)的表達(dá)能力,但模式蘊(yùn)含在卷積核中,如果沒有非線性激活函數(shù),網(wǎng)絡(luò)仍能學(xué)到模式,但表達(dá)能力會(huì)下降,由論文《Systematic evaluation of CNN advances on the ImageNet》,在ImageNet上,使用調(diào)整后的caffenet,不使用非線性激活函數(shù)相比使用ReLU的性能會(huì)下降約8個(gè)百分點(diǎn),如下圖所示。通過池化和激活函數(shù)的配合,可以看到復(fù)現(xiàn)出的每層學(xué)到的特征是非常單純的,狗、人、物體是清晰的,少有其他其他元素的干擾,可見網(wǎng)絡(luò)學(xué)到了待檢測對象區(qū)別于其他對象的模式。
總結(jié)
本文僅對卷積神經(jīng)網(wǎng)絡(luò)中的卷積計(jì)算、作用以及其中隱含的思想做了介紹,有些個(gè)人理解難免片面甚至錯(cuò)誤,歡迎交流指正。
參考
- Kernel (image processing)
- Forward And Backpropagation in Convolutional Neural Network
- 《Visualizing and Understanding Convolutional Networks》
- 《Systematic evaluation of CNN advances on the ImageNet》
- Deep Learning Specialization
<div id="blog_post_info">
好文要頂 關(guān)注我 收藏該文
shine-lee關(guān)注 - 2
粉絲 - 57 +加關(guān)注 11 0
<div class="clear"></div>
<div id="post_next_prev"><a href="https://www.cnblogs.com/shine-lee/p/9884551.html" class="p_n_p_prefix">? </a> 上一篇: <a href="https://www.cnblogs.com/shine-lee/p/9884551.html" title="發(fā)布于 2018-10-31 17:37">OpenCV各版本差異與演化,從1.x到4.0</a>
<br>
<a href="https://www.cnblogs.com/shine-lee/p/9950733.html" class="p_n_p_prefix">? </a> 下一篇: <a href="https://www.cnblogs.com/shine-lee/p/9950733.html" title="發(fā)布于 2018-11-13 10:10">論文學(xué)習(xí)-系統(tǒng)評估卷積神經(jīng)網(wǎng)絡(luò)各項(xiàng)超參數(shù)設(shè)計(jì)的影響-Systematic evaluation of CNN advances on the ImageNet</a>

總結(jié)
以上是生活随笔為你收集整理的卷积神经网络之卷积计算、作用与思想 深度学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 矩阵的卷积核运算(一个简单小例子的讲解)
- 下一篇: 卷积核输出特征图大小的计算 深度学习