Life Long Learning
別稱:Continuous (Continual) Learning, Never Ending Learning, Incremental Learning
需要解決的問題
- Knowledge Retention (Catastrophic Forgetting)
- Knowledge Transfer
- Model Expansion
Knowledge Retention (希望記住過去的 knowledge)
multi-task learning 可以解決?
- storage issue
- computation issue
multi-task learning 是 upper bound
Elastic Weight Consolidation (EWC) 類型的方法
- 每個參數 有一個守衛 可以決定該參數能不能離原本的參數太遠
- 在不同的 paper 有不同的算法,例如算該參數的二次微分
論文:
- Elastic Weight Consolidation (EWC) - Overcoming catastrophic forgetting in neural networks. 2017
- (SI) - Continual Learning Through Synaptic Intelligence, ICML 2017
- (MAS) - Memory Aware Synapses: Learning what (not) to forget, ECCV 2018
- 這篇不需要 labeled data
Generating Data
與其存下所有之前的 data(太耗費 memory),不如直接 train 一個 generative model 來生成之前 task 的 data 論文:
- Continual Learning with Deep Generative Replay
- FearNet: Brain-Inspired Model for Incremental Learning
Adding New Classes
之前的 approach 可以用同樣的 network structure,這種不行
- Learning without forgetting (LwF)
- iCaRL: Incremental Classifier and Representation Learning
Knowledge Transfer
Life-Long Learning 很像 Transfer Learning,但是我們 train 完 task2 之後仍然在意 task1 的 performance,也就是除了想做到 knowledge transfer,也希望做到 knowledge retention
Evaluation
Gradient Episodic Memory (GEM)
和其他研究做比較稍微不公平,因為這個需要一些 previous task 的 labeled data
g 是現在 task 的 gradient,g1、g2 是之前 task 的 gradient 如果 和 都大於 0,則照著原本 gradient 更新;否則微調 g 使得與之前的 gradient 內積大於 0
GEM: https://arxiv.org/abs/1706.08840 A-GEM: https://arxiv.org/abs/1812.00420
Model Expansion (這方向的研究不多)
Progressive Neural Networks
之前看過,不贅述
Expert Gate
一個任務就有一個 model,Gate 判斷新任務 和哪個舊任務最像,就把那個 model 來當作新任務的 init。 論文:Expert Gate: Lifelong Learning with a Network of Experts. CVPR 2017
- 但是這樣每個任務都會有一個 model。
Net2Net
看過不贅述
有一篇研究利用 Net2Net: On Training Recurrent Neural Networks for Lifelong Learning
- 結合 GEM 與 Net2Net
- 只在 training accuracy 太低時才將網路變寬
未來方向:Curriculum Learning
什麼是最佳的任務的學習順序?
- taskonomy = task + taxonomy (CVPR 2018 best paper)