[CVPR 2019] Learning to remember:A synaptic plasticity driven framework for continual learning (DGM) 핵심 리뷰

This entry is part 12 of 22 in the series 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이라 지칭하겠습니다.

전체-흐름-속에서-보기
그림1. Incremental Learning 전체 흐름

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. 제안 방법

바로 제안 방법을 살펴보겠습니다.

image 16
그림2. DGM 제안 방법

이전 비슷한 방법들인 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를 적용합니다. 이를 수식으로 표현하면 다음과 같습니다.

binary-mask
그림3. binary mask

이때 최소한의 파라미터만을 사용하여 학습하도록 mask에는 sparsity loss를 적용합니다.

sparsity-loss
그림4. 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는 다음과 같습니다.

generator-loss
그림5. generator loss
  • Ls : discriminator loss
  • Lc : classification loss (이전 task까지 학습한 Generator가 합성한 이미지들과 새로운 이미지의 classification)
  • Rt : binary mask sparsity loss

Discriminator가 학습할 loss는 다음과 같습니다.

discriminator-loss
그림6. 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 결과입니다.

incremental-image-classification-결과
그림7. incremental 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 방식과의 비교는 데이터 부족으로 정확히 알 수 없습니다.

Series Navigation<< [ECCV 2018] Memory Aware Synapses: Learning what (not) to forget (MAS) 핵심 리뷰[NIPS 2019] Compacting, Picking and Growing for Unforgetting Continual Learning (CPG) 핵심 리뷰 >>
0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Scroll to Top