논문

하루에도 수만개의 글자를 읽고 있습니다. 하루에도 수백장의 종이를 들춰 읽습니다.
이것은 그 읽기에 대한 일기입니다.

Learning to Discover Cross-Domain Relations with Generative Adversarial Networks

1. Introduction

  • 두개의 다른 도메인에서 나온 이미지로부터 기계가 그 관계를 찾는 일을 할 수 있을까?
  • 다시 말하면, 한 도메인에서 다른 도메인으로 매핑하는 함수, 그것은 이미지가 주어지면 다른 도메인의 이미지를 생성하는 함수로 생각할 수 있다.
  • 이러한 문제는 최근 Generative Adversarial Networks (GAN)으로 해결하려는 추세이다.
  • 지금까지의 학습 방법들은 명시적으로 데이터 쌍들이 주어져야만 햇다.
  • 하지만 이런 지도학습을 위한 데이터들은 거의 없으며, 레이블링 작업은 너무 손이 많이 가는 작업이다.
  • 더군다나 주어진 이미지가 다른 도메인에서는 그 쌍을 찾을 수 없거나, 여러 이미지로 매핑되는 경우는 더욱 데이터를 다루기 어렵게 만든다.
  • 따라서 명시적인 데이터 쌍이 없더라도 두개의 도메인 사이의 관계를 찾는 작업에 도전하였다.
  • 이 논문에서는 GAN을 이용하여 도메인간 관계를 찾는 방법인 DiscoGAN을 제안한다.
  • 이전의 다른 방법들과는 다르게 이 모델은 쌍으로 맺어진 레이블 없이 두개의 이미지 집합만을 이용하여, 어떠한 pre-training 없이 직접 학습이 가능하다.
  • 이렇게 학습된 모델을 통해 이미지가 주어지면 그에 해당하는 다른 도메인에서의 이미지를 생성할 수 있다.
  • 모델의 핵심은 두개의 GAN이 서로 연결되어 동작하는 데에 잇다. 각각은 서로의 도메인을 입력 받아 다른 도메인의 이미지를 생성한 함수의 역할을 한다.
  • 핵심 아이디어는, 한 도메인의 모든 이미지들은 다른 도메인에서도 표현가능하다는 제한을 이용한다. 즉 하나의 이미지는 다른 이미지에서의 또 다른 표현형인 것이다.
  • 핸드백 이미지를 입력하여 신발 이미지를 생성하는 문제의 경우, reconstruction loss를 통해 핸드백 이미지의 또다른 이미지 표현을 찾으면서도(때문에 이는 다시 핸드백 이미지로 복원할 수 있다.), GAN loss를 통해서 신발 도메인에서의 이미지에 가깝도록 유도된다.
  • 이 두 속성을 이용하여 두 도메인 사이의 매핑 함수는 양방향 모두 커버할 수 있도록 하였다.

2. Model

  • 표준 GAN 모델로부터 시작하여, 여기에 추가 요소가 들어간 모델과 그 한계를 보이고, 새로운 GAN구조를 제안하도록 하겠다.

2.1 Formulation

  • 도메인 A에서 B로의 매핑함수를 $G_{AB}$라고 정의하고 그 반대는 $G_{BA}$라고 하겠다.
  • 완전한 비지도 학습일 경우, 두 함수는 어떠한 함수가 될 수 있다.
  • 하지만, 변환 관계에 의미를 부여하려면 제한조건을 가져야 한다.
  • 여기서는 1-1 관계를 가정하여 이를 제한조건으로 사용하였다. 즉 $G_{AB}$는 $G_{BA}$의 역 매핑이라고 할 수 있다. 또한 모든 $x_A$의 변환 $G_{AB}(x_A)$는 도메인 B 내에 있어야 하며 그 반대도 마찬가지가 되어야 한다.
  • 1-1 관계를 생각하면 이상적으로는 $G_{BA} \circ G_{AB}(x_A) = x_A$가 되어야 하지만, 이는 최적화하기 힘들기 때문에 좀더 쉬운 제한 조건을 사용하기에 알맞다.
  • 따라서 그 대신 그 거리 $d(G_{BA} \circ G_{AB}(x_A), x_A)$를 최소화 하는 문제로 풀고자 한다. 거리를 정의하는 함수는 L1, L2, Huber loss 등을 사용할 수 있다. 마찬가지로 도메인 B에 대해서도 $d(G_{AB} \circ G_{BA}(x_B), x_B)$ 또한 최소화하여야 한다.
  • 단순히 $G$함수를 최적화 하는 것은 어렵게 때문에 GAN을 통하여 $\mathbb{E}_{x_A \sim P_A} [ \log D_B(G_{AB}(x_A)) ]$, $\mathbb{E}_{x_B \sim P_B} [ \log D_A(G_{BA}(x_B)) ]$ 을 최소화하는 문제로 해결하고자 한다.

