- 2022년 2월 13일 오후 7:28
- 조회수: 6181
REFERENCES
INFORMATION
- 2022년 2월 18일
- 오후 1시 ~
- 고려대학교 신공학관 218호
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
발표자 후기

이번 세미나는 Classification을 할 수 있는 AC-GAN에 대해 진행하였다. AC-GAN을 설명하려다보니 GAN(Generative Adversarial Net)으로 시작하고, CGAN(Conditional GAN)에 대한 설명이 이어졌었다. 최종 AC-GAN까지 최대한 쉽게 설명을 진행하였다. 수 많은 GAN 중 일부만 설명한 것이 아쉬운 점으로 남는다.
청취자 후기

금일 세미나는 GAN 모델을 주제로 욱수 형이 진행해주셨다. GAN에 대한 메인 아이디어 리뷰를 경찰과 도둑 이야기로 재밌게 풀어주셨다. 데이터 클래스 정보를 추가 활용하는 GAN 모델인 C-GAN과 AC-GAN도 본 세미나를 통해 어떠한 의도, 차이점(with GAN)을 가지고 설계되었는지 재밌는 경찰 및 도둑 이야기로 이해할 수 있었다. 경찰과 도둑 이야기로 본 세미나 내용을 정리해보면 아래와 같다.
GAN : 도둑은 진짜 같은 가짜 지폐를 만들려고 하며, 경찰은 도둑이 만든 가짜 지페를 식별하려 한다. 서로 적대적인 경쟁을 하면서 능력이 향상된다. 결국 도둑은 진짜 같은 가짜 지폐를 만들 수 있게 된다.
C-GAN : 도둑과 경찰이 지폐의 부가적인 정보(얼마짜리 인지)를 적대적 경쟁에 활용해, 서로 더 질 좋은 능력을 갖게 된다. 결국 도둑은 GAN보다 더 진짜 같은 가짜 지폐를 만들 수 있게 된다.
AC-GAN : 도둑과 경찰 모두 지폐의 속성(얼마짜리인지)를 C-GAN보다 더 적극적으로 활용하였다. 도둑은 지폐가 얼마짜리인지 구분하면서 동시에 경찰을 속일 수 있는 진짜 같은 가짜 지폐를 만든다. 경찰은 주어진 지폐가 얼마짜리인지 구분하면서 동시에 도둑이 만든 지폐인지 진짜 지폐인지 구분한다. 위와 같은 적대적 경쟁을 통해 결국 경찰은 지폐가 얼마짜리인지도 구분할 수 있는 능력을 갖고, 위조 지폐도 식별할 수 있게 된다.

금일 세미나는 AC-GAN(conditioanal image synthesis with auxiliary classifier GANs)를 주제로 진행되었다. GAN을 구성하는 generator와 discriminator는 도둑과 경찰의 관계로 표현할 수 있다. Generator에 해당하는 도둑은 점점 더 실제 지폐와 동일하도록 위조 지폐를 만들 것이고, discriminator에 해당하는 경찰은 점점 더 정교해지는 위조 지폐를 잘 구분해 내기 위해 노력할 것이다. 이러한 둘의 관계를 adversarial 관계라고 할 수 있다. GAN의 작동 원리도 이와 동일하다. 기본적인 GAN 등장 이후, class 정보를 추가하여 generator와 discriminator의 학습에 도움이 되도록 하는 C-GAN이 등장하였다. 본 세미나에서 중점적으로 다루는 AC-GAN은 class 정보를 추가로 사용한다는 점에서 C-GAN과 공통점이 있지만, AC-GAN은 discriminator가 실제 이미지와 생성된 이미지를 구분하는 것 뿐만 아니라 class도 분류한다는 점에서 차이가 있다. 본 세미나는 창과 방패 이야기와 함께 진행되어 흥미롭게 들을 수 있었다. 쉬운 예시와 함께 설명해주셔서 C-GAN과 AC-GAN의 특징과 주된 차이를 잘 이해할 수 있는 유익한 세미나였다.

Ian Goodfellow 가 처음 제시하였던 GAN은 학습 데이터셋과 유사한 이미지를 생성해내는 Generator-Discriminator 프레임워크를 처음 제안하였다. 하지만 당시 GAN 은 생성하고자 하는 이미지를 자신의 목적에 맞게 조절할 수 없었다. 이에 대한 개선 방안으로 입력 값에 클래스 조건을 넣어주어 원하는 클래스를 생성할 수 있게 해주는 Conditional GAN 이 도입되었다. 이외에도 GAN 은 DCGAN 등 다방면으로 발전하였다. 그 중에서 오늘은 ACGAN 에 대해 알아보았다.
ACGAN 의 이름에도 들어가있는 Auxiliary Classifier 는 ACGAN 과 Conditional GAN 을 구분하는 큰 차이점이다. 기존의 Discriminator 는 인스턴스가 real 인지 fake 인지만 구분하는 이진 분류의 문제만 해결하였다. 이렇듯 실제로 고차원 이미지를 생성해야하는 Generator 와 이진 분류만 진행하는 Discriminator 의 학습 난이도 차이는 GAN 기반 모델의 학습을 어렵게 만들며, 둘 사이의 Saddle Point 를 균형있게 찾기 위해 하이퍼 파리미터 튜닝을 매우 정교하게 해야하는 것으로 알고 있다. ACGAN 이 ConditionalGAN보다 생성 능력이 좋은 이유는 아마 Discriminator 가 추가적인 Classification 도 수행하게 함으로써, Discriminator 에 추가적인 학습을 요구하고, Conditional Generation 의 최적화에도 도움을 주는 것이 아닐까 생각한다.
세미나를 준비하느라 고생하신 욱수형께 감사의 말씀을 드린다.

이번 세미나는 "ACGAN : Auxiliary Classifier GANs"라는 주제로 진행됐다. GAN은 대표적인 딥러닝을 활용한 생성모델로 이미지 생성에서 좋은 성능을 내고 있다. 이미지를 생성할때 GAN은 임의의 이미지를 생성하게 되지만 생성하고자 하는 이미지를 원하는 형태로 조절하고 싶은 경우가 생길 수 있다. CGAN은 이미지를 생성할때 조건을 함께 입력하여 사용자가 원하는 이미지를 생성해주게 된다. ACGAN은 조건부 이미지 생성의 성능을 높이는 기법으로 판별기가 이미지의 클래스를 구분하도록 하는 학습을 추가하게된다. 이를 통해 CGAN에 비해서 보다 좋은 성능을 낼 수 있게 된다.