4. 卷積神經網路專題 - ncuip.csie.ncu.edu.tw/course/dl/dl0104p.pdf ·...

58
1 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4. 卷積神經網路專題 4.1. 網路訓練的影響因素與改進 4.2. 資料不平衡 (data imbalance) 4.3. 正規化 (normalization) 4.4. 主動學習 (active learning) 4.5. 遷移學習 (transform learning) 4.6. 特殊運算 4.7. 特殊處理 2 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 本章 卷積神經網路專題與第 6 深度學習的疑 內容,似乎有些相似或相關,不易區分。 卷積神經網路專題的內容主要是補充前三章沒討 論到的議題;例如,網路訓練的改進、不平衡資 料的處理、主動學習、遷移學習、特殊運算或處 (正規化),等技術內容。 深度學習的疑問內容主要是討論一些模擬兩可、 似是而非、需要抉擇、沒有標準答案、或需要比較 .. 等問題;以觀念為主,技術為輔。

Upload: others

Post on 12-Aug-2020

5 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

1深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4. 卷積神經網路專題

4.1. 網路訓練的影響因素與改進

4.2. 資料不平衡 (data imbalance)4.3. 正規化 (normalization)4.4. 主動學習 (active learning)4.5. 遷移學習 (transform learning)4.6. 特殊運算

4.7. 特殊處理

2深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

本章 “卷積神經網路專題” 與第6章 “深度學習的疑問” 內容,似乎有些相似或相關,不易區分。

“卷積神經網路專題” 的內容主要是補充前三章沒討論到的議題;例如,網路訓練的改進、不平衡資料的處理、主動學習、遷移學習、特殊運算或處置 (正規化),等技術內容。

“深度學習的疑問” 內容主要是討論一些模擬兩可、似是而非、需要抉擇、沒有標準答案、或需要比較、.. 等問題;以觀念為主,技術為輔。

Page 2: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

3深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.1.網路訓練的影響因素與改進4.1.1.訓練資料

4.1.2.強健網路的訓練影像預先處置方式

4.1.3.外加影像處理技術

4.1.4.網路的架構

4.1.5.各種函數及方法的使用

4.1.6.超參數 (hyper parameter) 的設定

4.1.7.網路訓練的參考策略

4深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

前述,網路模式多如過江之鯽,各種網路各有其設計的動機與目標。不是隨便一個卷積神經網路模式就能夠輕鬆地解決任一個視覺偵測或辨識的問題。

所以第一關卡就是正確地挑選適當網路模式。

其次是,醫生看病,一定要對症下藥,才能治好病。那麼工程師用神經網路模式解決視覺偵測與辨識的問題,也一定要針對問題,適當地修改網路模式才能有效地解決問題。

修改什麼 ?

當然是修改影響神經網路模式效能的因素。

Page 3: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

5深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

影響神經網路模式效能的因素有:

i. 訓練資料;多寡與分佈。

ii. 外加影像處理技術;例如,影像強化、影像幾何轉換、..

iii.網路的架構;網路深度、特徵圖數、various blocks, ..

iv.各種函數及方法的使用;例如,激發函數、損失函數、最佳化法、正規化法、..

v. 超參數 (hyper parameter) 的設定;例如,batch size, epoch number, learning rate, ..

vi.參數訓練的外加策略;例如,dropout, normalization, stride, ..

6深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.1.1. 訓練資料

影響神經網路模式效能的最重要因素是訓練資料的多寡、分佈、與品質 (e.g., 影像亮度對比不夠、模糊、..)。

第一個碰到的問題是資料不足的過度擬合問題;其次是資料不平衡的問題。

Page 4: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

7深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

A. 網路訓練的擬合不足與過度擬合問題

網路複雜度與資料量配合不好,才會產生擬合(fitting) 不好的問題,並不是單一資料量不足就一定會產生過度擬合的問題。

以分類為例,當一個神經網路的參數量不夠,相當於公式簡單,分類能力就不足,稱為擬合不足(underfitting)。但是有充分參數或參數過多的神經網路,當訓練資料過少、過偏、或有錯誤資料時,資料的變異性不夠或偏頗,使得訓練出來的網路模式過於迎合這些資料而偏頗定型,不具一般代表性,因而對於未曾見過的樣本就容易分類錯誤;這種情形稱為過度擬合 (overfitting)。

8深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

擬合不足 適度擬合 過度擬合underfitting good fitting overfitting

訓練時 “過度擬合” 看起來效果很好;但在測試時,對於沒碰過的大量樣本,通常都會顯著不好,比 “適度擬合” 的效果來得差。

Page 5: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

9深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

就問題本身的複雜度、網路模式的複雜度、及資料的多寡共同分析,有 8 種可能情形;僅部份會 underfitting、部份會 overfitting。問題複雜度 模式複雜度 資料量 擬合狀況

低 低 少 Good fitting低 低 多 Good fitting低 高 少 Overfitting低 高 多 Good fitting高 低 少 Underfitting高 低 多 Underfitting高 高 少 Overfitting高 高 多 Good fitting

10深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

怎麼知道是 “擬合不足” 還是 “過度擬合” ?

訓練正確率或誤差已經多次更新且穩定下來,不再變化了;但正確率無法提昇到期望值 (或誤差無法降低到期望值),通常都是 “擬合不足” 的現象。

訓練正確率經多次更新且收斂到期望值;但驗證或測試的正確率無法提昇到期望值 (或誤差無法降低到期望值),通常都是 “過度擬合” 的問題。

Page 6: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

11深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

如何解決 “擬合不足” 及 “過度擬合” 的問題 ?

解決 “擬合不足” 的問題:i. 擴增網路架構的深度及廣度ii. 改變最佳化演算法iii.調整 batch size

解決 “過度擬合” 的問題:i. 增加訓練樣本數ii. 改變最佳化演算法iii.調整各層不同學習率

以上 “i “ 是主要或唯一的方法,”ii, iii ” 僅做參考。

12深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

B. 不平衡資料的問題

不平衡資料稱為 imbalanced data 或 unbalanced data。是在分類時,訓練分類器的訓練樣本數不平衡;例如分 n 類,有些類別的訓練樣本多,有些訓練樣本少,就稱為資料不平衡。樣本數可差到百倍、千倍;類別的樣本數差愈多,分類的準確度就會愈差。

為什麼資料不平衡會影響分類的準確度 ?以下有兩種說法,其意義是相同的。

Page 7: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

13深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

a. 符合真實資料分佈的意義

樣本群的大小反映資料的分佈狀況。之所以會有小樣本群,就是因為其發生機率低,收集到資料數量自然少;否則也不會有資料不平衡的問題。

