본문 바로가기

컴린이 일기장/Today I Learned

[TIL] 0824 AdaIN / U-GAT-IT 논문 정리

반응형

[주절주절]

BOAZ 2020 여름 GAN 스터디

 

[Today I Learned]

1) AdaIN(Adaptive Instance Normalization)

: 컨텐츠 feature의 평균과 분산을 스타일 feature에 대해 정렬해 스타일을 입히는 방식
([이미지 = 컨텐츠 + 스타일]이라는 관점에서 시작)

- 기존) Gatys가 제안한 DNN을 통한 Style transfer. (DNN을 통한 컨텐츠와 스타일 인코딩)
ㄴ BUT, 스타일 개수만큼 모델이 필요함. 속도가 느림 등 문제 多 > 해결해보자!

( * 논문 Full 제목이 Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization)

- 배경지식인 동시에 사고 흐름🧠 

① BN(Batch Normalization)
ㄴ 본래는... feature 통계량을 normalize해 네트워크 학습 잘되게 해주는 역할
ㄴ 그런데 이미지 생성 모델에서도 효과적임을 알게됨

② IN(Instance Normalization)
ㄴ 초기 Stylization 방법에는 BN에 쓰였으나, Ulyanov가 BN layer를 IN layer로 대체해 큰 성과를 낼 수 있음을 알게 됨. 
ㄴ BN layer는 test시에 mini-batch 통계량을 population 통계량으로 대체하는 것과 달리, IN 레이어는 변하는 것이 없음.

+ IN의 해석
ㄴ IN은 픽셀 공간에서 실행되는 Contrast normalization(대비 표준화)와 달리 feature 공간에서 일어나기 때문에 좀 더 큰 영향력을 가짐.
ㄴ 이전의 연구에서 평균, 분산과 같은 통계량을 매칭하는 것이 Style transfer에 효과가 있다는 점을 참고해 시작

ㄴ BN) 배치 내의 샘플들의 feature 통계량을 표준화하기 때문에 한 스타일로 표준화하는 것과 마찬가지. (배치 내에 여러 스타일의 이미지가 있을때 문제 발생 : / )
ㄴ IN) IN은 각각의 샘플을 타겟 스타일로 표준화할 수 있음.

③ CIN(Conditional IN)

ㄴ 학습된 몇 가지 스타일에 대해 스타일 변환 가능.
ㄴ $\gamma$와 $\beta$는 미리 학습된 아핀 파라미터.

❗ 이 아핀 파라미터만 빠르게 구할 수 있다면, 어떤 스타일에 대해서도(arbitrary) Style transfer가 가능하겠구나!

 

- Adaptive Instance Normalization
ㄴ IN이 인풋을 어떤 한 스타일로 Normalize하는 것이라면, 임의로 주어진 스타일로 adapt하는 것이 가능하지 않을까?라는 생각에서 출발.

ㄴ 컨텐츠 인풋 $x$와 스타일 인풋 $y$를 받아, $x$의 channel-wise 평균과 분산을 y의 평균과 분산으로 매칭.
ㄴ AdaIN은 다른 방법들과 달리 학습되는 Affine parameters가 없음. 대신 스타일 인풋 $y$로부터 adaptively 계산됨.

 

 

2) U-GAT-IT (Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for image-to-image translation)

: 새로운 attention 모듈과 Normalization function을 이용한 Unsupervised image-to-image translation 방법 제안. ① Attention 모듈은 auxiliary classifier를 통해 얻은 attention map을 기반으로 Src 이미지와 Target 이미지의 차이, 즉 중요한 영역에 더욱 집중. ②AdaLIN(Adaptive Layer-Instance Normalization)을 통해 shape와 texture(style) 변화 모두에 대응할 수 있는 모델 

 

# Introduction
- I2I translation 분야에 많은 발전이 있었지만, 도메인간 shape과 texture, 두 특징 모두를 잘 변화시키는 모델이 없었음. (좀 더 정확히는 shape 변화를 잘 시키는 모델?!)
- 따라서 이 논문에서는 Attention 모듈과 새로운 Normalization function을 이용한 새로운 unsupervised image-to-image translation 방법 제안

① Attention 모듈
- Auxiliary classifier를 통해 얻은 attention map은 generator와 discriminator에 임베딩 되고, 중요한 영역에 포커싱해 shape transformation 도움.
ㄴ G) 두 도메인을 구분하는 부분에 포커싱하도록
ㄴ D) 타겟 도메인의 실제 이미지와 가짜 이미지 사이의 차이에 포커싱 하도록.

② AdaLIN
- BIN(Batch-Instance Normalization)에 영감을 받아 만들어짐.
- 이 방법은 shape과 texture 모두 잘 변화할 수 있도록 함. (데뷰 발표자료 p.118)

# Model
① Generator
- 구성) encoder $E_s$, decoder $G_t$, auxiliary classifier $\eta_s$ → $\eta_s(x)$ = 이미지 $x$가 $X_{src}$ 도메인에 속할 확률
- CAM(Class activation map)에서 영감을 받음.


- 과정) encoder를 통해 activation map을 얻음 → classifier는 feature map pooling을 통해 웨이트 획득 → 웨이트와 activation map 곱해 domain specific attention feature map 획득 → 이것을 바탕을 G는 이미지 생성 (이 때 AdaLIN 적용 됨.)

I - channel wise, L - layer wise

ㄴ 이 때 $\gamma$와 $\beta$는 attention map이 FC를 거쳐 계산 됨.

 

② Discriminator
- 구성) encoder $E_{D_t}$,  classifier $C_{D_t}$, auxiliary classifier $\eta_s$
- 일반적인 모델들과 달리 $C_{D_t}$, $\eta_s$ 모두 실제 이미지일지, 가짜 이미지일지 예측한 확률 뱉음. 이 때 $C_{D_t}$는 $\eta_s(x)$를 통해 학습된 웨이트와 인코딩 된 feature map의 곱을 이용해 확률 예측함.

+ 논문 p.5 - CAM이 어딜 주목하고 있는지

 

# Loss function
Adversarial loss
② Cycle loss
③ Identity loss
④ CAM loss
ㄴ Auxiliary classifier를 이용해 어떤 것이 두 도메인의 차이를 만드는지, 어떤 부분을 더 향상시켜야할지 알려줌.

 

# 기타 언급할 것.
- Deview 2019 (https://tv.naver.com/v/11207478)
- 논문 리뷰(https://openreview.net/forum?id=BJlZ5ySKPH)

 

[질문 노트]

AdaIN
Q. Normalization에서 곱해지고 더해지는 파라미터들을 Affine-transformation을 통해 얻었다 이런 말을 많이 볼 수 있는데 정확히 어떤 의미? 혹은 기하학적으로 어떤 느낌?

반응형