卷積神經網絡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
步驟
- 下載源碼,模型,權重參數
- 修改末層結構,softmax分類或者
- 凍結前層參數
- 訓練自己模型
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
- 滑窗獲取圖像
- 傳給Classification
- 增大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……]\)
非極大值抑制
- 低於閾值,直接丟棄
- 找出最大值
- 與最大值重疊區域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 層的權重