深度學習演算法 卷積神經網路

2021-07-23 12:34:03 字數 2112 閱讀 5106

卷積神經網路(cnn)是深度學習在影象處理領域的乙個應用。在學習卷積神經網路之前,先了解下它的兩個基本思想:

1、區域性感受:

一般認為人對外界的認知是從區域性到全域性的,而影象的空間聯絡也是區域性的畫素聯絡較為緊密,而距離較遠的畫素相關性則較弱。因而,每個神經元其實沒有必要對全域性影象進行感知,只需要對區域性進行感知,然後在更高層將區域性的資訊綜合起來就得到了全域性的資訊。網路部分連通的思想,也是受啟發於生物學裡面的視覺系統結構。視覺皮層的神經元就是區域性接受資訊的(即這些神經元只響應某些特定區域的刺激)。

區域性感受的思想既符合實際生物學裡面的視覺系統結構的思想,同時它的乙個最大好處是可以降維:

比如乙個1000×1000的影象,可以表示為乙個1000000的向量,如果隱含層數目與輸入層一樣,即也是1000000時,那麼輸入層到隱含層全對映的引數資料為1000000×1000000=10^12。但是,假如隱藏層每個神經元只和10×10個畫素值相連,那麼權值資料為1000000×100個引數,減少為原來的千分之一。而那10×10個畫素值對應的10×10個引數,其實就相當於卷積操作。

2、共享權值和偏置:

為進一步降維,還有另乙個辦法,即權值和偏置共享。在上面的區域性連線中,每個神經元都對應100個引數和乙個偏置,一共1000000個神經元,如果這1000000個神經元的100個引數和偏置都是相等的,那麼引數數目就變為101了。

怎麼理解權值共享呢?我們可以這100個引數(也就是卷積操作)看成是提取特徵的方式,該方式與位置無關。這其中隱含的原理則是:影象的一部分的統計特性與其他部分是一樣的。這也意味著我們在這一部分學習的特徵也能用在另一部分上,所以對於這個影象上的所有位置,我們都能使用同樣的學習特徵。偏置共享的意義與權值共享的意義一樣。

更直觀一些,當從乙個大尺寸影象中隨機選取一小塊,比如說 8×8 作為樣本,並且從這個小塊樣本中學習到了一些特徵,這時我們可以把從這個 8×8 樣本中學習到的特徵作為探測器,應用到這個影象的任意地方中去。特別是,我們可以用從 8×8 樣本中所學習到的特徵跟原本的大尺寸影象作卷積,從而對這個大尺寸影象上的任一位置獲得乙個不同特徵的啟用值。

如下圖所示,展示了乙個33的卷積核在55的影象上做卷積的過程。每個卷積都是一種特徵提取方式,就像乙個篩子,將影象中符合條件(啟用值越大越符合條件)的部分篩選出來。

3、特徵的概念:

如上圖展示的乙個33的卷積核在55的影象上做卷積的過程,這個33方塊對應的引數稱為乙個卷積核,這個卷積核在原始影象上卷積之後得到的影象稱為原始影象在這個卷積核下的乙個特徵。  更換卷積核的各個引數,就可以得到原始影象各個不同的特徵。

如上圖中卷積核為

假如更換卷積核為,則得到的原始影象特徵為,即只獲取影象的中間部分。

一般為了充分提取影象特徵

,我們可以新增多個卷積核,比如32個卷積核,可以學習32種特徵。

4、隱藏層的卷積:

假設m-1層隱藏層得到4幅,這4幅是通過m-2層的4個卷積核生成的,這4幅可以看成m-2層的4個不同通道。  再假設m-1層通過2個卷積核w1和w2來繼續進行卷積,則卷積的方法為:

先將w2忽略,只看w1,那麼在w1的卷積特徵的某位置(i,j)處的值,是由四個通道上(i,j)處的卷積結果相加然後再取啟用函式值得到的,即:

同理,用相同的方法可得到w2對應的卷積特徵。如下圖所示:

5、池化

為了降低卷積特徵的維度,往往會對卷積後的進行降維處理,這個過程成為池化(pooling)。

池化思想的依據是:我們之所以決定使用卷積後的特徵是因為影象具有一種「靜態性」的屬性,這也就意味著在乙個影象區域有用的特徵極有可能在另乙個區域同樣適用。因此,為了描述大的影象,乙個很自然的想法就是對不同位置的特徵進行聚合統計,例如,人們可以計算影象乙個區域上的某個特定特徵的平均值 (或最大值)。這些概要統計特徵不僅具有低得多的維度 (相比使用所有提取得到的特徵),同時還會改善結果(不容易過擬合)。這種聚合的操作就叫做池化 (pooling),有時也稱為平均池化或者最大池化 (取決於計算池化的方法)。

至此,我們腦海中的卷積神經網路是長成這樣的:影象上的每乙個畫素對應輸入層的每個神經元,輸入層經過多個卷積核卷積,對映到第一層隱藏層的多個卷積特徵,每乙個卷積特徵經過池化聚合處理,降低維度後,再進一步經過多個卷積核進行卷積,卷積的方法見  隱藏層的卷積 部分,卷積後再進行池化,反覆進過若干次卷積和池化,最後隱藏層與輸出層全連線。

以上就是卷積神經網路的基本思想。

參考文獻:

深度學習 卷積神經網路

一 卷積神經網路基礎 二 lenet 三 常見的一些卷積神經網路 卷積層的超引數 填充和步幅。步幅 stride 每次卷積核在輸入陣列上滑動的行數與列數。多輸入與輸出通道 將3維陣列除寬高外的一維稱為通道維。1 1卷積層 包含1 1的卷積核的卷積層。1 1卷積核在不改變輸入高寬的情況下調整通道數。如...

深度學習 卷積神經網路

卷積神經網路 convolutional neural networks,cnn 是一類包含卷積計算且具有深度結構的前饋神經網路 feedforward neural networks 是深度學習 deep learning 的代表演算法之一。卷積神經網路具有表徵學習 representation ...

深度學習之卷積神經網路

卷積神經網路是一種多層神經網路,擅長處理影象特別是大影象的相關機器學習問題。卷積網路通過一系列方法,成功將資料量龐大的影象識別問題不斷降維,最終使其能夠被訓練。cnn最早由yann lecun提出並應用在手寫字型識別上 minst lecun提出的網路稱為lenet,其網路結構如下 這是乙個最典型的...