전체 개요 정리
in Til on Til
- Test Time Augmentation(이하 TTA)
- 테스트(추론) 단계에서의 입력 데이터에 대한 다양한 변환(augmentation)을 적용해, 여러 번 예측을 수행하고 그 결과를 종합(평균, 보팅 등)하여 최종 예측값을 결정하는 기법
- Test Time Adaptation(이하 TTAd)
- 테스트(추론) 단계에서 모델 자체를 (재)학습하거나 업데이트하여, 배포된 모델을 실제 환경에 더 잘 적응시키려는 기법
보통 라벨이 없는 테스트 데이터(혹은 매우 일부의 라벨링된 환경 데이터)만을 이용해 모델의 파라미터나 통계값을 조정
2. 용어 정의
2.1 Test Time Augmentation (TTA)
- 기본 아이디어
- 이미 학습된 모델에 대해, 테스트 데이터에 여러 형태의 증강(회전, 반전, 스케일 조정 등)을 적용하여 다양한 관점에서 추론을 진행.
- 그 결과들을 평균 혹은 가중 합하여 최종 예측을 얻음.
- 주로 사용하는 상황
- 추론 시 데이터가 흔들리거나 왜곡될 가능성이 클 때(예: 이미지 데이터).
- 여러 증강을 통해 전반적인 예측 안정성을 높이고 일반화 성능을 향상시키고자 할 때.
- 장점
- 이미 완성된 모델 구조와 파라미터를 바꾸지 않고 추가적인 연산만으로도 예측 품질 개선 가능.
- 라벨이 필요 없음(테스트 단계에서는 기본적으로 라벨이 없으므로 무관).
- 단점
- 증강된 입력 샘플이 많아질수록 추론 시간이 길어짐(실시간성 저하).
- 데이터 변환과 병합 로직 설계가 추가적으로 필요.
2.2 Test Time Adaptation (TTAd)
- 기본 아이디어
- 배포된 모델을 테스트 시점에 적응(Adapt)시키는 기법.
- 예: 새로운 도메인, 환경 변화, 센서 특성 변화 등에 동적 대응하기 위해, 테스트 세트(혹은 스트리밍되는 테스트 데이터)의 통계정보나 신뢰 가능한 일부 라벨 등을 활용하여 모델 파라미터나 BatchNorm 통계치 등을 업데이트함.
- 주로 사용하는 상황
- 트레이닝과 테스트 간 도메인 차이가 상당히 큰 경우(도메인 쉬프트, 분포 변화 등).
- 기존에 학습된 모델을 다시 전체 재학습하기에는 어렵거나 비효율적이지만, 최소한의 수정(Adaptation)으로 성능을 유지해야 하는 경우.
- 장점
- 예측 대상 환경이 바뀌어도, 최소한의 적응 절차로 성능 저하를 방지하거나 새로운 환경에 맞게 모델 성능을 개선 가능.
- 단점
- 테스트 시점에 모델 업데이트 과정이 추가되므로 추론 시간이 길어지거나, 장치에서 수행하기 어려울 수 있음.
- 라벨이 없는 상황에서의 적응은 불확실성이 큼(주로 Self-Supervised 혹은 Unsupervised 방법 사용).
부적절한 적응으로 인해, 오히려 성능이 저하될 위험도 있음(“잘못된 방향”으로 학습될 가능성).
3. 두 방법의 차이점 및 작동 방식
- 데이터 처리 관점
- TTA: (동일) 모델에, (다른) 데이터 증강.
- TTAd: (변경) 모델 자체에, (동일) 데이터(테스트 환경)로부터 학습 혹은 파라미터 조정.
- 접근 방식
- TTA: 다양한 변환된 입력 → 다수의 추론 → 결과 결합.
- TTAd: 테스트 데이터 통계, 피드백, 라벨(혹은 준라벨) → 모델 파라미터 업데이트.
- 적용 시기 및 범위
- TTA: 추론 과정에서 입력만 변환할 뿐, 모델 구조나 파라미터는 변경 없음.
- TTAd: 추론 과정에서 모델 학습 과정 재가동, 파라미터 일부 업데이트.
- 주 목적
- TTA: 예측 결과 안정화, 노이즈나 변형에 대한 간단한 방어.
TTAd: 도메인 적응이나 환경 변화 대응 등 근본적으로 모델의 지식 혹은 내부 통계치를 바꾸어야 할 때.
4. 쉬운 예시 및 비유
- Test Time Augmentation
- 예를 들어, 사람이 어떤 사진에서 “강아지”를 찾고자 할 때, 사진을 살짝 돌려 보거나(좌우 회전), 확대해 보거나(줌) 여러 방법으로 확인 후 “강아지 맞네!”라고 최종 결론을 내리는 것과 유사
- 여러 관점에서 본 다음 결론을 종합
- Test Time Adaptation
- 예를 들어, 운전을 하던 사람이 기존에 익숙한 도로와 다른 국가(왼쪽 차선 주행 등)로 여행 갔을 때, 실제로 운전해보며 핸들 조작이나 차선 감각을 새롭게 익히는 과정과 비슷.
기존 “자동차 조작법”은 그대로지만, 도로 환경에 맞춰 운전 습관을 일부 바꾸어야
5. 표로 한눈에 비교
| 구분 | Test Time Augmentation (TTA) | Test Time Adaptation (TTAd) | | — | — | — | | 핵심 아이디어 | 테스트 입력에 여러 증강을 적용, 여러 결과를 결합 | 테스트 시 모델을 재학습 또는 통계치 업데이트 | | 목적 | 예측 안정화, 노이즈, 변형 대응 | 환경 변화 적응, 도메인 쉬프트 대응 | | 모델 파라미터 변경 | 없음 (고정) | 있음 (부분 업데이트) | | 추론 단계 추가 비용 | 예측 횟수 증가(N번 증강 시 N배 추론) | 재학습 과정(도메인 적응용 최적화) | | 라벨 필요성 | 없음 (테스트에 주어진 라벨 불필요) | 상황에 따라 Self-Supervised, Unsupervised 활용 가능 | | 장점 | 단순 구현, 라벨 불필요, 예측 정밀도↑ | 도메인 갭 최소화, 실시간 혹은 순차 적응 가능 | | 단점 | 실시간성 저하, 단순 증강 한계 | 모델 업데이트 부담, 라벨 없을 시 불확실성 증가, 과적응 위험 | —
6. 비판적 관점 및 한계
- Test Time Augmentation 한계
- 단순 회전·반전 등은 데이터 분포의 본질을 바꾸지는 못하며, 디테일한 도메인 차이에는 완전한 대응이 어려움.
- 증강 횟수가 늘어날수록 추론 시간이 비선형적으로 증가.
- Test Time Adaptation 한계
- 테스트 시점에서 추가 학습을 수행하는 데 드는 시간·자원 문제.
- 레이블 없이 적응 시에는 모델이 잘못된 방향으로 학습되는 “오류 전파”의 위험.
- 적응 과정이 복잡할 수 있으며, 하드웨어 제약이 있는 환경(예: Edge Device)에서는 적용 어려울 수도 있음.
- 두 방법 모두
- TTA나 TTAd 모두 만능은 아니며, 원래 학습된 데이터 분포와 너무 다른 극단적 상황(Out-of-Distribution)에서는 성능 보장이 제한적.