본문 바로가기
딥러닝

[GAN 논문 리뷰] Augmented Cyclic Adversarial Learning For Low Resource Domain Adaptation

by 미스터탁 2019. 4. 4.

이번에 포스팅할 논문은 ICLR 2019 poster로 accept된 Augmented Cyclic Adversarial Learning For Low Resource Domain Adaptation 이라는 논문입니다.

 

이 논문은 CycleGAN을 이용해 조금(?) 변형시켜 target domain의 데이터가 적을 때에 domain adaptation에 적용한 논문입니다.

 

우선 논문에 대해 리뷰하기 전에 Cycle GAN에 대해서 알아야합니다.

 

Cycle GAN은 워낙 유명한 논문이라 대부분의 사람들이 아실거라 생각합니다.

 

아래와 같이 X domain과 Y domain을 서로 치환? 할수 있는 GAN모델이죠. 

 

보통은 style transfer로 관련해서 많이 알고 있는데 본논문의 저자들은 domain adaptation의 관점에서 cylce GAN을 해석합니다.

 

Generator_X를 통해서 X도메인을 Y도메인으로 바꾸고 이 데이터가 진짜 X인지 Y인지 구별하도록 하고 이를 다시 Generator_Y를 통해서 다시 X도메인으로 remap시킵니다. 기존의 real X도메인 데이터와 remap시킨 X도메인 데이터의 차이를 구해서 이 차이가 줄어들게끔 학습을 시키죠. (반대도메인(Y)에 대해서도 똑같이 학습을 시킵니다). 이때의 loss를 cycle-consistency loss라고하고 이때의 error를 reconstruction error라고 합니다. 본논문에서 자주 등장하는 단어이니 숙지하고 가셔야합니다. 

 

 

본논문에서도 Cycle GAN을 소개하고 있고 objective function을 아래와 같이 소개하고 있습니다. S는 source domain, T는 target domain을 의미합니다. GAN의 adversarial loss와 Cycle-consitency loss로 이루어져 있는 것을 알수 있습니다.

 

 

 

논문의 저자들은 target domain의 데이터가 적을때 Cycle GAN이 잘 작동하지 않는다라고 지적합니다. Cycle-consistency 를 이용하는 것은 semantic information을 보존하는데 효과적이지만, 도메인끼리 데이터가 불균형 할 때 너무 제한적이며 그이유는 reconstruction error는 reverse mapping시에 sampling이 정확히 match되도록 장려하기 때문이라고 합니다.  일반적으로 adversarial objectives는 이 효과에 대해서 counter치지만, target domain의 데이터가 적을 경우에는 target distribution에 대해서 정확한 특성을 capture할 수 있는 discriminator를 학습시키기가 어렵고, 그러므로 mapping된 결과는 sub-optimal일 확률이 높다라고 주장하고 있습니다. ( 이 부분에 대해서는 수식적이나 실험적인 결과를 제시하지 않습니다. 어느정도 합리적인 말이긴 합니다만...)

 

그리고 저자들은 다음과 같이 코멘트를 다는데, 결국에 semantic정보와 style이 타겟분포와 어느정도 일치된다면 정확한 reconstrucion은 필요 없다라고 주장하고 있습니다. 


Importantly, for the learned mapping to be meaningful, it is not necessary to have the exact reconstruction. As long as the ‘semantic’ information is preserved and the ‘style’ matches the corresponding distribution, it would be a valid mapping.

또한, target분포의 sample이 부족한 경우에 Dt(Discriminator for target domain)을 모델링하기 쉽지 않다고 지적합니다. (sample이 부족하면 당연한거긴하죠..?). Dt는 빠르게 overfit될 확률이 높고 이를 방지하기 위한 regularization을 사용하면 쉽게 under-fitting됩니다. (Dt의 probability가 mapped sample에대하여 굉장히 민감하게 반응할 확률이 높습니다). Dt가 학습이 잘 되었따고 할지라도, 제한된 데이터 때문에 분포의 support(정의역)가 작아질 가능성이 커진다고 지적합니다. Target domain의 data가 적을 때 CycleGAN이 가지는 한계점을 길게 서술하고 있지만, 결국에 하고자 하는 이야기는 target domain이 적으면 Cycle GAN이 잘안먹힌다!! 라는 이야기. 위 내용이 이해가 안된다고 할지라도, 데이터가 적으면 학습이 안되는건 당연지사이기 때문에 가볍게 받아들이면 될것같습니다.

 

