TTA (Test-Time Adaptation)

2한나·2026년 4월 14일

TTA (Test-Time Adaptation)

Executive Summary

  • Test-Time Adaptation(TTA)학습이 끝난 모델테스트(배포) 시점에, 라벨 없는 테스트 데이터를 이용해 분포 변화(distribution shift)에 적응시키는 방법론이다.
  • “예측 전에(또는 하면서) 모델을 업데이트한다”
  • TTA는 보통 source data 접근 불가(source-free)를 전제로 하며, 업데이트 신호로는 엔트로피 최소화, 자기학습(pseudo-labeling), 정규화 통계(BN) 재추정, 일관성(consistency) 손실이 자주 쓰인다.
  • 효과가 잘 나는 조건은 대체로 covariate shift 중심(입력 분포 변화)이고, 결정 규칙(대략 p(y|x))이 크게 바뀌지 않는 상황이다. 반대로 label shift(클래스 prior 변화), class imbalance, mixed shift, small batch, concept drift에서는 불안정/붕괴(collapse) 위험이 커진다.
  • 실무에서 TTA는 “성능 향상”뿐 아니라 안정성(드리프트/망가짐 방지)가 더 중요한 문제다. 최근 연구는 망각/오류누적/붕괴를 막기 위해 복원(reset/restore), 샘플 선택, 정규화 설계를 강하게 넣는다.
  • 사용자 시나리오(시뮬레이션→실측 tabular 물리량, 실측 10만 샘플)에 대해선, 먼저 “안전한 적응(통계/정규화/출력 보정)”을 기본값으로 두고, 그 다음 (가능하면) 소량 라벨로 캘리브레이션/검증, 마지막에 가벼운 엔트로피/자기학습 기반 온라인 업데이트를 단계적으로 붙이는 구성이 현실적이다. tabular에서는 이미지식 augmentation이 잘 안 통한다는 보고가 있어, 증강 기반 TTA를 그대로 가져오면 실패할 수 있다.

정의와 목적

TTA 정의

  • TTA는 학습된(source) 모델이 배포 후 마주치는 테스트 데이터의 분포가 학습 분포와 달라질 때, 테스트 데이터 자체를 사용해 추론 과정을 테스트 시점에 업데이트**하여 성능 저하를 줄이는 프레임워크다.
  • 특히 Fully Test-Time Adaptation(FTTA)source data 없이 테스트 데이터만으로 적응한다. Tent는 이 설정을 명시적으로 강조한다.

목적

  • 단일 지표: shift된 테스트 분포에서의 일반화 성능 유지/개선
  • 부차 목적: 추가 라벨 비용 최소화, 배포 환경에서의 지속적(online/continual) 운영, 프라이버시/소유권 이슈로 source data 미사용

도메인 시프트와 적용 조건

데이터 분포 변화 모델

  • 분포 변화는 보통 (ps(x,y)pt(x,y))(p_s(x,y) \neq p_t(x,y))로 요약함
    (학습(source)와 테스트(target)의 결합분포가 다름)

시프트 유형

  • Covariate shift
    입력 분포만 변하고 조건부는 유지된다고 가정:

    [ps(x)pt(x),ps(yx)=pt(yx)][ p_s(x)\neq p_t(x),\quad p_s(y\mid x)=p_t(y\mid x) ]

    이 가정이 성립하면 중요도 가중치/정규화/특징 정렬류가 이론적으로 연결된다.

  • Label shift (Prior shift)
    레이블 주변분포만 변하고 클래스 조건부 입력은 유지된다고 가정:

    [ps(y)pt(y),ps(xy)=pt(xy)][ p_s(y)\neq p_t(y),\quad p_s(x\mid y)=p_t(x\mid y) ]

    이 경우 “출력 분포 보정(레이블 prior 추정 후 reweight)”이 핵심이 된다.

  • Concept shift / Concept drift
    입력-레이블 관계(조건부)가 바뀐다:

    [ps(yx)pt(yx)][ p_s(y\mid x)\neq p_t(y\mid x) ]

    온라인 환경에서는 이를 concept drift로 다루며, 지속적으로 학습 설정 자체가 변한다. 무라벨 TTA는 이 경우 원천적으로 위험해진다(잘못된 자기강화).

  • Mixed shift (혼합)
    현실적 tabular/센서 환경은 covariate+label+concept 형태가 섞이기 쉽다.

언제 사용하는가

  • 라벨 없는(또는 라벨이 매우 적은) 테스트 데이터가 존재하고, 배포 후 환경이 바뀌는 경우.
  • 모델이 미분 가능하거나, 최소한 정규화 통계/추론 규칙을 조작할 수 있는 경우(예: BN 통계 재추정).
  • 목표가 현실 분포에서 즉시 성능 유지이고, 재학습(라벨링/대규모 training)이 비용적으로 어려운 경우.

