28일 차(2022/08/10)
CycleGAN
생성자를 통해 만들어진 이미지가 다시 원본 이미지로 재구성될 수 있도록(원본 이미지와 최대한 유사하게 될 수 있도록) 하는 것입니다. 이를 위해 2개의 변환기(G, F)가 사용됩니다. 아래의 그림을 보면 G, F는 역함수 관계에 있다고 생각할 수 있습니다.
CycleGAN에서는 Pix2Pix와 달리 한 쌍으로 묶이지 않은 데이터셋에도 적용될 수 있습니다. 이러한 데이터셋을 사용하기 위해 cycle 손실을 사용합니다. 이에 사용되는 목적 함수는 아래와 같습니다.
objective function의 첫 번째 term은 생성자 G가 만든 이미지 G(x)가 Y 도메인의 이미지와 최대한 비슷하게 하려 하고, 판별자 Dy는 G(x)와 실제 이미지를 구별하려 한다는 설명입니다.(GAN의 설명과 같습니다.) 두 번째 term도 이와 비슷하게 설명할 수 있습니다. 그리고 세 번째 term이 바로 cyclic loss를 의미합니다.
두 변환기 G, F를 각각 X 도메인에서 Y 도메인으로의 변환기, Y 도메인에서 X 도메인으로의 변환기라고 할 때,
F(G(x))를 forward cycle consistency라 부르고, G(F(y))를 backward cycle consistency라 부릅니다.