지속학습/재학습: Catastrophic Forgetting
ㅁ 지속학습/재학습
ㅇ 정의:
지속학습/재학습은 모델이 새로운 데이터를 학습하면서도 기존에 학습한 내용을 잃지 않도록 설계된 학습 기법을 의미한다.
ㅇ 특징:
– 데이터가 점진적으로 추가되는 환경에서 유용하다.
– 기존 데이터와 새로운 데이터 간의 균형을 유지하는 것이 중요하다.
– Catastrophic Forgetting 문제를 해결하기 위한 다양한 접근법이 존재한다.
ㅇ 적합한 경우:
– 실시간 데이터가 지속적으로 유입되는 시스템.
– 기존 지식을 유지하면서 새로운 패턴을 학습해야 하는 경우.
ㅇ 시험 함정:
– 지속학습과 단순 재학습을 혼동하는 경우.
– Catastrophic Forgetting을 단순한 데이터 손실 문제로 이해하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
O: 지속학습은 기존 데이터와 새로운 데이터 간의 균형 유지가 중요하다.
X: 지속학습은 기존 데이터를 완전히 대체하는 방식이다.
================================
1. Catastrophic Forgetting
ㅇ 정의:
Catastrophic Forgetting은 머신러닝 모델이 새로운 데이터를 학습할 때 기존에 학습한 내용을 잃어버리는 현상이다.
ㅇ 특징:
– 주로 순차 학습(squential learning) 환경에서 발생한다.
– 과거 데이터에 대한 접근이 어려운 경우 더 심각해질 수 있다.
– 이를 완화하기 위해 EWC(Elastic Weight Consolidation), Replay Memory 등의 기법이 사용된다.
ㅇ 적합한 경우:
– 순차적으로 데이터가 주어지는 상황.
– 과거 데이터를 다시 학습시키기 어려운 환경.
ㅇ 시험 함정:
– Catastrophic Forgetting을 단순히 모델의 성능 저하로 이해하는 경우.
– EWC나 Replay Memory 기법을 잘못된 사례로 연결하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
O: Catastrophic Forgetting은 순차 학습 환경에서 기존 학습 내용이 손실되는 문제를 의미한다.
X: Catastrophic Forgetting은 모든 학습 환경에서 발생한다.
================================
1.1 Elastic Weight Consolidation (EWC)
ㅇ 정의:
EWC는 모델의 중요한 가중치에 큰 페널티를 부여하여 기존 학습 내용을 유지하도록 돕는 기법이다.
ㅇ 특징:
– 기존 데이터의 중요도를 계산하여 가중치에 차별적으로 적용한다.
– 추가적인 메모리와 계산 비용이 발생할 수 있다.
ㅇ 적합한 경우:
– 기존 데이터가 중요하며 이를 유지해야 하는 상황.
– 모델의 파라미터가 제한적인 환경.
ㅇ 시험 함정:
– EWC를 모든 지속학습 문제에 적용 가능한 만능 해결책으로 오해하는 경우.
– 추가 메모리 요구 사항을 간과하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
O: EWC는 기존 데이터의 중요한 가중치를 보호하여 Catastrophic Forgetting을 완화한다.
X: EWC는 모든 학습 환경에서 데이터 손실을 방지한다.
================================
1.2 Replay Memory
ㅇ 정의:
Replay Memory는 과거 데이터를 일정 부분 저장해 두고 새로운 데이터와 함께 재학습에 사용하는 기법이다.
ㅇ 특징:
– 과거 데이터를 일정량 유지해야 하므로 메모리 사용량이 증가한다.
– 새로운 데이터와 과거 데이터 간의 균형이 중요하다.
ㅇ 적합한 경우:
– 과거 데이터에 대한 접근이 가능한 환경.
– 데이터 샘플링이 중요한 학습 과정.
ㅇ 시험 함정:
– Replay Memory가 메모리 사용량 증가를 초래하지 않는다고 오해하는 경우.
– 과거 데이터와 새로운 데이터 간의 균형 문제를 간과하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
O: Replay Memory는 과거 데이터를 저장하여 지속학습에 활용한다.
X: Replay Memory는 Catastrophic Forgetting 문제를 완전히 제거한다.
ㅁ 추가 학습 내용
지속학습/재학습과 관련하여 알아야 할 두 가지 주요 개념은 Online Learning과 Transfer Learning이다.
Online Learning은 데이터가 실시간으로 유입되는 환경에서 모델을 점진적으로 학습시키는 기법이다. 이는 새로운 데이터가 계속 추가되는 상황에서 모델이 이전 데이터를 버리지 않고 점진적으로 업데이트되도록 설계된다. 이 방식은 대규모 데이터나 실시간 데이터 처리에 적합하다.
Transfer Learning은 이미 학습된 모델의 지식을 새로운 문제에 적용하는 방법이다. 이는 기존에 학습된 모델에서 얻은 정보를 활용하여 새로운 작업을 수행함으로써 학습 시간을 단축하고 성능을 향상시킬 수 있다. 주로 데이터가 부족하거나 새로운 문제와 기존 문제 간 유사성이 높은 경우에 사용된다.
이 두 개념의 차이점은 다음과 같다:
1. Online Learning은 실시간 데이터 처리와 점진적 학습에 초점을 맞추는 반면, Transfer Learning은 기존에 학습된 지식을 활용하여 새로운 문제를 해결하는 데 중점을 둔다.
2. Online Learning은 모델이 지속적으로 업데이트되는 환경에서 작동하며, Transfer Learning은 이미 학습된 모델을 기반으로 새로운 작업을 수행하기 위해 기존 지식을 재사용한다.
시험 대비를 위해 이 두 가지 개념의 정의와 차이를 명확히 이해하고, 각각의 활용 사례를 파악하는 것이 중요하다.