AI 시스템 구축: 지속학습/재학습 – Replay Buffer

ㅁ 지속학습/재학습

1. Replay Buffer

ㅇ 정의:
과거 학습 데이터 일부를 저장해 두었다가 새로운 데이터와 함께 재학습 시 사용하는 메모리 저장소. 주로 강화학습과 지속학습에서 데이터 분포 변화에 따른 망각(catastrophic forgetting) 문제를 완화하기 위해 사용됨.

ㅇ 특징:
– 일정 크기의 버퍼를 유지하며 오래된 데이터는 삭제하고 새로운 데이터를 추가함.
– 무작위 샘플링을 통해 학습 데이터 다양성을 확보.
– 온라인 학습 및 스트리밍 데이터 처리 환경에서 효과적.
– 메모리 용량과 샘플링 전략이 성능에 직접적인 영향을 미침.

ㅇ 적합한 경우:
– 환경이 지속적으로 변하는 온라인/스트리밍 학습.
– 강화학습에서 에이전트가 과거 경험을 활용해야 하는 경우.
– 데이터 분포 변화가 심해 과거 지식을 유지해야 하는 경우.

ㅇ 시험 함정:
– Replay Buffer가 항상 성능 향상을 보장하는 것은 아님.
– 버퍼 크기가 지나치게 작으면 과거 데이터 다양성이 떨어져 오히려 성능 저하.
– 단순 FIFO 방식이 아닌 우선순위 기반 샘플링(Prioritized Experience Replay)도 존재함.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Replay Buffer는 Catastrophic Forgetting 완화에 도움을 준다.”
O: “Replay Buffer는 과거 데이터와 새로운 데이터를 함께 학습에 사용한다.”
X: “Replay Buffer는 모든 과거 데이터를 무제한 저장한다.”
X: “Replay Buffer는 오프라인 배치 학습에서만 사용된다.”

ㅁ 추가 학습 내용

Replay Buffer 관련 주요 개념 정리

1. Prioritized Experience Replay
중요도가 높은 경험을 더 자주 샘플링하여 학습 효율을 높이는 방법. TD 오차 등을 기준으로 우선순위를 부여함.

2. Reservoir Sampling
스트리밍 환경에서 일정 크기의 샘플 집합을 유지하기 위한 확률적 샘플링 기법. 전체 데이터 분포를 대표할 수 있도록 설계됨.

3. Ring Buffer 구조
고정 크기의 메모리 공간을 순환 방식으로 사용하여 오래된 데이터를 덮어쓰는 방식. 메모리 관리가 용이함.

4. 지속학습 관련 비교
– EWC(Elastic Weight Consolidation): 중요한 가중치의 변화를 억제하여 기존 지식 보존
– Knowledge Distillation: 기존 모델의 출력을 새로운 모델 학습에 활용하여 지식 이전
Replay Buffer는 과거 데이터를 직접 재사용하는 접근이며, EWC나 Distillation은 가중치나 출력 기반의 간접적 보존 방식임.

5. 활용 사례
강화학습 외에도 비지도 학습, 온라인 추천 시스템 등에서 데이터 재사용과 분포 안정화 목적으로 활용됨.

6. 버퍼 샘플링 전략
– Uniform Sampling: 모든 경험을 동일 확률로 샘플링. 구현이 단순하나 학습 효율이 떨어질 수 있음.
– Prioritized Sampling: 학습에 중요한 경험을 더 자주 샘플링. 효율은 높으나 편향 가능성이 있음.

7. 메모리 제약 하 성능 최적화
제한된 버퍼 크기에서 정보 손실을 최소화하고 학습 성능을 유지하기 위한 데이터 관리 전략 필요.

8. 데이터 분포 변화(Concept Drift) 대응
버퍼 구성 및 샘플링 전략을 변경하여 변화된 데이터 분포에 적응하는 방법이 중요함.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*