논문리뷰

[논문리뷰] Learning to Optimize Domain Specific Normalization for Domain Generalization

minyoung lee 2024. 1. 13. 01:37

본 논문은 ECCV 2020에 accepted된 논문으로 새로운 Normalization을 통해서 Domain Generalization 문제를 해결한 논문이다.

1. Motivation

본 논문은 Domain Generalization (DG)에 관한 논문이다.

Domain Generalization은 generic feature representations를 배워 model이 새로운 domain에서 성능이 잘 나오도록 하는 것을 목표로 한다.

Domain Generlization은 Unsupervised Domain Adaptation (UDA)과 과련이 깊지만, target domain data에 대한 availability 측면에서 차이가 있다. Domain Generlization은 trianing 동안에 target domain에 아예 접근 자체가 불가능하지만, UDA는 training 동안에 target domain의 label은 보지 못하지만, image 자체는 access 가능하다.

따라서 DG가 좀 더 Challenging task이며, problem을 좀 더 feasible 하게 하기 위해서 일반적으로 multiple source domain이 학습 때 사용된다.

 

이 논문에서, 저자들은 "exploiting normalization layers"를 통해서 DG 태스크를 해결하고자 하였다. 

가장 naïve한 접근법은 single DNN을 Batch Normalization(BN)으로 학습시키는 것이다. 이때 모든 training example들을 각 도메인과 상관없이 BN을 진행시키게 된다.

Batch Normalization은 다양한 도메인에서 온 feature representations를 regularize시킴을 통해서 학습된 모델이 unseen domain에 대해 adaptation 되기 위한 capability를 가질 수 있게 한다. 즉 , train data에 overfitting 되는 것을 막는 역할을 통해서 unseen domain에 잘 adaptation 될 가능성을 만들어주는 것이다.

그러나, 이러한 BN도 domain shift가 심하게 발생하는 경우에는 잘 작동하지 못한다는 한계가 존재한다.

 

또 다른 Normalization 기법인 Instance Normalization은 Instance 단위로 normalization을 해서 BN에 대한 단점을 좀 보완하였다. 그러나, Insatance Normalization은 class 관점에서 feature들이 less discriminative 하다는 단점이 있다.

 

이러한 BN과 IN분석을 기반으로, 저자들은 두 가지 normalization (BN, IN)을 적용하되, 좀 더 sophisticated algorithm을 통해서 DG에서의 성능 향상을 이루었다.

이 algorithm의 목표는 combination of normalization techniques(BN, IN)을 각 도메인에 대해서 optimize 하는 것이다. 이때 다른 도메인은 mixture of normalization을 위해 각각의 separate parameters를 학습하게 된다.

 

이 알고리즘에 대한 Intuition은, Normalization parameter조절을 통해서 domain-invariant representation을 배우는 것이다.

2. Method - Domain-Specific Optimized Normalization for Domain Generlization

DSON : domain-specific optimized normlalization

2.1. Overview

DG의 목표는 앞서 설명한것과 같이 domain-agnostic model을 만드는 것이다.

 

위와 같은 source domain training exmaples와 대응하는 label이 있을 때,

목표는 multiple source domain \({X_s}^S_{s=1}\)를 이용해서 target domain 이미지에 대해 task를 잘 수행하는 것이다.

 

본 논문에서는 joint embedding space across all source domains를 배우는 것을 목표로 한다. 이를 위해서 각 source domain에 대한 domain-invariant classifiers를 학습시키고, 이를 ensemble 한다.

 

classification network는 Set of Feature extractors와 single fully connected layer D로 이루어져 있다.

이때, feature extractors는 normalization layers에 들어있는 parameter를 제외하고는 parameter를 공유하게 된다.

각 source domain에 대한 loss function은 아래와 같다.

이때 loss는 cross-entropy loss를 이용한다.

 

모든 파라미터들은 모든 source domains에 대한 classification losses를 합한 loss를 최소화하는 방향으로 jointly optimized 되게 된다. 따라서 최종 loss는 아래와 같다.

validation에서는 leave-one-domain-out validation strategy를 적용하였다.

source domain s에 대한 label은, domain s를 제외한 averaging predictions과 비교되어 validation에 이용된다.

 

2.2. Instance Normalization for Domain Generlization

BN은 주로 성능향상과 generalization을 위해서 사용하지만, cross-domain scenarios 일 때는 optimal이 아닐 수 있다.

BN을 fix 한 경우와 fintune 한 경우를 비교해 보았다. fintued 시켰을 때 성능이 더 떨어지는 것을 통해서 BN이 optimal이 아닌 것을 보였으며, batch statistics가 특정 train domain에 overfitting 되었다는 것을 알 수 있다.

 

따라서, 본 논문에서는 BN과 IN을 결합하는 방식을 취하였다.

  • IN의 장점
    • IN는 style normalization처럼 작용하는데, 이에 영감을 받아서 IN을 각 도메인에 대한 Inherent style information을 줄이는 데 사용한다.
    • IN은 mini-batch나 batch statistics에 영향을 받지 않기 때문에, unseen domain을 추정하는 데 더 도움을 줄 것이라고 주장한다.
  • IN의 단점
    • IN은 class 관점에서 feature들이 less discriminative 하다는 단점이 있다. 
     

해당 실험 결과를 통해서 IN이 input과 BN에 비해서 feature들이 less discriminative 하다는 것을 확인할 수 있었다.

 

이러한 IN의 장점을 유지하되, 단점을 보완하여 성능을 높이기 위해 mixture of IN and BN을 제시하였다.

