【學習筆記1】組會與答疑——關於遷移學習與深度網絡防止過擬合的幾種有用的tricks

【組會筆記】這一系列的博文將用來記錄我在浙江大學學生AI協會中參加交流組會的學習筆記,並且我會補充在會後學習的相關內容,豐富相關知識點,對組會中提出的問題有更深入的瞭解,在點滴中不斷提升。

問題一:爲什麼用一個數據集訓練好的網絡換一個數據集的表現並不是那麼好?

會上解答:這不是過擬合的問題,這是域遷移(domain bias)問題。比如在動物圖片的分類上做的很好的網絡並不一定會在傢俱的分類上表現很好。

解決方案:這是遷移學習(transfer learning)領域研究的問題。對於域偏移問題目前主要的解決方法有以下幾個:

(1)fine tune。直接用原來的網絡中的相關參數,作爲新的初始參數,用小的學習率重新訓練。這種方法相當於重新訓練,代價大。

(2)one-shot learning,zero-shot learning,few-shot learning。不需要、或利用新的數據集中很少的樣本利用已有模型完成遷移學習。

(3)segment everything。(學習中)

問題二:防止過擬合的幾種方法

會上解答:
(1)數據增廣。對原始圖像進行旋轉放大裁切加噪聲等,防止網絡記住一幅圖像。
加入L1/L2正則項。

(2)dropout。

(3)BN。Relu函數隨着橫座標的增大趨於無窮大,當某個值很大會產生很大的激活值,網絡很不穩定;BN將數據歸一化,防止產生很大的激活值,BN+sigmoid、BN+Relu可以產生很好的激活值。

(4)cross validation(train,val/test)。之所以設置test和validation,是防止用test數據集刷分的現象,單獨給validation測試訓練效果,防止在test上“作弊”。就像ImageNet比賽每次Validation數據集公佈後排名都會發生風雲突變。

問題三:網絡的淺層共享和高層共享問題

會上解答:
(1)淺層共享。即用淺層提取的特徵做多個任務,淺層關注細節特徵,感受野很小。對於分割和檢測這樣的任務,淺層上關注的特徵是一樣的,這樣做淺層共享更經濟。
(2)高層共享。即用高層提取的特徵做多個任務。比如兩張圖片,是不同域的,一個是動漫的,一個是真人的,淺層是不一樣的(比如紋理上的細節),但高層是一樣的(比如人的輪廓),用一個網絡的高層去同時做動漫和真人的輪廓檢測是可以做到的。

問題四:1×1卷積的作用

會上解答:比如一個4通道到8通道的普通卷積,用一個3×3的卷積核去卷積,不僅要考慮每個通道height和width上的卷積,還要考慮channel上的卷積,一次每次卷積是跨通道的cross-channel卷積,需要計算4×3×3×8次卷積;若先在各個通道上先用3×3卷積,不跨通道卷積,得到一個4通道的中間層,再用一個1×1的卷積核去跨通道卷積4通道中間層得到8通道的輸出層,只需要計算4×3×3+1×1×8次,卻可以得到和普通卷積差不多的特徵。這樣的計算量的減少對於深層的網絡來說是巨大的。
(不僅是1×1卷積,關於卷積,自己還有一些問題要去問學長。後續補上。)

會後任務

二選一:
(1)針對Pascal Voc12,自己嘗試寫一個網絡,YOLO網絡等都可以。
(2)羅老師給的畸變圖像,自己寫一個網絡,實現圖到圖的翻譯。



-------------------------------------------

Youzhi Gu, master student

Foresight Control Center
College of Control Science & Engineering
Zhejiang University
Email: [email protected], [email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章