- 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 핵심 리뷰
내용 요약
GAN을 활용한 incremental learning 방법론을 제안합니다. 기존 GAN 방식의 Incremental Learning 방법들과 달리 매 Task 마다 새로운 GAN을 학습하지 않습니다. 대신 Weight Masking 방식을 사용하여 하나의 GAN으로 모든 Task 데이터를 학습합니다.
1. 들어가며
이번 글에서는 CVPR 2019에 발표된 Learning to remember:A synaptic plasticity driven framework for continual learning (DGM) 논문을 리뷰 합니다.
이 논문은 DGM이라 불리며, 이번 글에서도 DGM이라 지칭하겠습니다.
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별로 사용할 파라미터 또는 네트워크 등을 정해줌
DGM은 Distillation + Memory + Generative model에 해당하는 방법 중 하나입니다.
2. 제안 방법
바로 제안 방법을 살펴보겠습니다.
이전 비슷한 방법들인 DGR, MeRGAN과 마찬가지로 이전 Task까지의 이미지는 GAN이 학습하여 Replay하는 방식을 사용합니다. 이때의 차이점은 이전 방식과 달리 GAN이 Weight Masking 방식을 사용하여 학습한다는 점입니다. 덕분에 매 Task마다 새로운 모델의 GAN을 학습하지 않아도 되죠. 하나의 GAN이 Task별로 일부 파라미터만을 사용하여 학습하게 됩니다.
Discriminator는 두 가지 역할을 수행합니다.
하나는 기존 GAN과 마찬가지로 GAN이 이미지를 실제와 같이 생성하도록 도와주는 역할입니다. 이는 GAN이 생성한 이미지가 가짜인지 진짜인지 구분하는 Loss로 구현됩니다.
다른 하나는 GAN이 생성한 이미지의 Class를 구분하는 역할입니다. 이는 Classification Loss로 구현됩니다.
2-1. Learning binary masks
이번에는 GAN의 Weight Masking 방식을 살펴보겠습니다.
Binary mask는 네트워크 파라미터의 일부만을 학습에 사용하도록 합니다. DGM-w는 모든 weight에 binary mask를 적용하며, DGM-a는 activation output에만 binary mask를 적용합니다. 이를 수식으로 표현하면 다음과 같습니다.
이때 최소한의 파라미터만을 사용하여 학습하도록 mask에는 sparsity loss를 적용합니다.
2-2. Dynamic network expansion
이렇게 binary mask를 적용해서 학습하면 다음 task에서는 이 전 task에서 사용한 네트워크 대비 가용 파라미터가 적어지며 성능이 저하되는 문제가 발생합니다. 따라서 이를 방지하기 위해 network expansion을 사용합니다. Network expansion은 이 전 task에서 사용한 파라미터만큼을 다시 확장해주는 방식으로 파라미터 개수를 유지합니다.
2-3. Training of DGM
학습 loss는 Generator와 Discriminator 입장을 나눠서 보겠습니다.
Generator가 학습할 loss는 다음과 같습니다.
- Ls : discriminator loss
- Lc : classification loss (이전 task까지 학습한 Generator가 합성한 이미지들과 새로운 이미지의 classification)
- Rt : binary mask sparsity loss
Discriminator가 학습할 loss는 다음과 같습니다.
- Lc : classification loss
- Ls : discriminator loss
- Lgp : gradient penalty term
3. 실험 결과
다음은 이렇게 제안한 방법의 실험 결과를 살펴보겠습니다.
3-1. Incremental image classification (MNIST, SVHN, CIFAR10, ImageNet50)
MNIST, SVHN, CIFAR10, ImageNet50 데이터셋으로 테스트한 incremental learning 세팅의 image classification 결과입니다.
비교 대상은 다음과 같습니다.
- iCarl : NME classification + memory 방식
- EWC : regulariziation + memory 방식
- RWalk : regularization + memory 방식
- PI-S
- DGR : Deep Generative Replay
- MeRGAN : Memory Replay GAN
- DGM : ours
결과를 보면 generative memory 방식 중에서는 가장 높은 성능을 볼 수 있습니다. 하지만 episodic memory 방식과의 비교는 데이터 부족으로 정확히 알 수 없습니다.