分類器的訓練目標是要讓整體的分類正確率最高。大部份樣本屬於大樣本群的元素,分類器將一個樣本判定為大樣本群元素的正確率高 (若分兩類,資料量比為 9,900 及 100;判定為大樣本元素的機率為 99%,判定為小樣本元素的機率為 1%);因此分類器會盡量調整網路權重值,傾向於大樣本群元素的判定,讓整體的分類正確率最高,以至於容易將小樣本群元素判定為大樣本群的元素。

14深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

b. 符合類別訓練程度不同的意義

深度學習是以各類別樣本聯合訓練與調整網路權重,計算特徵值,讓各類樣本可以獲得屬於該類的最大相對機率值。

訓練樣本多的類別,一再調整權重,讓網路盡量迎合該類別的分佈;樣本少的類別,沒有讓網路迎合該類別的分佈,也就是其訓練樣本不足以描述該類資料的分佈狀況,如下頁圖示。只要碰到落在群間邊界附近的樣本,就有較多可能誤判屬於大樣本群 (網路較迎合大樣本群的資料分佈,而讓大樣本群有較大的機率值);因而就影響分類的正確率。

Page 8: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

15深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

這個區域應該 “圓” 方的,但因為 “圓” 方的訓練樣本太少,占地的範圍太小,沒有宣告到這附近的位置,以至於分類器將落在該區域的樣本歸類於 “叉” 方,因而分類錯誤。

16深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

增加小樣本群的訓練樣本,可以讓該類與相鄰類別的分界更明確、更正確,減少不易判定的狀況(模糊地帶),避免影響分類的正確率。

增加訓練樣本的功能僅在於減少不易判定的狀況,若問題本身過於複雜或特徵不夠好,結果還是不會太好。真正能夠明顯提高分類正確率,主要還是要依賴更好的特徵。

另外,由前頁內容可知,要增加類別間的樣本才有效,若增加的樣本都在各群組內,效果還是不顯著。這也是後面 “主動學習” (active learning) 的意義。

Page 9: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

17深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.1.2. 強健網路的訓練影像預先處置方式

看到某些網路模組 (module) 的功能很好,想要移植到自己的網路模式 (model) 中;就辨識功能的網路而言,這樣的移植大致沒什麼問題;但就偵測功能的網路而言,其網路架構與目標函數複雜許多;例如,Faster R-CNN, YOLO 等,因此,這樣的移植相當困難。

Zhang et al. [1] 提出 6 種處置訓練資料 (影像) 的方式,在不改變網路模式 (model) 及損失函數,且不犧牲時間的前提下,提高這些偵測網路模式的物件偵測準確性。

18深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

六種預先處置訓練資料 (影像) 的方式:

i. Mixup (影像混合)ii. Label smoothing (標記平滑化)iii. Data pre-processing (影像前處理)iv. Training scheduler revamping (訓練策略改造)v. Synchronized batch normalization

(同步批次正規化)vi. Random shapes training (隨機變換影像大小)

Page 10: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

19深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

A. Mixup (影像混合)分類功能的影像混合方式 [2]是將兩張都是要辨識

的影像以 及 (1- ) 的比例混合,混合比例 取自於 -分佈( = 0.2, = 0.2);

20深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

-distribution (beta 分佈)

Page 11: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

21深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

但是在物件偵測中,若影像混合比例 是取自 -分佈( = 0.2, = 0.2) 的話,其訓練效果反而不好;也就是取 接近1或0,相當於是在影像中添加些微雜訊,這對物件偵測並不好。

物件偵測應該要取接近 0.5 會比較好,因此本研究的則改取自於-分佈(=1, =1)or (=1.5,=1.5),如右圖所示

22深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

以 YOLO v3 偵測 Pascal VOC 2007 資料集為例,四種結果比較

Model mAP @ 0.5baseline 81.50-分佈(=0.5, =0.5) 83.05-分佈(=1.0, =1.0) 83.48-分佈(=1.5, =1.5) 84.54

Page 12: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

23深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

B. Label smoothing (標記平滑化或模糊化) Label smoothing 的意思是故意將明確的標記

(label) 模糊化,弱化類別的確定性,磨練網路分類器,讓分類器更強健;這是取自於 [3] 論文的做法,如此可以減少網路訓練的 overfitting 情況。

大多數物件偵測網路都使用 softmax 迴歸各類別的機率值,

且損失函數大都使用 cross-entropy loss

24深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

所以物件偵測的 label smoothing 就採改變 ground truth 的機率值向量 [pi (y)],使標記不再是 one-hot distribution

其中 是一個很小的常數,K 是類別數;例如,原來的機率值向量 [pi (y)] = [0, 0, 1, 0, 0],K = 5,設 = 0.1,則[p’I (y)] = [0.025, 0.025, 0.9, 0.025, 0.025]。

Page 13: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

25深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

C. Data pre-processing (影像前處理)以

隨機幾何變異 (random geometry transformation) 及隨機色彩抖動 (random color jittering)方式擴增 (augmentation) 訓練影像數量。

幾何變異有:有限制的隨機剪裁 (cropping)、旋轉 (rotation)、水平垂直翻轉 (flip)、縮放 (resize)、延展 (expansion)、..等。

色彩抖動有:改變亮度 (brightness)、色調 (hue)、飽和度 (saturation)、及 對比 (contrast)。

26深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

D. Training schedule revamping (訓練策略改造)以 YOLO v3 偵測 Pascal VOC 2007 資料集為例,

比較三種不同調整學習率的方法:i. step learning rate scheduleii. cosine learning rate scheduleiii. warm up learning rate schedule

第 iii 方式是為了避免一開始就使用過大的學習率,而使得梯度爆炸。

實驗結果發現 “iii + ii “ 組合方式的效果最好,如下頁圖示。

Page 14: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

27深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

以 YOLO v3 偵測 Pascal VOC 2007 資料集為例

warm up learning rate

28深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

E. Synchronized batch normalization同步批次正規化

在使用單電腦多加速卡的機器訓練網路模式時,內定的狀況是,每張卡的樣本是相互獨立的,也就是各別加速卡的 batch normalization 是各別做的。做分類時,每張卡用的 batch size 都比較大,所以卡與卡之間的差異小;對分類效果的影響不大。但對於物件偵測而言,每張卡的 batch size 都很小,若不同卡之間的 batch normalization 不同調(batch size 差異大,或有的有做 BN 有的沒做),則會導致卡間的很大差異,而使得偵測效果變差。因此多卡要同步 BN (synchronized BN),使用全部的樣本做 BN,才能使訓練收斂效果好。

Page 15: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

29深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

F. Random shapes training (隨機變換影像大小)One-stage 的物件偵測大多是輸入固定大小的影像,

本研究提出 “隨機大小影像訓練” (random shape training) 的概念;也就是實際拿到的訓練影像有大有小及不同長寬比小大部分都不同;可以考慮將訓練影像分成好幾組;例如:YOLOv3 將訓練影像以大小分為九組:320, 352, 384, 416, 448, 480, 512, 544, 576, 608 pixels;在訓練過程中,隨機從其中一組選出 batch size = N 的樣本訓練網路,更新網路模式的神經元權重值。

30深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

G. 實驗結果

以 YOLO v3 偵測 Pascal VOC 2007 資料集為例

Incremental Tricks mAP Cumu - data augmentation 64.26 -15.99 -15.99baseline 80.25 0 0+synchronize BN 80.81 +0.56 +0.56+random training shapes 81.23 +0.42 +0.98+cosine LR schedule 81.69 +0.46 +1.44+class label smoothing 82.14 +0.45 +1.89+mixup 83.68 +1.54 +3.43

Page 16: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

31深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

以 Faster R-CNN 偵測 Pascal VOC 2007 資料集為例

Incremental Tricks mAP Cumu - data augmentation 77.61 -0.16 -0.16baseline 77.77 0 0+cosine LR schedule 79.59 +1.82 +1.82+class label smoothing 80.23 +0.64 +2.46+mixup 81.32 +0.89 +3.55

32深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

使用MS COCO 2017資料集測試的結果

(COCO 2017資料量是Pascal VOC 2007的10倍)

ModelmAP

Orig. Proposed BOF

Faster R-CNN R50 36.5 37.6 + 1.1Faster R-CNN R101 39.4 41.1 + 1.7YOLOv3 @ 320 28.2 33.6 + 5.4YOLOv3 @ 416 31.0 36.0 + 5.0YOLOv3 @ 608 33.0 37.0 + 4.0

Page 17: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

33深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

比較 Mixup on pre-train classification / detection

- Mixup YOLOv3 + Mixup YOLOv3- Mixup DarkNet 53 35.0 35.3+ Mixup DarkNet 53 36.4 37.0

- Mixup F R-CNN + Mixup F R-CNN- Mixup R101 39.9 40.1+ Mixup R101 40.1 41.1

DarkNet 53 是 YOLOv3 的分類模組

R101 是 Faster R-CNN 的分類模組

34深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

[1] Z. Zhang, T. He, H. Zhang, Z. Zhang, J. Xie, and M. Li, ”Bag of freebies for training object detection neural networks,” arXiv:1902.04103v3.

[2] H. Zhang, M. Cisse, Y. N. Dauphin, and D. Lopez-Paz, “Mixup: beyond empirical risk minimization,” arXiv:1710.09412v2.

[3] C. Szegedy, V. Vanhoucke, S. Ioffe, and J. Shlens, “Rethinking the inception architecture for computer vision,” arXiv:1512.00567v3.

Page 18: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

35深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.1.3. 外加影像處理技術

深度學習技術可以應用在許多領域;包括做影像處理本身的應用;例如,去除雜訊、強化對比、影像壓縮、..

在視覺偵測/辨識/分割/定位/與檢測上的應用,外加影像處理可能對於這些應用有顯著的貢獻。

本節討論的議題包括影像輸入與影像處理兩部份。

36深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

A. 輸入影像的處置問題

i. 若輸入的影像大小不一、形狀不一,且都轉換成相同大小及形狀的影像再餵給神經網路,則每一次物件的大小及形狀都有變異,會弱化辨識效果。所以要注意訓練與測試之間影像形變的問題。

ii.那麼如果在不改變影像寬高比 (aspect ratio),盡量放大影像;例如,letterboxing (下頁),是否會提高偵測或辨識率 ?

Page 19: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

37深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

影像大小: , ,

一張影像要顯示在不同長寬比 (aspect ratio) 的螢幕上,影像就需要縮放,影像縮放有多種模式:

letterbox: 16:9 影像 4:3 螢幕保留原始影像長寬比,寬度放到最大,顯示16:9

pan-and-scan: 16:9 影像 4:3 螢幕高度放到最大,影像左右兩側截掉,顯示4:3

4:3 16:9

截掉了

38深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

pillarbox (inversed letterbox): 4:3 影像 16:9 螢幕保留原始影像長寬比,高度放到最大,顯示4:3

tilt-and-scan (reversed pan-and-scan)4:3 影像 16:9 螢幕寬度放到最大,影像上下側截掉,顯示16:9

windowbox: (no discussion)

Page 20: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

39深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

我們比較過“原始影像維持原來的大小與形狀 (pad)” 與“將影像水平方向放到最大 (letterbox)” 的偵測與辨識結果;結果顯示 “letterbox 並沒有顯著的比 pad 好”。

網路愈深層,擷取的特徵所涵蓋的範圍愈大;但影像放愈大,反而讓每一個卷積核所涵蓋的範圍愈小。因此放大影像,反而擷取不到物件全貌的特徵,而且若影像是內插 (interpolation) 放大,造成一個卷積運算內多了重複資料,沒有如想像中獲得更清晰的資料;所以 ”影像放大”沒有比較好。

40深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

iii.督導式學習的樣本座標及類型一定要標記正確;若有部份不正確,則不正確的部份一定會讓網路系統誤以為該物件是不需要偵測,而沒偵測出來。我們曾有過將正確的左上右下順序之座標,誤標為左下右上順序之座標,而偵測不到該物件。

Page 21: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

41深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

B. 影像強化的腳色

i. 灰階分佈圖均勻化有些影像亮度對比不夠,使得卷積的特徵擷取不足;這時若能自動強化影像亮度對比,對於特徵擷取絕對有幫助;例如,灰階分佈圖均勻化 (histogram equalization) 就是一個可自動強化影像亮度對比的好工具。

灰階分佈圖均勻化是整體灰階範圍放大;原始影像的灰階分佈範圍越窄,均勻化的效果會越好。

42深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

ii. 灰階範圍線性放大 (linear stretching)在某些影像中,特徵只呈現在區部灰階範圍中,這時使用 “分佈圖均勻化” 方法不太能夠達到目標,要改用 “灰階範圍線性放大” 方法。

只是 ”灰階範圍線性放大” 方法需要多一點專業知識與技巧,才能 “自動化” 完成。

原始影像。 均勻化結果。 線性放大結果。

Page 22: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

43深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

C. 輸出結果的處置問題

i. 在偵測與辨識上,相同類型的偵測框有重疊時,會根據 IoU 數值大小,將信賴度較低的框刪除掉;另外,在有多個不同類型的偵測框重疊時,也要記得將信賴度較低的不同類型偵測框刪除掉。

ii. 不同類型偵測框的 IoU (intersection-over-union) 計算,要注意一個框完全包另一個框的情形。

iii.兩個相同面積的框,其重疊面積與 IoU 的關係重疊面積 = 0.1 0.4 0.5 0.7 0.8 0.9 1

IoU = 0.05 0.25 0.33 0.54 0.67 0.82 1

44深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.1.4. 網路的架構

網路架構的設計,一定要針對待測物件的特性,如此,才能有效果 (effective) 及有效率 (efficient) 的解決問題。

物件的特性有:i. 物件大小的變化範圍 最多影像縮小倍數

特徵圖的解析度種類ii. 多物件之間的間距 網路深度iii.物件長寬比例的範圍與種類 偵測框種類iv.物件外型及色階的變化範圍 特徵圖數v. 不同類型物件的差異及範圍 特徵圖數vi. ..

Page 23: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

45深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

第 2.2.4 節有提到卷積層深與廣的問題。卷積層越深、越廣,則參數越多、記憶體用越多、執行速度越慢;但通常效果會好一點。

而且常有速度損失30%,效果只增加5%,或是參數量增加了50%,效果只增加10%;這樣值得嗎 ?

獲利多一點,損失少一點,一直都是我們追求的目標;在深度學習的技術發展與應用上,也是如此。

例如,以下議題比較 “網路卷積分支 (branch)” 與 “特徵金字塔架構”的優勢

46深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

Deeply-Fused Branchy NetworksRight branch left branch central main branch

(shorter) (longer)

Total 58 layers

(include 11 and

33)工研院

巨資中心2017

Page 24: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

47深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

特徵金字塔架構 (Feature Pyramid Network, FPN)回朔更高解析度特徵

48深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.1.5. 各種函數及方法的選擇

A.卷積核大小

B.激發函數 (activation function)C.損失函數 (loss function)D.最佳化法 (optimization method)

Page 25: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

49深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

A.卷積核大小

卷積核大小相當於選取多大範圍的像素製造一個特徵點。範圍越大 (卷積核越大) 通常可擷取出越獨特的特徵,但也越花時間。

已知,二個 33 卷積運算完全等同於一個55卷積運算,且二個33比一個55快;所以現在幾乎所有新網路都是採用 11, 33 卷積核。

50深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

B.激發函數 (activation function)常被使用的激發函數,依序為:

i. ReLU (Rectified-Linear Unit)ii. LReLU (Leaky ReLUnit)iii. PReLU (Parametric ReLU)iv. eLU (exponential Linear Unit)v. Sigmoid (Logistic)這些激發函數的主要差別在於 “負值” 的處理,也就是 “獎勵” 與 “處罰” 的比例原則 (請參考 2.2.2 節)。

Page 26: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

51深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

C.損失函數 (loss function)損失函數對於訓練結果有不小的影像;特別是生

成對抗網路 (GAN) 的訓練。

常被使用的損失函數,依序為:

i. cross-entropy lossii. Softmax with lossiii. Sigmoid cross entropyiv. L1 loss and L2 lossv. KL divergence or KL distance請參考 2.4.1 節。

52深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

D.最佳化法 (optimization method)最佳化演算法對於訓練效率 (efficiency) 與效果

(effect) 都有所影響,特別是效率;但實際應用上不易分析與修改,所以網路創造者大致就挑一個較多人用的方法,而使用現成網路者,也一樣將就著使用,不會修改。

常被使用的損失函數,依序為:

i. SGD (stochastic gradient descent)ii. Adamiii. RMSProp請參考 2.4.3 節。

Page 27: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

53深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.1.6. 超參數 (hyper parameter) 的設定

A.學習率 (learning rate)B.動量 (momentum)C.批量大小 (batch size)D.輸出神經元的編碼方式

E.權重初始化的方法

F. 神經元啟動函數的種類

G.參加訓練模型資料的規模

54深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.1.7. 網路訓練的參考策略 (僅作參考)常見問題 訓練正確率無法提高 (或誤差無法降低) 訓練正確率震盪 (或誤差忽增忽減) 訓練正確率高,但驗證 (validation) 正確率低

常見錯誤 輸入資料未洗牌 (shuffle)

• 檢查產生資料集的過程是否有錯誤 輸入資料維度錯誤

• 檢查定義檔與輸入資料有無錯誤 超過記憶體

• 檢查是否使用過大的 batch size

Page 28: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

55深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

A. 提高訓練正確率 (underfitting, 擬合不足)狀況:訓練正確率或誤差經過迭代已收斂,

但正確率低於需求 (或是誤差高於預期)基本處置

i. 增加(全域)學習率ii.改變最佳化方法

中階處置i. 修改各層特徵圖數 (kernel number),但不改變整體架構

ii.調整 batch size進階處置

修改網路架構 (layer number)

56深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

B. 訓練正確率無法收斂 (oscillation, 振盪)狀況:訓練正確率或誤差忽大忽小無法收斂基本處置

i. 降低 (全域) 學習率ii. 提高學習率降低速率iii.改變最佳化方法

中階處置i. 增加樣本 (data augment)ii. 修改各層特徵圖數 (kernel number),但不改變網路架構

iii.調整 batch size,檢查原始影像是否有shuffle進階處置修改網路架構

Page 29: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

57深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

C. 訓練正確率高,但驗證正確率低(overfitting, 過度擬合)

狀況:訓練正確率高且收斂,但驗證正確率大幅低於訓練正確率

基本處置 (改變 solver.prototxt)改變最佳化方法

中階處置 (改變 train_val.prototxt)i. 增加樣本 (data augment)ii. 修改各層內部結構 (kernel size / number),

但不改變整體架構iii.給予各層不同學習速率

進階處置嘗試使用其他已訓練的模型作為初始化作微調

58深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

許多網路的設計都是為了比賽;所以大家都是使用相同的資料集;例如,ImageNet, PASCAL VOC, COCO, CIFAR-100, CIFAR-10 等,設計及測試網路;例如,Inception, Xception, MobileNet, ResNet, DenseNet, Faster R-CNN, SSD, YOLO 等;因此這些網路之間的比較就比較有意義。

但若針對某一特定領域的應用;例如,印刷電路板的瑕疵偵測或辨識,而設計及測試的特定網路 A。以 A 網路與上述這些非此特定應用領域而創造的網路做比較,就比較沒有意義了。

Page 30: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

59深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.2. 資料不平衡 (data imbalance) 的問題

資料不平衡是傳統的問題,解決資料不平衡問題的兩大方向:

i. 資料的改進 (data-level improvement)a.傳統方法是再取樣 (re-sampling),b.新穎方法是以生成對抗網路(GAN)生成新樣本

ii. 方法的改進 (method-level improvement)a.分類方法的改進 (classifier improvement),b.以生成對抗網路(GAN)做半督導式的訓練。

60深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.2.1. 再取樣 (re-sampling)在分類的應用時,不同群組的樣本數量不一致 (資

料不平衡 (data imbalance)),造成辨識率下滑;將較多樣本群組的元素去掉一些,降低資料不平衡的問題,稱為欠取樣 (under-sampling)。

