卷積神經網路的介紹

2021-10-04 15:29:33 字數 1539 閱讀 5636

本章節將介紹一種全新結構的神經網路—卷積神經網路(convolutional neural network,cnn),它是一種前饋神經網路,可以應用到很多場合,比如影象處理,自然語言處理,災難氣候**等等,但是最主要還是應用在影象領用,近幾年來在自然語言處理方面,cnn也應用得越來越多。

卷積神經網路結構主要包括:卷積層(convolutional layer)和池化層(pooling layer)。

全連線神經網路和卷積神經網路的對比;左圖:全連線神經網路(平面),組成:輸入層、啟用函式、輸出層;右圖:卷積神經網路(立體),組成:輸入層、卷積層、啟用函式、池化層、全連線層

在本節當中,我們先為大家講一下卷積操作。卷積神經網路又稱為卷積網路,是一種專門來處理具有類似網路結構的資料的神經網路,」卷積」一詞表明這種網路結構使用了卷積操作,卷積是一種特殊的線性運算,用來替代一般的矩陣乘法運算。簡單來說,就是用濾波器(filter)將相鄰畫素之間的「輪廓」過濾出來。

濾波器是如何工作的呢?如下圖所示,乙個6x6的被乙個3x3的濾波器卷積的結果:

卷積操作的過程

我們可以看到上圖,3x3的濾波器先和左邊最上角的3x3矩陣卷積得到第乙個結果-5 放入右邊的結果當中,然後濾波器向右滑動乙個位置繼續做卷積,直到全部過濾完成,輸出乙個4x4的矩陣。

此外,在卷積操作當中,有兩個常用的技術:padding(填充)和stride(步長)

填充(padding)

上面的例子中我們用3x3的濾波器把6x6的過濾之後輸出了乙個4x4的, 如果我們想要輸出的和輸入的保持一樣的尺寸怎麼辦?這個時候我們可以用到邊緣填充(padding)技術,下圖就是用0在原來的輸入上填充了一圈。

這樣一來我們的輸入大小=輸出大小,上圖的p=padding=1,意思就是用乙個1畫素的額外邊緣填充一圈,計算公式則變成了:[(n+2p)x(n+2p)]* (fxf)=[(n+2p-f+1)x(n+2p-f+1)]

步長(stride)

上面提到我們用3x3的濾波器去卷積的時候,是一步一步的去滑動最終將整個,實際上我們可以控制滑動的步伐,這個滑動的步伐大小就叫做步長(stride)。stride 的想法是改變卷積核的移動步長跳過一些畫素。stride 是 1 表示卷積核滑過每乙個相距是 1 的畫素,是最基本的單步滑動,作為標準卷積模式。stride 是 2 表示卷積核的移動步長是 2,跳過相鄰畫素,影象縮小為原來的 1/2。stride 是 3 表示卷積核的移動步長是 3,跳過 2 個相鄰畫素,影象縮小為原來的 1/3。

(n+2p-f)/s+1 x (n+2p-f)/s +1

ps:當(n+2p-f)/s除不盡的時候,採取向下取整的方式

總結本節我們對cnn進行了乙個簡單的介紹,以及闡述了其最基本的卷積操作,包括填充和步長這兩個操作。

卷積神經網路介紹

在深度學習出現之前,我們必須借助sift,hog等演算法提取具有良好區分性的特徵,再集合svm等機器學習演算法進行影象識別。sift對一定程度內的縮放 平移 旋轉 視角改變 亮度調整等畸變,都具有不變性。cnn作為乙個深度學習架構被提出的最初訴求,是降低對影象資料 預處理的 要求,以及避免複雜可以的...

卷積神經網路介紹

本文由 翻譯並自行補充而來。cnn是ai發展中最令人振奮的進步之一,早期由yann lecun等人提出。卷積神經網路在2012年被krizhevsky開創性的推廣下,在計算機視覺領域取得了廣泛的成果,並且已經取代了傳統的影象處理技術,成為解決計算機視覺問題的最新技術。cnn也正在被研究和應用於其他領...

卷積神經網路介紹

卷積層是卷積神經網路的核心基石。在影象識別裡我們提到的卷積是二維卷積,即離散二維濾波器 也稱作卷積核 與二維影象做卷積操作,簡單的講是二維濾波器滑動到二維影象上所有位置,並在每個位置上與該畫素點及其領域畫素點做內積。卷積操作被廣泛應用與影象處理領域,不同卷積核可以提取不同的特徵,例如邊沿 線性 角等...