Transfer learning 的幾個缺點
兩個問題
1.可能從頭開始訓練模型嗎?
2.如果可行, 有沒有什麼準則可以設計對於偵測任務,資源高效且維持SOTA準確度的網路?
原文表示DSOD非常彈性, 可以為各種不同計算資源的環境做 "剪裁", 例如伺服器,桌機,移動裝置或嵌入式
本文三大貢獻(自己講)
DSOD
總體架構
可分為兩部分
stem
+4個 dense
+2個trainsition
跟2個 transition w/o pooling
先討論一些規則,最後附上整體架構圖
規則一: Proposal-free
本文說調查了三種類型的算法:
1.用Selective search決定候選區域
2.用RPN決定候選區(候選相對少)
3.不需要候選區域
內文觀察到只有第3種可以成功在不使用預訓練模型的情況下收斂。
推測這是因為RoI pooling會阻礙梯度smoothly的從區域等級倒傳遞到特徵圖上
作者認為在預訓練過的網路中,ROI池化層之前的初始參數已經夠好了,所以只有不須候選區域的算法可以從頭開始訓練。
規則二: Deep Supervision
:notes: 有些深度監督實現方式是透過多個loss function
規則三:Stem Block
一個stem block長這樣
本文提到在實驗時發現增添這樣的塊可以增加檢測的性能,原本在DenseNet中是使用以下的block
作者說是被inceptionv3和v4啟發
這個部份我持懷疑態度,在我的認知中,這個部份的始祖是VGG
規則四:Dense Prediction Structure
原本SSD使用VGG16(微改版)做為骨架, 在輸入圖片 下做了六種尺度的輸出, 第一個尺度對應到的特徵圖(大特徵圖檢測小物件)
Dense prediction structure則是在每個尺度融合各尺度的資訊
限制每個尺度輸出跟預測的特徵圖同深度
在DSOD裡每個尺度(除了第一個),都將前一個特徵圖的一半再concatenate進來
Down-Sampling block都長這樣
Learning Half and Reusing Half
架構圖
Training Settings
框架:Caffe
顯卡:TitanX
不同於SSD只對第一個尺度,DSOD對所有輸出使用L2正則化, 其他包括資料增強,defalt boxes 的尺度和長寬比, loss function都參考SSD。
學習率和batch size與SSD不同, 在後面會詳述。
Ablation Study on PASCOL VOC 2007
在2007+2012的trainval上做訓練, 在2007test上做測試
1,2 rows
比較有無Transition w/o Pooling Layer的差異, 差了 1.7% mAP有Transition w/o Pooling Layer較好
2,3 rows
比較 transition layers 的 (compression factor), 2.9% mAP特徵圖沒降的好
3,4 rows
比較 bottleneck layers的深度影響, 差了4.1% mAP瓶頸層寬的好
4,5 rows
比較第一個卷積層的深度, 差了1.1% mAP第一層深的好
5,6 rows
比較成長率(growth rate) k 值, 差了4.8% mAP成長率代表每個block輸出的channel數,在這高的好, 但其實densenet原文有提到不用太高
6,9 rows
比較有沒有Stem Block, 有無差了2.8%原文假設 Stem Block 可以避免原圖資訊流失, 在此驗證有 Stem Block 確實比較好
Dense Prediction Structure
What if pre-training on ImageNet?
原文使用 DS/64-12-16-1
為骨架在ImageNet上訓練得到 top-1
66.8%, top-5
87.8% 的準確度, 再用VOC (07+12 trainval)
做訓練, 在VOC 07 test
做驗證得到 70.3% 的 mAP, 相對應的從頭開始訓練模型則得到70.8% 的 mAP, 作者說未來可能會做更詳細的討論。
VOC2007
討論1: Better Model Structure vs. More Training Data?
如果能不記開銷當然可以用大量數據訓練出大量參數的網路, 但我們如果用更精良的設計, 如本篇在VOC07
上只用16551張圖訓練出與ImageNet
120萬+ 16551張圖差不多的結果, 顯然更有效率。
Why Training from Scratch?
分類與檢測的domain差很多,現存當然有很多方法可以微調的很好,但如果能從頭訓不是更好嗎?
Model Compactness vs. Performance
本篇提到大部分的檢測模型都需要大量記憶體存取大量參數
原文DSOD網路圖連結
原文如下:
若有任何問題歡迎私訊或來信與本篇作者交流
link
:e-mail: P86071113@gs.ncku.edu.tw