卷積神經網絡CNN(convolutional)


卷積神經網絡CNN(convolutional)

卷積運算:原圖像*卷積核=新圖像,經常用來做邊緣檢測
人造核:手動指定權重,改善效果

指定核權重為變量,通過反向傳播,學習卷積核的權重
補白和步幅決定了卷積后的

補白Padding

  • Valid convolution:p = 0
    \(n\times n * f\times f -> (n-f+1)\times (n-f+1)\)
  • Same convolution:n = n
    \((n+2p)\times (n+2p) * f\times f -> n\times n\)
    得到填充邊緣寬度\(p = \frac{f-1}{2}\)
    所以一般卷積核大小是奇數
    ## 步幅strides
    s>1,圖像也變小

三維卷積

對於RGB三通道圖像,nc個濾波器,卷積疊加,得到深度為nc的圖像

總結

趨勢:縮減圖片尺度,增加深度

CNN分類

卷積層Conv:

池化層Pool:減少圖片寬度,用卷積核進行特征提取

采樣(下采樣),特征降維,壓縮數據和參數,減小過擬合
只有超參數,沒有參數
主要分類:

  • 最大池化
  • 平均池化

全連接層Fc:一般用來輸出



總結

  • 優勢
  • 參數共享:將卷積核的參數共享給每組被卷積對象運算
  • 稀疏性聯系:輸出的值只與小部分輸入相關
    ### 特點
    CNN從前到后,維度縮減,參數增多

CNN案例

經典CNN

  • LeNet-5(sigmoid激活,softmax分類)

  • AlexNet

  • VGGNet

殘差網絡

傳統的plain network存在梯度指數現象

為了改善深度網絡的梯度爆炸(消失)現象,使深度神經網訓練可能

  • Residual block


維數不一致的問題,可以通過構建權重矩陣,填充0元素或者其他方法進行適配

1x1 convolution

對image每個像素進行非線性函數映射,通過n個kernel,映射為n個特征,用於縮減圖像特征深度

用法,生成中間量,減少運算量

直接5x5卷積

采用1x1卷積中間量,再用5x5卷積

Inception network

Main idea

Inception module

Inception network

  • Inception module 的串聯
  • branches用於在中間預測結果,效果不差

Transfer learning

步驟

  1. 下載源碼,模型,權重參數
  2. 修改末層結構,softmax分類或者
  3. 凍結前層參數
  4. 訓練自己模型

Data Augmentation數據增強

可以預先處理,
也可以與訓練並行處理

1、形狀

  • 鏡像Mirroring
  • 隨機裁剪Random Cropping
  • 旋轉Rotation
  • 傾斜Shearing
  • 扭曲Local warping

2、色彩Color shifting

  • 增減RGB通道值,改變量隨機
  • PCA,干擾主要元素

目標檢測

概述

CV(computer vision)中,目標檢測是並列與圖像分類的一個重要應用
分類 -> 分類+定位 = 目標檢測 -> 多目標檢測

  • 輸出和cost function構造
    輸出\(Y = [p_c,b_x,b_y,b_h,b_w,c_1,c_2……]\)
    包含有沒有物體、坐標物體類別
  • cost function
    當\(p_c\)=1,計算均方根誤差
    \(p_c\)= 0,其他的不計算

Landmark Detection

人臉特征標記
姿態特征標記
特征構建Y = \([是不是臉,b_x{1},b_y{1},……,b_x{n},b_{yn}]\)

目標檢測幾種思路

Sliding windows detection

  1. 滑窗獲取圖像
  2. 傳給Classification
  3. 增大windows size 和 stride 重復1

缺點:

  • 小步長,計算量高
  • 大步長,計算粗略,精度差
    ### 用卷積實現Turning FC layer into convolutional layers
    用1x1卷積實現權重線性組合

缺點

定位不精確

輸出更精確的邊界框——YOLO

YOLO算法 you only look once
構造輸出Y.shape = (h,w,l)
h是高度圖像分割的個數
w是寬度圖像分割的個數
l方向是物體定位信息\([p_c,b_x,b_y,b_h,b_w,c_1,c_2……]\)

非極大值抑制

  1. 低於閾值,直接丟棄
  2. 找出最大值
  3. 與最大值重疊區域IoU>0.5,丟棄。多目標檢測的話,運行多次IoU算法

Anchor Boxes

重疊物體檢測,重建Y
矮胖,瘦長

人臉識別——單樣本學習

  • Verification驗證
    input: 圖片 姓名 140311199402071213
    output:是否對應

  • Recognition識別
    n個人的數據庫
    input:圖片
    output:140311199402071213 of person(如果圖片在庫里)

相似度函數\(d(img1,img2)\),函數和照片沒關系

孿生網絡Siamese network

核心思想:NN生成編碼,比較不同樣本編碼的范數
CNN的參數相同,

三重損耗函數 Triple loss

防止NN輸出退化解,布置小於0
\(\alpha\) is margin

another相似性函數

風格轉換Styler transfer

可視化hidden unit

淺層學習基本特征
深層學習宏觀特征

cost function

Main idea: 和兩張圖片都很像
\(J(G) = \alpha J_{content}(C,G) + \beta J_{style}(S,G)\)

content cost function

Style cost function


\(\lambda\) 是 l 層的權重

卷積1D和3D形式

1D形式

3D形式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM