1. 程式人生 > 實用技巧 >讀書筆記-增量學習-Large Scale Incremental Learning

讀書筆記-增量學習-Large Scale Incremental Learning

一篇2019年關於增量學習Incremental Learning的論文。

論文的應用場景是大規模(Class)資料集的增量學習。文中提及現有的增量學習方法均存在兩個致命問題:

  • the data imbalance between the old and new classes(新、舊類的資料不平衡)
  • the increasing number of visually similar classes(資料集中相似的類數量增加)

針對這兩個問題,作者發現整個模型的最後一個全連線層對新的資料類別有嚴重的偏向性,這種偏向性可以由一個線性模型糾正

使用了作者提出的偏向糾正的方法,整個模型的效能隨著資料集規模增大,下降率明顯降低,如下圖所示。

該偏向糾正方法的流程圖如下圖所示:

  • 整個模型被分為Stage 1和Stage 2兩部分,Stage 1是Input、卷積層和全連線層,Stage 2 是作者提出的偏向糾正層。
  • 把新、舊資料整合後,切分為新、舊訓練集(Training)和新、舊驗證集(Validate)。其中新、舊驗證集的大小一致。
  • 訓練集用於Stage 1的卷積層和全連線層的訓練,驗證集用於Stage 2的偏向糾正。

其中,新模型由這兩個Loss Function習得:

  • 新、舊類別資料輸出採用知識蒸餾Distilling Loss:

  • Classification Loss採用交叉熵:

  • 最終表示為:

新模型的Stage 2的糾正層輸出表達如下:

1到n表示舊樣本,不需要糾正。對於n+1到n+m的新樣本,引入兩個變數 α、β對其進行線性糾正。糾正後通過交叉熵Loss完成訓練,公式如下:


為了驗證是模型中的全連線層存在偏差,作者採取以下實驗:

把100類資料分5次遞增,每次遞增20類,發現兩種模型(使用baseline方法train分類器 和 用所有訓練資料train分類器)的準確率隨著增量學習下降明顯。且結果明顯偏向於最後加入的20類新資料。下圖(a)中綠色和藍色線。

先訓練一次特徵層和全連線層,然後凍結特徵層,再用新、舊資料訓練一次全連線層得到結果(下圖(a)中黃色線)。

該實驗驗證了兩個觀點:

  • 模型中的全連線層的確對分類偏差有嚴重影響
  • 作者提出的方法在增量學習中有效緩解效能下降問題

另一實驗把該新提出的模型應用於一個Large Scale Dataset中,比對另外3種模型,結果如下:

隨著分類數量增加,4種模型學習後準確率均降低,但作者提出的模型在該大型資料集中表現出更強效能,10000種類別時仍能保持準確率高達87%以上。

不同資料集上的表現亦十分出色,當資料集越大,提出的模型優勢越大。在結果如下: