본문 바로가기

IT/Paper

[Deep learning] GAN!, Generative Adversarial Nets - Ian J. Goodfellow

이번 포스팅은 GANs 관한 논문을 한편 번역하겠습니다.


의역이 있을 수 있으니, 문제가 되는 부분이 보이면 언제든지 알려주시면 감사하겠습니다.


1. Abstract 


우리는 adversarial process(경쟁하는 과정)를 통해 generative model(생성자)을 추정하는 새로운 프레임워크를 제안합니다. 해당 프레임워크는 동시에 두 가지 모델을 학습합니다. 두 가지 모델은 training 데이터의 분포를 모사하는 generative model(생성모델) G, 입력된 G에서 나온 데이터가 아닌, 실제 training 데이터에서 나온 데이터 일 것이라고 확률을 추정하는 discriminative model(판별자) D입니다. G를 학습하는 과정은 D가 실수할 확률을 최대치로 올리게 만드는 것입니다. 이 프레임워크는 minimax two-player game(미니맥스게임)과 일치합니다. 임의의 함수 G와 D의 공간에서 G가 training 데이터 분포를 따라가게 되면, D가 real training 데이터인지 G가 생성한 데이터인지 판별하는 확률은 1/2이 됩니다. G와 D가 multilayer perceptrons(다층 인공신경망)으로 정의된 경우, 전체 시스템은 back-propagation(오류 역-전파)을 통해서 학습될 수 있습니다. 이를 통해 우리는 Markov chains(마르코프 체인) 혹은 학습 중이거나 샘플 데이터를 생성하는 동안 사용되는 unrolled approximate inference network가 더 이상 필요 없어집니다. 해당 실험은 프레임워크의 잠재력을 입증하기 위해 생성된 샘플을 사용하여 질적 및 양적으로 평가합니다.


2. Introduction


deep learning이 작동하는 방식은 인공지능 영역에서 마주하는 데이터의 종류에 대해서 모집단에 근사하는 확률 분포를 나타내는 계층 모델을 발견하는 것입니다. 이러한 데이터의 종류에는 이미지, 오디오 파형 등이 있습니다. 지금까지 일반적으로 deep learning에서 가장 큰 성공들은 고차원에서 방대한 센싱 데이터를 클래스 레이블에 맵핑해서 구분하는 모델을 사용했습니다. 이런 큰 성공들은 주로 잘 전파되는 gradient를 갖는 linear unit(선형 활성화 함수)들을 사용한 back-propagation과 dropout 알고리즘을 기반이었습니다. 상대적으로 Deep generative model들은 가시적인 성과가 잘 안보이는데, 이는 최대 우도 추정 및 그에 연관된 전략들에서 많아지는 확률 연산들을 근사화하는 것이 매우 어렵고, generative context 에서 linear unit 들의 이점을 가져오는 것이 어렵기 때문입니다. 따라서 우리는 이러한 어려움을 회피하는 새로운 generative model estimation procedure를 제안합니다.


이번에 제안한 adversarial nets 프레임워크는 경쟁하는 컨셉입니다. 예를들어 discriminative model은 샘플이 model 분포(sample을 생성하는 G model)에서 온 것인지, 실 데이터 분포로부터 온 것인지 판별하는 것을 학습합니다. 그리고 generative model은 위조하는 사람들이라고 비유할 수 있으며, 원본 데이터를 통해서 위조 데이터를 만들어 이것이 탐지되지 않도록 데이터를 생성합니다. 반면에 discriminative model은 경찰에 비유할 수 있으며, 해당 데이터가 위조 데이터인지 아닌지를 감지하려고 노력합니다. 이러한 게임에서의 경쟁은 위조 데이터가 실제 데이터와 구분이 불가능할 정도로 두 팀의 방법을 개선하도록 만듭니다.


이러한 프레임워크는 많은 종류의 모델이나 optimization 알고리즘 등. 특정 학습 알고리즘으로 사용될 수 있습니다. 해당 논문에서는 generative model이 multilayer perceptron을 통해서 임의의 noise가 첨가된 sample data를 생성하고, discriminative model도 multilayer perceptron으로 구성되어 해당 데이터를 구분해내는 특수 사례를 살펴볼 것입니다.


3. Related work


잠재 변수를 갖는 감독 된 그래픽 모델의 대안은 잠재 변수를 갖는 감독 되지 않는 그래픽 모델입니다. 이와 같은 모델은 제한된 볼츠만 머신(restricted Boltzmann machines; RBMs) 혹은 딮볼츠만머신(deep Boltzmann machines) 및 이의 수많은 변종 모델들이 있습니다.  비정규화된 잠재적인 함수들의 곱으로써 표현되는 그러한 모델들 안에서의 상호작용은 모든 임의의 변수들의 상태에 대한 전역 합계/통합으로 정규화됩니다. 이런 양(the partition function)과 gradient는 Markov chain Monte Carlo(MCMC)방법을 통해서 추정할 수 있지만, 가장 사소한 경우를 제외한 모든 경우에서 다루기가 매우 힘듭니다. Mixing은 MCMC에 의존하는 학습알고리즘에 중요한 문제를 제기합니다.


Deep belief networks(DBNS)는 단일 undirected 레이어와 몇몇 directed 레이어를 포함하고 있는 하이브리드 모델입니다. 레이어간 빠르게 근사할 수 있는 학습 기준이 존재하지만 DBNs는 undirected와 directed 모델 모두가 있어, 그와 관련되어 계산 상의 어려움이 있습니다. 이를 위해 score matching이나 noise-contrastive estimation(NCE)와 같은 대수 우도를 근사화하거나 제한하지 않는 대안적인 기준도 제시되어 왔습니다. 이 두 가지 방법 모두 확률 밀도가 정규화 상수까지 분석적으로 지정되어야 합니다. DBMs, DBNs와 같은 잠재적 변수의 몇몇의 레이어들을 가지고 있는 몇몇 흥미로운 generative 모델은 다루기 쉬운 비정규화된 확률 밀도를 도출 할 수는 없습니다. denoising auto-encoder들과 contractive auto-encoder들과 같은 몇몇의 모델은 RBMs에 적용된 score matching과 매우 유사한 학습 규칙을 가지고 있습니다. NCE에서는 이 작업에서와 마찬가지로 discriminative 학습 기준을 사용하여 generative model을 조정했습니다. 하지만, separate discriminative model을 맞춰보는 것보다 generative model 자체가 고정된 노이즈 분포를 가지고 있는 샘플로부터 생성된 데이터를 구분하는데 사용되었습니다. 왜냐면 NCE는 고정된 noise 분포를 사용하기 때문에, 관찰 된 변수 중 부분 집합에 대해서 모델이 대략적인 분포를 배운 후에 학습이 크게 느려집니다.


마지막으로 몇몇의 테크닉은 확률 분포를 명시적으로 정의하는 것을 포함하지 않지만 generative machine을 특정 분포의 데이터를 이용해 학습을 시킨 후에, 원하는 분포의 데이터를 뽑아내게 합니다. 이러한 접근법은 machine들이 back-propagation에 의해 학습되는 것을 기본으로 설계되있다는 점에서 이점을 갖습니다. 이 분야의 최근 연구로는 generative stochastic network(GSN) 프레임워크가 있습니다. GSN은 일반화 된 잡음을 제거하는 denoising auto-encoder들의 확장입니다. 둘 다 모두 매개 변수화 된 Markov chain을 정의하는 것으로 볼 수 있습니다. 이것은 generative Markov chain의 한 단계를 수행합니다. GSN과 비교할 때, adversarial net 프레임워크는 샘플링을 위해 Markov chain을 필요로 하지 않습니다. 왜냐면 adversarial net들은 generation 과정에서 피드백 루프를 필요로 하지 않으므로 back-propagation의 성능을 향상 시키지만 피드백 루프에서 사용할 때 무제한 활성화에 문제가 있는 linear unit들을 더 잘 활용할 수 있습니다. 최근 back-propagating을 이용한 generative machine을 학습시키는 방법들은 auto-encoding variational Bayes와 stochastic back-propagation이 포함됩니다.


4. Adversarial nets


adversarial modeling 프레임워크는 multilayer perceptron모델을 적용하는 것이 가장 간단합니다. 데이터에 대한 Generator의 분포 를 배우기 위해 사전 입력 잡음 변수를 정의합니다. 는 파라미터를 갖는 multilayer perceptron에 의해 표현되는 미분 가능한 함수이고 는 데이터 공간로써 맵핑되어 표현됩니다. 그리고 단일 스칼라는 출력하는 두 번째 multilayer perceptron

를 정의합니다.가 아닌 데이터에서 나온 확률을 나타냅니다. 학습 예제와 의 샘플 모두에 올바른 라벨을 지정할 확률을 최대화하기 위해서를 학습 시킵니다. 그리고 동시에를 최소화하기 위해 를 훈련시킵니다.


다른 말로 D와 G는 가치함수(Value function) 를 갖는 two-player minimax game을 합니다. :



다음 섹션에서 adversarial net의 이론적인 분석을 진행할 것입니다. 본질적으로 non-parametric limit에서 G와 D가 충분한 용량을 제공 받을 때, 훈련 기준에 따라 데이터 생성 분포를 복구 할 수 있다는 것을 보여줍니다. 보기 좋게 만들어진 Figure 1을 보면  실제로는 반복적인 수치 접근법을 사용해서 게임을 구현해야 합니다. 학습하는 내부 루프 안에서 D가 완성되어 최적화되는 것은 금지되어 있습니다. 이는 유한 데이터 집합에서 overfitting을 발생 시키기 때문입니다. 따라서 이를 D를 최적화하는 k단계와 G를 최적화 하는 단계로 대체합니다. 그 결과 G가 충분하게 천천히 변화하는 한, D는 최적해 근처에서 유지됩니다. 이러한 전략은 SML/PCD 훈련이 Markov chain에서 학습 과정의 한 부분으로 타는 것(burning)하는 것을 피하기 위해서 Markov chain의 표본을 한 학습 단계에서 다음 학습 단계로 유지하는 것과 유사합니다. 이러한 절차는 공식적으로 알고리즘 1에 제시됩니다.


실제로 방정식 1은 G가 잘 학습할 수 있도록 충분한 gradient를 제공하지 못할 수 있습니다. G가 열악한 학습 초기에 D는 훈련 데이터와 분명히 다르기 때문에 높은 신뢰도로 샘플을 거부할 수 있습니다. 이러한 경우 가 포화 상태가 됩니다.를 최소화해서 G를 학습하는 것 보다, 를 최대가 되게끔 G를 학습하는 것이 좋습니다.이러한 objective function 결과는 G와 D의 dynamics의 동일한 고정 점을 얻지만 학습초기에는 더 강한 gradient를 제공합니다.



Figure 1 : Generative adversarial nets은 generative distribution(초록, 실선)의 data generative distribution(검정, 점선) 로부터의 샘플을 구별하기 위해 discriminative distribution(D, 파란 점선)과 동시에 업데이트 되는 것에 의해 학습됩니다.  아래쪽 수평선은 z가 균일하게 샘플링 되는 도메인입니다. 위의 수평선은 z의 도메인의 일부입니다. 위의 화살표는 어떻게 맵핑이 되는지 즉,가 변형된 샘플에서 비 균일 분포 에 위치하게 되는지 방법을 보여주게 됩니다. G는 고밀도 지역에서 계약을 하며, 의 저밀도 영역에서 확장합니다. (a) 수렴에 가까운 adversarial 쌍을 고려합니다 : 데이터와 유사하고, D는 부분적으로 정확한 classifier입니다. (b) 알고리즘 D의 내부는로 수렴하는 데이터로부터 표본을 구별하도록 훈련됩니다. (c) G에 대한 업데이트 이후, D의 gradient는가 데이터로 분류 될 가능성이 더 높은 영역으로 흐르도록 유도합니다. (d) 몇 단계의 훈련 후에 G와 D의 용량이 충분하다면 = 데이터 이므로 두 가지가 모두 향상 되지 않는 지점에 도달하게 됩니다. discriminator는 2개의 분포, 즉,를 구별할 수 없게 됩니다.


5. Theoretical Results


Generator G는 가 얻어질 때, 샘플 의 분포로써 확률 분포를 암묵적으로 정의합니다. 따라서 충분한 용량과 교육 시간이 주어지면 알고리즘1을 P 데이터의 좋은 추정치로 수렴시킬 수 있습니다. 이 섹션의 결과는 non-parametric setting안에서 이루어 졌습니다. e.g 확률 밀도 함수의 공간에서 수렴하는 것을 연구하는 것에 의해 무한한 용량의 모델이 표현됩니다.


섹션 4.1에서 이러한 minimax game은 데이터에 대해서 global optimum을 갖는 것을 보여줄 것입니다. 4.2절에서는 알고리즘 1이 방정식 1을 최적화하여 원하는 결과를 얻는 과정을 보여줄 것입니다.



Algorithm 1 : generative adversarial nets의 Minibatch stochastic gradient descent 학습입니다. discriminator에 k에 적용할 단계수는 hyper parameter입니다. 이번 실험에서 k = 1을 사용함으로 가장 비싼 옵션을 사용했습니다.


for number of training iterations do

for k steps do

- Sample minibatch of m noise sampels from noise prior.

- Sample minibatch of m examples from data generating distribution

- Update the discriminator by ascending its stochastic gradient :


 

end for


- Sample minibatch of m noise samples from noise prior

- Update the generator by descending its stochastic gradient:




end for

The gradient-based updates can use any standard gradient-based learning rule. We used momentum in our experiments



4.1 Global Optimality of


먼저 주어진 generator G에 대해 최적의 discriminator D를 먼저 고려합니다.


Proposition 1. G가 고정된 경우, 최적의 discriminator D는 :



Proof. 어느 generator G가 주어지면 discriminator D에 대한 학습 기준은 V(G,D)의 양을 최대화 하는 것입니다.



    

임의의 에 대해서 함수 에서 [0, 1]에서 최대를 얻습니다. discriminator는 외부에서 정의 할 필요가 없으므로 증명을 결론 지을 수 있습니다.


D에 대한 학습 목표는 조건부 확률 P(Y = y|x)를 추정하기 위한 log-likelihood를 최대화하는 것으로 해석 할 수 있으며, 여기서 Y는 x가 (y=1 일 때,) 또는 (y=0 일 때,) 으로 부터 왔는지를 가르킵니다. 식 (1)의 minimax game은 다음과 같이 재구성 될 수 있습니다. :


                



Theorem 1. 가상 훈련 기준 C(G) 의 global minimum은  인 경우에만 달성됩니다. 이 시점에서 C(G)는 값 -log 4를 얻습니다.


Proof,  ,(Eq. 2를 고려하세요.). 따라서 Eq. 4에서 이면,

가 됩니다. 이것이 에 도달한 C(G)의 최선의 값이라는 것을 알기 위해,



                             



으로 부터 다음과 같은 표현식을 빼면 우리는 다음의 식을 얻을 수 있습니다.


             


여기서 KL은 Kullback-Leibler 분기입니다. 우리는 이전에 표현에서 모델의 분포와 데이터 생성 프로세스 사이의 Jensen-Shannon의 차이점을 인식합니다.





두 분포 사이의 Jensen-Shannon 발산은 항상 동일할 때만, non-negative and zero가 됩니다. 가 C(G)의 global minimum이고 유일한 해답은 . 즉, data generating process을 완벽하게 복제하는 generative model이라는 것을 보여줬습니다.



5.2 Convergence of Algorithm 1



Proposition 2. 만약 G와 D가 충분한 용량을 가지고 있고, 알고리즘1의 각 단계에서 discriminator가 주어진 G에 대해 최적의 해에 도달하도록 허용하고,가 업데이트 되어 기준을 개선한다면,





그러면 로 수렴합니다.


Proof. 위의 기준에서와 같이의 함수로 생각하는 것을 고려합니다. 에서 convex합니다.The subderivatives of a supremum의 convex function은 최대 값에 도달된  지점에서의 도함수가 포함됩니다. 즉, 만약

는 모든에 대한 x에서 convex 하다면, 이면, 입니다. 이는 대응하는 G가 주어진 최적의 D에서 에 대한 gradient-decent 업데이트를 계산하는 것과 동일합니다.는 Theorem 1.에서 입증된 것과 같이 고유한 global optima를 갖는 에서 convex합니다. 따라서 의 업데이트가 충분히 작다면 로 수렴하게 됩니다. 이로써 증명을 마칩니다



실제로 adversarial nets은를 통해 분포의 제한된 계열을 나타내며 자체보다 를 최적화 합니다. multilayer  perceptron을 사용하여 G를 정의하면 매개 변수 공간에 다중 임계점이 도입됩니다. 그러나 실제로 multilayer perceptron의 탁월한 성능은 이론적 보증이 부족함에도 불구하고 사용할 수 있는 합리적인 모델임을 시사합니다.




