본문 바로가기
AI/딥러닝

GAN의 종류와 발전

by 꼬바리 2021. 4. 13.

- Style GAN을 공부할 때, 논문에서는 나오지 않고, 따로 설명에도 나오지 않는 부분이 많길레 찾아봤더니 아직 공부 안한 부분이 있더군요.

그래서 GAN의 종류와, 어떤 부분에서 발전한 것인지를 간략하게 나열합니다.

 

0. GAN

이안 굿펠로우가 만든 GAN은,

구조적으로는

크게 Generator와 Discriminator의 역할을 하는 두 아키텍쳐가 상호작용을 하는 Generative 모델이며,

Generator는 데이터를 생성해서 Discriminator를 속이는 역할을 하고, Discriminator는 Generator가 생성한 이미지의 거짓을 밝혀내는 역할을 하도록 합니다.

즉 Loss값은, 최종단인 Discriminator가 이것이 거짓데이터인지 진짜 데이터인지를 판단하는 참 거짓의 확률 분류 문제이며, Discriminator는 여기서 나온 값이 거짓 0이 되도록 하는 방향으로 학습을 진행하고, Generator는 그와 반대로 Discriminator가 출력한 값이 참 1이 되도록 하는 방향으로 학습을 진행합니다.

 

이 커다란 줄기는 앞으로도 변함이 없는 GAN의 독특한 구조인데,

가장 기본적인 GAN의 레이어 구조를 보면,

 

무작위 값을 가진 신호 역할을 하는 latent vector z를 입력값으로 받아들이고, FC 레이어를 통해 데이터를 출력해내는 Generator, 그리고 이 출력값을 받아들여 이것이 참인지 거짓인지를 판단하는 Discriminator가 서로 거울같은 형태로 마주보며 이어져있습니다.

 

학습이 끝난 후엔 Discriminator를 떼버리는거죠.

 

이 경우에는 이미지를 제대로 출력하기도 어렵고, 성능 불균형도 심했다고 합니다.

이안 굿펠로우가 새벽에 코딩한 모델이 잘 동작한 것은 거의 운으로 봐도 된다고 할 정도입니다.

 

신경망을 이용한 새로운 Generative 모델이자, 이론적으로나 성능적으로 기존보다 훨씬 좋은 방식으로 주목받고 있으며, 계속 연구 발전중입니다.

 

1. Deep Convolutional GAN(DCGAN)

DCGAN은 GAN과 거의 차이가 없습니다.

전체적 구조는 같은데, 레이어가 CNN으로 되어있다는 것과, 고로 이미지 출력에 최적화된 모델을 안정적으로 만들어냈다고 합니다.

 

2. Conditional GAN

이전까지는 입력값이 Random Noise로, 출력 결과물도 무작위성을 띄었는데,

이제는 당연히 출력물에 어떠한 조건을 주어 조작하고자 하는 시도를 하게 됩니다.

이것이 바로 Conditional GAN인데,

예를들면 그냥 GAN이 랜덤 노이즈로 무작위의 이미지를 출력해낸다고 하면,

Conditional GAN은, 시드 역할(Latent space)을 하는 랜덤노이즈와 함께 어떠한 조건이 들어갑니다.

mnist 데이터셋으로 치면, 노이즈 입력값과 같이 5라는 입력값이 들어간다고 치면, 다른 숫자가 아닌 5에 해당하는 숫자의 이미지가 생성되는 것입니다.

 

3. Info GAN

이때부터는 latent space의 variables의 의미에 주목합니다.

Conditional GAN과 같이 결과값을 통제하려는 시도이지만, label이 없이, 이미지 자체에 들어있는 특징을 latent space에 학습시키려는 시도를 합니다.(latent vector의 한 컬럼이 바뀌면 기울기가 바뀌고, 다른 컬럼이 바뀌면 색이 바뀌고... 이런식으로 의미가 매핑된 것들을 스스로 학습)

 

4. Wasserstein GAN(WGAN)

loss값을 변경.

Jenson-Shannon Divergence with the new Wasserstein distance를 사용했다고 합니다.(WGAN loss)

보다 높은 해상도의 샘플을 제너레이터가 생성할수 있게 되었다고 하네요.

추후 자세히 정리

 

5. Attention GAN

Attention 메커니즘을 사용했다는데,

이때부터는 NLP를 이용해 Text to Image를 할수 있었다고 합니다.

그리고 이미지 파츠별 파인튜닝이 가능했다는군요.

 
6. cycle gan
style gan의 시초.
pix2pix의 단점을 해소하고, 스타일을 전이할 방법을 제시했습니다.

7. Progressive GAN(PGGAN)

https://wiserloner.tistory.com/1196

 

8. Style GAN

현재 정리중...

 

 

// GAN 논문이야 매우 많고, 몇가지 중요한 기술을 놓쳤을수도 있는데, 저도 하나하나 공부하며 로드맵을 그려볼 것입니다. 몇가지는 공부한 내용도 있고, 아닌 내용도 있는데, Conditional GAN부터는 따로 공부하고, 현재 작성중인 Style GAN에서 간략히 알아야하는 개념들만 풀어서 소개하겠습니다.

 

출처 : wiserloner.tistory.com/1200

728x90
반응형

댓글