1. 程式人生 > >[DeeplearningAI筆記卷積神經網絡1.6-1.7構造多通道卷積神經網絡

[DeeplearningAI筆記卷積神經網絡1.6-1.7構造多通道卷積神經網絡

結果 一起 步驟 mar ref deep 右移 最終 inline

4.1卷積神經網絡

覺得有用的話,歡迎一起討論相互學習~Follow Me

1.6多通道卷積

原理

技術分享圖片

  • 對於一個多通道的卷積操作,可以將卷積核設置為一個立方體,則其從左上角開始向右移動然後向下移動,這裏設置Padding模式為VALID,步長為1.
  • 註意:卷積核中的顏色通道數必須與原始圖像的顏色通道數一致。
    技術分享圖片
  • 如果想要只對紅色通道有用的垂直邊界,則設置卷積核為:
  • 大小為\(3*3*3\)
    技術分享圖片
    識別垂直邊界過濾器
  • 如果想要對圖像所有通道識別垂直邊界,則設置卷積核為:
  • 大小為\(3*3*3\)
    技術分享圖片

    多通道多卷積核

  • 上文描述了對於多通道單卷積核的卷積操作,如果想要不僅識別圖像的垂直邊界還想識別圖像的水平邊界則需要另外構造一個水平邊界檢測卷積核。
  • 此時可以通過兩個不同的卷積核得到兩個不同的\(4*4\)特征圖,將這兩個特征圖堆疊在一起,則得到了一個\(4*4*2\)的輸出立方體。2這個維度來自於兩個不同的卷積核

    多通道特征圖大小公式

    \[(n*n*n_c)原始圖像*(f*f*n_c)卷積核大小=\lfloor\frac{(n+2p-f)}{s}+1\rfloor*\lfloor\frac{(n+2p-f)}{s}+1\rfloor*{n_c}^{‘}\]
  • 其中n為原始圖像大小,\(n_c\)為原始圖像通道數,p為Padding填充維度,f為卷積核大小,s為步長
  • 當出現得到的結果不是整數時,可以采用向下取整的方式使其維度為整數
  • 此處的卷積核意味著一組相同大小的卷積核,不止一個
  • \(n_c\)表示通道個數,原始圖片和卷積核中通道個數必須相等。\({n_c}^{‘}\)表示卷積核個數


1.7構造單層卷積層

  1. 對於一張\(6*6*3\)的3通道原始圖片,經過一個\(3*3*3\)的3通道卷積核得到一個\(4*4\)的圖片。然後通過Python的廣播機制,將16個像素點都加上一個偏置\(b_1\)。得到的結果通過非線性的激活函數ReLU的得到最終的圖片像素點。
  2. 對於第二個卷積核,使用相同的步驟,也得到一個\(4*4\)的特征圖。然後把這兩個矩陣堆疊起來,最終得到一個\(4*4*2\)的矩陣
  3. 對於維度,通過卷積層中兩個卷積核使一個\(6*6*3\)的圖片變成一個\(4*4*2\)
    的特征圖。即:卷積層中卷積核的個數對應了生成的特征圖中特征的個數

問題

  • 如果一個卷積層中有10個卷積核,卷積核的大小為\(3*3*3\),則加上每個卷積核的偏置一共是\(10*28=280\)個參數。卷積核的參數量和原始圖片不相關,即使很大的圖片使用以上卷積層,參數量均為280.

總結

技術分享圖片

[DeeplearningAI筆記卷積神經網絡1.6-1.7構造多通道卷積神經網絡