본문 바로가기

공부 노트/2022 봄학기

[POSP] <Conditional Generative Adversarial Nets, Mirza & Osindero, 2014> 읽기

1. GAN 

GAN(Generative Adversarial Nets)란 뭘까? 처음 듣는 용어라 검색해봤다. 

여기 블로그에 잘 정리되어있다.

https://ysbsb.github.io/gan/2020/06/17/GAN-newbie-guide.html

 

딥러닝 GAN 튜토리얼 - 시작부터 최신 트렌드까지 GAN 논문 순서 | mocha's machine learning

이번 포스팅에서는 GAN의 개념, GAN의 종류, 주요 논문들에 대한 짧은 리뷰를 이야기하려고 합니다. GAN의 종류들은 중요하게 언급되는 모델들을 선정하였고, 이 모델들에 대해서 간단히 설명을 듣

ysbsb.github.io

GAN은 딥러닝 모델 중 이미지 생성에 널리 쓰이는 모델이라고 한다(이미지 분류에서 쓰이는 것은 CNN). 

재밌게도 '경찰과 위조지폐범'의 비유로 이미지 생성의 원리가 설명된다. 

위조지폐범(Generator)는 위조지폐를 만들고, 경찰(Discriminator)는 위조지폐를 구분하는데, 이 두 개의 모델이 동시에 적대적인 과정으로 서로 학습해 나가는 것이 GAN이다.

그래서 Adversarial Network(적대적 네트워크)인가보다. 재밌네 ㅋㅋㅋ

찾아보니 GAN에 CNN의 네트워크를 도입한 DCGAN 이라는 개념이 2016년에 발표되고, CycleGAN이라는 원리도 만들어진 것 같은데 찾아보니 진짜 대단하다... 인공지능의 위력은 정말 대단하구나...

Jun-Yan Zhu at al. Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, 2017

2. Conditional GAN

이 페이퍼의 저자는 GAN에서 더 발전한 개념으로, CAN(Conditional Adversarial Nets)를 제시한다. 

Mirza et al., Conditional Generative Adversarial Nets, 2014

이는 앞선 GAN의 conditional 버전, 즉 조건부 모델을 제안한 것이다. 

다양한 보조 정보일 수 있는, 추가 정보 y를 조건으로 한다.

이 y를 집어넣어서 Generator와 Discriminator에 대해서 컨디셔닝을 수행할 수 있다.

사실 원리는 100% 이해는 안되는데, 아무튼 이 Conditional GAN에 의해 GAN이 훨씬 확장되어서 응용 가능하다고 한다. 

Conditional GAN의 결과물이 궁금하다면 아래의 영상을 보면 좋을듯.

https://youtu.be/3AIpPlzM_qs

아무튼 뭐 GAN의 발전 과정에서 짱짱맨 역할을 수행했다!! 로 이해했음. 

내 주력이 코딩은 아니니까 이쯤하고 똥글로 마무리... ㅎㅎ..