- 2025년 2월 7일 오전 10:26
- 조회수: 315
INFORMATION
- 2025년 2월 7일
- 오전 12시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
청취자 후기

이번 세미나는 Test-Time Adaptation (TTA) 기법에 대해 소개하고 있다. TTA는 학습 단계와 테스트 단계 사이에 발생할 수 있는 데이터 분포 차이를 해결하기 위해 테스트 데이터 자체를 활용해서 모델이 이에 동적으로 적응하도록 만드는 방법이다. Domain adaptation (DA)와 비교했을 때 DA는 source domain 데이터를 활용한 일반화 학습이라면 TTA는 source domain을 활용하지 않는 일반화 추론이라고 할 수 있다. TTA는 크게 self-training, self-supervised learning, batch normalization, 방식이 있다. 이번 세미나는 각 방식의 대표적인 연구사례를 소개한다.
우선 self-training을 적용한 방식은 pseudo-label을 생성할 때 증강기법과 pseudo-label 정정 알고리즘을 사용하여 진행한다. 이에 정답이 붙지 않은 target data에 대해서 각 클래스 별 로짓 값을 예측한 뒤 가장 높은 값을 달성한 클래스를 선택한다. Self-supervised learning을 적용한 방식은 vision-language model에서의 TTA 연구로서 진행되었다. 해당 연구는 정답이 붙지 않은 target data에 증강기법을 사용하여 두 개의 특징 벡터를 생성하고 온라인/타켓 프롬프트의 특징벡터과의 조합을 만든 뒤 대조 학습을 통해서 postive pair 간 특징 벡터의 차이가 최소화되도록 학습을 수행했다. Batch normalization (BN)을 적용한 방식은 BN 함수 내의 파라미터는 고정을 하되 평균과 표준편차를 다시 계산하여 사용하는 방법이다. 즉, 모델 검증 시 정답이 붙지 않은 target data의 평균과 표준편차를 계산하여 BN 함수에서 사용하는 것이다. 이를 통해서 별도의 학습 없이 새로운 데이터에 모델을 적응시킬 수 있다.
최근에는 모델의 추론 과정을 개선해서 성능을 끌어올리려는 시도가 많이되고 있다. 이번 세미나에서는 주로 이미지 기반의 모델과 domain adaptation류의 연구 위주로 소개가 되었지만 최근 LLM쪽에서도 추론 시간을 길게 가져가면서 (reasoning step을 더 많이 진행) 성능을 향상하려는 연구가 진행되고 있다. 아무래도 학습에 필요한 하드웨어의 가격도 비싸지고 점점 그 용량을 키우는데 한계가 있다보니 이런 방향의 연구도 활발히 진행된다는 느낌을 받았다. 새로운 주제이지만 이해하기 쉽게 설명해준 순혁이에게 감사의 말을 전하며 세미나 후기를 마친다.

금일 세미나는 Test time adapation에 대한 주제로 순혁이형이 세미나를 진행하였다. 기존 Domain adaptation과의 차이점으로는 학습 단계에서 보지 못한, 즉 전혀 다른 타겟 데이터가 들어왔을 때 적용할 수 있는 방법론이다. 기존에는 이러한 문제를 해결하기 위해 CLIP이나 ALIGN 등 일반적인 파운데이션 모델을 사용하였으나, 이러한 모델들은 특정 태스크에 적합하지 않거나 Hard augmentation을 적용하였기에 실제로는 성능이 저조하다고 한다. 이에 따라 본 세미나에서는 Test-time adapation에 관한 최신 연구 3개를 소개하였다.
1. Improved Self-training for Test-time Adaption
Domain Shift로 인한 성능 하락을 방지하기 위해 기존에 사용하였던, Batch normalization, Self-supervised learning, Data augmentation의 한계를 서술하고 Self-training 이 가장 적합하다고 판단하여 이를 발전 시킨 연구이다. 우선 Unlabeled target에 대해 N번 augmentation을 취한 후, Non-maximum suppression을 통해 pseudo-label을 구한다. 이후 데이터를 그래프로 만들어, Graph propagation를 진행한후, 인접한 데이터의 정보를 반영하여 Pseudo-label을 보정한다.
2. SwapPrompt: Test-time prompt adaptation for vision-language model
이 논문의 경우에는 Self-supervised learning 중 distillation과 constrastive learning 테크닉을 활용해 파운데이션 모델을 Test-time adaptation에 맞게 수정한 방법론으로 추측된다 (세가지 논문 중 이해가 가지 않는 부분이 많았다). 이쪽 분야를 잘 모르기도 하지만, 프롬프트라 하면 일반적으로 사용자가 주는 입력값일 터인데, 어떻게 prompt를 ema 업데이트 하는 것인지 잘 와닿지않았다.
3. Test-time Domain Adaptation by Learning Domain-aware Batch Normalization
첫번째 논문에서는 Test data에 대한 평균과 표준편차로 Batch normalization을 수정할 경우, 매우 이질적인 데이터에서는 효과가 없다고 비판했다. 본 논문에서는 Source 데이터로부터 구한 배치의 평균과 표준편차는 고정하고 대신 학습가능한 affine parameter(gamma, beta)만 업데이트하는 방식을 제안했다. 뿐만 아니라 BYOL 기반의 Self-supervised learning과 Meta-learning을 접목하였다는 기여점이 있다.
세미나를 만드느라 고생하신 순혁이형께 감사의 말씀을 전한다.

