- Incremental Learning 설명 – 정의, 필요성, 데이터셋, 대표 논문
- [arxiv 2016] Less-forgetting Learning in Deep Neural Networks (LFL) 핵심 리뷰
- [NIPS 2017] Continual learning with deep generative replay (DGR) 핵심 정리
- [CVPR 2017] iCaRL: Incremental Classifier and Representation Learning 핵심 리뷰
- [PNAS 2017] Overcoming catastrophic forgetting in neural networks (EWC) 핵심 리뷰
- [PAML 2017] Learning Without Forgetting (LwF) 핵심 리뷰
- [NIPS 2018] Memory Replay GANs: learning to generate images from new categories without forgetting(MeRGAN) 핵심 리뷰
- [ECCV 2018] Piggyback: Adapting a single network to multiple tasks by learning to mask weights 핵심 리뷰
- [ECCV 2018] End-to-End Incremental Learning (EEIL) 핵심 리뷰
- [CVPR 2018] PackNet: Adding Multiple Tasks to a Single Network by Iterative Pruning
- [ECCV 2018] Memory Aware Synapses: Learning what (not) to forget (MAS) 핵심 리뷰
- [CVPR 2019] Learning to remember:A synaptic plasticity driven framework for continual learning (DGM) 핵심 리뷰
- [NIPS 2019] Compacting, Picking and Growing for Unforgetting Continual Learning (CPG) 핵심 리뷰
- [ICMR 2019] Increasingly packing multiple facial-informatics modules in a unified deep-learning model via lifelong learning (PAE) 핵심 리뷰
- [CVPR 2019] Learning a Unified Classifier Incrementally via Rebalancing (LUCIR) 핵심 리뷰
- [CVPR 2019] Learning without Memorizing (LwM) 핵심 리뷰
- [CVPR 2019] Large Scale Incremental Learning (BiC) 핵심 리뷰
- [CVPR 2020] Conditional Channel Gated Networks for Task-Aware Continual Learning (CCGN) 핵심 리뷰
- [CVPR 2020] Maintaining Discrimination and Fairness in Class Incremental Learning (WA) 핵심 리뷰
- [ECCV 2020] PODNet: Pooled Outputs Distillation for Small-Tasks Incremental Learning 핵심 리뷰
- [WACV 2020] Class-incremental Learning via Deep Model Consolidation (DMC) 핵심 리뷰
- [CVPR 2021] DER: Dynamically Expandable Representation for Class Incremental Learning 핵심 리뷰
내용 요약
EWC(Elastic Weight Consolidation) 방식의 Incremental Learning 방법론을 제안합니다. Fisher Information Matrix를 활용하는 regularization 방식을 사용합니다.
1. 들어가며
이번 글에서는 PNAS 2017에 발표된 Overcoming catastrophic forgetting in neural networks 논문을 리뷰합니다. 이 논문은 EWC라고 불리며
Incremental Learning을 방법론에 따라 크게 구분하면 위의 그림과 같이 구분할 수 있습니다.
- Regularization : 이전 task에서 학습한 네트워크의 파라미터가 최대한 변하지 않으면서 새로운 task를 학습하도록 유도
- Distillation : 이전 task에서 학습한 파라미터를 새로운 task를 위한 네트워크에 distillation
- Distillation + Memory : 이전 task의 데이터를 소량 메모리로 두고 새로운 task학습 때 활용
- Distillation + Memory + Bias correction : 새로운 task에 대한 bias를 주요 문제로 보고, 이에 대한 개선에 집중
- Distillation + Memory + Dynamic structure : task에 따라 가변적으로 적용할 수 있는 네트워크 구조를 사용
- Distillation + Memory + Generative model : 이전 task의 데이터를 generative model을 사용하여 replay 하는 방식을 사용
- Dynamic structure : Pruning / Masking 등을 사용하여 task별로 사용할 파라미터 또는 네트워크 등을 정해줌
EWC는 regularization에 해당하는 방법 중 하나입니다.
2. 제안 방법
바로 제안하는 방법을 살펴보겠습니다.
2-1. 찾아가고자 하는 곳
수식을 살펴보기 앞서 본 논문의 목적을 짚어보겠습니다.
우리가 원하는 모습은 빨간색입니다. 기존의 task에 대한 지식은 유지하고 있으면서, 새로운 task에 대한 지식도 추가된 parameter를 찾는 것이죠.
위의 그림을 보면 새로운 task를 학습할 때 아무 penalty가 없는 경우 (파랑), 새로운 task(B)는 잘 학습하지만 기존 taks(A)는 거의 까먹는 방향으로 이동하는 모습을 볼 수 있습니다.
반대로 L2 regularization을 가하면 (초록) 새로운 task를 제대로 학습하지 못하고 기존의 task를 학습한 위치에서 벗어나지 못하는 모습입니다.
어떻게 하면 그림의 빨간색처럼 기존 지식은 유지하면서 새로운 지식을 학습할 수 있을까요?
2-2. Loss Function
이를 위해 저자들이 제안하는 regularization을 위한 loss function을 살펴보겠습니다.
핵심 아이디어는 이렇습니다. 기존의 parameter와 새로운 task를 학습한 parameter의 차이에 대한 Fisher Information Matrix의 diagonal 값이 최소가 되는 방향으로 학습을 유도합니다. 수식으로는 이렇게 표현됩니다.
우변의 두 번째 항에서 기존 파라미터와 새로운 파라미터의 차이가 최소가 되도록 규제하는 모습을 볼 수 있습니다. 이때 Fisher Information Matrix는 2차 도함수에 비례합니다. 따라서 파라미터 차이의 2차 도함수 값이 작아지는 방향으로 학습한다고 말할 수 있습니다.
2차 도함수 값이 작아지는 방향으로 규제한다는건 어떤 의미일까요? 2차 도함수의 값이 0에 가깝다는 말은 기울기의 변화가 거의 없다는 의미죠. 따라서 기존 파라미터 대비하여 새로운 파라미터의 변화가 거의 없다는 것을 의미합니다.
여기서 L2 regularization과의 차이점이 나옵니다. L2 regularization은 단순히 parameter의 변화량의 L2 distance가 커지지 않도록 (1차 도함수) 규제하는 반면, EWC 방식은 파라미터 별 변화량의 변화율(2차 도함수)이 크지 않도록 규제하는 방식이라고 할 수 있습니다.