若是改成為增加較少樣本群組的元素,就稱為過取樣 (over-sampling)。

一般而言,”增加樣本的過取樣” 效果會比 “減少樣本的欠取樣” 好。

有許多過取樣的方法被提出;例如,SMOTE, SMOTE-ENN, ADASYN, CBOS, .. 。

Page 31: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

61深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

上述 “過取樣” 方法的全名

SMOTE: Synthetic Minority Over-sampling Technique

SMOTE-ENN: SMOTE + Edited Nearest NeighborADASYN: Adaptive SyntheticCBOS: Cluster-based Oversampling

62深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

從影像合成的觀點來看,再取樣畢竟還是用原影像融合 (fusion) 產生新樣本;i. 直接在空間域 (spatial domain) 做融合,會有低量成份的殘影,

ii.在頻率域 (frequency domain) 做,會有低量成份的邊緣或輪廓殘影;

都不像是真正存在的樣本。

所以 “以影像為輸入的應用”,再取樣不是解決不平衡資料的好方法。

Page 32: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

63深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.2.2. 以生成對抗網路 (GAN) 生成新樣本

使用 “生成對抗網路” GAN 來生成新影像樣本,雖然不保證生成的樣本是真實環境會碰到的樣本,但至少沒有殘影出現。從數學觀點來看,神經網路是一個非線性轉換函數,甚至於是一個極度複雜的非線性函數,因此成功機會比線性的 “再取樣”技術高太多了;例如,bigGAN、cycleGAN。

另外可用 “生成對抗網路” 從好樣本與壞樣本共同混合 (mixing)出新影像樣本;這又是另一個成功機會更大的途徑;例如,styleGAN。

64深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.2.3. 分類方法的改進 (classifier improvement)分類法的改進有 [4]:i. 門檻值法 (thresholding)

在測試階段,修改分類的門檻值。有很多方法可用;最基本的方式是以事前機率 (prior class probabilities) 來改變分類的判定準則。以貝氏事後機率定律 (Bayesian a posteriori probability)準則為例;x 樣本屬於第 i 類別的機率值改成為

其中 p(i) 是第 i 類的事前機率值,p(x|i) 是x 屬於第i 類的事前機率值。

Page 33: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

65深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

ii. 成本敏感度學習 (cost sensitive learning)在訓練階段,對於每一類別的分錯類樣本(misclassification),給予較高的成本花費 (cost)。且在倒傳遞的過程 (backward pas) 中,使用最小的成本花費 (minimizing the misclassification cost) 準則取代標準的損失函數。

[4] M. Buda, A. Maki, Maciej A. Mazurowski, “A systematic study of the class imbalance problem in convolutional neural networks,” arXiv:1710.05381.

66深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

iii.一類的分類法 (one-class classification)只訓練多樣本的那一類,不訓練少樣本的另一類。測試時,樣本 x 經網路處理輸出 x’;計算 x 與 x’的差異,d = |x - x’|。一般多樣本類的樣本差異小,少樣本類的樣本差異大;如此即可根據 d 分辨類別。計算差異 (d) 的公式有: absolute error, squares sum of errors, Euclidean distance, Mahalanobis distance。這種方法在資料極度不平衡的情況下,表現得很突出;例如,做不正常偵測 (anomaly detection)。

iv.混合分類法 (hybrid of methods)就是混合上述 2, 3 種方法一起使用。

Page 34: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

67深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.2.4. 以生成對抗網路 (GAN)做半督導式的訓練

請參考

(找出異常部位,不是 “不平衡資料的問題”)3.11.4 節 “異常偵測” (Anomaly detection)3.11.5 節 “AE-GAN 的異常偵測”(正常異常分類,是因應 “不平衡資料的問題”)8.5. 以 VAE+GAN 做 “半督導式的錫球瑕疵判定”

68深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.3. 正規化 (normalization)正規化是每一層神經元計算後的所有數值做一次整

理;所以完整名稱應該為資料正規化 (data normalization)。正規化一直都是改進最佳化演算法 (optimization method) 效能的重要方法之一。

正規化的方法很多;例如,局部反應正規化 (local response normalization, LRN)、批次正規化(batch normalization, BN),..。每一種正規化有其適用的對象;例如,不是每一種狀況都適用批次正規化。

以下比較多種正規化法。

Page 35: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

69深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.3.1. 批次正規化 (batch normalization, BN)在卷積神經網路中,因前一卷積層參數的改變而造

成後一卷積層的輸入資料分佈不一樣,因而要使用較小的學習率並注意起始值的設定,才能讓訓練收斂較穩定,如此訓練速度就變慢了,這個現象稱為內部共變異量偏移 (internal covariate shift)。

內部共變異量偏移所造成的問題有:i. 網路學習效能差 (參數收斂慢),ii. 參數無法收斂到好的位置,iii.擬合梯度瀰散 (gradient vanishing)。

資料批次正規化 (BN) [5] 的目的就是要解決內部共變異量偏移的問題。

70深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

批次正規化 (BN) 的意義如下圖示,其中,hw 是特徵圖的維度 (dimension of feature maps)c 是特徵圖數 (channel number)、n 是一批資料的個數 (mini-batch size)、

hw

hwc 為一個資料,n (hwc)為一批資料。一批資料稱為一個

mini-batch。一批資料計算每一特徵圖的平均值及標準差。

c

c n

c

Page 36: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

71深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

批次正規化除了輸出層外的卷積層皆可使用。假設某一層的輸入資料是一個hw維向量,一批訓練資料有n個樣本,則n個hw維度向量一起正規化

其中c 及 c 各別是特徵圖c的平均值與標準差;c, 及 c 各是縮放及位移正規化的可學習超參數。

72深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

從上述批次正規化 (BN) 的公式可以看的出來,其正規化同時正規化影像與影像之間的變異及像素與像素 (特徵與特徵) 之間的變異。

個人覺得 “一批次內影像的像素與像素 (特徵與特徵) 之間的變異” 比 “一批次內的影像與影像之間的變異” 來得重要。

批次正規化 (BN) 牽涉到多張影像間的變異,因此一批次用多張影像會比用少張影像穩定、可靠。

Ioffe and Szegedy 在其論文 [5] 上說 “有了批次正規化 (BN),就不需要 dropout, local response normalization (LRN) 等處理了”。

Page 37: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

73深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

[5] S. Ioffe and C. Szegedy, “Batch normalization: accelerating deep network training by reducing internal covariate shift,” arXiv:1502.03167.

訓練時,每一批訓練資料都要做批次正規化;那麼測試時,輸入資料要做批次正規化嗎 ?

怎麼訓練就應該怎麼測試,這樣測試才能複製訓練的效果;所以測試時,輸入資料也要做批次正規化。所需正規化參數可以取自訓練時的參數。

但是用GAN做異常偵測、用VAE-GAN 做正負樣本判定的應用,訓練時都是用正常樣本,測試時有正負樣本,正負樣本的平均值與變異數不一樣,批次正規化就要另外考慮。

74深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

hw

4.3.2. 層正規化 (layer normalization)批次正規化 (BN) 的效果會受到批次大小 (batch

size) 影響,因此 Ba et al. [6] 提出 layernormalization (LN) 以減少 batch size 的影響。

LN 沒有批次的觀念,將每一個資料 hwc計算一個平均值與標準差。LN 似乎壓抑了特徵之間的變異,讓分類更不容易。

[6] J. L. Ba, J. R. Kiros, and G. E. Hinton, “Layer normalization,” arXiv:1607.06450v1. nc

nn

Page 38: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

75深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.3.3. 實例正規化 (Instance normalization)實例正規化 (IN) [7] 則是每一特徵圖計算一個平均

值與標準差。IN 也是一樣沒有批次的觀念,但還好沒有縮減特徵之間變異。

[7] D. Ulyanov, A. Vedaldi, and V. Lempitsky, “Instance normalization: the missing ingredient for fast stylization,” arXiv:1607.08022v3.

hw

cncn

c n

76深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.3.4. 群正規化 (Group normalization)群正規化 (GN) [8] 一樣沒有批次的觀念,其意義

約介於層正規化與實例正規化之間。將每一張影像的特徵圖分群;也就是每一個資料,依特徵分幾群,各別計算平均值與標準差。

群正規化 (GN) 可能比層正規化 (LN) 更有彈性,且比實例正規化 (IN) 更能描述特徵間的相關性。

hw

cncn

[8] Y. Wu and K. He, “Group normalization,” arXiv:1803.08494v3.

c n

Page 39: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

77深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.3.5. 批次再正規化 (batch renormalization)批次再正規化 (BRN) [9] 是為了減少每一各別樣本

的輸出受到同一批次的其他樣本影響。

要定義一組全域正規化參數 and ,每一批次的正規化參數要調整全域正規化參數。若目前批次的正規化參數為

用B and B 調整 and (update moving average) = + (B - ) and = + (B - )

78深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

定義

正規化目前樣本 xi

訓練後的測試 (inference),正規化公式改成為

[9] S. Ioffe, ”Batch renormalization: towards reducing minibatch dependence in batch-normalized models,” arXiv:1702.03275v2.

Page 40: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

79深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.3.6. 局部反應正規化(local response normalization, LRN)

局部反應正規化 (LRN) [10] 是某些卷積層在激發(e.g., ReLU)後所做的一種 “抑制卷積核之間運算後的數值變異過大” 的方法。

[10] A. Krizhevsky, I. Sutskever, and G. E. Hinton, “ImageNet classification with deep convolutional neural networks,” in Proc. of Neural Info. Proc. Systems 2012 (NIPS 2012), Lake Tahoe, Nevada, Dec.3-8, 2012, pp.1-9.

80深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

其中

aix,y 卷積核 i作用在像素 (x, y) 的反應量 (activity)

n 是作用在相同像素的 “次序相鄰” 卷積核個數

N 是卷積核總數

k, , 是調整 (超)參數;

內定值 n = 5, k = 2, = 0.0001, = 0.75.

“局部反應正規化” 的公式如下

Page 41: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

81深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

從上述公式中可以看出 LRN 是調整同一像素的不同卷積核運算的反應值;例如,

正規化前的數值 a .., 5, 3, 4, 5, 7, 6, 5, ..正規化後的數值 b .., .., .., 2.37, 2.96, 4.14, .., ..

正規化前的數值 a .., 5, 3, 4, 15, 7, 6, 5, ..正規化後的數值 b .., .., .., 2.35, 8.81, 4.11, .., ..可能是超參數與卷積核反應值的相對大小關係,正規化效果沒有很顯著。

82深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.4. 主動學習 (active learning)應用一個辨識卷積神經網路,需要先使用與應用相

關的資料樣本訓練這個網路。樣本愈多,訓練效果愈好。但訓練一個網路最大的成本就是要人力標記(labeling) 樣本。

有些難以分辨的樣本對於這個訓練很有幫助,有些太容易分辨的樣本對於訓練就不太有助益 (也相當於不太能改進權重參數值)。挑選出有幫助的少數樣本來標記,再用來訓練這個網路,就可以大量減少成本。

Page 42: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

83深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

主動學習 (active learning) 的目的是要在督導式訓練中,挑選出較少的訓練樣本來達到與較多訓練樣本一樣的訓練效果,並減少成本。

另外,訓練樣本的次序也會影響網路訓練的時間與結果。若能從樣本集中挑選出對訓練較有效的樣本先行訓練,那麼確實有可能可以減少訓練樣本;

訓練樣本數

訓練成熟度

例如,可以將訓練曲線從下圖中的虛線變成實線。

那麼怎麼挑選呢 ?

84深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

主動學習的步驟:

i. 收集本業未標記的樣本,稱為To 測試集合。

ii. To集合的所有樣本餵入一個已用非本業樣本訓練過的一般卷積神經網路做分類或偵測;例如,AlexNet, GoogLeNet, MobileNet, ResNet, SSD, YOLO, Faster R-CNN, ..。

iii. 挑選困難分類或偵測的樣本;例如,最大機率值在0.5附近或entropy大的樣本。人工標記這些困難分類或偵測的樣本,稱為Tr 訓練集合。

iv. 用Tr 集合樣本訓練或微調 (fine tuning) 自己的網路。

Page 43: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

85深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

v. 若 (Tr / To) 數 < “一個內定門檻值”,則再從剩餘的樣本集合 (To - Tr) 中,挑選較困難分類或偵測的樣本;人工標記這些困難分類或偵測的樣本,加入 Tr 訓練集合中;回到步驟 iv。

vi. 停止。

86深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.5. 遷移學習 (transform learning)前述,訓練一個神經網路需要付出大量的人工標

記成本。另外,有些應用問題總是無法收集充分的訓練樣本,而造成網路模式 “過度擬合”。

因此能否利用非本業的大量訓練樣本,來協助本業應用網路的訓練。遷移學習 (transfer learning) [11] 就是因應這樣的目的而生的。

不同物件的偵測或辨識間,一定會有許多相同或相似的低階特徵及少數類似的高階特徵。就是因為有共同的特徵,所以才可以 “用非本業的大量訓練樣本,來協助本業應用網路的訓練”。

Page 44: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

87深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

遷移學習 (transfer learning) 藉由非本業的大量訓練樣本所學得的知識 (what to transfer) 有四類:

i. 基於實例的遷移學習 (instance-based transfer learning)

ii. 特徵表示的遷移學習 (feature-representation transfer learning)

iii. 模式參數的遷移學習 (parameter transfer learning)

iv. 相關知識的遷移學習 (relational-knowledge transfer learning)

88深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.5.1. 基於實例的遷移學習(instance-based transfer learning)

非本業資料集已充分訓練出 CNN model A,比較“本業資料集” 與 “非本業資料集”,增加與本業相似的非本業資料之權重 (weight),並加入少許本業資料,再重新訓練 CNN A;這個 CNN A 也就一樣適合於本業資料的應用。

非本業資料集

本業資料集CNN A

困難處i. 相似定義難。ii.兩資料集分佈不同。

Page 45: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

89深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.5.2. 特徵表示的遷移學習(feature-representation transfer learning)

非本業資料集已充分訓練出 CNN model A,分析“本業資料集” 與 “非本業資料集” 的特徵,將兩資料特徵轉換到同一個好的特徵 (good feature representation) 空間中,降低本業與非本業資料的差異;再重新訓練 CNN A;這個 CNN A 也就一樣適合本業資料的應用。

困難處難以獲得怎樣的轉換可以將兩資料特徵轉換到同一特徵空間中具有最多的相似處。

90深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.5.3. 模式參數的遷移學習(parameter transfer learning)

非本業資料集已充分訓練出 CNN model A,CNNA 再用 “本業資料集” 重新訓練或稱為 “細部調整”或 “微調” (fine tuning);這個 CNN A 也就一樣適合本業資料的應用。若本業資料與非本業資料越相似,則本業資料的訓練樣本數就可越少,以減少成本付出。

這樣的遷移學習方式本來就是我們一直在使用方式。

Page 46: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

91深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.5.4. 相關知識的遷移學習(relational-knowledge transfer learning)

非本業資料集已充分訓練出 CNN model A;尋找非本業資料間的相關性 R,也尋找本業資料間的相關性 R ‘;建立相關性 R 與相關性 R ‘ 的對應關係 (mapping) M。則這個 CNN A 就可以透過對應關係 M 應用到本業的資料中做分析。

[11] S. J. Pan and Q. Yang, “A survey on transfer learning,” IEEE Trans. on Knowledge and Data Engineering, vol.22, no.10, pp.1345-1359, Oct. 2010.

92深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.6. 特殊運算

4.6.1. 增減影像空間解析度的取樣 (sampling)4.6.2. 區塊卷積運算 (block convolution)4.6.3. 單點各別運算 (point-wise operation)

Page 47: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

93深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.6.1. 增減影像空間解析度的取樣 (sampling)增減影像空間解析度的取樣 (sampling) 有

i. up-sampling (上取樣) 是提高影像的空間解析度(e.g., 320240 內插成 640480)

ii. down-sampling (下取樣) 是降低影像的空間解析度 (e.g., 720480 內插取樣成 640400)

上下取樣不需要維持影像長寬比 (aspect ratio),但在影像內容的偵測與辨識上,維持長寬比會讓偵測率與辨識率較好。

94深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

上下取樣的應用

i. 偵測、辨識、定位等網路只有 “下取樣”,沒有 “上取樣”,

ii. 分割、影像處理、影像生成、影像轉換等網路就同時會有 “下取樣” 與 “上取樣”;

iii. 有些超級解析度沒做 “下取樣”,只做 “上取樣”,

當需要輸出與輸入一樣大小的影像時,就一定會做 “上取樣”。

Page 48: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

95深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.6.1.1. 上取樣 (up-sampling)上取樣 (up-sampling) 的方法有:

i. nearest neighbor (interpolation)ii. un-pooling = pooling 的反動作,只是 pooling

有max pooling, average pooling,un-pooling只有一種就是一個像素變成四個相同像素。

iii. deconvolution= transposed convolution (轉置卷積)= convolution with stride 1/2

iv.pixel shuffle = sub-pixel convolution (請參考 11.2.3 節)

96深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

反卷積 (deconvolution) 反卷積是作用在網路內做端對端的學習;例如,下圖 ii, iii 都是反卷積運算。

反卷積做 “像素標記預測” 快速又有效。

i.卷積運算. ii.反卷積運算1. iii.反卷積運算2.

Page 49: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

97深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.6.1.2. 下取樣 (down-sampling)下取樣 (down-sampling) 的方法有:

i. poolingii. convolution with stride 2 (= 收縮卷積)iii. reorganization in YOLO v2iv.shift and stitch

98深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

A. 位移與縫合 (shift and stitch) “位移與縫合” 是一個要從原始影像處理起的演算

法。假設原始影像經過卷積及池化運算後,縮小(down-sampling)了sxs 倍;例如,原影像解析度為 NN,縮小成 (N/s) (N/s)。

Page 50: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

99深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

位移與縫合的步驟

i. 原始影像向右位移 s 個不同位置 0, 1, .., s-1,也向下位移 s 個不同位置 0, 1, .., s-1,空出的位置補 0,共得到 s 2 張不同位移量影像。

ii. 處理這 s 2 張不同位移量的影像。例如,每一張影像做 (不重疊) sxs 範圍的 maxpooling 或其他運算,共得到 s 2 張 (N/s) (N/s) 影像。

iii.將這 s 2 張 (N/s) x (N/s) 影像完全交錯編織縫合 (interleaved stitch) 成一張 NN 像素標記預測 (dense prediction) 影像。

100深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

1 2 3 4 5 1 2 3 4 5

6 7 8 9 10 6 7 8 9 10

11 12 13 14 15 11 12 13 14 15

16 17 18 19 20 16 17 18 19 20

21 22 23 24 25 21 22 23 24 25

1 2 3 4 5 1 2 3 4 5

6 7 8 9 10 6 7 8 9 10

11 12 13 14 15 11 12 13 14 15

16 17 18 19 20 16 17 18 19 20

21 22 23 24 25 21 22 23 24 25

i. 以 s = 2, N = 5 為例

(0, 0) (1, 0)

(0, 1) (1, 1)

2 2 = 44 張不同位移量影像如右圖,各別位移量為

Page 51: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

101深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

1 2 3 4 5 1 2 3 4 5

6 7 8 9 10 6 7 8 9 10

11 12 13 14 15 11 12 13 14 15

16 17 18 19 20 16 17 18 19 20

21 22 23 24 25 21 22 23 24 25

1 2 3 4 5 1 2 3 4 5

6 7 8 9 10 6 7 8 9 10

11 12 13 14 15 11 12 13 14 15

16 17 18 19 20 16 17 18 19 20

21 22 23 24 25 21 22 23 24 25

ii. 4 張不同位移量影像各別做 2x2 maxpooling

得 4 張 3x3 (N/s) x (N/s)影像。

7 9 10 6 8 10

17 19 20 16 18 20

22 24 25 21 23 25

2 4 5 1 3 5

12 14 15 11 13 15

