卷積到底有什么作用?如何做到特征提取

馬克-to-win @ 馬克java社區(qū):防盜版實(shí)名手機(jī)尾號(hào):73203。經(jīng)過前面的神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)學(xué)習(xí),終于進(jìn)入我們這章的核心部分,卷積神經(jīng)網(wǎng)絡(luò)(CNN, Convolutional Neural Networks)。很多同學(xué)學(xué)了半天卷積神經(jīng)網(wǎng)絡(luò),但一直有一個(gè)最最根本的問題沒有搞懂,他也知道怎么做卷積了,也知道怎么做池化了,就是不知道在為什么這么干?馬克-to-win @ 馬克java社區(qū):一直云里霧里的。一般的視頻或書中從來也不提及這件事,總是一步到位高大上的各種動(dòng)圖,顯示怎么卷怎么卷。沒辦法,這任務(wù)落我肩上了,我盡量深入淺出地把它講明白吧!卷積和池化怎么做,最重要的是為什么要這么做。




(購買完整教程)




馬克-to-win @ 馬克java社區(qū):防盜版實(shí)名手機(jī)尾號(hào):73203?,F(xiàn)在的問題是如何區(qū)分這兩個(gè)圖案,辨別出哪個(gè)是C?哪個(gè)是D?想想我們?nèi)祟愂窃趺醋龅??有的人很聰明,他只需要看一小塊特征,就能辨別出來是D,比如圖D左上角的3×3的區(qū)域,這是一個(gè)很聰明的方法,就是不管在圖的任何位置,只要有圖D左上角3×3的區(qū)域,完全可以判斷結(jié)果肯定不為C而是D,前提是如果只有兩個(gè)字母的話。馬克-to-win @ 馬克java社區(qū):這就像有人臉上有個(gè)特殊的胎記,憑著它,就能大致判斷出就是這個(gè)人。這就是所謂的特征。在我們卷積領(lǐng)域里,就叫卷積核。這里就是圖D當(dāng)中左上角3×3的圖片。






           圖-核
這里卷積計(jì)算的過程就是特征提取的過程。卷積核分別從兩張圖左上角到右下角滑動(dòng),相應(yīng)的項(xiàng)相乘之后再求和。














拿圖C和圖-核第一步卷積為例,值為:0*1+0*1+0*1+0*1+0*0+1*0+0*1+1*0+0*0=0














拿圖C和圖-核第二步卷積為例,值為:0*1+0*1+1*1+0*1+1*0+0*0+1*1+0*0+0*0=2
下面就省了圖:
拿圖C和圖-核第三步卷積為例,值為:0*1+1*1+1*1+1*1+0*0+0*0+0*1+0*0+0*0=3
拿圖C和圖-核第四步卷積為例,值為:1*1+1*1+1*1+0*1+0*0+0*0+0*1+0*0+0*0=3




換一行:
(見下圖)拿圖C和圖-核第五步卷積為例,值為:0*1+0*1+1*1+0*1+1*0+0*0+0*1+1*0+0*0=1











拿圖C和圖-核第六步卷積為例,值為:0*1+1*1+0*1+1*1+0*0+0*0+1*1+0*0+0*0=3
拿圖C和圖-核第七步卷積為例,值為:1*1+0*1+0*1+0*1+0*0+0*0+0*1+0*0+0*0=1
拿圖C和圖-核第八步卷積為例,值為:0*1+0*1+0*1+0*1+0*0+0*0+0*1+0*0+0*0=0
再換一行:
拿圖C和圖-核第九步卷積為例,值為:0*1+1*1+0*1+0*1+1*0+0*0+0*1+0*0+1*0=1
拿圖C和圖-核第十步卷積為例,值為:1*1+0*1+0*1+1*1+0*0+0*0+0*1+1*0+0*0=1
拿圖C和圖-核第十一步卷積為例,值為:0*1+0*1+0*1+0*1+0*0+0*0+1*1+0*0+0*0=1
拿圖C和圖-核第十二步卷積為例,值為:0*1+0*1+0*1+0*1+0*0+0*0+0*1+0*0+0*0=0
再換一行:
拿圖C和圖-核第十三步卷積為例,值為:0*1+1*1+0*1+0*1+0*0+1*0+0*1+0*0+0*0=1
拿圖C和圖-核第十四步卷積為例,值為:1*1+0*1+0*1+0*1+1*0+0*0+0*1+0*0+1*0=1
拿圖C和圖-核第十五步卷積為例,值為:0*1+0*1+0*1+0*1+0*0+0*0+1*1+0*0+0*0=1
拿圖C和圖-核第十六步卷積為例,值為:0*1+0*1+0*1+1*1+0*0+0*0+0*1+1*0+1*0=1
圖C和圖-核卷積最后的結(jié)果:










