juooo1117

Generative Adversarial Nets 본문

Artificial Intelligence/Research Paper

Generative Adversarial Nets

Hyo__ni 2023. 12. 9. 22:47

Abstract

Adversarial(적대적인) process를 이용한 Generative models 이며, 동시에 두가지 모델을 학습시킨다.

  • Generative model: captures the data distribution (데이터의 분포를 수집하는 역할)
  • Discriminative model: estimates the probability that a sample came form the training data rather than G (샘플이 G모델이 아닌 훈련데이터로부터 나올 확률을 추정)

Generative model 은 Discriminative model 이 실수를 만드는 확률을 최대화 하도록 학습되며, 이 프레임워크는 minmax two-player game 에 부합한다. 임의의 함수 G, D의 공간에서 유일한 solution이 존재하는데, G 는 학습데이터의 분포를 재생하고, D는 모든 곳에서 1/2 확률(구분할 수 없는)이 된다.

G, D 가 multilayer perceptrons(다층퍼셉트론) 구조를 가진다고 정의한다면, backpropagation 으로 학습될 수 있다. 훈련이나 샘플 생성에 Markov chain, unrolled approximate inference networks(전개된 근사 추론 네트워크) 등은 필요가 없다. → 즉, 기존의 제시되었던 생성모델에서 제안된 것들은 필요가 없는 프레임워크이다. 실험은 생성된 샘플의 양적, 질적 평가를 통해서 이 프레임워크의 가능성을 증명한다.


Introduction

딥러닝의 가능성은 인공지능 응용에서 마주치는 이미지나 음성을 포함하는 오디오 파형(waveform), 자연어 말뭉치 와 같은 다양한 종류의 데이터 분포의 확률을 표현하는 풍부한 계층형 모델(rich, hierarchical model)을 발견하는 것이다.

지금까지 딥러닝에서 눈에 띄는 성과는 보통 고차원(high-dimensional)적이고 풍푸한 sensory input 을 class label 로 맵핑하는 discriminative model 에 관련된 것이었다. 이 주요한 성과들은 주로 특히 잘 동작하는 gradient 를 가진 구분적인 linear units(piecewise linear units)을 이용한 backpropagation 과 dropout 알고리즘을 기반으로 하는 것이다.

Deep Generative model 은 최대 가능성 추정과 관련된 전략들에서 발생하는 많은 상호작용하는 확률론적 계산 추정의 어려움, 그리고 generative context 안에서 piecewise linear units 의 이점을 효과적으로 이용하기 어렵기 때문에 적은 영향을 가지고 있었다. 이러한 어려움들을 회피하기 위해서 우리는 새로운 generative model 의 추정 과정을 제안한다.

제안된 적대적 네트워크(adversarial nets) 프레임워크에서, generative model 은 상대방(discriminative model; 샘플이 모델 분포에서 온 것인지 또는 데이터 분포에서 온 것인지 알아내는 것을 학습하는 모델)과 겨룬다.

Generative model 은 가짜 통화를 만들고 검출되지 않게 이것을 시용하려고 하는 위조자와 비슷하게 생각될 수 있는 반면에, Discriminative model 은 통화 위조범을 잡으려고하는 경찰과 비슷하다. 이 게임에서 경쟁은 양쪽 팀 모두 위조품이 진짜로부터 구분이 안될 때까지 그들의 방법을 개선시켜 나가는 것이다.

이 프레임워크는 많은 종류의 모델과 최적화 알고리즘을 위한 구체적인 학습 알고리즘을 산출할 수 있다. 본 논문에서 우리는 generative model 이 multilayer perceptron(다층 퍼셉트론)을 통해서 랜덤 노이즈를 통과하면서 샘플들을 생성하는 특별한 케이스를 탐구한다. 그리고 discriminative model 또한 multilayer perceptron 이다. 우리는 이 특별한 케이스를 adversarial nets 이라고 칭한다. 이 케이스에서 우리는 양 모델을 오직 매우 성공적인 backpropagation 과 dropout 알고리즘을 통해서 학습할 수 있고, generative model 로부터 나온 샘플은 오직 forward propagation 만을 이용한다. 근사 추정(approximate inference)이나 Markov chain 은 불필요하다.