이번 세미나는 Test-time Adaptation(TTA)에 진행되었다. Test-time Adaptation은 학습된 모델의 가중치만 존재하는 상황에서 (학습된 데이터 정보를 모름), Testing 시점 데이터에 대한 추론 성능을 높이고자 하는 연구이다. 본 세미나에서는 크게 Self-training, Self-supervised Learning, Batch Normalization기반 3가지 방향 연구들을 소개한다.
1) Self-training 기반: Pseudo-label을 잘 만드는 것이 목표다. 이를 위해 Simple Augmentation 및 Graph 구조를 활용한다. 특히, Graph 구조를 통해 Pseudo-label 퀄리티를 한 번 더 필터링하는 형태를 갖는다.
2) Self-supervised Learning (SSL) 기반: 데이터를 2개 증강 후, 각 데이터를 image 및 text encoder에 넣은 후, 산출된 Embedding vector들간 유사도를 활용하여 NxN matrix를 형성한다. 이때, 해당 Matrix에서 서로 Swap된 프롬프트간 유사도를 산출한다.
3) BN기반: 평균 및 표준편차를 제외하고 Affine 파라미터만 업데이트 한다. 내가 느끼기에 해당 방법론은 Source 데이터에 대한 학습이 중요하게 느껴졌고, Source 도메인에 대한 도메인 구분을 알아야 활용 가능한 방법론으로, 위 2개랑은 조금 다른 결을 갖는다.
본 세미나를 통해 다양한 갈래의 TTA방법론들을 알 수 있었다. 개인적으로는, Self-training 기반이 가장 직관적이었다. SSL 기반은 스왑하는 것에 대한 궁극적인 의미가 아직까지 해결되지 못하였고, BN기반은 내가 공부했던 TTA 방향과는 달라서 조금 어색했다. 추가적으로 아직 내가 TTA에 대한 내공이 부족한 점도 느껴졌다. 조금 더 공부하며, 다양한 갈래를 익힐 필요가 있겠다는 자극을 받았다. 유익한 세미나를 준비해준 황순혁 연구원님께 고맙다는 말을 전하며 세미나 후기를 마친다.

