안녕하세요, 오랜만에 TTA 분야 논문 리뷰입니다.
바로 시작하겠습니다.
1. Introduction
source domain dataset에 대해 학습된 모델이 실상황에 deploy된 상황 속,
학습때는 마주하지 못한 새로운 target domain 에 대해 강인한 예측과 적응(adapt)을 수행하고자 하는 기술이 Test Time Adaptation (TTA) 입니다.
앞선 TTA 방법론들은 test data 에 대한 gt를 얻을 수 없기 때문에 entropy 등과 같은 unsup signal 을 사용하거나, pseudo-label 기반의 self-training 기법을 활용하여 모델을 update해 나갑니다.
이중 후자의 경우 안정적이고 정확한 long-term adatptation을 위해서는 pseudo-labels의 quality가 매우 중요합니다. 직관적으로 생각해봤을때 low-quality의 pseudo-label을 사용하게 되면 모델이 점차적으로 collapse 될 수 있기 때문이죠. 하지만 저자가 언급하길 이전 방법론들은 이에 대해 딱히 다루지 않았다고 합니다.
본 논문에서는 정확한 pseudo-label 생성을 위해 “source domain과 target domain이 domain-invariant features 를 공유한다” 라는 가정을 합니다. 그리고 domain-invariant feature를 task 수행에 도움이 되는 high-level feature로, domain-specific feature를 task 와 관련없는 low-level feature 로 간주하게 됩니다. (이는 앞선 몇몇 연구들에서 주장되어진 논리입니다)
이를 기반으로 저자는 DPLOT 이라는 기법을 제안하고, 크게 2가지 요소로 구성됩니다.
1) domain-specific block selection
2) paired-view images를 사용한 pseudo-label generation
각 요소들에 대해선 아래 단락에서 자세히 알아보겠습니다.
2. Method
2.1. Overview of DPLOT’s components
전체 동작 framework는 크게 모델의 deployment 전/후로 나뉘어 구성됩니다.
domain-specific block selection 은 deployment 전에 수행되고,
실질적인 adaptation 방법론은 deployment 후에 수행되죠. 수행되는 adaptation 방식에 대한 구조도는 아래와 같습니다.
앞선 단계에서 선택된 domain-specific block 에 대해서 (I) entropy minimization 을 수행하고 (노랑 화살표), EMA 모델 예측과의 (II) Paired-view Consistency 를 통해 모든 모델 parameter를 update 합니다. (파랑 화살표)
앞서 intro에서 말씀드렸다시피 test 이미지(즉 target domain) 의 domain-invariant feature는 source domain 과 동일하지만 domain-specific feature는 변화한다는 가정이 존재합니다. 따라서 모델의 domain-specific feature extraction 을 조정하여 source domain 과 target domain 사이의 차이를 조정해야 합니다.
이를 위해 domain-specific block 을 선택해야 합니다. 각 block 은 가우시안 노이즈가 추가된 source data를 사용하여 entropy minimization 전후의 prototype features 사이의 cosine similarity 를 측정한다고 합니다. 이때 similarity 가 높은 block은 domain-invariant feature extraction에 관여하지 않고 domain-specific feature extraction에 관여한다는 것을 의미하겠죠.
이렇게 하여 선택된 block은 현 test 이미지에 대해 entropy minimization 을 수행하여 domain-specific feature extraction 을 현재의 corruption 에 맞게 조정합니다. 이러한 방식을 통해 이전 방법론들과는 달리 domain-invariant feature extraction을 방해하지 않고 domain-specific feature extraction 만을 조정할 수 있다는 차별점이 있다고 합니다.
2.2. Block selection before deployment
deployment 이전에 block selection 을 하는 부분에 대한 설명입니다.
본 단락에서의 핵심은 domain-specific feature extraction을 수행하는 block을 선택하는 것입니다. 이를 위해 먼저 prototype vector를 사용하여 domain-invariant feature space를 계산합니다. 아래 식을 통해 class 별 prototype 을 구합니다.
그리고 gaussian 적용 전/후에 대한 prototype 간의 similarity 를 아래 식을 통해 구하게 됩니다. 아래 식을 통해 말이죠.
이때 similarity 의 범위는 0과 1 사이이고, similarity가 높으면 domain-invariant feature space을 수정하지 않고 가우시안 노이즈가 추가된 이미지에 블록이 적용되었음을 나타냅니다. 그리고 특정 threshold 보다 높은 block 을 선택하게 됩니다. 동작 알고리즘은 아래와 같습니다.
2.3. Test-Time adaptation after deployment
Entropy minimization
deployment 이후, 주어진 target data 에 대해 entropy minimization이 수행되게 됩니다. 이때 앞서 선택된 block 에 대해 아래 수식을 통해 최적화가 진행됩니다. method 초입부 그림 2 에서 노랑 화살표에 해당하는 과정이죠.
Paired-view consistency
앞선 entropy minimization과 달리 본 단락에서 진행되는 paired-view consistency 에는 모델의 전체 block 이 사용됩니다. (그림 2- 파랑 화살표)
해당 consistency는 기존 model과 EMA 모델 사이에서 계산되며, 이때 pseudo label 생성을 위해 horizontal flip 도 적용됩니다.
EMA teacher 모델 g_{\theta'} 의 입력으로 original input x 와 horizontal flip 을 적용한 input \tilde{x} 를 적용합니다. 그리고 두 output 을 평균내서 pseudo-label \bar{y}' 를 구한 뒤 아래 수식을 통해 symmetric cross-entropy 를 계산하게 됩니다.
symmetric cross-entropy 를 사용한 이유는 noisy labels 에 강건하기 때문이라고 하네요.
그리고 adaptation 후에는 더 성능 높은 예측을 위해 본 모델과 teacher 모델의 예측을 앙상블 한다고 합니다. 알고리즘은 아래와 같습니다.
3. Experiment
실험은 classification 에서만 진행됩니다.
CIFAR10/100, ImageNet과 같은 일반적인 dataset 을 source domain으로 설정해서 학습을 진행한 후, TTA 의 성능을 CIFAR10/100-C, ImageNet-C 와 같은 corruption 이 부여된 target domain 에서 관찰합니다.
corruption 부여에 따른 Test time domain 변화 방식에는 크게 2가지가 존재합니다.
1) Continual setting benchmark
2) Gradual setting benchmark
첫번째인 Continual 방식은 가장 기초적인 TTA 평가 세팅으로, level 1-5의 corruption 단계 중 level-5 만을 사용하여 총 15개의 corruption shift 에 대한 TTA를 평가하는 것입니다.
두번째인 Gradual 방식에서는 이름에서 알 수 있듯이, level 5의 corruption 만을 사용하는 것이 아닌, 1-5를 골고루 순서대로 섞어서 점차적인 domain 변화에 대한 TTA 성능을 평가하는 것입니다.
첫번째로는 Continual setting 상황 속 CIFAR 100-C, ImageNet-C 데이터셋에 대한 결과입니다. 저자가 언급하길 ResNet-50 백본 사용을 제외하고는 모두 SOTA 를 달성하였다고 하고, 이 외의 분석적인 내용은 해당 테이블에는 없습니다.
다음은 gradual setting 에서의 변화입니다. 각 칸별로 /로 구분되어 2가지 성능이 표기되어 있는데, 이 중 좌측은 level 1-5 전체를 평균낸 성능을, 그리고 우측은 level 5만을 평균낸 성능입니다.
이런 gradual setting 을 통해 저자는 Continual TTA 상황 속에서의 에러 누적으로 인한 성능 하락을 눈여겨 보았습니다. 가령 CIFAR 100-C 데이터셋 / ResNext-29A백본 의 경우 위 TABLE 1 에서는 TENT 모델의 성능이 60.9 였는데, TABLE 3의 gradual 상황에서는 74.8로 훨씬 더 큰 에러를 달성하는 상황입니다. 이는 TENT가 continual 한 상황에 대한 고려를 하지 못한 방법론이기에, error 누적으로 인한 피해(?)를 많이 본다는 것을 의미합니다.
반면 ours 방법론의 경우 오히려 TABLE 1 보다 더 낮은 에러를 달성하고 있네요.
위 figure 실험에서는 각각 두 백본을 사용하여 CIFAR10과 CIFAR100에 대해 제안한 block selection 결과를 보여주고 있습니다.
우선 a, b를 통해 entropy minimization 전후의 prototype 간에는 shallow한, 즉 초반부의 block일수록 더 높은 similarity 를 보이는 것을 검정 그래프를 통해 알 수 있습니다. 앞선 여러 연구들에서 style knowledge, 즉 task와 무관한 domain-specific feature가 shallow 한 block 에서 주로 포착된다고 밝혔었는데, 이와 동일한 경향을 보여주고 있습니다.
또한 c. d를 통해 앞선 타 방법론에 block selection 방식을 부착했을때에도 꽤나 큰 폭의 성능 향상을 보이는 것을 확인하고 있습니다. 이때 SAR 방법론에서는 크게 개선되지 않은 것을 볼 수 있는데, SAR 은 model의 parameter를 초기의 source pretrained 값으로 restore 하는 방식을 채택하고 있어서 크게 성능 변화가 없다고 하네요.
리뷰 마치겠습니다.
감사합니다.
안녕하세요. 좋은 리뷰 감사합니다.
본 논문의 Contribution 중 하나는 “Domain-invariant와 Domain-specific을 구분하며, 이 때 Domain-specific을 선택하는 과정”에 있음이라고 이해하였는데, 이 때 선택이란 단어의 의미는 학습 때 마다 변경될 수 있다는 점일까요? Deployment 이전에 수행된다는 내용은 결국 학습 중을 의미한다고 이해하였는데, 그렇다면 학습 과정에서 위 Algo.1에 의해 계속 변동될 수 있는 지점일까요?
만약 변동된다면, 변동된다는 것은 어떻다는 것을 간접적으로 의미할까요?
구두 답변 완료하였습니다.