활동 목표
- GAN 이해하기
활동 결과
1. GAN이란?
GAN(Generative Adversarial Networks)은 2014년 Ian Goodfellow에 의해 제안된 혁신적인 생성 모델로, 두 개의 신경망이 서로 경쟁하며 학습하는 구조를 갖는다. 이 두 신경망은 생성자(Generator)와 판별자(Discriminator)라고 불리며, 각각 고유한 역할을 맡고 있다.
2. GAN의 구조
2.1 생성자(Generator)
생성자는 무작위로 생성된 잠재 벡터를 입력받아, 학습 데이터와 유사한 새로운 데이터를 생성하는 역할을 한다. 생성자는 판별자가 실제 데이터와 구분하기 어려울 만큼 그럴듯한 가짜 데이터를 만들어내는 것이 목표이다.
2.2 판별자(Discriminator)
판별자는 주어진 데이터가 실제 학습 데이터에서 온 것인지, 아니면 생성자가 만든 가짜 데이터인지를 구분하는 역할을 한다. 이 모델은 이진 분류 문제를 해결하는 것과 유사하게 작동하며, 입력된 데이터가 진짜인지 가짜인지를 예측하는 확률을 출력한다.
3. GAN의 학습 과정
GAN의 학습 과정은 미니맥스 게임(minimax game) 으로 설명할 수 있다. 여기서 판별자는 실제 데이터와 가짜 데이터를 올바르게 분류하려고 하고, 생성자는 판별자를 속여 자신의 가짜 데이터를 진짜로 인식하게 만들려고 한다.
min_G max_D V(D, G) = E_{x ~ pdata(x)}[log D(x)] + E_{z ~ pz(z)}[log(1 - D(G(z)))]
이 게임의 목표는 생성자가 만든 데이터의 분포가 실제 데이터의 분포와 동일해지는 것이다. 이상적인 상황에서는 판별자가 진짜와 가짜를 50% 확률로만 구분할 수 있게 된다.
4. 변형된 GAN 구조
4.1 DCGAN (Deep Convolutional GAN)
DCGAN(Deep Convolutional GAN) 은 GAN의 초기 변형 중 하나로, CNN(Convolutional Neural Networks)을 기반으로 한 구조를 도입했다. DCGAN은 이미지 생성에서 매우 성공적이었으며, GAN 모델이 안정적으로 학습할 수 있도록 몇 가지 중요한 디자인 결정을 내렸다. 특히, 스트라이드 컨볼루션을 사용하여 다운샘플링을 수행하고, 전통적인 풀링 레이어를 제거함으로써 더 안정적인 학습을 달성했다. DCGAN은 이미지 생성에서 매우 사실적인 이미지를 만들어내는 데 큰 기여를 했다.
4.2 Wasserstein GAN (WGAN)
Wasserstein GAN(WGAN) 은 GAN의 훈련 불안정성과 모드 붕괴 문제를 해결하기 위해 제안되었다. WGAN은 기존의 손실 함수 대신 Wasserstein 거리(지구 거리)를 도입하여 두 분포 간의 차이를 측정한다. 이 접근법은 기존 GAN이 가지던 불안정한 학습 과정을 개선하고, 더 나은 생성자 성능을 이끌어냈다. WGAN은 또한 판별자의 출력이 확률이 아니라 실제 값으로 해석되며, 이는 판별자와 생성자 간의 경합을 더 의미 있게 만든다.
4.3 Conditional GAN (cGAN)
Conditional GAN(cGAN)은 생성 과정에서 추가적인 조건을 부여함으로써 더 정밀한 제어가 가능하도록 만든 구조이다. 예를 들어, 이미지 생성 과정에서 특정 클래스 라벨을 입력으로 제공하여 특정 클래스의 이미지를 생성할 수 있다. 이는 이미지 생성뿐만 아니라 텍스트 생성, 비디오 생성 등 다양한 응용 분야에서 유용하게 사용된다. cGAN은 생성자가 특정 조건을 만족하는 이미지를 생성할 수 있도록 학습되며, 응용의 폭을 넓혔다.
4.4 CycleGAN
CycleGAN은 주로 이미지-이미지 변환에 사용되는 GAN의 변형이다. 이 구조는 라벨이 없는 이미지 간의 변환 작업에서 두 이미지 도메인 간의 매핑을 학습할 수 있도록 설계되었다. 예를 들어, 여름 이미지를 겨울 이미지로 변환하거나 낮 이미지를 밤 이미지로 변환할 수 있다. CycleGAN은 쌍이 없는 이미지 변환 작업에서 우수한 성능을 발휘하며, 다양한 스타일 변환 작업에서 매우 유용하다.
4.5 StyleGAN
StyleGAN은 매우 정교한 이미지 생성에 사용되는 GAN의 변형이다. StyleGAN은 생성 과정에서 스타일을 분리하여 각 레이어에 다른 스타일 정보를 주입할 수 있게 설계되었다. 이를 통해 생성된 이미지에서 특정 스타일 속성(예: 얼굴의 각도, 머리카락 색상 등)을 더 정밀하게 제어할 수 있다. StyleGAN은 특히 고해상도 이미지 생성에서 매우 우수한 성능을 보여주었으며, 현실과 구분하기 어려운 이미지를 만들어내는 데 성공했다.
4.6 BigGAN
BigGAN은 이미지 분류 데이터셋에서 매우 고해상도 이미지 생성에 중점을 둔 GAN의 변형이다. BigGAN은 대규모 모델과 데이터셋을 사용하여 매우 사실적인 이미지를 생성할 수 있으며, 학습 과정에서 데이터 불균형 문제를 완화하기 위한 여러 가지 트릭을 사용한다. 이 모델은 고해상도 이미지 생성에서 기존 GAN을 능가하는 성능을 보여주었으며, 이미지 생성의 새로운 기준을 제시했다.
참고
'모각코 > 2024 하계 모각코' 카테고리의 다른 글
[2024 하계 모각코] 모각코 회고 (0) | 2024.08.19 |
---|---|
[2024 하계 모각코] 6차 개인 계획 및 결과 (0) | 2024.08.15 |
[2024 하계 모각코] 4차 개인 계획 및 결과 (0) | 2024.07.28 |
[2024 하계 모각코] 3차 개인 계획 및 결과 (0) | 2024.07.18 |
[2024 하계 모각코] 2차 개인 계획 및 결과 (0) | 2024.07.12 |