TTA는 기존 domain adaptation의 문제 상황을 비틀어, source domain에 대한 직접적 정보 대신 pretrained source model만 주어져 있는 보다 어려운 상황을 해결하고자 하는 방법론이다. 즉, 오로지 target domain만을 가지고 모델을 target에 adaptation 시키고자 하는 목적을 가진다. 유사 분야로는 source-free domain adaptation (SFDA)이 있는데, 해당 방법론은 target을 기반으로 offline learning을 진행한다면 TTA는 online learning 상황을 상정한다는 점에서 다르다 할 수 있다.
그럼에도 SFDA와 TTA는, pretrained model이 주어졌을 때 "어떻게 unlabeled target만을 가지고 model을 target domain에 적합하게 align 하여 예측 성능을 높일 수 있느냐"를 고민한다는 점에서 동일하다. 이때 가장 직관적인 전략은 self-training, self-supervised의 기법을 이용하여 target의 정보를 모델에 적극 반영하는 것이다.
1. self-training 기반 접근법
- unlabeled target에 대해 pseudo label을 생성하여 target supervision 정보를 모델이 학습하도록 돕는 것이다. 다만, domain shift로 인해 고품질의 pseudo-label 생성이 어렵다는 연구 challenge가 있어, "어떻게 하면 reliable pseudo-labels을 생성할 수 있는지" 해결책을 제안하는 데에서 연구의 contributions이 갈린다.
- 본 세미나에서 소개한 'Improved Self-training for Test-time Adaption'에서도 confidence 내지는 entropy 기반의 pseudo-labeling의 한계를 지적하고, 이를 refinement 할 수 있는 방법론으로서 graph structure와 propagation을 이용한다.
(1) 특징 벡터를 그래프(W)로 만들었을 때, 인접 노드(features) 간 유사성을 기반으로 가중치를 정의. (질문: 이 유사도 지표를 사용한 이유? 기존에도 사용된 것인지?)
(2) (1)을 통해 생성된 비대칭 행렬 W를 대칭행렬로 변환. 그래프 기반 알고리즘(특히 라플라시안 정규화)에서는 대칭 행렬이 안정적인 정보 전파와 수렴을 보장하기 때문. -> 정보 전파의 안정성을 위해 W를 정규화된 라플라시안 형태(S)로 변환.
(3) i-th 노드가 j-th class에 속할 확률을 담은 label matrix Y 구축
(4) 여기서 pseudo-label refinement의 핵심은 앞서 만든 S와 Y를 행렬곱하여 이웃 노드들의 정보를 정교하게 반영하여 초기 예측을 개선한다는 데 있다 (Y^*=(1−α)(I−αS)−1 Y^(0)).
연구 질문. 이 논문은 이웃 노드들이 동일한 클래스에 속할 가능성이 높다는 가정에 기반한다는 생각이 들었다. 만약 이런 assumption이 충족되지 않는 상황에서는 방법론 효과가 크게 하락할까?
그리고 이웃 샘플들과의 예측 결과가 얼마나 일치하는지 voting strategy를 통해 pseudo label을 개선하는 방법론은 이전에도 여럿 나온 바 있다. 이런 방법론들과의 차이는 무엇일까? 아마 그래프 전체 정보(S)를 이용해서 전역적인 데이터 구조를 반영할 수 있다는 점이 단순 이웃 관계만을 확인하는 voting strategy와 다를 듯 한데, target 데이터 구조 정보를 반영할 수 있는 또 다른 기법으로 무엇이 있을지 고민해보면 좋을 듯 했다.
2. Self-supervised 기반 접근법
- self-supervised 기반 TTA 연구는 unlabeled target domain의 구조적인 정보를 활용하여 모델로 하여금 분포 변화에도 강건한 표현 학습을 가능하게끔 돕는데 목적을 가진다. 이때 어떤 방식으로 (어떤 ssl 기법을 이용하여) target 정보를 반영할 수 있게 할 것인지가 관건이다.
- 다만 본 세미나에서 소개된 SwapPrompt는 일반적인 ssl-based TTA 연구와는 기본 motivation이 조금 다른 듯 하다. vision language model에 대한 사전 지식이 부족해서 그런지 '프롬프트 학습'이라는 개념도 잘 이해되지 않았다. 직접 논문을 읽어봐야 할 듯 하다.
3. Batch Normalization 기반 접근법
- 일반적으로 TTA는 pretrained model의 모든 파라미터를 다 업데이트 하지 않는다. 소스에서 배운 중요한 정보를 해칠 위험이 있기 때문에, 즉, forgetting 방지를 위해 파라미터는 batch normalization (BN) 내의 값을 업데이트 하는 것이 일반적이다. 다시 말해 어떤 목적식 (이를테면 ent. minimization)의 업데이트 대상은 γ, β인 것이다. (μ, σ도 재계산 할 수 있음)
- 본 세미나에서 다룬 세 번째 연구도 BN update 방식을 택한다 (세미나의 첫 번째 논문은 모든 파라미터를 업데이트 하되, forgetting 방지를 위해 parameter moving average 전략을 취한다).
- 해당 연구의 특이점 중 하나는 source pretrained model을 만들 때 prediction task 외에도 BYOL 기반의 ssl task를 학습 목적식 중 하나로 구성한다는 것이다. (질문: 왜 그럴까? 아마 전반적인 도메인의 구조적 정보를 활용하고자 하는 의도가 있는 듯 하다.) 더불어 source domain도 하나가 아니라 multi-source 상황을 상정한다. 그리고 도메인이 여러 개인 이점을 활용하여, meta learning을 이용해 target에서도 빠른 적응이 가능하게끔 방법론을 구성한다. 다만 bi-level optimization 문제를 풀어야 하는 것으로 보이는데, 최적화가 어려운 상황에서 이를 어떻게 해결하는지 궁금했다.
- 개인적으로 세 번째 논문이 self-supervised 기반의 TTA 방법론으로 보이는데, BYOL을 보조 task로 활용해서 domain의 구조적 정보를 이용하기 때문이다. 하지만 (1) 사전학습 시 소스 도메인을 여러 개로 필요로 하는 점, (2) 특수한 사전학습 task를 설정한다는 점에서 일반적인 TTA 상황을 살짝 비튼 연구로 느껴졌다.
최근 reliable pseudo-labels 생성을 고민하며 유관 논문들을 탐색하고 있는데, TTA 분야에서 좋은 연구들이 많이 진행되고 있어서 관심을 깊게 가지고 있는 만큼 흥미롭게 들을 수 있었다. 최신 논문들을 잘 선정해서 세미나를 진행해준 순혁 오빠에게 고맙다.

