Domain Adaptation, TTA

1 훈련 데이터와 검증 데이터의 분리:

  • 훈련 데이터(Source Domain):
    • 모델이 학습하는 데이터로, 도메인 적응 기법은 이 데이터에 큰 변화를 주지 않음.
    • 주로 모델이 소스 도메인의 특성을 잘 학습하도록 하는 데 초점
  • 검증 데이터(Target Domain):
    • 모델의 일반화 성능을 평가하기 위한 데이터
    • 도메인 적응 기법은 타겟 도메인에 맞춰 모델을 조정함으로써 이 데이터에서의 성능을 향상.

      2 도메인 적응 기법의 목적:

  • TTA:
    • 테스트 시점에 모델을 타겟 도메인에 맞게 조정하여, 실시간으로 성능을 향상
    • 단순 여러 번 Augment 후 결과 앙상블
  • AdaBN: 배치 정규화 계층의 통계치를 타겟 도메인에 맞게 조정하여, 모델이 타겟 도메인 데이터에 더 잘 일반화
    • BN 통계를 타 도메인(또는 테스트 도메인) 데이터로 업데이트하는 기법
  • DANN:
    • 도메인 간의 분포 차이를 줄이기 위해 도메인 분류기를 도입하여, 모델이 도메인 불변적인 특성을 학습하도록 유도

      3 훈련 메트릭의 변화가 적은 이유:

  • 도메인 적응 기법들은 주로 타겟 도메인에 대한 일반화 성능을 개선하는 데 초점이 맞춰져 있기 때문에, 소스 도메인에서의 훈련 메트릭에는 큰 변화를 주지 않음
  • 이는 모델이 여전히 소스 도메인에서 잘 작동하면서 동시에 타겟 도메인에서도 잘 작동하도록 하기 위함

    단계별 적용

    학습 단계

  • DANN
  • AdaBN

    테스트 단계

  • TTA
  • TTAd
  • AdaBN

    1.1. TTA (Test Time Adaptation)

  • 개요:
    • 학습 단계에서 보지 못한 새로운 Test 도메인에서의 성능 저하를 최소화
    • 모델이 소스 도메인에서 학습된 후, 실제 테스트 시점에서 타겟 도메인의 데이터에 맞추어 모델을 동적으로 조정
    • 테스트 데이터가 주어질 때마다 모델의 일부 파라미터를 업데이트하거나, 입력 데이터를 변환하여 타겟 도메인에 적합한 예측을 수행
  • 장점:
    • 타겟 도메인의 데이터를 별도로 학습하지 않아도 됨.
    • 실시간 적응 가능.
  • 단점:
    • 테스트 시 추가 계산 비용 발생.
    • 적응 과정에서의 안정성 문제.
  • TTA 기본 원칙:
    • 학습 시의 augmentation보다 보수적으로 적용
    • 이미지의 의미/특성을 크게 변경하지 않는 변환 위주
    • 예측 결과의 안정성을 해치지 않는 수준

      동작 원리

  • 파라미터 조정(Parameter Adaptation):
    • Batch Normalization Adaptation: 배치 정규화 계층의 통계치를 타겟 도메인 (Test data) 에 맞게 재계산
  • 피처 보정(Feature Calibration):
    • 입력 데이터의 피처를 변환하거나 보정하여 타겟 도메인에 맞는 특성을 추출
  • 자기 지도 학습(Self-Supervised Learning):
    • 레이블이 없는 테스트 데이터에서 추가적인 학습 신호를 생성하여 모델을 미세 조정
    • 회전 예측, 색상 복원 등
    • Entropy Minimization:
      • 모델의 예측 분포의 엔트로피를 최소화하여 보다 확신 있는 예측을 유도

        1.2. TTAD (Test-Time Adaptation)

  • 개요:
    • TTA의 확장된 형태로, 테스트 시 도메인 적응을 수행하면서도 도메인 간의 불변 특성을 유지하도록 설계
  • 장점:
    • TTA보다 더 안정적이고 효과적인 적응 가능.
    • 다양한 적응 전략을 통합하여 성능 향상.
  • 단점:
    • 구현의 복잡성 증가.
    • 적응 과정에서의 추가 자원 소모.

      1.3. AdaBN (Adaptive Batch Normalization)

  • 개요:
    • 배치 정규화(Batch Normalization) 계층의 파라미터(평균과 분산)를 도메인에 맞게 조정
    • 소스와 타겟 도메인의 통계치를 별도로 학습하거나 조정하여 적용
    • TTA 일종으로 고려 가능
    • 학습/ 테스트 단계 2가지 방식 적용
  • 장점:
    • 기존 모델에 비교적 간단하게 적용 가능.
    • 추가적인 네트워크 구성 불필요.
  • 단점:
    • 배치 정규화가 없는 네트워크에는 적용 불가.
    • 도메인 간 통계 차이가 클 경우 한계.

      1) 학습 단계 적용

  • 모델이 소스 도메인과 타겟 도메인의 데이터를 모두 학습 과정에 포함시키면서, 각 도메인에 특화된 배치 정규화 통계치를 별도로 유지하고 업데이트
  • 소스 도메인과 타겟 도메인 간의 분포 차이를 학습 과정에서 직접적으로 줄이는 것을 목표
    1. 도메인별 배치 정규화 계층 관리: • 소스 도메인과 타겟 도메인 각각에 대해 별도의 배치 정규화 계층(BatchNorm)을 사용 • 예를 들어, 소스 도메인용 BatchNorm과 타겟 도메인용 BatchNorm을 모델 내에 모두 포함
    2. 도메인 식별 및 배치 정규화 선택: • 각 미니 배치가 소스 도메인인지 타겟 도메인인지를 식별하고, 해당 도메인에 맞는 BatchNorm 계층을 선택하여 적용
    3. 학습 루프 수정: • 학습 데이터 로더가 소스 도메인과 타겟 도메인 데이터를 구분하여 공급 • 도메인 정보에 따라 적절한 BatchNorm 계층을 사용하여 모델을 학습

      2) 테스트 단계 적용

  • 이미 학습된 모델을 테스트할 때, 타겟 도메인의 테스트 데이터를 활용하여 배치 정규화 계층의 평균과 분산을 업데이트
  • 테스트 데이터의 통계치를 반영하여 모델이 타겟 도메인에 더 잘 적응
    1. 배치 정규화 통계 업데이트: • 테스트 데이터가 입력될 때마다, 해당 데이터의 평균과 분산을 계산하여 BatchNorm 계층의 통계치를 업데이트 • 기존의 고정된 통계치 대신, 테스트 데이터에 맞는 실시간 통계치를 사용하여 정규화를 수행
    2. 모델의 BatchNorm 계층 설정: • 학습 단계에서 BatchNorm 계층의 running_mean과 running_var를 고정하거나, 테스트 시점에만 업데이트하도록 설정
    3. 테스트 루프 수정: • 테스트 단계에서 BatchNorm 계층이 타겟 도메인 데이터의 통계치를 반영하도록 설정 • 필요 시, 여러 테스트 배치를 통합하여 더 안정적인 통계치를 계산

      1.4. DANN (Domain-Adversarial Neural Network)

  • 개요:
    • 도메인 분류기를 적대적으로 학습시켜 도메인 불변 특성(domain-invariant features)을 추출하는 방법
    • 소스 도메인의 레이블 예측과 도메인 분류를 동시에 수행
    • 도메인 분류기의 역전파를 통해 피처 추출기가 도메인 정보를 숨기도록 학습
  • 장점:
    • 도메인 간 분포 차이를 효과적으로 줄일 수 있음.
    • 레이블이 없는 타겟 도메인에도 적용 가능.
  • 단점:
    • 적대적 학습의 불안정성.
    • 복잡한 네트워크 구조 요구.