Related work

잠재 변수를 가진 Directed graphical models 의 대안은 RBMs(Restriced Boltzmann machines), DBMs(Deep Boltzmann machines), 그리고 그들의 많은 변수들과 같은 잠재 변수가 있는 Undirected graphical models 이다.

이러한 모델들과의 상호작용은 랜덤 변수의 모든 상태의 전역적인 합계/통합에 의해 정규화된 비정규화 잠재적 함수들의 곱으로써 표현된다. 이 양(the partition function)과 이것의 변화(gradient)는 비록 Markov Chain 방법에 의해서 측정될 수 있음에도 불구하고 사소한 경우를 제외하고는 아주 다루기 힘들다. Mixing 은 MCMC 에 의존하는 학습 알고리즘에 상당한 문제를 제기한다.

DBMs(Deep Belief Networks)

  • 단일의 undirected layer 와 몇 개의 directed layer 를 포함하는 하이브리드 모델이다.
  • 빠른 근사의 layer-wise 학습 기준이 존재하는 반면에, 두 undirected, directed 모델 모두에 관해서 계산적인 어려움이 존재한다.

Score matching & NCE(Noise-Contrastive estimation)

  • log-likelihood 를 근사하거나 얽매이지 않은 대안적인 기준이 제안되었다.
  • 둘 다 분석적으로 정규화된 상수를 명시하기 위해서 학습된 확률밀도가 요구된다.
  • DBNs 와 DBMs 같이 잠재변수의 몇 개의 레이어로 이루어진 많은 흥미로운 생성모델들은 다루기 쉬운 비정규화된 확률밀도를 유도하는게 가능하지 않다.
  • 잡음제어(denoising) auto-encoders 와 수축성의(contractive) auto-encoders 와 같은 몇몇 모델은 RBMs 에 적용된 score matching 과 매우 유사하게 룰을 학습한다.
  • NCE 에서는 여기서 처럼 판별적인 학습 기준이 생성모델을 피팅하는데 쓰인다.
  • 하지만, 별도의 판별자 모델을 피팅시키기 보다는 생성모델 그 자체가 고정된 잡음 분포의 샘플들로부터 생성된 데이터를 판별하는데 사용된다.
  • NCE는 고정된 잡음 분포를 사용하므로, 학습은 모델이 관찰된 변수들의 작은 집합(small subset)에 대해 근사하게 맞는 분포를 학습한 후에 급격하게 느려진다.

마지막으로, 몇몇의 기술들은 분명하게 확률분포를 정의하는 것에 관여하지 않지만, 바랐던 분포로부터 샘플을 그리기 위해서 생성모델을 학습하는 것에는 관여한다. 이 접근법은 이러한 머신들이 back-propagation 에 의해 학습될 수 있도록 디자인 되었기 때문에 이점이 있다. 이 분야에서 유명한 최근의 연구들은 일반화된 denoising auto-encoders 로 확장하는 GSN(Generative Stochastic Network) 프레임워크를 포함한다. 둘 다 파라미터를 정의한 마르코프 체인으로 볼 수 있고, 생성적인 마르코프 체인의 한 단계를 수행하는 머신의 파라미터를 학습한다.

GSNs 와 비교해서, adversarial nets 프레임워크는 샘플링에 마르코프 체인을 요구하지 않는다. Adversarial nets 은 생성하는 동안 feedback loops 를 요구하지 않기 때문에, backpropagation 의 성능을 개선시키지만 내부의 feedback loop 에 사용될 때 unbounded 된 activation 에서 문제가 있는 piecewise linear unit 을 경감할 수 있는데 더 낫다. Back propagation 에 의해서 생성 머신을 학습하는 최근의 더 많은 연구들은 최근의 auto-encoding variational Bayes 와 stockastic backpropagation 을 포함한다.


Adversarial nets

Adversarial modeling 프레임워크는 모델이 둘 다 multilayer perceptron 일 때 간단하게 적용할 수 있다. 데이터 x 에 대한 generator의 분포 ‘Pg’ 를 학습하기 위해서, 우리는 사전에 input noise 변수를 ‘Pz(Z)’ 로 정의하고, 데이터 공간으로의 맵핑을 G(Z; θg) 로 표현한다. 여기서 G 는 매개변수 θg 를 가지는 multilayer perceptron 으로 표현되는 미분가능한 함수이다. 또한 단일 스칼라를 출력하는 두 번째 다층 퍼셉트론을 ‘D(x; θd)’ 라고 정의한다. D(x)는 ‘x’ 가 ‘Pg’ 가 아닌 데이터로 부터 온 확률을 나타낸다. 우리는 학습 샘플들과 G로부터 온 샘플들 모두에게 올바른 label 을 배정하는 확률을 최대화시키기 위해서 D 를 학습시킨다. 동시에 log(1 - D(G(z))) 를 최소화하도록 G를 훈련시킨다.

다음 섹션에서 우리는 adversarial nets 의 이론적인 분석을 나타낸다. 이는 근본적으로 G, D 가 비모수적 한계(non-parametric limit)에서 충분한 능력을 제공받기 때문에 훈련 기준을 통해 데이터 생성 분포를 복구할 수 있음을 본질적으로 보여준다. 학습의 inner loop 에서 D 를 최적화하는 것을 완료하는 것은 계산적으로 불가하며, finite 한 데이터셋에서는 overfitting 이 발생할 수 있다. 우리는 D 를 최적화하는 k 스텝과 G 를 최적화하는 한 스텝을 번갈아 가며 사용한다. 이 결과로 D 는 G 가 천천히 충분히 변화하는 동안은 최적의 솔루션에 가깝게 유지된다.

Generator 가 잘 학습하기 위한 충분한 gradient 를 제공하지 못한다. 학습 초기에 Generator 가 역할을 잘 하지 못할 때, Discriminator 는 학습데이터와 샘플이 분명하게 다르기 때문에 높은 확신을 가지고 거부할 수 있다.

이 경우에 log(1 - D(G(z)))는 포화된다. log(1 - D(G(z))) 를 최소화 하는 방향으로 G 를 학습시키기 보다, 우리는 logD(G(z)) 를 최대화시키는 방향으로 G 를 학습시킬 수 있다. 이 목적함수(objective function)는 Generator 와 Discriminator 의 dynamics 의 동일한 고정점을 가져오지만 학습 초기에 훨씬 더 강력한 gradients 를 제공한다.

Figure 1


Theoretical Results

Generator는 암묵적으로 샘플 G(z)들의 분포로써 확률 분포(Pg)를 정의한다. 그러므로, 우리는 충분한 용량과 학습시간이 주어진다면 Algorithm 1이 Pdata의 좋은 측정치로 수렴하도록 하고싶다. 이 섹션의 결과는 non-parametric setting 에서 수행된다. 예를 들어서, 우리는 확률밀도함수의 공간에서 수렴을 연구함으로써 무한한 능력의 모델을 표현한다.

Section 4.1 에서 이 minmax game이 Pg = Pdata 에 대한 global optimum 임을 보여줄 것이고, Section 4.2 에서는 Algorithm 1 이 equation 1(Value Function) 을 최적화해서 바라던 결과를 얻는 것을 보여줄 것이다.

Algorithm 1

Generative adversarial nets 의 미니배치 확률적 경사하강법 학습. Discriminator에 적용할 steps 수 = k 는 hyperparameter 이고, 우리는 실험에서 가장 저렴한 옵션인 k=1 를 사용했다.


Global Optimality of Pg = Pdata


Convergence of Algorithm 1

Generator를 정의하기 위해서 multilayer perceptron을 사용해서 파라미터 공간에 다수의 critical point를 도입할 수 있다. 그러나 multilayer perceptron의 우수한 성능은 실제로 이론적인 보장의 부족에도 불구하고 사용에 합리적인 모델이라는 것을 제안한다.


Experiments

