- 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 핵심 리뷰
내용 요약
LwF(Learning-Without-Forgetting) 방식의 Incremental Learning 방법론을 제안합니다. Cross Entropy Loss와 Softmax 출력층에 Distillation Loss, 그리고 Grad-CAM을 활용하여 Attention loss를 적용했습니다.
1. 들어가며
이번 글에서는 CVPR 2019에 발표된 Learning without Memorizing (LwM) 논문을 리뷰합니다. 이 논문은 LwM이라고 불리며 이번 글에서도 LwM이라고 지칭하겠습니다.
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별로 사용할 파라미터 또는 네트워크 등을 정해줌
LwM은 Distillation에 해당하는 방법 중 하나입니다.
2. 제안 방법
바로 제안하는 방법을 살펴보겠습니다.
2-1. 핵심 아이디어
저자들의 핵심 아이디어는 다음과 같습니다.
- LwF의 핵심 아이디어는 그대로 가져가자.
- Attention loss를 추가하자
저자들이 Attention loss를 생각해낸 경로를 풀어보면 다음과 같습니다.
LwF의 철학을 요약하면 이렇습니다.
- 새로운 class는 잘 맞춰라. (cross entropy loss)
- 학습한 내용에 대해 기존 모델의 출력 값과 비슷하게 출력해라. (distillation loss)
그런데, 이때 기존 모델이 input image의 어디를 보고 출력을 내는지에 대한 정보도 같이 주면 도움이 되지 않을까요? 이런 아이디어를 바탕으로 LwM에서는 기존 모델이 어느 부분에 집중하는지 attention loss를 추가해 줍니다.
2-2. Loss function
이를 구현하기 위한 loss function을 살펴보겠습니다.
먼저 classification을 위한 cross entropy loss와 distillation loss는 LwF의 loss를 그대로 사용합니다.
Attention loss는 다음과 같습니다. 먼저 teacher / student 네트워크의 Grad-CAM 출력을 구합니다.
그리고 이 둘의 L1 difference의 합이 작아지도록 학습합니다.
이 의미를 한번 생각해보겠습니다. Grad-CAM은 이 네트워크가 해당 클래스를 인식하기 위해 중요하다고 생각하는 부분을 출력해주잖아요? 예를 들어 ‘이 그림에서는 이 부분이 강아지 부분이야.’ 라고 말해준다는거죠. 따라서 Grad-CAM의 출력값이 같아지도록 학습해준다는 의미는 일종의 ‘또 다른 종류의 Distillation Loss를 추가해준것’이라고 생각할 수 있습니다. 그 결과 Incremental Learning의 성능은 더 좋아지게 되겠죠.
이렇게 attention loss까지 결합한 최종 loss는 다음과 같습니다.