IN을 모든 BN layers에 fuse 하는 방법을 택하였다. IN과 BN의 mean과 variance를 linearly interpolating 하여 IN을 BN에 fuse 하였고, 이를 통해서 high-level semantic information에 집중할 수 있도록 하는 regularization method로 작용하는 것을 기대하였다.

 

2.3. Optimization for Domain-Specific Normalization

주어진 domain d에 대해서, domain-specific normalization layer transforms channel-wise whitened activation을 제시하였다.

whitenging은 각 domain에 대해서 진행하였다.

 

DSON의 결과는 각 domain별로 얻게 된다. input image에 대해서 Batch Normalization과 비슷하게 mean으로 빼고, variation으로 나눠준다. 이 값에 람다를 곱하고, 베타 값을 더해서 최종 normalization이 진행되게 된다.

이때, mean과 sigma 제곱은 BN과 IN을 합쳐서 만들어지며, 이 방법은 SN에서 제시한 방법과 유사하게 진행된다.

앞서 설명한것과 같이, bn과 in의 mean과 variance를 interpolate 하여 dn의 mean과 variance를 계산하게 된다.

각각의 bn과 in의 값은 아래 수식과 같이 도메인마다 계산된다.

이 논문에서 제시하는 domain-specific mixture weight는 각 도메인에 대해서 모든 layer에 대해 공유되게 된다.

 

2.4. Inference

inference할 때 example을 모든 도메인에 대해서 feature extractors에 넣어준다.

발생할 수 있는 이슈중 하나는, target domain들이 source domain에 대해서만 rely on 할 수 있다는 점이다.

이에 대해서 저자들은 각 도메인에 대한 instance normalization은 remove domain-specific styles와 standardize the representation을 위한 충분한 capability를 가지고 있기 때문에, 각 도메인에 대한 예측은 target domain에 대해서도 좋은 성능을 내게 될 것이라고 주장하였다.

 

3. Experiments

3.1. Experimental Settings

Datasets

- PACS dataset : large inter-domain shift 된 4가지 domain을 가지고 있는 데이터셋이다.

Photo, Art Painting, Cartoon, Sketch가 4가지 domain이다.

- Office-Home : 4가지 domain인 Artistic Images, ClipArt, Product, and Real-World Images를 가지고 있다.

Digits Dataset인 MNIST, MNIST-M, USPS, SVHN, Synthetic Digits 또한 사용하였다.

 

Implementation details

- backbone으로 ResNet을 사용하였다.

- batch size : 32

- 10K iterations, SGD-M

 

3.2. Comparison with Other Methods

PACS

Office-Home

 

PACS데이터셋과 Office-Home 데이터셋에 대해서 SoTA를 달성한 것을 알 수 있고, 특히 각 데이터셋의 hard domain인 Sketch, Clipart에서 특히 좋은 성능을 보였다고 주장하였다.

 

3.3. Ablation Study

다른 normalization 기술들과의 비교이며, PACS, Office-Home Dataset에 대해서 성능을 비교하였다.

이때, baseline은 BN으로 학습된 모델로, 어떤 single domain에도 specific 하게 학습되지 않은 경우이다.

DSBN은 BN을 이용하였으나, source domain에 특화되어 BN을 사용하였다.

SN은 BN레이어들을 BN과 IN의 mixture로 대체한 normalize방식이다.

이러한 normalization 기술들과의 성능 비교를 해 보았을 때, DSON의 성능이 가장 좋은 성능을 보여주었다.

 

Digits Dataset

 

Digits 데이터셋에 대해서도 DSON에서 가장 좋은 성능을 보여주었다.

 

3.4. Additional Experiments

Robustness against Label Noise

 

label에 noise가 있을 때의 성능을 비교해 본 결과이다. 각 0.2, 0.5인 noise level에 대해서, 대부분의 모델이 성능 저하가 있었다.

그중에 DSON이 가장 성능 저하가 적은 것을 확인할 수 있다. 이를 통해서 DSON이 기존의 기술들에 비해서 noise에 대해 robustness 하다는 것을 알 수 있다.

 

Multi-Source Domain Adaptation

multi-source UDA에서도 성능을 비교하기 위해서, 기존 기술인 TCL을 baseline으로 삼아서 성능을 비교해보았따.

 

그 결과, Multi-Source UDA에서도 대부분의 domain에 대해서 DSON이 기존 기술들보다 더 좋은 성능을 나타내었다.

 

3.5. Analysis

Mixture Weights

각 dataset PACS, Office-Home dataset들에 대해서 IN과 BN의 mixture weights를 3:7, 1:9로 설정하였다. 추가적으로 IN과 BN의 비율 변화에 대한 분석을 해보았다.

 

single-source에 비해서 multi-source일 때 IN의 비중이 더 큰 것을 확인할 수 있다. 

해당 논문에서 제시한 방법은 각 domain 안에서만 parameter를 공유하는 방식이었다. 이와는 반대로 모든 domain이 mixture weights를 공유하는 domain-agnostic방법과 비교를 해 보았을 때, 논문에서 제시한 Domain-specific 성능이 더 잘 나온 것을 알 수 있다.

 

Effects of Instance Normalization

IN normalization을 BN에 합친 것에 대한 분석을 진행하기 위해서 single-source domain에 대한 generalization을 모든 source-target combination에 대해서 성능 비교를 해보았다.

DSON은 soruce와 target domain이 동일할 경우 BN보다 성능이 조금 떨어진 것을 알 수 있다. (대각 성분들) 그러나, cross-domain 인 경우에 BN보다 훨씬 높은 성능을 보이는 것을 확인할 수 있다.

 

4. Conclusion

본 논문은 IN과 BN을 효율적으로 결합하여 각 도메인에 대한 domain-invariant representations를 효율적으로 학습하였다.