Task-Free Continual Learning
來自CVPR2019,比利時魯汶大學 。
目前continual learning常假設,一次一個任務,所有目前資料可用,之前資料不可用。這個硬任務邊界條件現實不常滿足。
本文提出的系統學習流資料,分布不斷變化,不同任務間沒有區分。本文方法基于Memory Aware Synapses,提供了以下協定将其轉化為online的:
- 何時 更新重要權重
- 更新時 用哪個資料
- 如何在更新時 累積權重重要性
該模型在以下任務上的實驗結果展現了有效性:(自)監督人臉識别 ,避免沖撞的機器人。
1.Introduction
機器學習訓練與測試階段是界限分明的,假設了一個靜态的世界,其中資料分布不會改變。這種強劃分有助于開發算法,但也加上了限制。
受生物系統啟發,IL(也可以叫CL、LL)關注打破訓練和測試之間的屏障。這個系統累積知識,準确率和适用範圍随時間增加。現實中,資料可能因存儲和隐私原因不能保留,而隻用後來的資料會引入偏差(遺忘)。
像那種一個個依次任務資料可用的學習,本文稱作task-based sequential learning,本文目标在于克服這種對硬任務邊界的需求。我們探索task-based方法如何普遍地轉化為online方法——一個決定何時鞏固知識的協定;難樣本buffer——從強化學習的experience replay獲得啟發,一個小得多的replay buffers。
task-based方法一般學習分類任務,為新類在輸出層加分類頭。與之相反,我們的方法固定輸出:人臉識别中我們通過嵌入識别;機器人中,不是輸出标簽變化,而是環境變化。此兩種任務,資料以流來處理,不是i.i.d,有樣本不均衡問題。
本文貢獻:1.第一個擴充task-based to線上持續學習;2.protocols to integrate an importance weight regularizer, MAS;3.在資料分布變化的場景中證明我們方法的有效性。
2.Related work
Online Learning
傳統離線學習要全部資料可用,online方法用stream of data instances學習。
首先是線性模型,kernel學習将其擴充到非線性,然後是神經網絡,度量學習。
應用上Pernici的方法和我們第一個應用場景接近:temporal consistency,Detector and descriptor,memory of detected faces。不同的是,我們從弱得多的預訓練模型開始,并随時間更新模型。
Continual Learning
Hsu把持續學習的場景分為:incremental task learning ,incremental domain learning, incremental class learning。他認為後兩者重要。迄今為止大部分方法的設定都基于task-based sequential learning。
-
正則化方法:EWC,Synaptic Intelligence,Memory Aware Synapses(MAS,同作者..)。
雖然Synaptic intelligence是線上計算權重重要性的,但更新仍在任務結束,是以也是依賴任務邊界的。
Incremental Moment Matching基于相似的思想,存儲不同模型以完成不同任務,僅在最後合并。尚不清楚如何将其擴充到線上。
- 動态可擴充網絡:Lifelong learning with dynamically expandable networks.,利用新舊任務相似性選擇可重用神經元,并添加新神經元學習新知識(和CPG思想類似)
- 資料驅動:lwf,encoder based lifelong learning。知識蒸餾損失,不清楚如何應用到未知任務辨別的情況。
- episodic memory:iCaR,GEM...,DRL:replay buffer,但是有1M之多,這裡我們隻用100。
DRL有技術名為“prioritized sweeping”,排除掉buffer裡的簡單樣本,而非老樣本。
3.Method
taskbased訓練可分為多個階段,In between the training phases, when training has stabilized, the continual learning method updates its meta-knowledge on how to avoid forgetting previous tasks.
我們研究決定MAS,其特性:1.固定存儲需求:隻存儲每個參數的重要性 2.task agnostic:可用于任何任務,特别地,可以輸出一個嵌入 3.快:懲罰梯度隻是每個參數的變化乘其重要性 4.頂級性能:比其他正則化方法好。
為将MAS應用到線上CL,我們要确定:1.何時 更新重要權重 2.更新時用 哪個 資料 3.如何 在更新步中累積權重重要性。
-
setup
假設一個無限的資料流,和一個由少量連續樣本生成的監督或自監督的信号。在每個時間步s,系統接收一部分來自分布
的連續樣本及其标簽。分布論文閱讀:Task-Free Continual LearningTask-Free Continual Learning 會随時間變化為論文閱讀:Task-Free Continual LearningTask-Free Continual Learning ,系統不知道變化何時發生。目标在于連續地學習并且更新函數論文閱讀:Task-Free Continual LearningTask-Free Continual Learning 論文閱讀:Task-Free Continual LearningTask-Free Continual Learning 以最小化新舊樣本的預測錯誤,或者說持續地積累知識。
系統輸入為模型with參數θ,根據難樣本buffer B和收到的樣本更新
學習目标:
由于強non-i.i.d條件,和非常少的樣本。這個系統很容易遺忘。論文閱讀:Task-Free Continual LearningTask-Free Continual Learning -
MAS(Memory Aware Synapses)
傳統MAS中,每個學習階段過後,計算參數對以前學習任務的重要性。重要性
論文閱讀:Task-Free Continual LearningTask-Free Continual Learning 由學習好的函數對參數變化的敏感性計算。論文閱讀:Task-Free Continual LearningTask-Free Continual Learning 然後每次更新重要參數的懲罰:論文閱讀:Task-Free Continual LearningTask-Free Continual Learning 每個任務後新算的論文閱讀:Task-Free Continual LearningTask-Free Continual Learning 累積。論文閱讀:Task-Free Continual LearningTask-Free Continual Learning -
When to update importance weights
損失減少,意味着模型學到了新知識。損失平穩時,學習是穩定的,也是更新重要性權重的時機
當學習新的,不同的樣本時,模型會被鼓勵儲存這些知識。
論文閱讀:Task-Free Continual LearningTask-Free Continual Learning -
Detecting plateaus in the loss surface
我們用滑動視窗探測平原,當mean和variance都低于門檻值時,觸發重要性權重更新。
當視窗損失均值高于前一個平原的視窗損失正态分布的85%時,說明檢測到峰。
-
A small buffer with hard samples
為穩定線上學習,設定少量難樣本的緩沖區。在每次新來的樣本和緩沖區樣本中,留下損失最大的。
還可通過對新樣本和難樣本平均來得到更好的梯度。(?)
-
Accumulating importance weights
單純累加導緻梯度爆炸。我們維持一個重要性權重的cumulative moving average。也可以部署一個衰減因子以在長期替換舊知識。更新重要性權重後,模型繼續學習過程過程,同時懲罰為迄今為止對重要參數的更改。
最終學習目标:
論文閱讀:Task-Free Continual LearningTask-Free Continual Learning
4.Experiment
5.思考
依據loss波動來确定模型狀态确實是很有意思的想法。