ML | DL/딥러닝의 여러가지 학습 방법론

[3편] Domain Adaptation · Generalization · Continual Learning – 환경이 바뀌어도 끄떡없는 AI

Leeys 2025. 9. 18. 19:50
반응형

AI 모델은 한 번 학습하면 끝일까요?
아쉽게도 현실은 그렇지 않습니다. 😅
저도 처음 만든 CCTV 이상행동 탐지 모델이 맑은 날에는 잘 작동하다가,
비 오는 날 갑자기 성능이 반토막 난 경험이 있습니다.
오늘은 이런 문제를 해결하기 위해 꼭 알아야 할 Domain Adaptation, Domain Generalization, Continual Learning을 정리해 드립니다.


데이터 분포 변화, 왜 문제일까?

딥러은 모든지 가능해..

 
머신러닝 모델은 학습한 데이터 분포에 최적화되어 있습니다.
그런데 실무에서는 시간이 지나면

  • 카메라 교체 (화질·밝기 달라짐)
  • 환경 변화 (계절·날씨 변화)
  • 새로운 패턴 등장 (신규 제품, 새로운 사람 행동)

같은 이유로 데이터 분포가 바뀌게 됩니다.
이걸 해결하지 않으면 모델은 점점 현실과 멀어지고, 예측 정확도도 급격히 떨어집니다.


Domain Adaptation – 새로운 환경으로 적응하기

Domain Adaptation은 소스 도메인(Source Domain)에서 학습한 모델을
타깃 도메인(Target Domain)으로 잘 작동하도록 적응시키는 과정입니다.

💡 실생활 예시

  • 맑은 날 학습한 CCTV 모델 → 비 오는 날도 잘 작동하도록 적응
  • 해외 의료 영상 모델 → 국내 병원 영상 데이터에 맞게 재학습

제가 실제로 적용한 사례는 지능형 CCTV 프로젝트에서였습니다.
초기 모델은 실내 테스트 데이터로 학습했는데, 실제 역사의 조명·CCTV 각도에서 성능이 떨어졌습니다.
Domain Adaptation 기법으로 타깃 환경에서 소량의 데이터만 추가 학습시켜
성능을 20% 이상 끌어올릴 수 있었습니다.


Domain Generalization – 아예 처음 보는 환경에도 강한 모델

Domain Generalization은 적응할 데이터조차 없을 때 대비하는 방법입니다.
학습할 때부터 다양한 도메인을 섞어 학습시켜,
모델이 새로운 환경에서도 일반화(generalization)하도록 만드는 접근입니다.

💡 활용 포인트

  • 여러 날씨·시간대 데이터 섞어 학습 → 계절 바뀌어도 잘 작동
  • 여러 공장 라인의 데이터로 학습 → 새로운 라인에도 적용 가능

이 방식은 실제 서비스 배포 전, 모델이 만날 모든 환경을 고려
데이터를 다양하게 확보하고 학습해야 효과적입니다.


Continual Learning – 끊임없이 배우는 모델

Continual Learning은 모델이 새로운 데이터가 들어올 때마다 조금씩 업데이트되어
기존 지식을 잊지 않고 학습을 이어가는 방식입니다.

  • Incremental Learning : 데이터가 들어올 때마다 점진적 학습
  • Replay / Regularization : 기존 데이터 일부를 함께 재학습해 '망각' 방지

저는 불량 검출 모델을 운영할 때 이 방식을 적용했습니다.
새로운 불량 유형이 등장하면 해당 데이터만 추가로 학습시켰고,
기존 정상·불량 데이터 일부를 같이 학습시켜 모델이 이전 지식을 잊지 않도록 했습니다.


세 가지 접근법 한눈에 비교

  • Domain Adaptation: 기존 모델 → 새로운 환경 맞춤 적응 (소량 데이터 필요)
  • Domain Generalization: 처음부터 다양한 환경 고려 → 새로운 도메인에도 강함
  • Continual Learning: 데이터가 들어올 때마다 조금씩 학습 → 지속적으로 업데이트

스토리로 다시 정리

이 세 가지 방법은 현실 세계의 변화를 다루는 필수 도구입니다.
Domain Adaptation은 "새로운 환경에 맞춰 다시 적응",
Domain Generalization은 "처음부터 튼튼하게",
Continual Learning은 **"계속 배우면서 발전"**하는 모델을 만들기 위한 전략입니다.


결론 – 현실에서 오래 살아남는 AI

오늘은 Domain Adaptation, Domain Generalization, Continual Learning을 살펴봤습니다.
AI 모델은 한 번 만들고 끝나는 것이 아니라, 환경 변화에 적응하고 계속 진화해야 합니다.
이 전략을 알고 적용하면 모델 유지보수 비용을 줄이고, 실제 서비스 안정성을 높일 수 있습니다. 🔥
다음 편에서는 Multi-Task, Multi-Label, Curriculum Learning을 다뤄
한 모델로 여러 문제를 동시에 풀고, 더 똑똑하게 학습시키는 방법을 이야기하겠습니다.
여러분은 모델 성능이 떨어진 경험이 있으신가요?
그때 어떻게 문제를 해결했는지 댓글로 공유해주세요.👇
 
 
다음 편은 아래에 있습니다!
https://machineindeep.tistory.com/116

[4편] Multi-Task · Multi-Label · Curriculum Learning – 하나의 모델로 더 똑똑하게 학습시키기

AI 모델 하나로 여러 문제를 풀 수 있다면 얼마나 효율적일까요?저도 처음엔 태스크마다 모델을 따로 만들었는데,프로젝트가 커질수록 모델 개수가 늘어나고 유지보수가 지옥이 되더라고요. 😅

machineindeep.tistory.com

 
 

반응형