적용 전제/제약

  • TTA는 online 업데이트의 누적 효과가 존재한다. 즉, “조금씩 좋아지다가 결국 망가짐(붕괴)” 같은 장기 거동을 관리해야 한다.
  • BN 기반 TTA는 batch size와 i.i.d 가정에 민감하다. small batch나 비정상 스트림에서는 성능 하락/불안정이 보고된다.
  • tabular에서는 이미지에서 쓰는 augmentation 신호가 약해 증강 기반 TTA를 그대로 가져오면 baseline을 못 이기는 사례가 보고된다.

방법론 분류와 대표 기법 비교

분류 축

  • 테스트 데이터 형태
    batch(전체/큰 묶음) / online(스트림, mini-batch 도착) / instance(1샘플=1업데이트)
  • 업데이트 대상
    (a) 정규화 통계만, (b) 일부 파라미터만(BN affine 등), (c) 전체 파라미터, (d) 예측/프로토타입/추론 규칙만
  • 라벨 필요 여부
    fully unsupervised(무라벨) / 소량 라벨 캘리브레이션 가능(선택)
  • 안정화 장치 유무
    샘플 선택(EATA), sharpness-aware(SAR), teacher-student/restore(CoTTA), label shift 모듈(LSA), BN 설계(TTN, MemBN)

방법 비교 테이블

methodtypeassumptionsonline/batchlabeled requirementcompute cost (상대)robustness to label shifttabular 추천
AdaBNBN stats 재추정BN 존재, target 통계 추정 가능batch/online불필요낮음(역전파 X)낮음DL+BN일 때 “가장 안전한 1순위”
Tententropy minimization(BN affine)확률모델+미분가능, BN 기반 변조online/batch불필요중간(배치당 1 backprop)낮음~중간(편향 시 실패)DL+BN, label shift 약하면
EATATent + 샘플 선택 + Fisher reg“모든 샘플이 유익하지 않음”, 망각 억제 필요online/batch불필요중간~낮음(선택으로 절감)중간(불안정 완화)DL, 온라인 안정성 우선
SARsharpness-aware entropy min + 복구mixed shift/small batch/imbalance 고려online불필요중간~높음(추가 계산)중간(붕괴 억제 설계)온라인 “야외(wild)” 세팅에 후보
TTNCBN↔TBN 통계 보간BN, (사전)post-training 가능, small batch 고려online/batchpost-training에 source 라벨 필요낮음(테스트 시)낮음tabular에선 BN 쓰는 MLP일 때만 제한적
MemBNBN 통계 메모리 큐small batch에서 통계 안정화 필요online/batch불필요낮음~중간(메모리 큐)낮음DL+BN + small batch 대응
SHOTsource-free DA(특징 학습)classifier 고정, target에서 encoder 학습, pseudo-label주로 batch(여러 epoch)불필요높음(여러 epoch)낮음~중간tabular엔 직접 이식 어려움(아이디어만)
T3Aoptimization-free prototype adjustfeature extractor 고정, pseudo-prototype 업데이트online/batch불필요낮음(역전파 X)중간(프로토타입 편향 위험)tabular에서 “프로토타입/최근접” 가능하면 후보
MEMOinstance-level (marginal entropy over aug)강한 label-preserving augmentation 가정instance/online불필요높음(B aug + backprop)낮음tabular augmentation 약하면 비추천
CoTTAteacher-student + consistency + restorecontinual shift, 가짜 라벨 품질 관리online불필요높음(teacher+aug)낮음~중간tabular은 augmentation 설계가 관건
Label Shift Adapterlabel shift 모듈(하이퍼네트워크류)label prior 변동을 명시 모델링online/batch(사전)adapter 학습에 source 라벨중간높음(목적 자체)tabular “class imbalance/label shift” 강하면 후보
FtaT (tabular FTTA)tabular 전용 FTTA(라벨+cov shift 동시)tabular에서 aug 약함/민감함 반영batch/online불필요(설정상)중간(모듈+앙상블)중간~높음(설계 목표)tabular에서 강 추천(가능 시)
OT3A (tabular OTTA)tabular 온라인 + label shift 교정 + self-traininghigh-confidence 샘플로 prior 추정online불필요중간중간~높음(설계 목표)온라인 tabular에 후보(연구 단계)

대표 기법별 요약

AdaBN / BN statistics adaptation

  • 개념: BN의 running mean/var(통계)를 target 데이터로 다시 추정한다. 파라미터 학습(역전파)은 없다.
  • 알고리즘(요약): target 데이터로 BN 통계를 계산 → 그 통계를 사용해 inference.
  • 가정: (1) BN이 있고, (2) target batch가 어느 정도 i.i.d에 가깝고, (3) covariate shift가 주된 원인이라는 암묵 가정.
  • 비용: forward 기반 통계 업데이트만. 실무에서 “가장 저렴한 TTA 후보”로 들어간다.
  • 실패 모드: batch가 매우 작거나 stream이 비정상(순차 상관/혼합 shift)일 때 통계가 흔들릴 수 있다.

