A Fourier-based Framework for Domain Generalization
CVPR 2021 paper
자료정리 : 함성훈
Xu_A_Fourier-Based_Framework_for_Domain_Generalization_CVPR_2021_paper.pdf
keyword : Domain Generalization, Domain augmentation, Fourier transform, Mean-teacher model, Consistency regularization, Mix-up
목차
- 개요
- Fourier transform
- Main Framework (Fourier Augmented Co-teacher; FACT)
- Fourier based data augmentation
- Co-teacher regularization
- 결론
- 실험결과 첨부
개요
- 과거 딥러닝 문제
- → 학습한 데이터 셋과 다른 환경(domain)의 데이터에 대해서 정확도가 떨어진다.
- Domain Generalization(DA)
- → 다양한 source domain 들을 학습함으로써 위의 문제(일반화)를 해결하려고 함.
- Fourier-based perspective for domain generation
- → 다양한 domain data set을 만들기 위해 Fourier transform(푸리에 변환)을 이용한 것이 핵심(Data augmentation).
- Main assumption→ Domain shift에도 잘 변화하지 않을 것.
- → Fourier Phase 정보는 high-level semantic 정보를 포함할 것.
- 예시 : perturbation
- geometry에 따라 일반화(각도(view)에 따라) : invariant
- 조명, 색 등의 차이 : invariant
- → 자동차 정면사진 학습한 모델이 측면 사진으로도 판단할 수 있는가
- → Ground truth 정보가 한쪽 domain 에만 있을경우
Fourier transform
→ 푸리에 변환 결과 이미지 픽셀 값들을 주파수 domain으로 변경(복소수값)
→ spatial 한 image pixel value들이 전역적인 주파수로 변경.
→ 복소수는 실수부와 허수부로 나뉠 수 있다
→ 이 논문에서 핵심 가정 'Phase 정보가 domain shift에 강하며 high-level semantic 정보일 것이다'
Main framework
Fourier Augmented Co-Teacher(FACT)
1) Fourier-based data augmentation (implicit constraints)
2) Co-teacher regularization (explicit constraints)
Loss
1) Fourier-based data augmentation (implicit constraints)
Fourier Based data augmentation
Figure 3 (a) : AS (Amplitude swap) - 다른 논문에서 사용한 방법
→ Source domain → Target domain 으로 변화시키는 것을 목적.
→ 중심부위를 잘라서 바꿈
- r 이 작을 경우 : 바뀌지 않은 middle, high frequency 부분에 overfitting
- r 이 클 경우 : 학습하기에 너무나도 다른 영상이 됨
Figure 3 (b) : AM (Amplitude mix) - 이번 논문에서 새롭게 제안
→ MixUp에 영감을 받아서 AM(Amplitude mix) data augmentation 을 제안함.
→ 다른 도메인 이미지 amplitude spectrum간 linear interpolation 방법 사용
$\eta$ 는 augmentation의 강도를 나타냄.
$$ \hat{\mathcal{A}}(x_i^k)=(1-\lambda)\mathcal{A}(x_i^k)+ \lambda\mathcal{A}(x_{i'}^{k'}),\quad where\quad \lambda \sim U(0,\eta) $$
→ 역 푸리에 변환시 augmented image는 original image phase를 그대로 이용한다 :
$$ \mathcal{F}(\hat x_i^k)(u,v) = \hat{\mathcal{A}}(x_i^k)(u,v)e^{-j\mathcal{P}(x_i^k)(u,v)} \\ \hat x_i^k=\mathcal{F^{-1}}[\mathcal{F}(\hat x_i^k)(u,v)] $$
→ original image와 augmented image를 비교함으로서 phase information을 더욱 효과적으로 학습한다..? phase highlight
→ Classification Loss (Cross entropy)
$$ \mathcal{L}_{cls}^{aug}=-y_i^klog(\sigma(f(\hat x_i^k;\theta))), \quad where\quad \sigma:softmax $$
- cls : Classification loss
- aug : augmented data set
- $\mathcal{L}_{cls}^{ori}$ : original image 에 대한 classification loss
- $\mathcal{D_s}=\{\mathcal{D_1},\mathcal{D_2}, \ldots,\mathcal{D_s}\}$
- with $\mathcal{N_k}$ labelled samples $\{(x_i^k,y_i^k)\}_{i=1}^{N_k}$ in the $k$-th domain $\mathcal{D_k}$
2) Co-teacher regularization (explicit constraints)
Semi-supervised 에서 사용되는 mean teacher model 을 활용하여 만든 co-teacher 모델
http://www.kibme.org/resources/journal/20210216114019572.pdf
크게 보면 두개의 모델이 존재 (student, teacher)
→ 역전파로 학습시키는 것은 student 모델만 학습시킴!
→ 학습단계에서 teacher 모델은 이전 단계의 student 모델 파라미터를 받아와서 이용한다.
→ teacher 모델은 아래의 Momentum update를 통해 theta를 갱신한다.
→ 그래서 teacher 모델은 student 모델보다 안정적으로 결과를 도출함.
- Momentum update$$ \theta_{tea}=m\theta_{tea}+(1-m)\theta_{stu} $$→ $m$ = momentum parameter
- → 시간에 따라 값이 변동할 경우 (현재의 값과 과거의 값에 각각 가중치를 두어 average 한 값을 사용)
- → 최근의 것을 강조(가중)하여 teacher 모델을 업데이트함
- → EMA(Exponential Moving Average)
- Dual consistency loss→ Align the student outputs of augmented images to the teacher outputs of original images→ Softened softmax (at a temperature T) 사용.
- Consistency 유지를 위해 모델은 invariant한 phase 정보에 집중하게 됨.
- 모델이 original & augmented images 두가지 모두 동등하게 학습됨.→ augmentation에 의해 모델이 다른 결과를 학습하는 것을 방지하기 위해 dual consistency loss 사용.
- → 다시말해, 같은 object에 대해서 두가지 view로 바라보게 됨.
- Augmentation에 대해서 invariant해야한다.
- → 밤시간에 차선 (GT dataset) (낮시간 데이터 느낌 추가) → loss밤
- → As well as, the student outputs of original images to the teacher outputs of augmented images
- $$ \mathcal{L}{cot}^{a2o}=KL(\sigma(f{stu}(\hat x_i^k)/T)||\sigma(f_{tea}(x_i^k)/T) \\ \mathcal{L}{cot}^{o2a}=KL(\sigma(f{stu}(x_i^k)/T)||\sigma(f_{tea}(\hat x_i^k)/T) $$
결론
- Phase information은 의미있는 semantics 정보를 담고있으며 generalization에 도움을 준다.
- 저자의 생각 : phase information은 "location" of events 정보를 담고 있기 때문. 즉, edge나 contour 같은 visual structure이 domain에 상관없이 object를 구별하는데 중요한 역할을 한다. 그러한 정보를 모델이 학습함으로써 high-level semantics를 뽑아낸다.
- Sobel operator(S) & Laplacian operator(L)를 phase-only reconstructed image(P)와 cosine similarities를 구해 보면 점수가 높다.
- Amplitude perturbation은 모델이 phase information에 집중할 수 있도록 한다. (p14390에서 증명함 이해가 잘 안됨)
- 다른 domain에서는 모두 향상된 성능을 보여준다. 하지만 baseline(DeepAll)에 비해 photo domain에서 성능이 떨어짐.
- why? photo 에서는 복잡하고 중복되는 세부사항이 많다. 그러나 모델은 phase information만 강조하며 유용한 low-level 단서들을 무시했을 가능성이 있다.
- Ablation 연구를 통해 AM(amplitude mix), Dual Consistency Loss, Phase information 에 대한 효과를 보여줌.
실험 결과 첨부