AI 시스템 구축: 지속학습/재학습
ㅁ 지속학습/재학습
ㅇ 정의:
ㅇ 특징:
ㅇ 적합한 경우:
ㅇ 시험 함정:
ㅇ 시험 대비 “패턴 보기” 예시:
================================
1. Continual Learning
ㅇ 정의:
시간 경과에 따라 새로운 데이터나 작업이 주어질 때, 기존 지식을 유지하며 점진적으로 학습하는 기법.
ㅇ 특징:
– 전체 데이터를 재학습하지 않고도 새로운 지식 추가 가능
– 모델이 환경 변화에 적응 가능
– 데이터 분포 변화(Concept Drift)에 대응
ㅇ 적합한 경우:
– IoT 센서 데이터처럼 지속적으로 유입되는 데이터
– 자율주행차, 로봇 등 환경 변화가 잦은 응용 분야
ㅇ 시험 함정:
– 단순 온라인 학습과 혼동하기 쉬움
– Continual Learning은 ‘기존 지식 유지’가 핵심, 단순히 데이터를 순차 학습하는 것과 다름
ㅇ 시험 대비 “패턴 보기” 예시:
O: “기존 지식을 유지하면서 새로운 태스크를 학습하는 기법”
X: “기존 모델을 완전히 폐기하고 처음부터 다시 학습하는 기법”
================================
2. Incremental Learning
ㅇ 정의:
새로운 데이터나 클래스가 추가될 때, 이전 학습 내용을 기반으로 점진적으로 모델을 업데이트하는 학습 방식.
ㅇ 특징:
– 데이터나 클래스 단위로 점진적 확장
– 전체 데이터 재학습 불필요
– 메모리 및 계산 자원 절약
ㅇ 적합한 경우:
– 신규 고객/상품이 지속적으로 추가되는 추천 시스템
– 주기적으로 새로운 카테고리가 생기는 이미지 분류
ㅇ 시험 함정:
– Continual Learning과 유사하지만, Incremental Learning은 주로 데이터나 클래스 추가 중심
– Batch Incremental과 Online Incremental을 구분해야 함
ㅇ 시험 대비 “패턴 보기” 예시:
O: “새로운 클래스가 추가될 때 기존 모델을 확장하는 학습”
X: “새로운 데이터가 들어오면 항상 전체 데이터로 재학습하는 방식”
================================
3. Catastrophic Forgetting
ㅇ 정의:
새로운 정보를 학습하는 과정에서 기존에 학습한 지식을 급격히 잃어버리는 현상.
ㅇ 특징:
– 신경망에서 주로 발생
– 파라미터가 새로운 데이터에 맞추어 변경되면서 기존 지식 소실
– Continual/Incremental Learning의 주요 문제점
ㅇ 적합한 경우:
– 해당 개념 자체는 문제 상황을 설명하므로 ‘적합한 경우’ 대신 주의해야 하는 상황에 해당
– 예: 다중 작업 학습 시 태스크 순서에 따른 성능 저하
ㅇ 시험 함정:
– 단순한 성능 저하와 구분 필요
– Catastrophic Forgetting은 기존 데이터에 대한 성능이 급격히 떨어지는 현상
ㅇ 시험 대비 “패턴 보기” 예시:
O: “새로운 데이터 학습 후 기존 데이터 성능이 급격히 하락하는 현상”
X: “새로운 데이터 학습 후 기존 데이터 성능이 서서히 개선되는 현상”
================================
4. Replay Buffer
ㅇ 정의:
과거 데이터를 일정량 저장해두고, 새로운 데이터와 함께 재학습에 사용하는 메모리 구조.
ㅇ 특징:
– Catastrophic Forgetting 완화
– 저장 공간 한정 시 샘플링 전략 필요
– 강화학습, Continual Learning에서 활용
ㅇ 적합한 경우:
– 과거 데이터 전체를 저장하기 어려운 환경
– 중요 경험을 선별적으로 재사용해야 하는 경우
ㅇ 시험 함정:
– 단순 캐시와 혼동 주의
– Replay Buffer는 학습 데이터 재사용 목적, 캐시는 빠른 접근 목적
ㅇ 시험 대비 “패턴 보기” 예시:
O: “과거 경험 일부를 저장해 새로운 학습 시 함께 사용하는 구조”
X: “모든 과거 데이터를 항상 전부 저장하는 구조”
ㅁ 추가 학습 내용
정리
1. Catastrophic Forgetting 완화 기법
– EWC(Elastic Weight Consolidation): 이전 학습한 가중치의 중요도를 반영하여 손실 함수에 정규화 항 추가
– LwF(Learning without Forgetting): 이전 태스크의 지식을 유지하기 위해 Knowledge Distillation 활용
2. Continual Learning vs Online Learning
– Continual Learning: 연속적으로 새로운 태스크를 학습하면서 이전 지식 유지
– Online Learning: 데이터가 순차적으로 들어올 때 즉시 모델을 업데이트, 주로 단일 태스크 환경
3. Replay Buffer 샘플링 전략
– Reservoir Sampling: 스트리밍 데이터에서 균등 확률로 샘플 유지
– Prioritized Experience Replay: 학습에 중요한 경험(오차가 큰 샘플)에 높은 우선순위 부여
4. Incremental Learning과 클래스 불균형
– 문제: 새로운 클래스 데이터가 이전 클래스보다 적어 성능 저하 발생
– 해결 방법: Fine-tuning, Knowledge Distillation 등을 통해 기존 지식 유지와 성능 향상 병행
시험 대비 체크리스트
– EWC의 원리와 수식 구성 요소를 설명할 수 있는가?
– LwF에서 Knowledge Distillation이 어떻게 적용되는지 이해했는가?
– Continual Learning과 Online Learning의 정의와 차이점을 명확히 구분할 수 있는가?
– Reservoir Sampling과 Prioritized Experience Replay의 개념과 차이점을 설명할 수 있는가?
– Incremental Learning에서 발생하는 클래스 불균형 문제의 원인과 해결 방법을 나열할 수 있는가?