지속학습/재학습: Continual Learning
ㅁ 지속학습/재학습
ㅇ 정의:
지속학습(Continual Learning)은 새로운 데이터를 학습하면서도 이전에 학습한 내용을 잃지 않고 성능을 유지하는 기계 학습 방법론을 의미함.
ㅇ 특징:
– 점진적으로 새로운 데이터를 학습하고 기존 모델을 업데이트함.
– Catastrophic Forgetting(재난적 망각) 문제를 해결하기 위한 기술적 접근이 포함됨.
– 모델이 변화하는 환경에서도 적응할 수 있도록 설계됨.
ㅇ 적합한 경우:
– 데이터가 점진적으로 수집되는 경우.
– 환경이 지속적으로 변화하는 실시간 시스템(예: 자율주행, 금융 트레이딩).
– 저장 공간이 제한되어 과거 데이터를 모두 보관할 수 없는 경우.
ㅇ 시험 함정:
– 지속학습과 전이학습(Transfer Learning)을 혼동하는 경우.
– Catastrophic Forgetting 문제를 단순 데이터 부족 문제로 이해하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
O: 지속학습은 새로운 데이터를 학습하면서 기존 학습 내용을 유지한다.
X: 지속학습은 모든 과거 데이터를 저장하여 학습을 반복한다.
================================
1. Continual Learning
ㅇ 정의:
Continual Learning은 모델이 새로운 데이터를 학습하면서도 기존 지식을 유지하여 성능 저하를 방지하는 기법을 의미함.
ㅇ 특징:
– Catastrophic Forgetting 문제를 해결하기 위해 다양한 알고리즘이 사용됨.
– 데이터 분포의 변화나 새로운 태스크에 대한 적응 가능.
– 메모리 효율성 및 계산 효율성을 고려한 설계가 중요함.
ㅇ 적합한 경우:
– 고객 행동 데이터가 지속적으로 변화하는 마케팅 시스템.
– IoT 디바이스에서 실시간 데이터를 학습하여 적응해야 하는 경우.
– 제한된 메모리 환경에서 학습이 필요한 경우.
ㅇ 시험 함정:
– Continual Learning을 단순히 데이터를 추가로 학습하는 것으로 오해하는 경우.
– 기존 데이터와 새로운 데이터 간의 충돌 문제를 간과하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
O: Continual Learning은 Catastrophic Forgetting 문제를 해결하기 위한 기술이다.
X: Continual Learning은 모든 데이터를 저장하여 다시 학습하는 방식이다.
================================
ㅁ 추가 학습 내용
1. Catastrophic Forgetting 문제를 해결하기 위한 주요 접근법
– Regularization-based 접근법: 이 방법은 이전에 학습한 정보를 유지하기 위해 손실 함수에 추가적인 정규화 항을 포함시켜 모델이 새로운 데이터에 대해 학습할 때 기존 데이터의 중요한 파라미터를 과도하게 변경하지 않도록 제한합니다. 대표적인 방법으로 Elastic Weight Consolidation(EWC)와 Synaptic Intelligence(SI)가 있습니다.
– Replay-based 접근법: 이 방법은 이전 데이터를 샘플링하거나 생성하여 새로운 데이터와 함께 학습하는 방식입니다. 이를 통해 모델이 이전 데이터를 잊지 않고 새로운 데이터와의 균형을 유지할 수 있습니다. 예를 들어, 실제 데이터를 저장하는 방식(Experience Replay)과 생성 모델을 활용해 데이터를 재현하는 방식(Generative Replay)이 있습니다.
– Parameter Isolation-based 접근법: 이 방법은 모델의 일부 파라미터를 특정 작업에 전용으로 할당하여 작업 간 간섭을 줄이는 방식입니다. 각 작업마다 별도의 파라미터를 유지하거나, 특정 작업에 중요한 파라미터를 고정하는 방법이 사용됩니다. Progressive Neural Networks와 PackNet 등이 대표적인 사례입니다.
2. Continual Learning과 Online Learning 간의 차이점
– Continual Learning: 모델이 여러 작업을 순차적으로 학습하면서 이전 작업의 성능을 유지하고 새로운 작업에 적응하는 것을 목표로 합니다. 이 방식은 과거 데이터를 다시 사용할 수 없는 경우가 많으며, 주로 Catastrophic Forgetting을 방지하는 데 초점을 둡니다. 새로운 작업이 추가될 때마다 모델이 기존 작업의 성능을 유지하면서 학습을 진행해야 합니다.
– Online Learning: 데이터가 순차적으로 들어오는 환경에서 모델이 즉시 학습하고 업데이트하는 방식입니다. 이 방법은 데이터가 스트리밍 형태로 제공되는 경우에 적합하며, Continual Learning과 달리 과거 데이터를 다시 사용할 수 있는 경우가 많습니다. Online Learning은 주로 실시간 학습 및 빠른 업데이트를 목표로 합니다.
3. 학습된 모델의 성능 평가를 위해 사용되는 주요 지표와 평가 방법
– Accuracy: 각 작업에서 모델이 얼마나 정확히 예측했는지를 나타내는 기본적인 성능 지표입니다. Continual Learning 환경에서는 모든 작업에 대한 평균 정확도를 계산하여 모델의 전반적인 성능을 평가합니다.
– Forgetting Measure: 이전 작업에 대한 성능 저하를 측정하는 지표로, Catastrophic Forgetting 문제를 평가하는 데 사용됩니다. 일반적으로 각 작업의 초기 정확도와 최종 정확도의 차이를 계산하여 모델이 얼마나 잊었는지를 확인합니다.
– Task-wise Evaluation: 각 작업별로 모델의 성능을 평가하여 특정 작업에서의 성능 변화를 분석합니다. 이를 통해 모델이 특정 작업에 대해 얼마나 잘 적응했는지 확인할 수 있습니다.
– Average Incremental Accuracy: 모든 작업에 대한 평균 정확도를 계산하여 모델이 여러 작업에 대해 얼마나 잘 학습했는지 평가합니다. 이는 Continual Learning의 전반적인 성능을 평가하는 데 중요한 지표입니다.