About me
home
Portfolio
home

Prototype Augmentation and Self-Supervision for Incremental Learning

링크
연도
2021
인용 수
214
저널
CVPR
진행도
Done
키워드
Continual Learning
이 논문은 Incremental Learning에 있어서 심각한 문제인 재앙적 망각을 극복하기 위한 새로운 방법, PASS를 제안한다. PASS는 기존 클래스의 대표 프로토타입을 기억하고, 이를 깊은 특징 공간에서 증강하는 프로토타입 증강(protoAug)과 자기지도 학습(SSL)을 통해 다양한 태스크에 걸쳐 일반화 가능하고 전이 가능한 특징을 학습하는 것을 포함한다. 실험 결과는 PASS가 기존의 비예시(non-examplar) 기반 방법보다 뛰어난 성능을 보이고, 예시 기반 접근법과 비교할 수 있는 성능을 달성한다는 것을 보여준다. 이는 증분 학습에서 재앙적 망각 문제를 해결하는 데 있어 효과적인 방법임을 시사한다.
Exemplar-based method vs Non-exemplar based Exemplar-based method와 Non-exemplar based method의 주요 차이점은 데이터를 처리하는 방식에 있다. Exemplar-based method는 개별 데이터 포인트(예시)를 직접 사용하여 학습을 진행한다. 이 방식은 특정 데이터 포인트를 모델이 기억하게 하여, 새로운 데이터가 주어졌을 때 기존 데이터 포인트와의 유사성을 기반으로 결정을 내린다. 반면, Non-exemplar based method는 데이터 포인트의 직접적인 사용 없이, 데이터의 분포나 패턴을 학습하여 모델을 구축한다. 이 방식은 데이터의 일반적인 특성을 추출하여, 새로운 데이터에 대한 예측을 수행한다. 따라서 Exemplar-based method는 메모리 기반 학습에, Non-exemplar based method는 모델 기반 학습에 더 가깝다.
"Non-exemplar based method"는 증분 학습(Class Incremental Learning, CIL)에서 재앙적 망각(catastrophic forgetting) 문제를 극복하기 위한 접근 방식을 말한다. 이 방법은 실제 데이터 샘플을 저장하고 사용하는 대신, 각 이전 클래스의 대표 프로토타입(예를 들어, 깊은 특징 공간에서의 클래스 평균)을 기억하고 증강하는 방식을 사용한다.

자기지도 학습(Self-Supervised Learning)

레이블이 지정되지 않은 데이터로부터 학습하는 기계학습 방법이다. 이 방법은 데이터 자체에서 패턴이나 구조를 학습하여, 모델이 데이터에 대한 풍부한 표현을 습득하도록 한다.
만약 새로운 데이터만 사용한다면, 이전에 학습된 decision boundary가 크게 변경될 수 있으며, unified classifier는 심각하게 편향될 수 있다. 또한 현재 클래스에 대한 데이터만 사용하여 다른 클래스에 잘 일반화될 수 있는 일반적인 특성을 학습하기 어렵다는 점에서 feature extractor도 편향될 수 있다.
restrain the decision boundary: 새로운 작업을 학습할 때 이전 작업의 결정 경계가 크게 변경되어, 기존 클래스 간의 구별력과 균형이 손상될 수 있다는 점을 보여준다. 이는 재앙적 망각(catastrophic forgetting)으로 이어질 수 있다. ProtoAug(프로토타입 증강)이 제안되며, 이는 기존 클래스의 프로토타입을 교란하여 결정 경계를 유지하고, 오래된 클래스와 새로운 클래스 사이의 구별력과 균형을 유지하는 데 도움이 된다.
SSL 방식 사용: 각 단계에서 작업별 특징을 학습하면, 이전 작업에서 학습된 모델이 현재 작업에 대한 좋은 초기화가 되지 않을 수 있다는 문제를 설명한다.다양한 작업에서 더 가까운 매개변수 공간을 유도하고, 모든 작업에서 잘 수행될 수 있는 모델을 찾기 쉽게 만든다. SSL은 모델이 새로운 작업을 배울 때마다 완전히 다시 시작하지 않도록 도와주며, 대신 이전에 학습한 내용을 바탕으로 새로운 작업에 더 잘 적응할 수 있도록 한다.

<PASS 아키텍처의 구체적인 단계>

1.
Prototype Memorization: 각 old class에 대한 representative prototype을 저장한다. 이 프로토타입은 보통 deep feature space에서의 클래스 평균으로 정의된다.
2.
Prototype Augmentation: 새로운 클래스를 학습할 때, 이전에 저장된 프로토타입은 Gaussian noise와 같은 disturbances를 통해 증강되어 사용된다. feature space의 robustness를 높이고, 새로운 태스크 학습에 따른 catastrophic forgetting을 방지한다.
a.
feature space 확장: feature space 내에서 해당 클래스의 대표 포인트 주변에 변동성을 생성하여 feature space를 확장한다. 이러한 확장은 모델이 단일 포인트(정확한 클래스 중심)에 과도하게 의존하는 대신, 해당 클래스를 나타내는 다양한 데이터 변형을 인식하고 처리할 수 있게 함으로써, 모델의 일반화 능력을 향상한다.
b.
generalization 능력 향상: Noise를 추가함으로써 모델은 기존 데이터의 작은 변화에도 잘 대응할 수 있게 된다. 이는 모델이 데이터의 중요한 특성을 학습하면서 동시에 불필요한 변동에는 덜 민감하게 되어, 새로운 데이터나 상황에 대한 일반화 능력이 향상된다.
3.
Self-Supervised Learning (SSL): 모델이 task-agnostic and transferable representations를 학습하게 하여, 새로운 task나 클래스에 대해 더 잘 적응할 수 있게 합니다.
a.
변형된 데이터와 함께 생성된 레이블을 사용하기 때문에, 모델은 변형된 데이터가 원본 데이터와 같은 클래스에 속한다는 것을 학습하게 되며, 이는 모델이 데이터의 본질적인 특징을 더 잘 파악하게 된다.
b.
불변성 제약(invariant constraint) 완화: 모델이 학습하는 동안 데이터의 특정 특성(예: 위치, 크기, 방향 등)에 대해 덜 민감하게 만든다는 것을 의미한다. 모델이 보다 풍부한 특징을 학습할 수 있게 하며, 결과적으로 다양한 상황에서 데이터를 더 잘 이해하고 처리할 수 있게 된다.
4.
Knowledge Disitllation: 새로운 모델은 새로운 태스크를 학습하는 동안 이전 태스크에서 얻은 지식을 유지한다.
a.
이전 모델에서의 지식 추출: KD 과정은 이전 모델(teacher model)에서 학습된 지식을 새로운 모델(student model)으로 전달한다. 이를 위해, 이전 모델의 출력(예: softmax 확률)이나 중간 특징(representations)이 사용된다.
b.
새로운 모델과의 비교: 새로운 모델은 동일한 입력 데이터에 대해 자신의 예측을 수행합니다. 그런 다음, 이 새로운 모델의 출력이 이전 모델의 출력과 비교됩니다. 이 비교를 통해 새로운 모델은 이전 모델의 예측 패턴을 모방하려고 합니다.