天天看點

【論文閱讀】增量學習近期進展及未來趨勢預測

【摘要】 本文通過三篇發表在CVPR 2019上的論文,對增量學習任務進行簡單的介紹和總結。在此基礎上,以個人的思考為基礎,對這一研究領域的未來趨勢進行預測。

一、背景介紹

目前,在滿足一定條件的情況下,深度學習算法在圖像分類任務上的精度已經能夠達到人類的水準,甚至有時已經能夠超過人類的識别精度。但是要達到這樣的性能,通常需要使用大量的資料和計算資源來訓練深度學習模型,并且目前主流的圖像分類模型對于訓練過程中沒見過的類别,識别的時候完全無能為力。一種比較簡單粗暴的解決方法是:對于目前模型識别不了的類别,收集大量的新資料,并和原來用于訓練模型的資料合并到一起,對模型進行重新訓練。但是以下的一些因素限制了這種做法在實際中的應用:

  1. 當存儲資源有限,不足以儲存全部資料的時候,模型的識别精度無法保證;
  2. 重新訓練模型需要消耗大量的算力,會耗費大量的時間,同時也會付出大量的經濟成本(如電費、伺服器租用費等)。

為了解決這些問題,使得增加模型可識别的類别數量更容易一些,近年來學術界中出現了一些針對深度學習的“增量式學習”算法。這類算法有三點主要的假設:

  • 不同類别的資料是分批次提供給算法模型進行學習的,如下圖所示;
  • 系統的存儲空間有限,至多隻能儲存一部分曆史資料,無法儲存全部曆史資料,這一點比較适用于手機、PC機等應用場景;
  • 在每次提供的資料中,新類别的資料量比較充足。
【論文閱讀】增量學習近期進展及未來趨勢預測

這類任務的難點主要展現在兩方面:

  1. 由于每次對模型的參數進行更新時,隻能用大量的新類别的樣本和少量的舊類别的樣本,是以會出現新舊類别資料量不均衡的問題,導緻模型在更新完成後,更傾向于将樣本預測為新增加的類别,如下圖所示;
  2. 由于隻能儲存有限數量的舊類别樣本,這些舊類别的樣本不一定能夠覆寫足夠豐富的變化模式,是以随着模型的更新,一些罕見的變化模式可能會被遺忘,導緻新的模型在遇到一些舊類别的樣本的時候,不能正确地識别,這個現象被稱作“災難性遺忘”。
【論文閱讀】增量學習近期進展及未來趨勢預測

目前主流地增量學習算法可以分為兩類:

  • 基于GAN的方法。這類方法不儲存舊類别的樣本,但是會使用生成對抗網絡(GAN),學習生成每類的樣本。是以,在對模型進行更新的時候,隻要使用GAN随機生成一些圖像即可,無需儲存大量的樣本;
  • 基于代表性樣本的方法。這類方法對于每個舊類别,儲存一定數量的代表性樣本,在訓練的時候,使用舊類别的代表性樣本和新類别的樣本來更新模型,進而保證模型既能準确地識别舊類别,也能準确地識别新類别。下面針對這兩類方法,分别簡單介紹一些發表在CVPR 2019上的論文,并簡單總結一下這兩類方法各自的優勢和不足。

二、基于GAN的方法

論文:Learning to Remember: A Synaptic Plasticity Driven Framework for Continual Learning

作者:Oleksiy Ostapenko, Mihai Puscas, Tassilo Klein, Patrick Jaehnichen, Moin Nabi

出處:CVPR 2019

【論文閱讀】增量學習近期進展及未來趨勢預測

這篇文章提出了一種基于GAN的增量式學習方法,如上圖所示。其中判别器(D)部分的設計與ACGAN基本相同,包括對抗損失和分類損失兩部分;生成器的結構則比較特殊。具體來說,本文提出的生成器除了需要學習生成器的權重之外,還要對每一層的權重學習一個mask。這個mask的作用是限制每次允許更新的權重,進而防止模型忘記之前學習到的東西。由于mask的存在,模型越往後可以更新的權重值也會越少,是以可能會導緻生成器的生成能力不足。為了解決這個問題,作者提出在每次學習完新資料之後,增加生成器的參數量,進而保證生成器的生成能力不會明顯下降。實驗結果顯示,在小規模的資料集上,該方法有比較明顯的性能優勢,如下表所示。

【論文閱讀】增量學習近期進展及未來趨勢預測

三、基于代表性樣本的方法

論文:Large Scale Incremental Learning

作者:Yue Wu, Yinpeng Chen, Lijuan Wang, Yuancheng Ye, Zicheng Liu, Yandong Guo, Yun Fu

【論文閱讀】增量學習近期進展及未來趨勢預測

這篇文章首先假設增量學習的方法,相比于直接使用所有資料進行訓練的方法,性能下降大的原因,是因為CNN模型最後用于輸出類别預測機率的全連接配接層向新增加的類别偏移了(即更傾向于将類别預測為新加入的類别),并通過實驗(固定網絡前邊的層并重新訓練全連接配接層、混淆矩陣)驗證了這個假設。為了解決這個問題,作者提出對新加入類别的機率進行修正,如上圖所示。

具體來說,本文方法需要儲存一定數量的舊類别的代表性樣本,在得到新類别資料的時候,包含三步操作:

  1. 将舊類别的代表性樣本和新類别的樣本劃分為訓練集和校驗集,其中在校驗集裡,各類的樣本數量是均衡的;
  2. 使用訓練樣本訓練一個新模型,其中包含兩部分損失,一個是标準的分類損失,另一個是知識蒸餾損失,目标是保證新模型在舊類别上的機率預測值和舊模型盡可能相同,進而保留舊模型學到的資訊(新類别和舊類别的樣本都參與計算兩個損失);
  3. 使用校驗集的資料學習一個線性模型,對新模型預測的logits進行修正,其中保留舊類别上的logits,隻對新類别上的logits進行修正,如下邊的公式所示。
【論文閱讀】增量學習近期進展及未來趨勢預測

實驗結果顯示,相比于經典的LwF方法、iCaRL方法,本文方法在大規模、大增幅(一次加入的類别多)的資料庫和設定下提升較明顯,在小資料庫上與已有方法性能相當,如下邊的圖表所示。

【論文閱讀】增量學習近期進展及未來趨勢預測
【論文閱讀】增量學習近期進展及未來趨勢預測
【論文閱讀】增量學習近期進展及未來趨勢預測

論文:Learning a Unified Classifier Incrementally via Rebalancing

作者:Saihui Hou, Xinyu Pan, Chen Change Loy, Zilei Wang, Dahua Lin

【論文閱讀】增量學習近期進展及未來趨勢預測

這篇文章根據現有增量學習算法的問題,提出了三點改進,如上圖所示:

第一,作者發現,由于新類的特征向量幅值和舊類的不一樣,是以模型會偏向于新類。為了解決這個問題,提出對特征向量、分類器的權重向量進行歸一化,保證幅值等于1。相應的,分類損失和蒸餾損失也都在歸一化之後的特征向量上使用,如下圖所示;

【論文閱讀】增量學習近期進展及未來趨勢預測

第二,為了減少模型遺忘,要求新模型的歸一化特征和舊模型盡量相同,是以提出了一種新的蒸餾損失。這個損失的思想是,舊模型學到的不同類别的特征分布一定程度上反映了類别之間的關系,是以保持這種關系對于防止遺忘也有意義,如下圖所示;

【論文閱讀】增量學習近期進展及未來趨勢預測

第三,在分類的時候,使用large-margin的分類損失,使用易誤分的新類别作為難例,提升訓練的效率,如下圖所示。

【論文閱讀】增量學習近期進展及未來趨勢預測

實驗結果顯示,該方法相比于經典的iCaRL增量學習算法,有十個點以上的提升,如下圖所示。

【論文閱讀】增量學習近期進展及未來趨勢預測
【論文閱讀】增量學習近期進展及未來趨勢預測

四、總結

增量學習的主流方法分為基于GAN的方法和基于代表性樣本的方法兩大類。

其中,基于GAN的方法通過GAN“記住”舊類别的資料,在更新模型的時候,可以生成任意多的舊類别樣本,但是這類方法的上限受制于GAN的生成能力。此外,基于GAN的方法宣稱的一個優勢是不需要存儲曆史資料,但是一般來說,GAN模型本身也要占用一定的存儲空間(通常在幾十MB這個數量級),如果用這部分空間來直接存儲代表性的曆史資料,按照一張圖檔200kB計算,也可以存儲幾百張圖檔了。是以一個很有意思的問題是,占用同樣存儲空間的情況下,基于GAN的方法真的比基于代表性樣本的方法更好麼?從目前來看,基于GAN的方法識别精度通常不如基于代表性樣本的方法。未來基于GAN的增量學習方法如果想真正實用化,既要提升生成圖像的品質,還要保證在使用同樣的存儲空間或者更少的存儲空間的情況下,達到更好的性能,任重而道遠。

另一方面,基于代表性樣本的方法則儲存少量的曆史樣本,在更新模型的時候,使用一個額外的蒸餾損失,保證舊模型的知識可以遷移到新模型中,目前來看,這類方法的識别精度通常更高一些。

不過增量學習的思路不應該局限于這兩大類方法,是否有可能既不用GAN,也不儲存代表性的曆史樣本,而隻使用舊模型本身來進行增量學習呢?或者是否有其他更高效的方法?這些都是值得未來繼續探索的方向。

總的來說,在條件允許的情況下,使用全部資料重新訓練模型的效果仍然是毫無争議的最佳,GNN和代表性樣本兩種增量學習方法仍然達不到使用所有資料完全重新訓練的識别精度。是以,目前的增量學習算法仍然有很長的路要走。但是目前看來,增量學習這條路如果能夠走通,無疑會大量減少雲服務對資源的需求量;另一方面,在一些對資料安全十分敏感的應用中,也可以保證資料不出内網,在有限的計算資源下即可完成模型的更新。是以在我看來,增量學習這個研究方向的前景還是很光明的,隻是目前的技術還沒有發展到足夠使用的地步而已。

點選關注,第一時間了解華為雲新鮮技術~

【論文閱讀】增量學習近期進展及未來趨勢預測

繼續閱讀