天天看點

論文閱讀:Task-Free Continual LearningTask-Free Continual Learning

Task-Free Continual Learning

來自CVPR2019,比利時魯汶大學 。

目前continual learning常假設,一次一個任務,所有目前資料可用,之前資料不可用。這個硬任務邊界條件現實不常滿足。

本文提出的系統學習流資料,分布不斷變化,不同任務間沒有區分。本文方法基于Memory Aware Synapses,提供了以下協定将其轉化為online的:

  1. 何時 更新重要權重
  2. 更新時 用哪個資料
  3. 如何在更新時 累積權重重要性

該模型在以下任務上的實驗結果展現了有效性:(自)監督人臉識别 ,避免沖撞的機器人。

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和收到的樣本更新

    學習目标:

    論文閱讀:Task-Free Continual LearningTask-Free Continual Learning
    由于強non-i.i.d條件,和非常少的樣本。這個系統很容易遺忘。
  • 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波動來确定模型狀态确實是很有意思的想法。

繼續閱讀