테스트 시점 적응 방법론에 관한 세미나를 청취하였다. Self-training, Self-supervised, Batch normalization 계열의 방법론 1개씩 청취하였는데, 중요 내용을 정리해보면 아래와 같다.
Self-training: 고품질의 pseudo-label를 최대한 다량으로 확보하는게 중요한 task이다. Test-time adaptation에서는 target domain에 대한 graph structure를 구축할 수 있는데, 해당 정보를 활용하여 improving quality of pseudo-label을 진행하고 학습에 활용하였다.
Self-supervised: VLM 모델 기반 자가지도학습 framework를 활용한 방법론이다. 본 세미나에서 소개한 방법론은 서로 다른 증강본의 예측이 일관되도록 유도함과 동시에 CLIP 기반 pseudo-label을 학습하며 text encoder의 class token을 업데이트한다.
Batch normalization: affine parameters such as gamma and beta를 input data from target domain에 미세조정학습하는 방법이다. Affine parameters를 빠른 adaptation에 활용하기 위해 meta learning framework를 사용한 것이 핵심인데, adjusted affine parameters 기반 최종 성능과 original parametrs 기반 성능 차이가 꽤나 나는 것으로 보아 BN이 모델 학습에 정말 중요한 요소임을 눈으로 확인해볼 수 있었다.

이번 세미나는 Test-time Adaptation(TTA)에 대하여 최신 연구의 전반적인 소개로 이루어졌다. TTA를 다루는 상황은 기본적으로 batch normalization 기반, self-supervised learning 기반, self-training 기반이 있다고 설명해주었으며 해당 접근법의 시각을 다룬 연구를 다루었다.
self-training 기반 : 기본적으로 우리가 알고 있는 self training 방법론들처럼 테스트 데이터에 대해 pseudo-labeling을 수행하고, 신뢰도 기반의 선택 및 가중치 재부여(graph적으로)를 통해 레이블의 퀄리티를 높이는 방법을 수행함.
self-supervised learning 기반 : 데이터의 증강을 통한 vision, language 임베딩 값을 활용하여 유사도 연산이 이루어지지만 결국 테스트 데이터의 특성을 반영하여 모델의 입력에 사용되는 프롬프트를 동적으로 조정하는 방법이라고 생각되었음.
batch normalization 기반 : 학습 시 추정된 평균과 분산을 사용하여 테스트 데이터에 정규화를 시도하는 방식은 도메인 간 분포 차이가 클 경우 테스트 데이터의 특성을 제대로 반영하지 못한다는 전형적인 TTA 문제 상황을 마주한다. 이를 극복하기 위해 BN 내의 평균과 표준편차를 제외하고 affine parameter만을 업데이트 한다. BN의 재조정을 통해 모델은 도메인 변화에 맞춰 스스로 adaptation하게 되는 것이다.
Test-time Adaption 분야는 작년 대한산업공학회에 방문했을 때, 개인적으로 가장 재미있게 느꼈던 연구분야였다. 그럼에도 불구하고, 개인적으로 공부하고 있는 분야와 거리가 멀다고 느껴져 깊게 공부하지는 못했는데 본 세미나를 통해 다양한 갈래 전반에 관한 지식과 최신의 방법론까지 배울 수 있어 매우 흥미롭게 들을 수 있었다.