2.2 Notation and Architecture

  • 이제부터 네트워크를 다음과 같이 정의하겠다.
  • $G_{AB}: \mathbb{R}_{A}^{64 \times 64 \times 3} \rightarrow \mathbb{R}_{B}^{64 \times 64 \times 3}$는 이미지를 입력 받아 출력하는 generative network이다. 아래첨자는 도메인 간 변환 방향을, 위첨자는 이미지 크기를 의미한다.
  • $D_B : \mathbb{R}_{B}^{64 \times 64 \times 3} \rightarrow [0, 1]$는 이미지를 입력 받아 도메인 내의 이미지인지를 판단하는 discriminator network이다. 아래 첨자는 도메인을 의미한다.
  • 각 Generator는 $ 64 \times 64 \times 3 $의 이미지가 입력되어 encoder-decoder를 통하게 된다.
  • Encoder는 4 x 4 컨볼루션 층과 leaky ReLU의 연속으로 이루어져 있다.
  • Decoder는 4 x 4의 디컨볼루션 필터와 ReLU의 연속이다.
  • 출력은 입력 이미지와 동일한 도메인이다.
  • 컨볼루션과 디컨볼루션 층의 수는 4, 5개 정도 되나 도메인에 따라 다르게 결정된다.
  • Discriminator는 generator의 encoder 부분과 비슷하다.
  • 여러 컨볼루션-leaky ReLU 층들 뒤에 추가적인 4x4 컨볼루션 레이어가 있으며, 최종적으로 sigmoid를 이용하여 [0, 1] 사이의 스칼라 값을 출력한다.

2.3 GAN with a Reconstruction Loss

  • 표준 GAN 모델은 랜덤 가우시안 노이즈를 주고, 이를 인코드하는 구조를 띄고 있지만 여기에서는 노이즈 대신 이미지를 입력으로 하였다.
  • 여기에 표준 모델은 도메인 A에서 B로의 하나의 매핑만을 학습하기 때문에 반대의 매핑을 학습할 두번째 generator를 추가하였다.
  • 여기에 reconstruction loss 항을 추가하여 입력 이미지와 복원된 이미지를 서로 비교하도록 하였다.
  • 이렇게 바꾸는 것으로 각 generator는 입력 도메인을 출력 도메인으로 바꾸는 방법과 두 도메인 간의 관계를 학습할 수 있게 된다.
  • Generator는 $L_{G_{AB}} = L_{CONST_A} + L_{GAN_B}$ 두개로 이루어진 로스를 받는다.
  • $L_{CONST_A} = d(G_{BA} \circ G_{AB}(x_A), x_A)$는 reconstruction loss로 거리 함수는 MSE, cosine distance, hinge-loss 등을 사용할 수 있다. 이 로스는 입력된 이미지가 두개의 generator를 통한 후, 얼마나 잘 원래의 이미지로 복원되었는지를 평가한다.
  • $L_{GAN_B} = -\mathbb{E}_{x_A \sim P_A} [ \log D_B (G_{AB} (x_A))]$는 표준 GAN generator 로스로 이미지가 얼마나 도메인 B에 실제 존재하는 이미지처럼 생성되었는지를 평가한다.
  • Discriminator는 표준 GAN discriminator 로스 $L_{D_B} = -\mathbb{E}_{x_B \sim P_B} [ \log D_B (x_B) ] -\mathbb{E}_{x_A \sim P_A} [ \log ( 1 - D_B (G_{AB}(x_A) ) ] $ 를 받는다.
  • 학습 과정에서 $G_{AB}$는 A에서 B 도메인으로 매핑을 하면서도 이를 다시 A로 복원할 수 있는 변환을 학습하게 되나, 이 모델은 B에서 A로 오는 매핑의 제한조건이 부실하다.
  • 즉 이러한 제한조건으로는 매핑이 단방향만 학습되어 두 도메인의 서로간 매핑되는 관계를 학습하기 어렵다.
  • 다시 말하면 매핑이 bijection이 아닌 injection이기 때문에 1대1 관계가 보장되지 못한다.
  • 이러한 현상은 결국 GAN에서 일반적으로 나타나는 mode collapse 문제로 나타나게 된다.
  • 이 문제는 여러 mode의 데이터들이 다른 도메인에서 하나의 mode로 매핑되어버리는 것이다.
  • Reconstruction loss가 이를 조금 완화시켜주기는 하나, 하나의 mode로 매핑되어버린 데이터들은 복원 시에 원래의 두 mode 사이에서 진동하여 mode-collapsing 문제를 해결하지는 못한다.

2.4 Our Proposed Model: Discovery GAN

  • 제안하는 모델은 위의 모델을 두개로 묶은 것이다.
  • 두개의 엮인 모델은 서로 하나의 도메인에서 다른 도메인으로의 매핑을 학습하며, 또한 reconstruction을 반영한 역변환 또한 학습한다.
  • 두 모델은 동시에 학습이 이루어지며, 각 모델 내의 $G_{AB}, G_{BA}$는 파라미터를 공유한다.
  • 두 generator에서 생성된 $x_{BA}, x_{AB}$는 각각 discriminator $L_{D_A}, L_{D_B}$로 입력된다.
  • 이전 모델과 다른 점은 두 입력 이미지가 각각 따로 복원이 되어 reconstruction loss가 2개가 존재한다는 점이다.
  • 따라서 최종 로스는 다음과 같다.

$$ L_G = L_{G_{AB}} + L_{G_{BA}} \\= L_{GAN_B} + L_{CONST_A} + L_{GAN_A} + L_{CONST_B} \\ L_D = L_{D_A} + L_{D_B}$$

  • 이렇게 해서 bijective 매핑과 1:1 관계를 학습할 수 있었다.

3. Experiments

4. Related Work

5. Conclusion

 


Add a Comment Trackback