6. Experiments



이 논문에서는 adversarial nets(GANs)를 MNIST, Toronto Face Database(TFD), CIFAR-10을 포함한 일련의 데이터 셋을 통해서 학습 시켰습니다. generator nets에는 rectifier linear activation과 sigmoid activation을 혼합해서 사용했으며, discriminator net은 maxout activation을 사용했습니다. Dropoit은 discriminator net에 적용하여 훈련 시켰습니다. 이 논문의 이론적인 프레임 워크는 generator의 중간 층에서 Dropout과 기타 noise를 허용하지 않으나, 실제로는 generator net의 맨 하위 계층에만 입력으로 noise를 사용하였습니다. 해당 실험에서는 G로 생성된 샘플에 Gaussian Parzen window를 맞추고, 해당 분포에 따른 log-likelihood를 알려주는 것에 의해 에 따른 test set data의 확률을 추정합니다.



Table 1 : Parzen window 기반의 log-likelihood 추정. MNIST에서 보고된 수치는 aexample들을 통해 계산된 평균의 표준 오차를 통한 test set의 sample의 log-likelihood의 평균입니다. TFD에서 각 fold의 validation을 사용하여 다른 σ를 선택하여 data set의 fold 전반에 걸친 표준 오차를 계산한 것입니다. MNIST를 위해서 바이너리가 아닌 다른 실제 데이터의 모델과 비교했습니다.



Gaussians의 σ파라미터는 validation set에서 cross validation에 의해 얻어졌습니다. Breuleux et al.에서 소개된 이 절차는 likelihood를 추출하기 어려운 다양한 generative 모델에 사용됩니다. 해당 결과는 Table 1. 과 같습니다. likelihood 추정 방법은 높은 분산을 갖으며, 고차원의 공간에서는 잘 수행되지 않으나, 현재의 지식에서는 할 수 있는 최선의 방법입니다.


그림 2와 그림 3은 학습 후, generator net에서 추출한 샘플입니다. 이러한 샘플이 기존에 존재하는 방법을 사용해서 만든 샘플보다 더 좋다고 주장하지는 않습니다만, 해당 샘플은 더 나은 생성 모델과 경쟁할 수 있다고 생각하고, adversarial framework의 잠재력을 강조하고 싶습니다.



 


 

 


Figure 2 : 모델에서 나온 샘플을 시각화한 결과. 가장 오른쪽 열은 모델이 training set를 암기하지 않았다는 것을 증명하기 위해서 이웃 샘플의 가장 가까운 예를 보여줍니다. 샘플은 무작위 추출이며, cherry-picked가 아닙니다. 대부분의 다른 deep generative models의 시각화는 숨겨진 단위의 표본이 주어진 조건부가 아니라 model 분포에서 온 실제 샘플을 보여줍니다.  또한 샘플링 과정이 Markov chain mixing에 의존하지 않기 때문에 이러한 샘플은 상관 관계가 없습니다. a). MNIST, b). TFD, c). CIFAR-10(fully connected model) d). CIFAR-10(convolutional discriminator and deconvolutional generator)



  


Figure 3 : 해당 숫자는 full model의 z공간에서 좌표 사이를 선형으로 보간하여 얻은 것입니다.




Table 2 : Generative modeling의 도전과제 : 모델과 관련된 주요 작업 각각에 대해 deep generative modeling에 대해서 다양한 접근 방식으로 인한 어려웠던 부분들을 요약한 것입니다.




6. Advantages and Disadvantages



이러한 새로운 framework는 이전 모델에 대해서 장단점이 있습니다. 단점은 주로 의 명시적인 표현이 없으며 D가 훈련 중 G와 동기화가 잘 되어야한다는 것입니다.("The Helvetical scenario"를 피하기 위해서 G는 D의 업데이트 없이 너무 많이 학습되면 안됩니다. G가 z 데이터들 너무 많이 붕괴시켜서 x와 값이 똑같게 만들게 되면는 충분한 다양성을 갖게 됩니다. ) Boltzmann machine의 negative chains은 학습 단계 사이에서 최신 상태로 유지되어야 합니다. 장점으로는 Markov chain이 필요 없으며, gradients를 얻기 위해서 back-propagation만 사용될 뿐이며, 학습 중에 추론이 필요 없고, 다양한 기능을 모델에 통합 할 수 있다는 것입니다. 표2는 Generative Adversarial net과 다른 Generative model의 접근법에 대한 비교를 요약해 놓은 것입니다.


앞에서 말한 장점들은 주로 계산에 관련된 부분이었습니다. Adversarial model은 데이터 예제를 통해서 직접 업데이트되지 않고, Generator network에서 몇가지 통계적 이점을 얻을 수 있으나, Discriminator를 통해 전파된 gradients만 사용할 수 있습니다. 즉, 입력에 대한 구성 요소가 generator의 매개 변수로 직접 복사되지 않는다는 것을 의미합니다. Adversarial networks의 다른 이점은 Markov chains을 기반으로하는 방법이 모드간에 혼합이 가능하도록 분배가 다소 흐려지도록 만드는 반면에 Adversarial network는 퇴보한 분포임에도 불구하고 매우 날카롭게 표현될 수 있다는 것입니다.


7. Advantages and Disadvantages


해당 framework는 여러가지 간단한 확장들을 허용합니다.


1. conditional generative model 는 c를 G와 D에 모두 입력함으로써 얻어 질 수 있습니다.


2. 학습된 근사 추론은 보조 네트워크를 학습하여 주어진 x를 예측하여 수행할 수 있습니다. 이것은 wake-sleep algorithm과 비슷하나, generator net가 학습을 마친 후에 inference net가 고정된 generator net에 대해 훈련 될 수 있다는 이점이 있습니다.


3. 매개변수를 공유하는 conditionals model의 계열을 훈련함으로써 S가 x의 인덱스의 부분 집합인 모든 조건부 를 근사 모델링 할 수 있습니다. 본질적으로 확률적 MP-DBM의 확률론적 확장을 구현하기 위해 대다수의 네트워크를 사용할 수 있습니다.


4. 반-감독 학습 : discriminator나 inference network의 특징은 제한된 레이블이 있는 데이터를 사용할 수 있을 때, classifiers의 성능을 향상 시킬 수 있습니다.


5. 효율성 향상 : G와 D를 조정하는 더 나은 방법을 세우거나 훈련 중에 sample z에 대한 더 나은 분포를 결정함으로써 학습을 크게 가속화 할 수 있습니다.


해당 논문은 Adversarial modeling framework의 가능성을 보여주며, 이러한 연구 방향이 유효할 수 있다는 것을 증명하였습니다.




References


[1] Bastien, F., Lamblin, P., Pascanu, R., Bergstra, J., Goodfellow, I. J., Bergeron, A., Bouchard, N., and Bengio, Y. (2012).     Theano: new features and speed improvements. Deep Learning and Unsupervised Feature Learning NIPS 2012 Workshop.

[2] Bengio, Y. (2009). Learning deep architectures for AI. Now Publishers.

[3] Bengio, Y., Mesnil, G., Dauphin, Y., and Rifai, S. (2013a). Better mixing via deep representations. In ICML’13.

[4] Bengio, Y., Yao, L., Alain, G., and Vincent, P. (2013b). Generalized denoising auto-encoders as generative models. In     NIPS26. Nips Foundation.

[5] Bengio, Y., Thibodeau-Laufer, E., and Yosinski, J. (2014a). Deep generative stochastic networks trainable by backprop. In     ICML’14.

[6] Bengio, Y., Thibodeau-Laufer, E., Alain, G., and Yosinski, J. (2014b). Deep generative stochastic networks trainable by     backprop. In Proceedings of the 30th International Conference on Machine Learning (ICML’14).

[7] Bergstra, J., Breuleux, O., Bastien, F., Lamblin, P., Pascanu, R., Desjardins, G., Turian, J., Warde-Farley, D., and Bengio, Y.     (2010). Theano: a CPU and GPU math expression compiler. In Proceedings of the Python for Scientific Computing     Conference (SciPy). Oral Presentation.

[8] Breuleux, O., Bengio, Y., and Vincent, P. (2011). Quickly generating representative samples from an RBM-derived process.     Neural Computation, 23(8), 2053–2073.

[9] Glorot, X., Bordes, A., and Bengio, Y. (2011). Deep sparse rectifier neural networks. In AISTATS’2011.