現(xiàn)在我們做一下圖D和圖-核的卷積:











拿圖D和圖-核第一步卷積為例,值為:1*1+1*1+1*1+1*1+0*0+0*0+1*1+0*0+0*0=5




馬克-to-win @ 馬克java社區(qū):防盜版實(shí)名手機(jī)尾號(hào):73203。現(xiàn)在的問題是,為什么卷積的結(jié)果會(huì)如此的高?原來,卷積核所代表的特征和圖片當(dāng)中這一小塊區(qū)域完全一樣,產(chǎn)生了共振的效果,當(dāng)然值會(huì)比較高。這就是一個(gè)很重要的證據(jù),因?yàn)閳DD這一小塊做卷積的值很高,所以可以幫助我們在一定程度上,下結(jié)論說圖D就代表字母D。因?yàn)榫矸e核代表的特征圖形完全是字母D所特有的。

拿圖D和圖-核第二步卷積為例,值為:1*1+1*1+0*1+0*1+0*0+1*0+0*1+0*0+0*0=2
拿圖D和圖-核第三步卷積為例,值為:1*1+0*1+0*1+0*1+1*0+0*0+0*1+0*0+1*0=1
拿圖D和圖-核第四步卷積為例,值為:0*1+0*1+0*1+1*1+0*0+0*0+0*1+1*0+0*0=1
換一行:
拿圖D和圖-核第五步卷積為例,值為:1*1+0*1+0*1+1*1+0*0+0*0+1*1+0*0+0*0=3
拿圖D和圖-核第六步卷積為例,值為:0*1+0*1+1*1+0*1+0*0+0*0+0*1+0*0+0*0=1
拿圖D和圖-核第七步卷積為例,值為:0*1+1*1+0*1+0*1+0*0+1*0+0*1+0*0+1*0=1
拿圖D和圖-核第八步卷積為例,值為:1*1+0*1+0*1+0*1+1*0+0*0+0*1+1*0+0*0=1
換一行:
拿圖D和圖-核第九步卷積為例,值為:1*1+0*1+0*1+1*1+0*0+0*0+1*1+0*0+0*0=3
拿圖D和圖-核第十步卷積為例,值為:0*1+0*1+0*1+0*1+0*0+0*0+0*1+0*0+1*0=0
拿圖D和圖-核第十一步卷積為例,值為:0*1+0*1+1*1+0*1+0*0+1*0+0*1+1*0+0*0=1
拿圖D和圖-核第十二步卷積為例,值為:0*1+1*1+0*1+0*1+1*0+0*0+1*1+0*0+0*0=2
換一行:
拿圖D和圖-核第十三步卷積為例,值為:1*1+0*1+0*1+1*1+0*0+0*0+1*1+1*0+1*0=3
拿圖D和圖-核第十四步卷積為例,值為:0*1+0*1+0*1+0*1+0*0+1*0+1*1+1*0+0*0=1
拿圖D和圖-核第十五步卷積為例,值為:0*1+0*1+1*1+0*1+1*0+0*0+1*1+0*0+0*0=2
拿圖D和圖-核第十六步卷積為例,值為:0*1+1*1+0*1+1*1+0*0+0*0+0*1+0*0+0*0=2

圖D和圖-核卷積最后的結(jié)果: