1. 程式人生 > >一維訊號卷積與影象卷積的區別

一維訊號卷積與影象卷積的區別

基礎概念:

  卷積神經網路(CNN):屬於人工神經網路的一種,它的權值共享的網路結構顯著降低了模型的複雜度,減少了權值的數量。卷積神經網路不像傳統的識別演算法一樣,需要對資料進行特徵提取和資料重建,可以直接將圖片作為網路的輸入,自動提取特徵,並且對圖形的變形等具有高度不變形。在語音分析和影象識別領域有重要用途。

  卷積:卷積是泛函分析中的一種積分變換的數學方法,通過兩個函式 f 和 g 生成第三個函式的一種數學運算元,表徵函式 f 與 g 經過翻轉和平移的重疊部分的面積。設函式 f,g 是定義在 \mathbb {R} ^{n} 上的可測函式,fg的卷積記作f*g,它是其中一個函式翻轉並平移後與另一個函式的乘積的積分,是一個對平移量的函式,也就是:

 

具體解釋下:

  1.已知兩函式f(t)和g(t)。下圖第一行兩圖分別為f(t)和g(t)。

  2.首先將兩個函式都用來表示,從而得到f()和g()。將函式g()向右移動t個單位,得到函式g(-t)的影象。將g(-t)翻轉至縱軸另一側,得到g(-(-t))即g(t-)的影象。下圖第二行兩圖分別為f()和g(t-)。

  3.由於非常數(實際上是時間變數),當時間變數(以下簡稱“時移”)取不同值時,g(t-\tau )能沿著軸“滑動”。下圖第三四五行可理解為“滑動”。

  4.讓從-∞滑動到+∞。兩函式交會時,計算交會範圍中兩函式乘積的積分值。換句話說,我們是在計算一個滑動的的加權總和

(weighted-sum)。也就是使用g(t-\tau )當做加權函式,來對 f()取加權值。

  最後得到的波形(未包含在此圖中)就是fg的卷積。

 

  神經網路的基本組成包括輸入層、隱藏層、輸出層。卷積神經網路的特點在於隱藏層分為卷積層和池化層。卷積層通過一塊塊的卷積核在原始影象上平移來提取特徵,每一個特徵就是一個特徵對映;而池化層通過匯聚特徵後稀疏引數來減少要學習的引數,降低網路的複雜度,池化層最常見的包括最大值池化 (max pooling) 和平均值池化 (average pooling) 。

  卷積核在提取特徵對映時的動作稱為 padding,其有兩種方式,即 SAME 和 VALID。由於移動步長(Stride)不一定能整除整張圖的畫素寬度,我們把不越過邊緣取樣稱為 Vaild Padding,取樣的面積小於輸入影象的畫素寬度;越過邊緣取樣稱為 Same Padding, 取樣的面積和輸入影象的畫素寬度一致。

 

幾種不同的卷積神經網路:

1.LeNet

  • 輸入層:32 x 32
  • 卷積層:3個
  • 下采樣層:2個 
  • 全連線層:1個
  • 輸出層:10個類別(數字0~9的概率)。

(1)輸入層。輸入影象尺寸為32 x 32。

(2)卷積層:卷積運算的主要目的是使原訊號特徵增強,並且降低噪音。

(3)下采樣層:下采樣層主要是想降低網路訓練引數及模型的過擬合程度。通常有以下兩種方式。

  • 最大池化(max pooling):在選中的區域中找最大的值作為取樣後的值。
  • 平均值池化(mean pooling):把選中區域中的平均值作為取樣後的值。

(4)全連線層:計算輸入向量和權重向量的點積,再加上一個偏置,隨後將其傳遞給 sigmoid 函式,產生單元 i 的一個狀態。

 

2.AlexNet

  AlextNet 由5個卷積層、5個池化層、3個全連線層、大約5000萬個可調引數組成。

優點:使用瞭如下方法

  •  防止過擬合:Dropout、資料增強。
  • 非線性啟用函式:ReLU。
  • 大資料訓練:120萬 ImageNet 影象資料。
  • GPU 實現、LRN規範化層的使用。

 

此外還有 VGGNet、GoogLeNet、ResNet 等卷積神經網路模型,這裡不再一一敘述。

 

 

***講下解決過擬合的方法。

1)資料增強:增加訓練資料是避免過擬合的好方法,並且能提升演算法的準確性。當訓練資料有限的時候,可以通過一些變換從已有的訓練資料集中生成一些新資料。來擴大訓練資料量。通常採用的變形方法以下幾種:

  • 水平翻轉影象(又稱反射變化,filp)。
  • 從原始影象隨機地平移變換出一些影象。
  • 給影象增加一些隨機的光照(又稱光照、彩色變換、顏色抖動)。

(2)Dropout。以 Alexnet 為例,Alexnet 是以0.5 的概率將每個隱層神經元的輸出設定為0 。以這種方式被抑制的神經元既不參加前向傳播,也不參與反向傳播。因此,每次輸入一個樣本,就相當於該神經網路嘗試了一個新結構,但是所有這些結果之間共享權重。因為神經元不能依賴於其他神經元而存在,所以這種技術降低了神經元複雜的互適應關係。因此,網路需要被迫學習更為健壯的特徵,這些特徵在結合其他神經元的一些不同隨機子集時很有用。Dropout 使收斂所需的迭代次數大致增加了一倍。