Domain Adaptation은 transfer learning의 일종으로 분류된다. source와 target 데이터셋의 distribution이 다르지만, 두 도메인에 같은 task를 적용할 때 이를 Transductive Transfer Learning이라고 부르며, 이에 대한 해결책으로 Domain Adaptation이 있다.
Domain Adaptation의 목표: Source domain과 Target domain 사이의 domain shift를 줄이기
•
Inductive Transfer Learning
◦
데이터 분포는 동일하지만 작업이 다른 경우. 소스 도메인에서 학습된 지식을 다른 작업에 적용한다.
◦
예시: 이미지 분류 모델을 텍스트 분류에 사용하는 경우
•
Transductive Transfer Learning
◦
작업은 동일하지만 데이터 분포가 다른 경우. 주로 Domain Adaptation을 통해 소스 도메인에서 학습된 모델이 타겟 도메인에서도 잘 작동하도록 한다.
◦
예시: 특정 환경에서 학습된 자율 주행 모델을 다른 환경에서 사용하는 경우.
•
Unsupervised Transfer Learning
◦
Source와 Target 도메인의 task가 다르며, 모든 데이터가 unlabeled인 경우
DANN(Domain Adversarial Neural Network)
DANN(Domain Adversarial Neural Net)의 네트워크 구조
DANN은 크게 세 가지 주요 구성 요소로 이루어져 있다: 특징 추출기(Feature Extractor), 레이블 예측기(Label Predictor), 도메인 분류기(Domain Classifier)
1. 특징 추출기 (Feature Extractor, 초록색)
•
역할: 입력 이미지를 받아서 유용한 특징(feature)을 추출합니다. 이 특징은 나중에 클래스 레이블 예측과 도메인 분류에 사용됩니다.
•
구조: 일반적인 CNN(Convolutional Neural Network)과 유사한 구조를 가집니다.
•
파라미터:
2. 레이블 예측기 (Label Predictor, 파란색)
•
역할: 추출된 특징을 이용하여 이미지의 클래스 레이블을 예측합니다.
•
구조: 특징 추출기에서 나온 특징을 입력으로 받아 클래스 레이블 y를 예측하는 네트워크입니다.
•
파라미터:
•
손실 함수: 클래스 레이블 예측 손실
3. 도메인 분류기 (Domain Classifier, 핑크색)
•
역할: 추출된 특징을 이용하여 이미지가 소스 도메인(Source Domain)에서 왔는지, 타겟 도메인(Target Domain)에서 왔는지 구분합니다.
•
구조: 특징 추출기에서 나온 특징을 입력으로 받아 도메인 레이블 d를 예측하는 네트워크입니다.
•
파라미터:
•
손실 함수: 도메인 분류 손실
DANN은 classification에서 class label을 구분하는 task와 source와 target의 domain을 구분하는 두 task를 동시에 진행한다.
Gradient Reversal Layer (GRL)
이 레이어는 역전파 과정에서 그래디언트의 부호를 반전시키는 역할이다. 이는 도메인 분류기를 혼란스럽게 만들어 특징 추출기가 domain-invariant features을 학습하도록 한다.
•
역전파(Backward Pass): GRL은 역전파 그래디언트의 부호를 반전시켜, 도메인 분류 손실 에 대해 특징 추출기의 파라미터 가 최적화되지 않도록 한다.
feature extractor의 파라미터 는 label은 잘 구분하도록, domain은 잘 구분하지 못하도록 학습된다.
domain-invariant features
도메인 불변 특징은 서로 다른 도메인(예: 소스 도메인과 타겟 도메인)에서 동일하게 나타나는 특징을 의미한다. 즉, 이러한 특징은 도메인 간의 차이에 영향을 받지 않으며, 어느 도메인에서든 유사하게 나타난다. 이를 통해 모델이 다양한 도메인에서 일관된 성능을 발휘할 수 있도록 돕는다.
이는 모델이 특정 도메인에 과적합(overfitting)되지 않고, 일반적인 패턴을 학습하도록 도와준다.