우리는 Adversarial nets을 MINST, Toronto Face Database, CIFAR-10 데이터셋으로 학습했다. Generator는 ReLU, sigmoid activation을 혼합해서 사용한 반면에 Discriminator는 maxout activation을 사용했다. Dropout은 Discriminator를 학습할 때 적용되었다. 우리의 이론적인 프레임워크에서는 Generator의 중간 layer에 dropout과 다른 노이즈의 사용을 허용하지만, 우리는 generator network의 가장 아래의 layer에만 노이즈를 input으로 사용했다.

우리는 G에서 생성된 샘플에 Gaussian Parzen window를 피팅하고 이 분포 하에서 log-likelihood를 전함으로써 Pg 아래에서의 test set의 확률을 예측한다. 가우시안의 σ 파라미터는 validation set에서 교차검증을 통해 얻어진다. 이 절차는 정확한 likelihood를 다루기 쉽지 않은 다양한 생성모델에 이용된다. Likelihood를 추정하는 이 방법은 다소 높은 분산을 가지고 있고 고차원 공간에서는 잘 동작하지 않지만 우리가 아는 한 가장 최고의 방법이다. 샘플링은 할 수 있지만 가능성을 추정할 수 없는 생성모델의 진화는 그러한 모델을 평가하는 방법에 대한 추가 연구에 직접적으로 동기를 부여한다.

Figure 2

training 후에 generator가 그린 샘플이다. 우리는 이 샘플들이 기존 방법으로 생성된 샘플보다 좋다고 주장하지는 않지만, 적어도 이 샘플들이 문헌의 좋은 생성 모델들과 경쟁력이 있고 적대적 프레임워크의 잠재력을 강조한다고 믿는다.

Challenges in generative modeling


Advantages and disadvantages

이 새로운 프레임워크는 이전의 모델링 프레임워크와 관련해서 장점과 단점이 있다. 단점은 주로 Pg(x)의 명확한 표현이 없다는 것이고, 볼츠만 머신의 negative chains이 학습 단계 동안에 계속 유지되어야 하는 만큼 학습하는 동안 discriminator는 generator와 동시에 발생해야 한다. 장점은 마르코프 체인은 절대 필요하지 않고, gradient를 얻기 위해서 오직 backpropagation만 사용되고, 학습하는 동안에 추론이 없고, 다양한 함수들이 모델에 포함될 수 있다.

앞서 언급한 장점들은 주로 계산론적이다. Adversarial 모델들은 generator network가 데이터 예시들로 직접 업데이트 되지 않고, discriminator를 통해서 gradient로 업데이트 된다는 것으로부터 통계학적 장점을 얻을 것이다. 즉, 이것은 입력의 요소가 generator의 파라미터로 직접 복사되지 않는다는 의미이다. Adversarial network의 또다른 장점은, 마르코프 체인은 방식 사이의 혼합을 위해서 다소 블러리한 분포를 요구하는 반면에심지어 분포가 악화되더라도 예리하게 분포를 나타낼 수 있다는 것이다. ( → 훨씬 선명한 이미지를 얻을 수 있음)


Conclusions and future work

이 프레임워크는 많은 간단한 확장들의 가능성을 허용한다.

  • G, D 양쪽에 c를 input으로 넣으면 Conditional Generative model(CGAN) 로 발전이 가능하다.
  • Learned approximate inference는 주어진 x를 예측하기 위해 보조 네트워크를 훈련함으로써 수행될 수 있다. 이것은 wake-sleep algorithm으로 학습된 inference net과 비슷하지만, generator가 학습을 마친 후에 고정된 generator에 대해서 inference net이 학습되는 장점이 있다.
  • 파라미터를 공유하는 conditional model 계열을 훈련하여, S가 x 인덱스의 하위 집합인 모든 조건부 모델을 근사적으로 모델링 할 수 있다. 근본적으로, 결정론적 MP-DBM의 확률적 확장을 시행하기 위해 adversarial nets을 사용할 수 있다.
  • Semi-supervised learning: 제한된 라벨링된 데이터를 사용할 수 있을 때, discriminator 이나 inference net 으로부터 나온 특징은 classifiers의 성능을 개선시킨다.
  • Efficiency improvements: 훈련 중에 샘플 z에 더 나은 분포를 결정하거나 G와 D를 조정하는 더 나은 방법을 찾음으로써 학습은 가속화될 수 있다.