[AI : Data representation and problem solving] CGAN, Pix2Pix, CycleGAN

이한량·2025년 6월 7일

Conditional GAN (CGAN)

Conditional GAN은 기본적인 GAN 구조에 조건 정보를 추가하여 특정 조건에 맞는 이미지를 생성할 수 있도록 변형한 네트워크이다.

기본적인 GAN의 생성자는 매번 랜덤한 이미지를 생성하지만, CGAN의 생성자는 특정 조건을 고려한 이미지를 생성하게 된다.

기본적인 구조는 GAN과 동일하며, 생성자와 판별자조건 정보를 입력 받는 것에만 차이점이 있다.

예를 들어, 숫자 '7'을 조건 정보로 활용하였다고 생각해보자.

조건 정보로 숫자 '7'을 입력할 경우 생성자는 '7'에 해당하는 이미지를 생성하고, 판별자는 해당 이미지가 실제 '7' 이미지인지 판단하는 식으로 동작하게 된다.

이때 '7'에 대한 정보가 조건 정보로 입력되어야 하므로, '7'은 어떠한 임베딩 과정(Ex, 원-핫 인코딩)을 거쳐 벡터화되어 전달된다.

특징과 장점

CGAN의 주요 장점은 특정 조건에 맞는 이미지를 생성할 수 있다는 점이다. 이를 통해 다양한 어플리케이션에서 보다 정교하고 유용한 결과를 얻을 수 있다.

Pix2Pix

Pix2Pix는 Image-to-Image Translation을 위한 GAN의 변형이다. 핵심 아이디어는 CGAN과 유사하지만, 두 가지 확장 구조를 통해 변형된 네트워크이다.

  1. 조건 정보를 '스케치' 형태의 가이드 정보(A-style)로 변형

  2. 판별자는 real vs fake가 아닌 A-style bs B-style을 구분

위 아이디어를 지도와 위성 사진을 예시로 좀 더 살펴보자.

  1. 생성자는 지도 형태의 가이드 정보를 바탕으로 위성 사진을 생성한다.

  2. 판별자는 생성된 이미지가 실제 위성 사진(B-style)인지, 가이드 정보(A-style)에 의해 생성된 이미지인지 구분한다.

이런 식으로 지도 형태의 가이드 이미지만 넣어준다면, Pix2Pix는 실제 위성 사진을 생성할 수 있게 된다.

가이드 이미지는 여러가지 형태가 사용될 수 있다.

위와 같이 A와 B style을 입력 정보로 주고, A \rarr B 혹은 BAB \rarr A 스타일의 이미지를 만드는 것이 가능해진다.

구조

Pix2Pix는 생성자와 판별자를 활용하여 이미지를 '번역'하는 방식을 사용한다.

위 구조에서 볼 수 있듯이 생성자는 A-style의 이미지를 조건으로 입력 받아 B-style의 이미지를 생성하며, 이는 일종의 CGAN으로 이해 할 수도 있다.

판별자의 훈련에는 B-style의 실제 이미지와 생성 이미지를 입력으로 전달하며, B-style의 실제 이미지를 잘 찾아내도록 하는 방향으로 학습이 진행된다.

이때 생성자의 경우, 어떤 것이 B-style에 해당하는 것인지 모르기 때문에 직접적인 손실 함수를 계산할 수는 없다.

대신 판별자를 잘 속일 수 있는 이미지를 생성하는 방향으로 학습을 진행한다.

특징과 장점

Pix2Pix는 다양한 이미지 번역 작업에 활용될 수 있다는 것에 장점이 있다. 또한 구현이 비교적 간단하며, 다양한 데이터셋에 쉽게 적용 가능하다.

CycleGAN

CycleGAN은 Pix2Pix의 아이디어를 확장하여 A-style \rarr B-style \rarr A-style 이라는 일종의 사이클을 구조를 형성한 네트워크이다.

이를 통해 스타일 변환과 이미지 복원이 가능하다.

이 사이클을 구현하기 위해 각 스타일에 따른 생성자와 판별자가 각각 필요해진다.

  • 생성자 A : A-style 이미지 생성

  • 판별자 A : A-style 이미지인지 아닌지 판별

  • 생성자 B : B-style 이미지 생성

  • 판별자 B : B-style 이미지인지 아닌지 판별

다음 예시를 보며 좀 더 상세히 알아보자.

  1. 첫 번째 생성자는 도메인 X의 이미지를 도메인 Y의 이미지로 변환

  2. 두 번째 생성자는 도메인 Y의 이미지를 도메인 X의 이미지로 변환

  3. 각 판별자는 해당 도메인 이미지가 진짜인지 가짜인지 판별

최초의 이미지 X-style의 이미지 xx는 Y-style로 변환되었다가 다시 X-style로 변환되기 때문에, 최종 X-style 이미지인 xx^\prime은 입력 이미지 xx와 가능한 유사해야 한다.

이것이 학습의 목적이 되며, Y-style 이미지도 마찬가지 메커니즘을 통해 학습된다.

이러한 방식으로 모든 네트워크가 학습된다.

특징과 장점

CycleGAN은 이미지 변환과 복원을 동시에 수행할 수 있기 때문에, 다양한 스타일 변환 작업에 활용 가능하다. 또한 두 개의 스타일 사이의 변환을 학습하기 때문에, 여러 도메인 간 변환 작업에도 매우 유용하게 활용될 수 있다.

profile
한량 극복 프로젝트

0개의 댓글