[10] Goodfellow, I. J., Warde-Farley, D., Mirza, M., Courville, A., and Bengio, Y. (2013a). Maxout networks. In ICML’2013.

[11] Goodfellow, I. J., Mirza, M., Courville, A., and Bengio, Y. (2013b). Multi-prediction deep Boltzmann machines. In     NIPS’2013.

[12] Goodfellow, I. J., Warde-Farley, D., Lamblin, P., Dumoulin, V., Mirza, M., Pascanu, R., Bergstra, J., Bastien, F., and Bengio,     Y. (2013c). Pylearn2: a machine learning research library. arXiv preprint arXiv:1308.4214.

[13] Gutmann, M. and Hyvarinen, A. (2010). Noise-contrastive estimation: A new estimation principle for unnormalized     statistical models. In AISTATS’2010.

[14] Hinton, G., Deng, L., Dahl, G. E., Mohamed, A., Jaitly, N., Senior, A., Vanhoucke, V., Nguyen, P., Sainath, T., and     Kingsbury, B. (2012a). Deep neural networks for acoustic modeling in speech recognition. IEEE Signal Processing         Magazine, 29(6), 82–97.

[15] Hinton, G. E., Dayan, P., Frey, B. J., and Neal, R. M. (1995). The wake-sleep algorithm for unsupervised neural networks.     Science, 268, 1558–1161. 8[16] Hinton, G. E., Osindero, S., and Teh, Y. (2006). A fast learning algorithm for deep belief     nets. Neural Computation, 18, 1527–1554.

[17] Hinton, G. E., Srivastava, N., Krizhevsky, A., Sutskever, I., and Salakhutdinov, R. (2012b). Improving neural networks by     preventing co-adaptation of feature detectors. Technical report, arXiv:1207.0580.

[18] Hyvärinen, A. (2005). Estimation of non-normalized statistical models using score matching. J. Machine Learning Res., 6.

[19] Jarrett, K., Kavukcuoglu, K., Ranzato, M., and LeCun, Y. (2009). What is the best multi-stage architecture for object     recognition? In Proc. International Conference on Computer Vision (ICCV’09), pages 2146–2153. IEEE.

[20] Kingma, D. P. and Welling, M. (2014). Auto-encoding variational bayes. In Proceedings of the International Conference on     Learning Representations (ICLR).

[21] Krizhevsky, A. and Hinton, G. (2009). Learning multiple layers of features from tiny images. Technical report, University of     Toronto.

[22] Krizhevsky, A., Sutskever, I., and Hinton, G. (2012). ImageNet classification with deep convolutional neural networks. In     NIPS’2012.

[23] LeCun, Y., Bottou, L., Bengio, Y., and Haffner, P. (1998). Gradient-based learning applied to document recognition.     Proceedings of the IEEE, 86(11), 2278–2324.

[24] Rezende, D. J., Mohamed, S., and Wierstra, D. (2014). Stochastic backpropagation and approximate inference in deep     generative models. Technical report, arXiv:1401.4082.

[25] Rifai, S., Bengio, Y., Dauphin, Y., and Vincent, P. (2012). A generative process for sampling contractive auto-encoders. In     ICML’12.

[26] Salakhutdinov, R. and Hinton, G. E. (2009). Deep Boltzmann machines. In AISTATS’2009, pages 448–455.

[27] Smolensky, P. (1986). Information processing in dynamical systems: Foundations of harmony theory. In D. E. Rumelhart     and J. L. McClelland, editors, Parallel Distributed Processing, volume 1, chapter 6, pages 194–281. MIT Press, Cambridge.

[28] Susskind, J., Anderson, A., and Hinton, G. E. (2010). The Toronto face dataset. Technical Report UTML TR 2010-001, U.     Toronto.

[29] Tieleman, T. (2008). Training restricted Boltzmann machines using approximations to the likelihood gradient. In W. W.     Cohen, A. McCallum, and S. T. Roweis, editors, ICML 2008, pages 1064–1071. ACM.

[30] Vincent, P., Larochelle, H., Bengio, Y., and Manzagol, P.-A. (2008). Extracting and composing robust features with     denoising autoencoders. In ICML 2008.

[31] Younes, L. (1999). On the convergence of Markovian stochastic algorithms with rapidly decreasing ergodicity rates.     Stochastics and Stochastic Reports, 65(3), 177–228.