Tent

  • 개념: 테스트 배치에서 예측 엔트로피를 최소화하면서, 모델 전체 대신 정규화 레이어의 affine(스케일/시프트) 파라미터만 업데이트한다. 동시에 정규화 통계는 테스트 배치로 추정한다.
  • 알고리즘(요약):
    • loss: (H(pθ(yx)))(H(p_\theta(y\mid x))) 최소화
    • update: BN affine 파라미터에 대해 1 step(또는 소수 step) SGD/Adam
    • 온라인이면 배치가 들어올 때마다 반복
  • 가정: 확률 예측이 가능하고(softmax), 미분 가능하며, BN(또는 유사 정규화)을 feature modulation으로 쓸 수 있다는 전제.
  • 비용/메모리: 배치당 1 backprop + optimizer state(업데이트 파라미터만).
  • 실패 모드:
    • label shift/long-tail 편향이 크면 entropy minimization이 “다수 클래스 확신 강화”로 흐를 수 있다.
    • mixed shift, small batch에서 붕괴/성능 하락이 보고된다.
    • 엔트로피 자체가 “안전한 샘플”의 완전한 지표가 아니라는 반례가 제기된다.

EATA

  • 개념: Tent류의 엔트로피 적응은 (a) 매 샘플 backprop 비용이 크고, (b) in-distribution 성능을 망가뜨릴 수 있다는 문제를 겨냥한다. EATA는 샘플 선택 + Fisher regularization으로 효율/망각을 동시에 줄이려 한다.
  • 알고리즘(요약):
    • low-entropy이면서 non-redundant한 샘플만 업데이트 대상으로 선택(불필요한 backprop 제거)
    • 중요한 파라미터는 Fisher 기반 규제로 크게 변하지 않게 제한
  • 비용: 샘플 선택 덕분에 평균 backprop 수가 감소한다(상황 의존).
  • 실패 모드: 선택 기준(엔트로피/유사도 임계값)이 데이터 편향에 취약할 수 있다. “엔트로피=신뢰도” 가정이 깨지는 경우가 보고된다.

SAR

  • 개념: “야외(wild)” 세팅에서 TTA가 실패하는 원인으로 mixed shift, small batch, label imbalance를 지적하고, BN의 불안정성과 모델 붕괴를 줄이기 위해 reliable filtering + sharpness-aware entropy minimization + recovery(reset)을 제안한다. citeturn5search2turn19view4
  • 알고리즘(요약):
    • (1) 신뢰 샘플 필터링(엔트로피 기준)
    • (2) sharpness까지 함께 줄이는 업데이트
    • (3) 붕괴 감지 시 초기값으로 복구
  • 비용: sharpness-aware 업데이트는 추가 gradient 계산이 필요해 Tent보다 무거워질 수 있다(구현 의존).
  • 강점/한계: “망가지는 걸 막는” 방향의 설계가 강하다. 다만 엔트로피 기반 필터 자체의 한계는 완전히 사라지지 않는다.

TTN / MemBN

  • TTN: CBN(소스 running stats)과 TBN(테스트 배치 통계)의 trade-off를 지적하고, 레이어/채널별로 보간 가중치를 학습해 small batch에서도 안정화를 노린다.
  • MemBN: small batch에서 BN 통계가 불안정하다는 문제를 겨냥해, BN 레이어마다 통계 메모리 큐(queue)로 여러 배치의 통계를 누적해 “큰 배치처럼” 만들려 한다.

SHOT (source-free domain adaptation 계열)

  • 개념: source data 없이도 적응 가능한 setting을 formalize하고, classifier(가설)는 고정, feature encoder를 target에 맞게 학습한다. 신호는 information maximization + self-supervised pseudo-labeling이다.
  • 목적함수(핵심): 엔트로피(개별 예측의 확신)와 다양성(전체 예측 분포의 분산)을 함께 쓰는 IM loss 구성 + centroid 기반 pseudo-label cross-entropy 결합.
  • 비용: 온라인 1-step 업데이트라기보단, target 데이터에 대해 여러 iteration/epoch 최적화가 들어가 “배포 실시간”에는 무거울 수 있다.
  • 실패 모드: pseudo-label이 틀리면 encoder가 틀린 방향으로 정렬될 수 있다(confirmation bias).

T3A

  • 개념: “역전파 없이” 테스트 시점에 classification을 조정하는 optimization-free 접근이다. pseudo-prototype(템플릿)을 업데이트하고, 거리 기반으로 재예측한다.
  • 알고리즘(요약): 테스트 배치에서 pseudo-label로 support set을 갱신 → class centroid를 갱신 → centroid 기반 점수로 예측.
  • 장점: backprop이 없어 가볍고, online에 걸기 쉽다.
  • 한계: 초기 pseudo-label이 편향되면 centroid가 그 편향을 누적할 수 있다(특히 label shift/imbalance).

MEMO

  • 개념: test point 하나에 대해 여러 augmentation을 만들고, 그 augmentation들의 평균 예측 분포(marginal)의 엔트로피를 줄여 일관성과 확신을 동시에 강제한다. 그리고 모델 파라미터 전체를 1 step 업데이트하는 “instance-level” 성격이 강하다.
  • 핵심 가정: augmentation이 label-preserving이며, 그 불변성(invariance)이 target에서도 의미 있다는 가정.
  • tabular 위험: tabular은 augmentation이 잘못 설계되면 label을 깨기 쉬워, “augmentation 신호로 TTA”가 실패할 수 있다는 지적이 있다.

CoTTA

  • 개념: continual/stream 환경에서 자기학습이 누적 오류를 내는 문제를 줄이기 위해
    • teacher(EMA) 모델로 pseudo-label 품질을 높이고
    • augmentation-average pseudo-labelconsistency loss로 student를 업데이트하며
    • stochastic restoration으로 일부 가중치를 source로 되돌려 망각을 억제한다.
  • 실패 모드: 여전히 augmentation 설계/강도와 conf-threshold 선택에 민감할 수 있다. tabular에서는 특히 augmentation이 약점이 된다.

Label Shift Adapter (Label shift 대응 모듈)

  • 문제의식: 많은 TTA가 covariate shift만 가정하거나 “balanced label”을 암묵 가정해, label shift·long-tail에서 entropy minimization이 실패할 수 있음을 지적한다.
  • 아이디어: target label distribution (p_t(y))를 추정해 입력으로 넣고, 그에 맞는 파라미터(또는 logits 조정)를 생성하는 adapter를 통해 기존 TTA와 결합한다.

Tabular 전용 흐름 (FtaT, OT3A)

  • tabular FTTA 연구는 “이미지용 TTA를 그대로 적용하면 실패”를 명시적으로 보고한다. 핵심 난점으로 (1) covariate+label shift 동시 존재, (2) 효과적인 tabular augmentation 부재, (3) 적응 민감성(모델/태스크별 하이퍼 민감)을 든다.
  • OT3A는 tabular 온라인 환경에서 high-confidence 샘플로 label shift를 추정/교정하고, 그 샘플로 self-training과 entropy minimization을 진행하는 프레임워크를 제안한다.

평가 및 실험 프로토콜

평가 설정 (반드시 고정해야 하는 것)

  • Episodic vs Continual
    • episodic: shift 구간마다 모델을 원상복구(reset)한 뒤 적응(서로 간섭 없음)
    • continual: 적응이 누적되는 실제 배포 가정(붕괴/망각 문제 핵심)
  • Batch size 스윕
    BN 기반 방법은 batch size에 민감하므로, 작은 값까지 포함해 스윕하는 것이 “현실성”에 중요하다.
  • 시프트 종류
    single corruption 같은 쉬운 세팅만 보면 과대평가 위험이 있다. mixed/continual 세팅에서 붕괴가 보고된다.

지표(metrics)

  • 분류: Accuracy / Macro-F1 / AUROC / PR-AUC(불균형일 때)
  • 확률 품질: NLL / ECE / Brier score(캘리브레이션 관점)
  • 회귀: MAE / RMSE / MAPE / calibration(예측구간이 있으면 coverage)
  • 적응 비용: 샘플당 latency, 배치당 FLOPs(대략 forward+back 횟수로 대체), 메모리(teacher/BN queue 등)

베이스라인

  • Source-only(아무 적응 없음): 반드시 포함. citeturn14view0turn7view6
  • 통계 기반만: (DL이면) AdaBN/TTN/MemBN류, (tabular면) feature-wise standardization 재정의
  • 엔트로피 기반: Tent(가능 시), EATA/SAR
  • 자기학습 기반: confidence threshold pseudo-labeling, CoTTA(augmentation 가능할 때)

통계적 유의성

  • seed를 여러 개로 반복 실행하고, paired t-test로 유의성을 보고한 사례가 있다(T3A). 실험 템플릿에서도 권장된다.

권장 Ablation

  • 업데이트 파라미터 범위: stats-only vs BN affine vs last layer vs full fine-tune
  • batch size, lr, step 수, threshold(엔트로피/신뢰도), reset/restore 주기
  • label shift가 의심될 때: prior correction 유무, class-balance term 유무 6

0개의 댓글