Continual Learning with Deep Generative Replay
https://arxiv.org/abs/1705.08690
Continual Learning with Deep Generative Replay
Attempts to train a comprehensive artificial intelligence capable of solving multiple tasks have been impeded by a chronic problem called catastrophic forgetting. Although simply replaying all previous data alleviates the problem, it requires large memory
arxiv.org
1. Introduction
영장류는 새로운 기술을 계속 학습하고 평생 동안 지식을 축적할 수 있는 능력을 가지고 있다. 반면, 인공 신경망은 새로운 작업을 학습할 때 이전 작업의 성능이 급격히 저하되는 '파괴적 망각 (catastrophic forgetting)' 현상을 겪고 이는 신경망의 지속적인 학습을 저하시킨다. 이 논문은 이러한 문제를 해결하기 위해 Deep Generative Replay, DGR라는 새로운 프레임워크를 제안한다.
2. Related Works
2.1 Comparable methods
이런 파괴적 망각을 해결한 기존 방법들은 주로 이전 데이터에 대한 접근이 제한된 상황을 가정해 네트워크 파라미터를 최적화하고, 새로운 학습의 간섭을 최소화하는 데 중점을 둔다.
예. 노드 드롭아웃, L2 정규화, EWC(Elastic Weight Consolidation) 등
이러한 방법들은 특정 Task를 위한 가중치를 보호하여 이전 작업의 중요도를 유지함으로써 성능 저하를 방지한다.
2.2 Complementary Learning System(CLS) theory
보완 학습 시스템(CLS) 이론은 파괴적 망각을 완화하기 위한 보완적 네트워크 개발에 목표를 둔다. 이전 작업의 학습 데이터에 접근할 수 없을 때, 메모리 네트워크가 생성한 가짜 입력(pseudo-input)과 가짜 타겟(pseudo-target)만을 작업 네트워크에 입력하는 유사 반복(pseudorehearsal) 기술을 사용해 실제 데이터에 접근하지 않고도 이전 입력-출력 패턴을 유지할 수 있다고 주장한다.
하지만 기존 CLS 연구들은 고차원 데이터의 가짜 입력을 생성하는 데 어려움이 있어 실제 세계에서 나타나는 고차원 입력으로 확장되지 못하고 있다. 이에 이 논문은 유사 반복 기술과 달리 학습된 과거 입력 분포에서 가짜 입력을 생성하는 새 방법(생성적 리플레이) 을 제안함으로써 이 한계를 극복한다. 생성적 리플레이는 과거 데이터와 현재 데이터를 함께 사용하여 네트워크를 공동으로 최적화한다는 장점이 있다.
2.3 Deep Generative Models
Deep Generative모델은 실제 분포를 모방하여 샘플을 생성하는 모델을 의미한다. 대표적인 모델로는 VAE와 생성적 적대 신경망(GAN) 등이 있다.
GAN은 생성자(G)와 판별자(D) 네트워크가 서로 경쟁하며 실제와 유사한 샘플을 생성하도록 학습한다.

3. Generative Replay
3.1 Proposed Method

DGR 프레임워크는 학습 모델을 학자(scholar)로 정의하며, 학자는 생성자(G)와 해결사(S)로 구성된다. 학자 모델은 새로운 작업을 학습하고 이전 작업의 지식을 유지하며, 실제 데이터와 생성된 데이터를 혼합하여 학습한다. 이를 통해 학습 모델은 연속적으로 학습하면서도 이전 지식을 잃지 않게 된다.
\

작업 시퀀스 𝑇=(𝑇1,𝑇2,⋯ ,𝑇𝑁) : 해결할 𝑁개의 작업
정의 1: 작업 𝑇𝑖는 데이터 분포 𝐷𝑖 에서 샘플 (𝑥𝑖,𝑦𝑖)를 추출하여 모델을 목적 함수에 맞추어 최적화하는 것
학습 모델을 "학자(scholar)"로 정의한다.
(여기서 학자란 새로운 작업을 학습하고, 다른 네트워크에 지식을 전수할 수 있는 능력을 가진 모델로 teacher-student 모델과는 다른 개념)
정의 2: 학자 𝐻는 ⟨𝐺,𝑆⟩의 튜플로 정의되며, 여기서 생성자 𝐺는 실제와 유사한 샘플을 생성하는 생성 모델이고, 해결사 𝑆는 파라미터 𝜃로 매개변수화된 작업 해결 모델임
해결사는 작업 시퀀스 𝑇에 있는 모든 작업을 수행해야 한다. 전체 목표는 작업 시퀀스 𝑇의 모든 작업에 대한 손실의 무작위 합계를 최소화하는 것. 여기서 𝐷는 전체 데이터 분포이며, 𝐿은 손실 함수입니다. 작업 𝑇𝑖 를 학습하는 동안 모델
𝐷𝑖 에서 추출한 샘플로 훈련
3.2 Preliminary Experiment

MNIST 데이터베이스에서 DGR의 초기 실험 결과, 학습 모델은 이전 학자의 지식을 통해 새로운 네트워크를 성공적으로 학습할 수 있음을 보여준다. 각 학습 단계에서의 정확도는 거의 유지되며, 이는 DGR가 효율적임을 보여준다.
4. Experiments
4.1 Learning Independent tasks

독립적인 작업을 학습하는 실험에서는 DGR이 작업 간의 간섭을 최소화하면서도 각 작업의 성능을 유지할 수 있음을 증명한다.
-> DGR이 연속 학습 환경에서도 효과적으로 작동함을 의미
4.2 Learning new domains



다른 도메인에서 학습하는 실험에서는 DGR이 다양한 구조와도 호환 가능함을 보여준다.
ex. 학자 네트워크는 서로 다른 도메인에서 지식을 통합하여 성능을 향상시킬 수 있음
4.3 Learning new classes


새로운 클래스를 학습하는 실험에서는 DGR이 서로 다른 작업으로부터 지식을 통합하여 메타 작업을 수행할 수 있음을 보여준다.
Conclusion
이 논문은 DGR을 제안해 딥러닝 모델의 파괴적 망각 문제를 효과적으로 해결하고, 연속 학습에서의 성능을 유지할 수 있음을 실험적으로 밝힌다. 결과적으로 DGR은 실제 데이터 접근이 제한된 상황에서도 유용한 방법임을 주장하고 있다.