AI 모델 개발: 시스템 구축 – 컨티뉴얼 러닝
ㅁ 시스템 구축
ㅇ 정의:
지속적으로 새로운 데이터나 태스크를 학습하면서 기존에 학습한 지식을 최대한 유지하는 학습 방식으로, 모델이 환경 변화에 적응하도록 시스템을 설계하는 것.
ㅇ 특징:
– 데이터가 순차적으로 들어오며, 전체 데이터 재학습이 어려운 상황에 적합
– 기존 지식의 망각(catastrophic forgetting) 방지 기술 필요
– 메모리 제약, 연산 효율성 고려 필수
– 온라인 학습, 전이 학습, 리허설(Replay) 기법 등과 결합 가능
ㅇ 적합한 경우:
– IoT 센서 데이터, 실시간 로그 분석 등 지속적으로 데이터가 유입되는 환경
– 모델 재배포 없이 성능 유지 및 개선이 필요한 경우
– 사용자 맞춤 추천, 자율주행 등 환경 변화가 빈번한 서비스
ㅇ 시험 함정:
– 단순 온라인 학습과 혼동하는 경우 많음(온라인 학습은 즉시 업데이트에 중점, 컨티뉴얼 러닝은 장기 지식 유지에 중점)
– ‘컨티뉴얼 러닝’을 ‘증분 학습’과 동일시하는 경우 출제 포인트
– 데이터 전체 재학습이 가능한 상황은 컨티뉴얼 러닝 필요성이 낮음
ㅇ 시험 대비 “패턴 보기” 예시:
O: “환경 변화에 적응하며 기존 지식을 유지하는 학습 방식”
X: “과거 데이터는 버리고 새로운 데이터만 학습하는 방식”
ㅁ 추가 학습 내용
컨티뉴얼 러닝의 주요 접근 방식은 다음과 같이 구분된다.
1. Episodic Replay(리허설 기반) : 이전 태스크의 데이터를 일부 저장하고, 새로운 태스크 학습 시 함께 재학습하여 망각을 방지한다. 예시로 GEM(Gradient Episodic Memory)이 있으며, 이는 이전 태스크 데이터를 메모리에 보관하고 그라디언트를 조정하여 성능 저하를 줄인다.
2. Regularization-based(정규화 기반) : 네트워크 가중치 변경을 제한하여 기존 지식을 보존한다. 예시로 EWC(Elastic Weight Consolidation)가 있으며, 중요한 가중치에 큰 변화가 가지 않도록 페널티를 부여한다.
3. Dynamic Architecture(동적 아키텍처) : 새로운 태스크가 추가될 때 네트워크 구조를 확장하거나 변경하여 기존 지식을 유지한다.
컨티뉴얼 러닝 시나리오 구분은 다음과 같다.
– Class-Incremental Learning : 새로운 클래스가 점진적으로 등장하며, 모델은 모든 클래스에 대해 구분할 수 있어야 한다.
– Task-Incremental Learning : 각 태스크가 별도의 태스크 ID를 가지며, 학습 및 평가 시 해당 ID가 제공된다.
– Domain-Incremental Learning : 입력 도메인 특성만 변하고, 클래스 레이블은 동일하다.
실무 성능에 영향을 주는 주요 튜닝 요소로는 메모리 버퍼 크기, 샘플링 전략, 학습률 스케줄링이 있으며, 이러한 설정에 따라 망각 방지와 학습 효율이 달라진다.