DataWhale街景字符編碼識別項目-模型集成

對於Baseline的一點總結

通過了數據準備、數據加強、模型構建以及模型驗證和迭代4個階段,基本上獲得了一個還不錯的模型。git

使用改進後的模型獲得測試結果, 去網站提交,結果只有0.625的準確率。發現測試集上的效果和驗證集上的效果差距還挺大的。github

很容易想到的是測試集和驗證集會不會存在分佈上的差別。若是是, 有沒有辦法來解決這種差別。網絡

如今的問題是如何提升網絡的泛化性能。在加了一些tricks以後,訓練集的精度已經能夠達到99%,但驗證集的精度基本上穩定在71%左右,沒法再繼續提高。當模型無法進一步改進時,就應該回到數據自己,能夠檢查一下誤分類的樣本,對其進行一些統計。針對數據進行一些改進。oop

對於常規的圖像分類網絡,輸入的圖像尺寸對於網絡最終的結果不會有太大的影響。而這個任務中,須要同時對圖片中的全部數字進行分類,而且強制網絡的輸出分別去識別對應相應的數字。那麼其實網絡須要去自動的學習,哪一個位置對應哪個字符。所以該分類網絡實際上是有強烈的位置敏感的。性能

爲了嘗試解決這個問題,使用了YOLO V3中的一個trick,每10個epoch,改變一次圖像大小,在這裏,我只改變了圖像的寬度(由於文字主要是橫向分佈的)。從新訓練了resnet18和mobilenet v2。學習

模型集成介紹

模型集成是一種有效的漲分手段,主要包括bagging、stacking和boosting3類。測試

bagging: 該方法一般考慮的是同質弱學習器,相互獨立地並行學習這些弱學習器,並按照某種肯定性的平均過程將它們組合起來。網站

boosting,該方法一般考慮的也是同質弱學習器。它以一種高度自適應的方法順序地學習這些弱學習器(每一個基礎模型都依賴於前面的模型),並按照某種肯定性的策略將它們組合起來。spa

stacking,該方法一般考慮的是異質弱學習器,並行地學習它們,並經過訓練一個「元模型」將它們組合起來,根據不一樣弱模型的預測結果輸出一個最終的預測結果。blog

視覺任務中經常使用的集成方法

Dropout

Dropout也叫丟棄法,即在訓練過程當中,隨機的丟棄一些神經元,至關於每一次都在train不一樣的模型。它一樣能夠看作是一種集成學習方式。
IMG

SnapShot

SnapShot是一種不須要增長額外的訓練成本就能獲取多個網絡模型的方式。它經過保存訓練過程當中,學習率處於最低點位置時的網絡權重,最後會獲得對應不一樣局部極小值的網絡。

snapshot須要結合學習率週期調整策略,下圖爲學習率餘弦衰減策略,snapShot會在每一個學習率調整的週期結束位置,拍快照,也就是保存當前模型權重。

上圖中的學習率的最小值爲5e-4,使用在這樣的極端值(0.1至5e-4,M倍)之間波動的學習速率計劃的背後理論是,訓練模型時存在多個局部極小值。不斷下降學習率會迫使模型停留在低於最佳的局部最小值位置。所以,咱們使用很高的學習率來逃避當前的局部最小值,並嘗試找到另外一個可能更好的局部最小值。

最後對保存的多個模型進行voting或者staking。

TTA

TTA(test time augmentation)是一種後處理方式,測試階段,對每張圖片進行數據加強n次,分別獲得n個結果,最後進行vote獲得最終的預測結果。
其思路跟集成學習的思路基本一致,一樣能夠看作是一種集成方法。

總結

  1. 模型只能決定精度的下限,數據才能決定精度的上限。在模型訓練前,須要對數據有必定的認識,則能夠幫助咱們選擇合適的模型以及合適的參數;模型的進一步提高遇到瓶頸時,咱們仍是須要回到數據的自己,分析誤分類樣本,看是否能夠發現一些規律。
  2. 設置隨機種子很是重要,咱們須要保證結果的可復現。由於網絡模型中的隨機性太多,每一次訓練都會產生徹底不同的模型。
  3. 圖形的可視化或者良好的log能夠很好的幫助到咱們的結果分析過程,推薦使用tensorboard。另外,每一次模型保存都額外的將模型的配置參數一樣保存,特別是在模型迭代了不少次以後,保存的模型不少,本身都不必定能分辨清楚。
  4. 調參過程當中,控制變量特別重要,每次只改動一個變量。每一次的調整,都能手動的記錄下來或者以log的形式保存。
  5. 在硬件有限的狀況下,推薦使用Snapshot和TTA模型集成方式。

最終經過訓練的3個模型進行stacking,達到了0.91的acc。

此次比賽雖然總體難度不大,但想要取得比較好的成績仍是挺難的,能獲得這樣的成績仍是有點意外的。但拋開成績,收穫更多的多是在模型的迭代過程當中,對於調參的一些理解和收穫以及對數據的認識。

Reference

[1] 經常使用的模型集成方法介紹:bagging、boosting 、stacking

相關文章
相關標籤/搜索