Generative Adversarial Nets Paper Review
안녕하세요 머킹입니다.
오랜만에 들고온 논문이네요.
프로젝트에 정신 없었지만 그래도 열심히 읽어봤습니다ㅎㅎ
논문 제목(title)
Generative Adversarial Nets (”생성적 적대 네트워크”)
도표(figures)
초록(abstract)
적대적인 과정을 통해 생성 모델을 추정하기 위한 새로운 프레임워크를 제안합니다.
우리는 동시에 두 가지 모델을 학습합니다.
데이터 분포를 캡쳐하는 generative model (생성자) G와, 샘플이 G보다 학습 데이터로부터 온 것인지 확률을 추정하는 discriminator model (판별자) D가 있습니다.
이 프레임워크는 두 명의 플레이어가 minmax game (최대최소 게임) 을 하는 것과도 같습니다. 임의의 함수 G와 D의 공간에서, G가 학습 데이터 분포를 포함하고 D가 모든 곳에서 1/2과 같을 때, 독특한 해가 존재했습니다.
G와 D가 다층레이어 퍼셉트론으로 정의된 경우, 전체 시스템은 역전파를 통해서 학습될 수 있습니다. 학습 과정이나 샘플을 생성하는 과정에서 Markov chain이나 unrolled approximate inference network는 필요없습니다.
실험은 생성된 샘플의 질적, 양적 평가를 통해 프레임워크의 가능성을 증명합니다.
도입(introduction)
딥러닝의 가능성은 자연적인 이미지들, 스피치가 포함된 오디오 파형, 그리고 자연언어 말뭉치 등 인공지능 응용분야에서 만나게 되는 다양한 종류의 데이터의 확률 분포를 표현하는 rich, hierarchical model을 발견하는 것입니다. 계층형 데이터베이스 모델(Hierarchical database model)이란 데이터가 트리 형태의 구조로 조직된 것을 말한다.
더 나아가 딥러닝에서 대부분의 눈에 띄는 성공은 고차원의 풍부한 sensory input을 클래스 라벨에 맵핑하는 discriminative model과 연관되어 있습니다.
눈에 띄는 성공은 주로 특히 잘 행동하는 gradient를 가지는 piecewise linear unit을 사용하는 역전파와 dropout 알고리즘에 기반되어 있습니다. Deep generative model은 최대 가능도 추정이나 관련된 부분에서 많은 다루기 힘든 확률적 계산의 추정의 어려움 때문에, 그리고 생성 컨텍스트에서 piecewise linear unit의 이점을 활용하기가 어렵기 때문에 더 적은 임팩트를 가지고 있었습니다. 우리는 이러한 어려움들을 회피하는 새로운 생성 모델 추정 과정을 제안합니다.
제안된 adversarial nets 프레임워크에서 생성자가 적대적으로 맞서 싸웁니다. 판별자는 샘플이 모델의 분포에서 온 것인지, 데이터의 분포에서 온 것인지 결정하는 것을 학습합니다. 생성자는 위조 지폐를 만들고 이것을 발견되지 않고 사용하려고하는 위조 지폐범 팀과 유사하다고 생각할 수 있고, 판별자는 위조 지폐를 찾으려고 하는 경찰과 유사하다고 생각할 수 있습니다. 이 게임에서 경쟁은 위조 지폐가 진짜 지폐로부터 구분이 안 될 때 까지 두 개의 팀 둘 다 그들의 방법을 증진시키는 것입니다.
이 프레임워크는 많은 종류의 모델과 최적화 알고리즘에 대한 특별한 학습 알고리즘을 생성할 수 있습니다. 본 논문에서, 우리는 생성 모델이 다층레이어 퍼셉트론을 통해 랜덤 노이즈를 통과하는 것에 의해서 샘플을 생성하는 특별한 경우를 탐험합니다. 우리는 이러한 특별한 케이스를 adversarial nets라고 부릅니다. 이 경우에, 우리는 오직 매우 성공적인 역전파와 드롭아웃 알고리즘을 통해서 두 개의 모델을 학습시킬 수 있고, 오직 순전파를 통해서 생성모델로 부터 샘플할 수 있다. 대략적인 추정이라 마코브 체인은 불필요합니다.
결론(Conclusions and future work)
이 프레임워크는 많은 간단한 확장을 허용합니다.
- Conditional generative model p(x∣c) 는 G와 D 둘 다에 c를 더함으로써 얻어질 수 있습니다.
- 대략적인 추론 학습은 x가 주어졌을 때 z를 예측하기 위해서 auxiliary network를 학습함에 의해서 수행될 수 있습니다. 이것은 wake-sleep 알고리즘에 의해 학습된 추론 네트웤크와 비슷하지만 추론 네트워크가 생성자 네트워크의 학습이 끝난 후에 고정된 생성자를 위해 학습된다는 장점이 있습니다.
- 모든 조건부 확률을 대략적으로 모델링 할 수 있습니다. S는 파라미터를 공유하는 조건부 모델의 집합을 학습에 의한 x 인덱스의 하위 집합입니다. 본질적으로, adversarial nets를 사용하여 결정론적 MP-DBM의 확률적 확장을 구현할 수 있습니다.
- Semi-supervised learning: 판별자 혹은 추론 네트워크로부터 나온 feature는 제한된 라벨이 데이터가 있을 때 분류기의 성능을 향상시킬 수 있습니다.
- Efficiency improvements: 학습은 G와 D를 조정을 위한 방법을 나누거나 학습 동안 z를 샘플하기 위한 더 좋은 분포를 결정하는 것에 의해 가속화될 수 있습니다.
본 논문은 적대적 모델링 프레임워크의 실행 가능성을 입증하여 이러한 연구 방향이 유용할 수 있음을 시사합니다.
요약: GAN은 generative model (생성자) G와, discriminator model (판별자) D를 통해서
생성 모델의 프레임워크를 제안합니다.
Generative Adversarial Nets 생각 정리
저자가 뭘 해내고 싶어했는가?
- DGM들의 어려움을 피해간 다른 접근방식 도출
- 많은 학습 알고리즘과 최적화 알고리즘 사용가능
- 복잡한 네트워크 없이 역전파, 드롭아웃만 사용
이 연구의 접근에서 중요한 요소는 무엇인가?
- GAN에 대한 이론적 개념 제시(minimax problem)
- GAN이 풀어야하는 problem이 global minimum에서 unique solution을 갖고 어떤 조건을 만족하면 해당 solution으로 수렴한다는 것을 증명
- Helevetic scenario의 문제가 있다 (discriminator를 속일 수 있는 한가지 이미지만 주구장창 만드는 것)
당신(논문독자)은 스스로 이 논문을 이용할 수 있는가?
- GAN에서 파생된 많은 모델들을 사용해볼 수 있다.
- GAN과 다음 주 논문인 Stable diffusion을 비교해보며 차이를 알고 싶다.
당신이 참고하고 싶은 다른 레퍼런스에는 어떤 것이 있는가?
[Deep Generative Stochastic Networks Trainable by Backprop]
https://arxiv.org/abs/1306.1091
[Stochastic Backpropagation and Approximate Inference in Deep Generative Models]
https://arxiv.org/abs/1401.4082
[GSN: A Graph-Structured Network for Multi-Party Dialogues]
https://arxiv.org/pdf/1905.13637.pdf
논문 한장 요약
GAN의 핵심 컨셉은 다른 역할을 가진 두 모델을 통해 적대적 학습을 하면서
‘진짜같은 가짜’를 생성해내는 능력 키우는 것이다.