1. Continual Learning이란?
- Continual Learning(또는 Lifelong Learning)은 모델이 한 번에 전체 데이터를 학습하는 것이 아닌, Task 또는 Data Stream이 순차적으로 주어지는 상황에서 지속적으로 학습하는 능력을 말합니다.
- 이때 해당 학습의 핵심 목표는
* 이전 태스크에서 학습한 지식을 보존
* 새로운 태스크에 대한 빠른 적응
* 지속적인 학습과 지식의 누적
입니다.
- 이를 일반적인 딥러닝과 비교해보면
항목 | 일반적인 딥러닝(Static Learning) | Continual Learning |
데이터 분포 | IID(Independent and Identically Distributed) (한 번에 전체 제공) | Non-IID, 순차적으로 제공 |
학습 방식 | 한 번 훈련 후 종료 | 계속해서 학습 |
메모리 | 전체 데이터 접근 가능 | 과거 데이터 제한 또는 접근 금지 |
망각 문제 | 없음 | Catastrophic Forgetting 발생 |
2. Continual Learning의 대표 시나리오와 핵심 도전과제
1) 대표 시나리오
* Task Incremental Learning : 태스크의 구분이 명확하고, 각 태스크마다 서로 다른 Classifier를 활용
* Domain Incremental Learning: 태스크는 같지만, 데이터 분포가 달라짐(ex. 같은 숫자 인식이나 배경이 다른 경우 등)
* Class Incremental Learning: 새로운 클래스가 등장하며, 하나의 통합 classifier로 예측
2) 핵심 도전 과제
* Catastrophic Forgetting: 새로운 태스크를 학습하면서 기존 태스크를 잊어버리는 문제
[딥러닝 with Python] Catastrophic Forgetting?
[딥러닝 with Python] Catastrophic Forgetting?
Catastropthic Forgetting은 딥러닝 모델이 순차적 학습(Continual Learning)을 하는 과정에서 이전에 배운 정보를 새롷 ㅏㄱ습하면서 망각해버리는 문제로, 많은 연구가 진행중인 주제 입니다. 1. Catastrophic F
jaylala.tistory.com
* Knowledge Transfer vs. Interference: 기존 지식이 새 태스크에 도움이 되는 Positive Transfer와 방해가 되는 Negative Trasnfer
* Resource Contraints: 이전 데이터를 무제한 저장할 수 없ㅇ며, 학습 시간이 길어질 수도 있음
이를 위한 주요 해결 방법을 알고리즘 별로 분류해보면
범주 | 설명 | 대표 알고리즘 |
Regularization-based | 기존 지식을 유지하도록 손실함수에 제약 추가 | EWC, SI, LwF |
Replay-based | 과거 데이터를 일부 저장하거나 생성하여 재학습 | iCaRL, DGR, ER |
Parameter Isolation | 각 태스크마다 별도 파라미터를 사용 | ProgNet, PackNet |
Meta-learning 기반 | 빠른 적응과 이전 정보 재활용 | ANML, OML |
'딥러닝 with Python' 카테고리의 다른 글
[딥러닝 with Python] Mamba란? (1) | 2025.07.18 |
---|---|
[딥러닝 with Python] RUL이란? (Remaining Useful Life) (0) | 2025.07.15 |
[딥러닝 with Python] Catastrophic Forgetting? (0) | 2025.07.13 |
[딥러닝 with Python] 바이브 코딩이란?(Vibe Coding) (0) | 2025.07.05 |
[딥러닝 with Python] UAT와 KAT, 그리고 KAN(Kolmogorov-Arnold Networks) (0) | 2025.07.04 |
댓글