지속학습/재학습: Replay Buffer
ㅁ 지속학습/재학습
ㅇ 정의:
머신러닝 모델이 새로운 데이터를 지속적으로 학습하거나 기존 학습된 데이터를 활용하여 성능을 유지하거나 향상시키는 방법론.
ㅇ 특징:
– 새로운 데이터가 들어와도 기존 모델의 성능을 유지하도록 설계.
– 데이터의 편향 문제를 방지하기 위해 과거 데이터를 활용.
– 학습 과정에서 메모리 효율성과 계산 비용이 중요하게 고려됨.
ㅇ 적합한 경우:
– 실시간으로 변화하는 데이터 환경(예: 사용자 행동 분석, 금융 거래 패턴).
– 모델이 새로운 데이터에도 적응해야 하는 경우.
ㅇ 시험 함정:
– 지속학습과 전통적 배치 학습의 차이를 혼동.
– 데이터 편향 문제를 간과하거나 메모리 관리 문제를 무시.
ㅇ 시험 대비 “패턴 보기” 예시:
O: 지속학습은 새로운 데이터와 기존 데이터를 조합하여 학습한다.
X: 지속학습은 과거 데이터를 완전히 버리고 새로운 데이터만 학습한다.
================================
1. Replay Buffer
ㅇ 정의:
과거 데이터를 저장하여 모델이 학습 과정에서 이를 재사용할 수 있도록 하는 메모리 구조.
ㅇ 특징:
– 과거 데이터를 균형 있게 샘플링하여 학습 데이터로 활용.
– 메모리 크기에 따라 저장 가능한 데이터의 양이 제한됨.
– 데이터 샘플링 전략(예: 균등 샘플링, 우선순위 샘플링)에 따라 학습 성능에 영향을 미침.
ㅇ 적합한 경우:
– 강화학습에서 에이전트가 이전 경험을 활용해야 하는 경우.
– 데이터 스트림 환경에서 과거 데이터를 활용하여 모델 성능을 유지하거나 개선하고자 할 때.
ㅇ 시험 함정:
– Replay Buffer와 데이터 증강 기법을 혼동.
– 우선순위 샘플링과 균등 샘플링의 차이를 명확히 이해하지 못함.
ㅇ 시험 대비 “패턴 보기” 예시:
O: Replay Buffer는 과거 데이터를 저장하여 모델이 이를 재사용할 수 있도록 한다.
X: Replay Buffer는 새로운 데이터만 저장하고 과거 데이터를 삭제한다.
ㅁ 추가 학습 내용
1. Catastrophic Forgetting(파국적 망각)은 인공지능 모델이 새로운 데이터를 학습할 때 이전에 학습한 내용을 잃어버리는 현상을 의미합니다. 이는 지속학습(Continual Learning)에서 매우 중요한 문제로, 모델이 과거의 지식을 유지하면서 새로운 정보를 학습할 수 있도록 하는 것이 핵심입니다. 이를 방지하기 위한 방법론으로는 다음과 같은 것들이 있습니다:
– EWC(Elastic Weight Consolidation): 모델의 중요한 가중치에 페널티를 부여하여, 새로운 학습 과정에서 기존 지식을 보존하도록 유도합니다. 특정 파라미터가 과거 학습에 중요하다고 판단되면, 해당 파라미터의 변화에 제약을 가하는 방식입니다.
– Gradient Episodic Memory(GEM): 과거 데이터를 샘플링하여 새로운 데이터와 함께 학습에 활용하는 방식입니다. 이를 통해 모델이 과거 데이터에 대한 성능을 유지하면서 새로운 데이터를 학습할 수 있습니다.
2. Replay Buffer의 데이터 샘플링 전략 중 Prioritized Experience Replay는 학습에 중요한 데이터를 우선적으로 샘플링하는 방법입니다. 구체적인 구현 방식은 다음과 같습니다:
– 각 경험(transition)에 우선순위(priority)를 부여하고, 이 우선순위에 따라 샘플링 확률을 조정합니다. 주로 TD-error(Temporal Difference Error)를 기반으로 우선순위를 계산합니다.
– 경험이 클수록(즉, TD-error가 클수록) 해당 경험을 샘플링할 확률이 높아집니다. 이를 통해 학습이 덜 된 중요한 경험을 더 자주 사용하게 됩니다.
– 장점: 학습 효율성을 높이고, 중요한 경험을 더 효과적으로 학습할 수 있습니다.
– 단점: 추가적인 메모리와 계산 비용이 발생하며, 우선순위 계산 및 샘플링 과정이 복잡해질 수 있습니다.
3. 지속학습과 관련된 실제 사례를 학습하는 것은 이론을 응용하는 데 도움이 됩니다. 예를 들어, Google 검색 알고리즘의 업데이트 방식은 지속학습의 좋은 사례입니다. Google은 사용자 검색 데이터를 지속적으로 수집하고, 이를 바탕으로 알고리즘을 업데이트합니다. 이 과정에서 새로운 데이터를 학습하면서도 기존의 검색 품질을 유지해야 하므로 Catastrophic Forgetting 문제를 해결하기 위한 다양한 기술이 사용됩니다. 이러한 사례를 통해 지속학습의 실제 적용 방식을 이해하고 시험 문제에 활용할 수 있습니다.