Source-linked AI summary
SelfReg: Self-supervised Contrastive Regularization for Domain Generalization
Daehee Kim, Seunghyun Park, Jinkyu Kim, Jaekoo Lee
TL;DR
동일 분포 가정하에 학습된 모델은 domain shift로 성능이 제한되며, contrastive domain-generalization 방법은 negative-pair sampling에 의존한다. 반면 SelfReg는 positive pairs만 사용해 표현을 regularize하고, PACS 및 DomainBed benchmark에서 기존 연구와 대등하거나 더 나은 성능을 보인다.
문제
실제 배포 데이터는 학습 분포를 따르지 않는 경우가 많아 domain shift가 generalization을 저해하고, 학습된 feature는 이러한 shift에 여전히 취약하다.
방법
SelfReg는 positive pairs를 사용하는 self-supervised contrastive regularization으로 domain-invariant representation을 학습하며, CDPL, mixup, gradient-stabilization 기법을 함께 적용한다.
결과
SelfReg은 PACS와 DomainBed 벤치마크에서 기존 연구와 같거나 더 나은 성능을 보이며, DomainBed에서 평가된 방법 중 두 번째로 높은 순위를 차지한다.
시사점 및 한계
SelfReg는 negative-pair sampling 없이도 domain generalization을 위한 contrastive regularization이 경쟁력 있는 benchmark 성능을 달성할 수 있음을 보인다.
시사점 및 한계
논문은 출판 저작권 문제로 inter-domain curriculum learning strategy를 제외했으며, SWA는 DomainBed 비교가 아니라 ablation에만 사용한다.
Abstract
from arXiv · showhide
In general, an experimental environment for deep learning assumes that the training and the test dataset are sampled from the same distribution. However, in real-world situations, a difference in the distribution between two datasets, domain shift, may occur, which becomes a major factor impeding the generalization performance of the model. The research field to solve this problem is called domain generalization, and it alleviates the domain shift problem by extracting domain-invariant features explicitly or implicitly. In recent studies, contrastive learning-based domain generalization approaches have been proposed and achieved high performance. These approaches require sampling of the negative data pair. However, the performance of contrastive learning fundamentally depends on quality and quantity of negative data pairs. To address this issue, we propose a new regularization method for domain generalization based on contrastive learning, self-supervised contrastive regularization (SelfReg). The proposed approach use only positive data pairs, thus it resolves various problems caused by negative pair sampling. Moreover, we propose a class-specific domain perturbation layer (CDPL), which makes it possible to effectively apply mixup augmentation even when only positive data pairs are used. The experimental results show that the techniques incorporated by SelfReg contributed to the performance in a compatible manner. In the recent benchmark, DomainBed, the proposed method shows comparable performance to the conventional state-of-the-art alternatives. Codes are available at https://github.com/dnap512/SelfReg.
1. 서론
Domain generalization은 여러 source domain에서 보이지 않는 target을 대상으로 불변성을 학습해 배포 시점의 distribution shift에 대응한다 [31] [38]. SelfReg은 positive-pair contrastive regularization, mixup을 적용한 CDPL, 안정화 기법을 사용하며, DomainBed에서 최신 방법들과 비슷하거나 더 나은 성능을 달성한다.
- 동기: 실제 데이터는 시간과 공간에 따라 변해 in-sample/out-of-sample i.i.d. 가정을 위반하므로, Domain generalization은 보이지 않는 도메인에 대한 강건성을 목표로 한다.deep convolutional feature는 저수준 시각 단서에 대해 domain-invariant할 수 있지만 [35], domain shift에는 여전히 취약하다.
- 방법: 모델은 Figure 1에 도시된 것처럼 latent space에서 동일 클래스 샘플을 서로 가깝게 배치해 domain-invariant representation을 학습한다.서로 다른 도형은 클래스를, 색상은 도메인을 나타내며, 이 접근법은 self-supervised contrastive loss를 사용한다.
- 방법: Loss clipping, stochastic weight averaging, inter-domain curriculum learning은 gradient를 안정화해 network parameter가 domain-invariant feature를 향해 수렴하도록 한다.수렴을 위해서는 gradient의 균형이 필요하므로, 이 세 기법은 self-supervised contrastive loss와 함께 제안된다.
- 평가: SelfReg은 더 큰 DomainBed benchmark에서 대안적인 최신 방법들과 비슷하거나 더 나은 성능을 달성한다.또한 DomainBed에서 평가하기 전에 PACS에서 모델을 상세히 분석한다.
- 방법: SelfReg은 only positive pairs를 사용해 metric learning을 적용하며, 학습을 불안정하게 만들 수 있는 negative-pair sampling의 문제를 피한다.Negative-pair 방법은 동일한 batch 안에서 유용한 negative가 필요하지만, 이는 종종 어렵다.
- 방법: CDPL은 positive-pair 설정을 활용하며, mixup과 결합해 mixup의 약점을 개선한다.이 설계는 only positive pairs를 사용하는 경우에도 mixup augmentation을 효과적으로 만든다.
2. 관련 연구
관련 연구는 domain-invariant feature learning, distribution alignment, contrastive objective, mixup, self-supervision, meta-learning, domain-specific model decomposition을 통해 domain generalization을 다룬다. Contrastive 접근법은 동일 클래스 feature를 정렬하고 서로 다른 클래스는 분리하지만, negative-pair sampling은 학습을 불안정하게 만들 수 있다.
- Domain-Invariant Feature Learning: Domain generalization은 ERM과 adversarial 및 conditional alignment 같은 distribution-matching 변형 을 사용해 관측되지 않은 target domain에서도 일반화할 수 있는 domain-invariant feature를 학습한다.이 방법들은 domain 간 distribution discrepancy를 최소화해 공유 feature space를 최적화한다.
- Contrastive Learning: CCSA [30]와 MASF [11]는 동일 클래스의 feature distribution을 정렬하면서 서로 다른 클래스의 distribution을 분리하지만, 유용한 negative sample이 없으면 negative pair로 인해 학습이 불안정해질 수 있다.이들의 contrastive objective는 positive 및 negative feature pair에 의존한다.
- Alternative Approaches: 다른 domain-generalization 방법들은 self-supervised jigsaw solving, MAML을 사용한 meta-learning, 또는 domain-invariant component와 domain-variant component로의 decomposition을 사용한다 [5] [27] [14] [26] [32] [12].이러한 decomposition에는 low-rank parameterization, style-agnostic network, domain-specific aggregation module이 포함된다.
3. 방법
SelfReg는 self-supervised in-batch contrastive loss를 통해 embedding space에서 동일 클래스 표현을 서로 가깝게 만들어 domain generalization을 정규화한다. 개별적·이질적 dissimilarity를 class-specific perturbation, mixup, training-stabilization 기법과 결합한다.
- 방법 개요: SelfReg는 self-supervised in-batch contrastive loss를 사용해 동일 클래스 샘플은 더 가깝게, 다른 클래스 샘플은 더 멀게 매핑함으로써 domain-invariant representation을 학습한다.이 방법은 embedding space에서 개별적·이질적인 feature-level dissimilarity를 측정한다.
- 방법의 범위와 한계: 이 논문은 publication copyright issues로 인해 제시된 내용에서 inter-domain curriculum learning을 제외한다.저자들은 SWA가 domain-specific model을 ensemble해 더 평평한 loss surface를 생성하기 때문일 가능성이 있으며, 추가적인 성능 향상을 제공한다고 보고한다.
- Individualized In-batch Dissimilarity Loss: individualized loss는 무작위로 쌍을 이룬 동일 클래스 latent representation을 정렬하는 동시에 uniformity를 유도하며, representation collapse를 방지하기 위해 Class-specific Domain Perturbation Layer를 사용한다.Class-specific Domain Perturbation Layer는 추가적인 MLP이며, 그 효과는 ablation study에서 평가된다.
- Heterogeneous In-batch Dissimilarity Loss: heterogeneous loss는 서로 다른 domain의 동일 클래스 representation에 two-domain mixup을 적용하고, γ ∼ Beta(α, β)에서 샘플링한 convex combination으로 모델을 정규화한다.mixup coefficient는 γ ∈ [0, 1]을 만족하며 α와 β에 의해 조절된다.
- Loss Function과 Stochastic Weight Average: SelfReg는 classification loss와 함께 intermediate feature와 classifier logit에 dissimilarity loss를 적용하며, training 중 loss clipping과 stochastic weight averaging으로 gradient imbalance를 완화한다.SWA는 여러 local minima에서 얻은 model snapshot을 평균내며, 공정한 비교를 위해 DomainBed가 아니라 ablation study에서만 사용된다.
4. 개념 증명 실험
개념 증명 실험에서는 PACS [26]에서 SelfReg를 RSC [22]와 비교하고, 해당 regularization이 domain-invariant representation을 생성하는지 분석한다. 결과는 동일 클래스 feature와 logit의 alignment 개선, 클래스 관련 attention, 그리고 single-source generalization을 포함한 제안 구성 요소의 성능 향상을 보여준다.
- 주요 비교: Table 1은 동일한 ResNet18 backbone을 사용해 SelfReg와 RSC [22]를 비교하며, 각 test domain에 대해 20회 학습의 평균 accuracy와 variance를 보고한다.평가는 상당한 domain shift를 보이는 네 domain으로 구성된 PACS [26]를 사용한다.
- t-SNE를 통한 정성적 분석: SelfReg는 domain 전반에서 동일 클래스의 t-SNE cluster를 더 많이 병합하는 반면, baseline과 RSC [22]는 흩어진 domain-specific cluster를 생성한다.시각화에는 PACS [26] representation을 사용하며, 동일 클래스 객체의 domain 간 similarity가 더 높음을 나타낸다.
- Dissimilarity Loss의 효과: Figure 5에 학습 epoch별로 제시된 것처럼, SelfReg는 baseline과 비교해 feature와 logit 공간 모두에서 동일 클래스 pairwise distance를 줄인다.거리는 Euclidean distance로 측정되며, 의도한 positive-pair regularization 메커니즘을 뒷받침한다.
- GradCAM을 사용한 분석: GradCAM은 target domain 전반에서 SelfReg가 RSC [22]보다 기린의 긴 목과 같은 class-invariant region을 더 잘 포착함을 보여준다.분석에서는 network의 최종 prediction이 attention을 받는 region을 시각화한다.
- 극단적 Domain Generalization: single-source 설정에서 SelfReg는 모든 source-target domain 조합에 대해 RSC [22]와 비교되며, 차이는 Table 2에 보고된다.행은 source domain, 열은 target domain을 나타내며, 양의 차이는 SelfReg의 성능이 더 우수함을 의미한다.
- Ablation Study: Ablation 결과 IDCL (+0.32% average accuracy), SWA (+0.25%), CDPL과 Mixup, 그리고 logit-level regularization (+1.50% average accuracy 및 variance 감소)의 성능 향상이 나타난다.CDPL과 Mixup은 Sketch에서 특히 유익하며, logit-level regularization은 domain 전반에서 accuracy를 높이고 variance를 줄인다.
5. DomainBed 실험
DomainBed benchmark에서 SelfReg는 IDCL과 SWA를 제외했음에도 대체 최신 성능 방법들과 대체로 대등하거나 더 우수한 성능을 보이며, 일곱 개 benchmark 전체에서 두 번째를 기록한다. DomainBed는 공통 조건에서 일곱 개의 다중 도메인 dataset과 14개의 baseline approach를 사용해 domain generalization을 평가한다.
- 실험 설정: DomainBed 평가는 7개의 multi-domain dataset을 포함하며, SelfReg를 14개의 baseline domain generalization 접근법과 비교한다.dataset에는 ColoredMNIST, RotatedMNIST, VLCS, PACS, OfficeHome, TerraIncognita, DomainNet이 포함된다.
- 결과: SelfReg는 DomainBed에서 대체 최신 방법들과 대체로 비슷하거나 더 나은 성능을 보이며, 일곱 개 벤치마크 전체의 평균 성능에서 두 번째를 차지한다.Table 4는 동일한 조건에서 14개 domain generalization 알고리즘의 평균 out-of-distribution 테스트 정확도를 보고한다.
- 결과: SelfReg는 구현의 유연성이 부족해 DomainBed에서 IDCL이나 SWA를 사용하지 않지만, 두 기법 중 하나를 결합하면 추가적인 성능 향상이 가능하다고 보고되었다.DomainBed 설정에서는 model selection을 위해 domain validation set을 학습한다.
6. 결론
SelfReg은 positive pair만 사용하는 self-supervised contrastive loss 기반의 domain-generalization regularizer로, negative-pair sampling에서 발생하는 문제를 완화한다. 표준 평가에서 PACS와 DomainBed에 대해 기존 연구와 동등하거나 더 우수한 성능을 보인다.
- 6. 결론: SelfReg은 positive data pair만 사용하는 self-supervised contrastive regularization을 적용해 negative-pair sampling으로 인한 문제를 완화한다.
- 6. 결론: PACS와 DomainBed에서의 실험은 표준 domain-generalization 평가 설정에서 SelfReg이 기존 연구와 동등하거나 더 우수함을 보여준다.
- 6. 결론: 향후 연구에서는 SelfReg을 siamese network로 확장할 수 있다.
부록
부록에서는 7개 데이터셋에 대한 상세한 DomainBed 점수를 보고하고 SelfReg†가 DomainNet에서 state-of-the-art 성능을 달성했음을 기술한다. 또한 SWA를 적용한 SelfReg에 사용한 평가 수정 사항을 문서화한다.
- SWA를 적용한 SelfReg의 경우, 저자들은 5000회 학습 스텝 후 SWA가 적용된 모델을 테스트하도록 DomainBed 평가를 수정했다.Table 8에는 SWA를 적용한 SelfReg도 추가로 보고되며, Table 5–11의 SelfReg†에는 IDCL과 SWA가 제외되어 있다.
- SelfReg†는 DomainNet에서 state-of-the-art 성능을 달성한다.