저자들은 위문제에 대한 두가지 근원적인 원인을 제시합니다. 첫번째로는 Cycle-consistency를 강화시키는 것에 대하여 정확한 reconstruction은 너무 강한 objective이다라는 것이고, 두번째로는 해당 도메인에 대한 discriminator에게만 의존하는 특정 도메인을 mapping하는 함수를 학습시키는 것만으로는 충분치 않다라는 것입니다. 첫번째는 기존의 reconstruction error에 대해 설명하였으니 이해가 잘 되실텐데, 두번째는 사실 이해가 쉽게 되지 않습니다. Cycle GAN의 두 discriminator에 대해서 생각해보면 X도메인의 discriminator_X는 데이터가 X인지 아닌지만 판별하는데, (Y인지 아닌지는 discriminator_Y가 판별) Y에대한 정보가 부족하기 때문에 Y의 도메인으로 mapping시키기엔 충분치 않다 라는 의미인것 같습니다. 

 

저자들은 위 두가지 근원에 대해서 해결책 두가지를 제시합니다.

첫번째로 Cycle-consistency constraint를 강화시킬 task specific model을 사용한다라는 점(RCAL) 두번째로 discriminator에 추가적으로 같은 task specific model을 사용 한다라는 점(ACAL)입니다. (논문에서 제안한 모델) 

CycleGAN과 논문에서 제안한 모델(RCAL, ACAL)의 비교 구조는 아래 그림과 같습니다. 

 

 

 

RCAL (Relaxed cycle-consistent model) 은 Cycle GAN의 cycle-consistency loss를 없애고 task specific model을 추가한 모델입니다. 이 Task specific model은 데이터가 MNIST이면 MNIST classifier를 의미하는 것 같습니다. 아래 그림의 파란색 lsos부분을 보시면 source domain이 MNIST, Target domain이 SVHN이라고 가정한다면 MNSIT를 SVHN으로 mapping시킨다음 다시 MNIST로 remapping시켜 이를 MNIST classifier를 통해 학습을 진행합니다. 이 loss의 의미는 단순히 remap됬을 때에도 분류기가 잘분류하도록 하겠다 라고 생각하시면 될것 같습니다. 

 

ACAL(Augmented cyclic adversarial learning model) 의 lsos에 대해서는 다음과 같이 소개하고 있습니다(Supervised case). CycleGAN의 Adversarial loss와 task specific loss가 추가 된 것을 볼수가 있는데, 각 domain별 task specific loss와 mapped domain의 task specific loss가 함께 쓰이고 있습니다. 

 

 

 

 

저자들은 target domain의 y가 없는 경우(unsupervised case)에 대해서도 loss를 제안하는데 아래 L_ACAL_unsupervised loss를 통해서 확인할 수 있습니다. Target domain에 대한 y가없을 때에는 아래 식 을 이용해서

사용합니다. Source domain은 있다고 가정을 하고 target domain y는 추정해서 사용하는 것입니다. 

아래 수식을 보시면 위는 supervised case고 아래는 unsupervised case인데 supervised case의 파란색으로 된부분이 사라지고 unsupervised case의 빨간색 부분이 추가 되었습니다. Target domain의 y가 없다고 가정하였기 때문에 파란색 부분은 사라지게됩니다. 그리고 위에서 언급하였듯이 target domain의 y를 Ms를 통해서 추정하여 사용합니다.(빨간색)

 

논문의 저자들은 다양하게 실험을 해보았는데, 개인적으로 이미지가 실제로 어떻게 adaptation되는지 많이 보여주면 좋았을것 같다라는 생각이듭니다. 아래 실험표는 Source가 SVHN, Target domain이 MNIST인 경우 입니다. Target domain의 경우 class별 10개를 sampling하였으며 test시에는 전체 MNIST test set을 사용했다고 합니다.

 

파란색으로 된 부분이 Cycle GAN인데 파란색 선안에서 두줄 중 아랫줄(58.34%) 이 더 성능이 좋은 것을 볼수 있는데 이는 T->S에서 generated sample이 real sample과 거리가 멀기 떄문에 이를 adpation했을시에 성능 저하가 발생한다라고 합니다. 반면에 저자들이 제안한 두 알고리즘 모두 각각 윗줄이 더 성능이 좋은 것을 볼 수 있는데, 이는 task specific model이 reverse mapping이후에 contents를 보존하는 역할을 하였기 때문에 좋은 성능이 나온다 라고 주장합니다.

 

 

reverse mapping된 사진(그림)은 아래 예시 밖에 없습니다.  확실히 Cycle GAN에 비해 잘 복원시키긴 하는 것 같습니다.

 

이외에도 다양한 도메인에 대해서 target sample 수별로도 실험을 진행하였는데, 논문에서 제시한 모델이 좋은성능을 기록하였습니다. 

 

반응형

댓글