卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network)是近年來(lái)最火的機(jī)器學(xué)習(xí)模型之一野蝇,尤其是這兩年大放異彩的Alpha Go熄浓,采用的就是CNN模型声离,這里就簡(jiǎn)單介紹一下CNN的基本原理及優(yōu)勢(shì)
CNN發(fā)明之初主要用在圖像識(shí)別上
圖像的特征識(shí)別有三個(gè)特點(diǎn)
1 圖片的特征僅占整個(gè)圖片的一小部分
2 同一個(gè)特征可能出現(xiàn)在圖片的不同地方
3 對(duì)圖片二次采樣后得到的圖片與原圖片差別不大(例如取原圖的奇數(shù)行和奇數(shù)列像素組成新的圖片仍與原圖相似)
CNN的結(jié)構(gòu)如下圖所示
由若干個(gè)卷積層(convolution)和池化層(Max Pooling)組成,然后將平坦化后的結(jié)果輸入一個(gè)全聯(lián)接的前饋神經(jīng)網(wǎng)絡(luò)來(lái)得到想要的結(jié)果缀旁。
卷積神經(jīng)網(wǎng)絡(luò)的重點(diǎn)是卷積層更扁,卷積層的作用是進(jìn)行特征識(shí)別
如圖所示盖腕,右上角的3X3矩陣可以看作是一個(gè)特征,左邊的6X6矩陣可以看作一副黑白圖像浓镜,將特征在圖像上以1的步距進(jìn)行覆蓋溃列,每次覆蓋后都將Filter 與圖像做矩陣乘法,最后得到一個(gè)4X4的新矩陣膛薛。
Max Poolig 的作用是選取每個(gè)部分最大值組成一個(gè)新的矩陣听隐,比如左圖四個(gè)區(qū)域最大值分別為3,0哄啄,3雅任,1风范,即為新矩陣。
以上兩個(gè)過(guò)程可以重復(fù)進(jìn)行沪么,最終將一個(gè)較大的圖片處理成比較小的一個(gè)矩陣乌企。然后使用flatten將矩陣?yán)梢涣校瑢⑵漭斎胍粋€(gè)全聯(lián)接的前饋神經(jīng)網(wǎng)絡(luò)中成玫,最后輸出即為我們想要的結(jié)果加酵。