22 24 25 21 23 25

102深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

iii. 將這 4 張 3x3 影像完全交錯編織縫合成一張 5x5像素標記預測 (dense prediction) 影像。

7 9 10 6 8 10

17 19 20 16 18 20

22 24 25 21 23 25

2 4 5 1 3 5

12 14 15 11 13 15

22 24 25 21 23 25

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

21 22 23 24 25

1 3 5 2 4 5

11 13 15 12 14 15

21 23 25 22 24 25

6 8 10 7 9 10

16 18 20 17 19 20

21 23 25 22 24 25

反轉換 交錯編織縫合

Page 52: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

103深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.6.2. 區塊卷積運算 (block convolution)前述深度學習的卷積運算幾乎都是三維資料運算;

三維運算極為耗時,為了縮減時間,三維卷積運算可以分解成2,3個小卷積核串連運算,甚至於分解成二維空間域及一維特徵域的卷積運算;這樣的串連運算稱為區塊卷積 (block convolution) 運算。

三維卷積運算fin

kk

fout

kk卷積核大小、fin 輸入特徵數、fout 輸出特徵數。運算量為 kk fin fout

104深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

區塊卷積運算有多種不同形式:

i. 2014/9 GoogLeNet 的 Inception-1 先做 11fin 變成 f 個特徵圖 (feature map),再做kkf卷積運算,輸出 fout 個特徵圖

運算量為 fin f + (kk f fout)

…fin

11

Iw Ih f

…f

kk

fout

Page 53: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

105深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

ii. 2015/12 ResNet 的 bottleneck block第一個11卷積是把 fin 個特徵圖降為 f 個;33卷積則是 f 個特徵圖轉 f個特徵圖;第二個11卷積則是把 f 個特徵圖

增回 fout 個特徵圖輸出。

f < fin (or fout),就可減少運算量。

右圖結構的運算量為

(fin f) + (kk f f) + (f fout)= f (kk f + fin + fout) 1x1, fout-d

1x1, f-d

3x3, f-drelu

relu

fin-d

relu

106深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

iii. 2016/10 Xception 的 separable convolution三維卷積分解成一個2維空間域及一個1維特徵域

的卷積稱為可分離卷積 (separable convolution)。

Xception 的可分離卷積運算如下圖,

pointwise convolution(11fin) fout

depthwise convolution(kk) fout (各特徵圖各別做)

其運算量為Iw Ih fin fout + Iw Ihk2 fout= Iw Ih fout (fin + k2)

…fin

11

Iw Ih fout

1k

k

fout

Page 54: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

107深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

iv.2017/4 MobileNet各輸入特徵圖先各別做 kk depthwise convolution,再所有特徵圖的對應像素一起做 11fin pointwise convolution,輸出 fout 個特徵圖

運算量為

(k k fin) + (fin fout)= fin (k k + fout)

1k

k

…fin

11

Iw Ih fout

fin

108深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

v. 2018/1 MobileNet v2 的 inverted bottleneck block第一個11卷積是把 fin 個特徵圖增為 f 個;33卷積則是 f 個特徵圖各別處理;第二個11卷積則是把 f 個特徵圖

降回 fout 個特徵圖輸出。

這裡刻意用 f > fin (and fout),增加block內的運算量及特徵數

右圖結構的運算量為(fin f) + (kk f) + (f fout)= f (kk + fin + fout)

1x1, fout-d

1x1, f-d

3x3, f-drelu

relu

fin-d

relu

Page 55: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

109深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

Inception 12014/9

ResNet2015/12

Xception2016/10

MobileNet2017/4

MobileNet 22018/1

1133 (3D)

Res block33 (3D)33 (3D)

separablepointwise11depthwise33 (2D)

depthwise33 (2D)pointwise11

depthwise33 (2D)pointwise11

33 (3D)11

bottleneck block

1133 (3D)11

Xception以後才有separable 的觀念

invertedbottleneck

block1133 (2D)11

比較

110深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.6.3. 單點各別運算 (point-wise operation)單點各別運算 (point-wise operation) 意思是將兩

張相同大小特徵圖的兩個相對應位置之數值直接做運算;這種運算有相加、相乘。point-wise = element-wise

在架構圖中,特徵圖相加 (point-wise addition)的符號是 “”,特徵圖相乘 (point-wise multiplication)的符號是“”

另外還有特徵圖上的每個數值乘上一個固定值,使用 “” 符號表式;但是也有人用 “” 取代 “”,所以是特徵圖相乘或乘以一個固定值要看清論文。

Page 56: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

111深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

“特徵圖相加” 範例有 residual block, bottleneck block, ResNeXt block, 等的最後運算。

“特徵圖相乘” 的範例主要是表現在強調注意力(attention) 的網路上;例如,(論文名稱)• pyramid attention network for semantic

segmentation• dual attention network for scene segmentation

112深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.7. 特殊處理

4.7.1. 丟棄策略 (dropout)4.7.2. 併聯 (concatenation)4.7.3. 全域均值池化 (global average pooling,

GAP)

Page 57: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

113深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.7.1. 丟棄策略 (dropout)為了避免過度訓練。訓練時每次前傳遞要隨機將某

部份神經元的權重設為零;也就是這些神經元將不參與此次的前傳遞與倒傳遞運算。等同於每次輸入不同的神經元,減少特定神經元彼此間的互相依賴,以強迫訓練出更強適應性的特徵。可視為一種集成方法 (ensemble method)。

Training stage Test stage

114深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.7.2. 併聯、併連 (concatenation)併連 (concatenation)

是將多組相同維度的特徵圖 (feature map) 合併,如下例,兩組各有45及40個特徵圖合併成85個特徵圖。

19x19x85feature maps

concatenation

19x19x40feature maps

19x19x45feature maps

Page 58: 4. 卷積神經網路專題 - NCUip.csie.ncu.edu.tw/course/DL/DL0104p.pdf · 深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU 4 前述,網路模式多如過江之鯽,各種網路各有其設

115深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

注意 “併連運算” 與 “特徵圖相加” 是不一樣的運算。在架構圖中 “併連運算” 會寫 “concat”,而 “特徵圖相加” 會使用 “+” 或 “” 符號。

116深度學習電腦視覺 4.卷積神經網路專題 D.-C. Tseng, DLCV Lab. in NCU

4.7.3. 全域平均池化 (global average pooling)全域平均池化 (global average pooling, GAP) 運

算是NIN論文作者在2014年首創,將整張特徵圖(feature map) 中的所有數值平均成為一個數值。

這樣做法可以減少參數量,也因而弱化過度擬合(overfitting) 的問題。

但影像中的空間分佈資訊也因而消失掉;因此若影像中的空間分佈資訊是偵測與辨識的依據,那麼就應該使用卷積網路模組,不要使用GAP。