我们的工作通过利用以下观察,利用生成过程进行导数的反向传播:
lim σ → 0 ∇ x E ϵ ∼ N ( 0 , σ 2 I ) f ( x + ϵ ) = ∇ x f ( x ) \lim_{\sigma\rightarrow0}\nabla_{\pmb{x}}\mathbb{E}{\epsilon\sim\mathcal{N}(0,\sigma^{2}\pmb{I})}f(\pmb{x}+\epsilon)=\nabla{\pmb{x}}f(\pmb{x}) σ→0lim∇xEϵ∼N(0,σ2I)f(x+ϵ)=∇xf(x)
译者注:上述公式的意思是对 f f f的期望求导等价于对 f f f自己求导,这也是为什么作者会利用误差的反向传递对GAN进行求解
为了学习生成器的数据 x \pmb{x} x上的分布 p g p_g pg,我们在输入噪声变量 p z ( z ) p_z(z) pz(z)上定义一个先验,然后将映射的数据空间表示为 G ( z ; θ g ) G(z;\theta_g) G(z;θg),其中 G G G是一个由参数 θ g \theta_g θg表示的多层感知机的可微函数。
我们还定义了第二个多层感知机 D ( x ; θ d ) D(\pmb{x};\theta_d) D(x;θd),其输出一个标量。 D ( x ) D(\pmb{x}) D(x)代表了 x \pmb{x} x来自真实数据而不是生成分布 p g p_g pg的概率。
我们训练 D D D以最大化将正确标签分配给训练示例和来自 G G G的样本的概率。
我们同时训练 G G G以最小化 log ( 1 − D ( G ( z ) ) ) \log(1-D(G(z))) log(1−D(G(z)))。
译者注:可以对上述内容进行更生动的描述。
GAN的目的就是要得到最强大的判别器(D)和强大的生成器(G)
假如需要使用某种方法模仿某游戏渲染画面,比如要渲染出符合某分布的(比如角色阵亡时的)、 x x x个像素( x x x维)的画面 x \pmb{x} x,可以有两种方法:
只不过我不会知道那若干维的参数之中的每一个,最终对结果 x \pmb{x} x到底产生了怎样的影响,以及每个参数具体有什么含义而已。
整理一下。论文当中的各个变量可以作如下解释:
数据 x \pmb{x} x的分布规律 p g p_g pg,这是最终要得到的结果
生成器 G ( z ; θ g ) G(z;\theta_g) G(z;θg)
输入:取自随机噪声 p z ( z ) p_z(z) pz(z)的初始化数据 z z z
参数: θ g \theta_g θg
输出: x \pmb{x} x(如,上例中 x x x维的画面 x \pmb{x} x)
优秀的生成器 G G G,能够尽可能生成
更接近真实数据的 x \pmb{x} x
更接近真实分布的 p g p_g pg
判别器 D ( x ; θ d ) D(\pmb{x};\theta_d) D(x;θd)
输入: x \pmb{x} x
参数: θ d \theta_d θd
输出:一个标量,表示 x \pmb{x} x来自真实数据而非生成分布 p g p_g pg中取样的概率。
x \pmb{x} x越可能来自于真数据,输出 D ( x ) D(\pmb{x}) D(x)越接近 1 1 1
x \pmb{x} x越可能来自于生成器,输出 D ( x ) D(\pmb{x}) D(x)越接近 0 0 0
优秀的判别器 D D D,能够尽可能判断出
x \pmb{x} x的来源是生成器?
x \pmb{x} x的来源是真实分布的采样?
训练GAN就是要同时训练 G G G和 D D D,并期望都达到优秀标准。
为了训练出更好的 G G G,作者提出了一种衡量标准,即 log ( 1 − D ( G ( z ) ) ) \log(1-D(G(z))) log(1−D(G(z))),要求这个式子表达的内容尽可能小,下面我们仔细一下分析这个式子:
z z z表示初始化的随机输入
G ( z ) G(z) G(z)表示生成器生成的结果,期望这个结果更接近真实分布中的采样
即期望让生成器 G G G造出更"真"的假数据。
D ( G ( z ) ) D(G(z)) D(G(z))表示使用判别器 D D D判别生成器 G G G所生成的结果,期望这个结果更接近 1 1 1
即期望让判别器 D D D尽可能误以为结果 G ( z ) G(z) G(z)为来自真实分布的采样
只有当 D ( G ( z ) ) D(G(z)) D(G(z))越接近 1 1 1时, log ( 1 − D ( G ( z ) ) ) \log(1-D(G(z))) log(1−D(G(z)))才会越接近负无穷( − ∞ -\infty −∞)
这就是文中说的要"最小化 log ( 1 − D ( G ( z ) ) ) \log(1-D(G(z))) log(1−D(G(z)))"的原因
换句话说, D D D和 G G G玩以下两人极小极大游戏(two-player minimax game),价值函数为 V ( G , D ) V(G,D) V(G,D):
min G max D V ( D , G ) = E x ∼ p data ( x ) [ log D ( x ) ] + E z ∼ p z ( x ) [ log ( 1 − D ( G ( z ) ) ) ] (1) \mathop{\min}\limits_{G}\mathop{\max}\limits_{D}V(D,G)=\mathbb{E}{x\sim{p{\text{data}}(x)}}[\log D(x)]+\mathbb{E}{z\sim{p{z}(x)}}[\log(1 - D(G(z)))]\tag{1} GminDmaxV(D,G)=Ex∼pdata(x)[logD(x)]+Ez∼pz(x)[log(1−D(G(z)))](1)
译者注:式中不写 V ( G , D ) V(G,D) V(G,D)而写 V ( D , G ) V(D,G) V(D,G),应该是作者笔误。
E x ∼ p data ( x ) [ log D ( x ) ] \mathbb{E}{x\sim{p{\text{data}}(x)}}[\log D(x)] Ex∼pdata(x)[logD(x)]中的 x x x采样于真实值的分布
在判别器 D D D很完美的情况下,应该能识别得出所有 x x x都是来自于真实分布的采样
D ( x ) D(x) D(x)应该是趋向于 1 1 1的, log D ( x ) \log D(x) logD(x)就应该是趋向于 0 0 0的
那么该期望就应该是趋向于 0 0 0的
E z ∼ p z ( x ) [ log ( 1 − D ( G ( z ) ) ) ] \mathbb{E}{z\sim{p{z}(x)}}[\log(1 - D(G(z)))] Ez∼pz(x)[log(1−D(G(z)))]中的 z z z采样于随机噪声 p z ( z ) p_z(z) pz(z)
在生成器 G G G和判别器 D D D都很完美的情况下, D D D应该能识别得出所有 G ( z ) G(z) G(z)都是来自于生成器的结果
D ( G ( z ) ) D(G(z)) D(G(z))应该是趋向于 0 0 0的, log ( 1 − D ( G ( z ) ) ) \log(1-D(G(z))) log(1−D(G(z)))就应该也是趋向于 0 0 0的
那么该期望也应该是趋向于 0 0 0的
max D \mathop{\max}\limits_{D} Dmax表示期望使得 D D D尽量不犯错,即要最大化 D D D的值。
min G \mathop{\min}\limits_{G} Gmin表示期望 G G G能使 D D D尽量犯错,即要最小化 G G G的值。
在下一节中,我们将提供对抗网络的理论分析,本质上显示训练标准允许在给予 G G G和 D D D足够容量的情况下,即在非参数限制下,恢复数据生成分布。
在实践中,我们必须使用迭代数值方法来实现游戏。在训练的内部循环中完全优化 D D D在计算上是禁止的,并且在有限的数据集上可能会导致过拟合。相反,我们在优化 D D D的k个步骤和优化 G G G的一个步骤之间交替。只要 G G G的变化足够缓慢,就能使 D D D保持在其最佳解附近。该程序在算法1中正式呈现。
在实践中,等式1可能不提供足够的梯度供 G G G良好学习。在学习的早期阶段,当 G G G表现不佳时, D D D可以高度自信地拒绝样本,因为它们与训练数据明显不同。在这种情况下, log ( 1 − D ( G ( z ) ) ) \log(1 - D(G(z))) log(1−D(G(z)))会饱和。我们可以训练 G G G来最大化 log D ( G ( z ) ) \log D(G(z)) logD(G(z)),而不是训练 G G G来最小化 log ( 1 − D ( G ( z ) ) ) \log(1 - D(G(z))) log(1−D(G(z)))。这个目标函数导致 G G G和 D D D的动态相同的固定点,但在学习早期提供了更强的梯度。
4 理论结果
生成器 G G G隐式地定义了一个概率分布 p g p_g pg,当 z ∼ p z z \sim p_z z∼pz时,这个分布作为样本 G ( z ) G(z) G(z)的分布。因此,如果给定足够的容量和训练时间,我们希望算法1收敛到 p d a t a p_{data} pdata的一个良好估计器。本节的结果是在一个非参数设置中完成的,例如,我们通过研究概率密度函数空间中的收敛来表示具有无限容量的模型。
算法 1 用于GAN的小批量随机梯度下降训练。应用于判别器的步骤数, k k k,是一个超参数。在我们的实验中,我们使用了 k = 1 k = 1 k=1,这是最不昂贵的选项。
for number of training iterations do
for k steps do
从噪声先验 p g ( z ) p_g(z) pg(z)中抽样m个噪声样本 { z ( 1 ) , ... , z ( m ) } \{z^{(1)}, \ldots, z^{(m)}\} {z(1),...,z(m)}。
从数据生成分布 p d a t a ( x ) p_{data}(x) pdata(x)中抽样m个样本 { x ( 1 ) , ... , x ( m ) } \{x^{(1)}, \ldots, x^{(m)}\} {x(1),...,x(m)}。
通过提升其随机梯度来更新判别器:
∇ θ d 1 m ∑ i = 1 m [ log D ( x ( i ) ) + log ( 1 − D ( G ( z ( i ) ) ) ) ] \nabla \theta_d \frac{1}{m} \sum_{i=1}^{m} \left[ \log D \left( x^{(i)} \right) + \log \left( 1 - D \left( G \left( z^{(i)} \right) \right) \right) \right] ∇θdm1i=1∑m[logD(x(i))+log(1−D(G(z(i))))]
end for
从噪声先验 p g ( z ) p_g(z) pg(z)中抽样m个噪声样本 { z ( 1 ) , ... , z ( m ) } \{z^{(1)}, \ldots, z^{(m)}\} {z(1),...,z(m)}。
通过降低其随机梯度来更新生成器:
∇ θ g 1 m ∑ i = 1 m log ( 1 − D ( G ( z ( i ) ) ) ) \nabla \theta_g \frac{1}{m} \sum_{i=1}^{m} \log \left( 1 - D \left( G \left( z^{(i)} \right) \right) \right) ∇θgm1i=1∑mlog(1−D(G(z(i))))
end for
基于梯度的更新可以使用任何标准的基于梯度的学习规则。我们在我们的实验中使用了动量。
4.1 p g = p d a t a p_g = p_{data} pg=pdata的全局最优性
我们首先考虑任何给定生成器 G G G的最优判别器 D D D。
命题 1 对于固定的 G G G,最优判别器 D D D为
D G ∗ ( x ) = p d a t a ( x ) p d a t a ( x ) + p g ( x ) (2) D^*G(x) = \frac{p{data}(x)}{p_{data}(x) + p_g(x)} \tag{2} DG∗(x)=pdata(x)+pg(x)pdata(x)(2)
证明:给定任何生成器 G G G,判别器 D D D的训练标准是最大化量 V ( G , D ) V(G, D) V(G,D)
V ( G , D ) = ∫ x p d a t a ( x ) log ( D ( x ) ) d x + ∫ z p z ( z ) log ( 1 − D ( g ( z ) ) ) d z = ∫ x p d a t a ( x ) log ( D ( x ) ) + p g ( x ) log ( 1 − D ( x ) ) d x (3) \begin{align} V(G, D) & = \int_x p_{data}(x) \log(D(x))dx + \int_z p_z(z) \log(1 - D(g(z)))dz \\ & = \int_x p_{data}(x) \log(D(x)) + p_g(x) \log(1 - D(x))dx \end{align} \tag{3} V(G,D)=∫xpdata(x)log(D(x))dx+∫zpz(z)log(1−D(g(z)))dz=∫xpdata(x)log(D(x))+pg(x)log(1−D(x))dx(3)
对于任何 ( a , b ) ∈ R 2 ∖ { 0 , 0 } (a, b) \in \mathbb{R}^2 \setminus \{0, 0\} (a,b)∈R2∖{0,0},函数 y → a log ( y ) + b log ( 1 − y ) y \rightarrow a \log(y) + b \log(1 - y) y→alog(y)+blog(1−y) 在 [ 0 , 1 ] [0, 1] [0,1] 中达到其最大值,即 a a + b \frac{a}{a+b} a+ba。判别器不需要在 S u p p ( p d a t a ) ∪ S u p p ( p g ) Supp(p_{data}) \cup Supp(p_g) Supp(pdata)∪Supp(pg) 之外定义,从而得出证明。
请注意, D D D的训练目标可以解释为最大化对条件概率 P ( Y = y ∣ x ) P(Y = y|x) P(Y=y∣x)的对数似然估计,其中 Y Y Y表示 x x x是否来自 p d a t a p_{data} pdata(当 y = 1 y = 1 y=1时)或来自 p g p_g pg(当 y = 0 y = 0 y=0时)。现在,方程1中的极小极大游戏可以重新表述为:
C ( G ) = max D V ( G , D ) = E x ∼ p d a t a [ log D G ∗ ( x ) ] + E z ∼ p z [ log ( 1 − D G ∗ ( G ( z ) ) ) ] = E x ∼ p d a t a [ log D G ∗ ( x ) ] + E x ∼ p g [ log ( 1 − D G ∗ ( x ) ) ] = E x ∼ p d a t a [ log p d a t a ( x ) p d a t a ( x ) + p g ( x ) ] + E x ∼ p g [ log p g ( x ) p d a t a ( x ) + p g ( x ) ] (4) \begin{align} C(G) & = \max_{D} V (G, D) \\ & = \mathbb{E}{x\sim p{data}} [\log D^*{G}(x)] + \mathbb{E}{z\sim p_z} [\log(1 - D^*{G}(G(z)))] \\ & = \mathbb{E}{x\sim p_{data}} [\log D^*{G}(x)] + \mathbb{E}{x\sim p_g} [\log(1 - D^*{G}(x))] \\ & = \mathbb{E}{x\sim p_{data}} \left[ \log \frac{p_{data}(x)}{p_{data}(x) + p_g(x)} \right] + \mathbb{E}{x\sim p_g} \left[ \log \frac{p_g(x)}{p{data}(x) + p_g(x)} \right] \end{align} \tag{4} C(G)=DmaxV(G,D)=Ex∼pdata[logDG∗(x)]+Ez∼pz[log(1−DG∗(G(z)))]=Ex∼pdata[logDG∗(x)]+Ex∼pg[log(1−DG∗(x))]=Ex∼pdata[logpdata(x)+pg(x)pdata(x)]+Ex∼pg[logpdata(x)+pg(x)pg(x)](4)
定理 1 当且仅当 p g = p d a t a p_g = p_{data} pg=pdata 时,虚拟训练准则 C ( G ) C(G) C(G) 达到全局最小值。在那一点上, C ( G ) C(G) C(G) 达到值 − log 4 - \log 4 −log4。
证明:对于 p g = p d a t a p_g = p_{data} pg=pdata, D G ∗ ( x ) = 1 2 D^*_G(x) = \frac{1}{2} DG∗(x)=21(参考方程2)。因此,通过在 D G ∗ ( x ) = 1 2 D^*G(x) = \frac{1}{2} DG∗(x)=21 时检查方程4,我们发现 C ( G ) = log 1 2 + log 1 2 = − log 4 C(G) = \log \frac{1}{2} + \log \frac{1}{2} = - \log 4 C(G)=log21+log21=−log4。要看到这是 C ( G ) C(G) C(G) 的最佳可能值,只有在 p g = p d a t a p_g = p{data} pg=pdata 时才能达到,请注意
E x ∼ p d a t a [ − log 2 ] + E x ∼ p g [ − log 2 ] = − log 4 \mathbb{E}{x\sim p{data}} [- \log 2] + \mathbb{E}_{x\sim p_g} [- \log 2] = - \log 4 Ex∼pdata[−log2]+Ex∼pg[−log2]=−log4
并且通过从 C ( G ) = V ( D G ∗ , G ) C(G) = V (D^*_G, G) C(G)=V(DG∗,G) 中减去此表达式,我们得到:
C ( G ) = − log ( 4 ) + KL ( p d a t a | | p d a t a + p g 2 ) + KL ( p g | | p d a t a + p g 2 ) (5) C(G) = - \log(4) + \text{KL} \left( p_{data} \middle| \middle| \frac{p_{data} + p_g}{2} \right) + \text{KL} \left( p_g \middle| \middle| \frac{p_{data} + p_g}{2} \right) \tag{5} C(G)=−log(4)+KL(pdata 2pdata+pg)+KL(pg 2pdata+pg)(5)
C ( G ) = − log ( 4 ) + 2 ⋅ JSD ( p d a t a ∥ p g ) (6) C(G) = - \log(4) + 2 \cdot \text{JSD} (p_{data} \parallel p_g) \tag{6} C(G)=−log(4)+2⋅JSD(pdata∥pg)(6)
由于两个分布之间的 Jensen--Shannon 散度总是非负的,并且仅当它们相等时为零,我们已经证明了 C ∗ = − log ( 4 ) C^* = - \log(4) C∗=−log(4) 是 C ( G ) C(G) C(G) 的全局最小值,唯一的解是 p g = p d a t a p_g = p_{data} pg=pdata,即生成模型完美复制了数据生成过程。
4.2 算法1的收敛性
命题2 如果 G G G和 D D D有足够的容量,并且在算法1的每一步中,都允许鉴别器 D D D在给定 G G G的情况下达到其最优,并且 p g p_g pg被更新以改善准则
E x ∼ p d a t a [ log D G ∗ ( x ) ] + E x ∼ p g [ log ( 1 − D G ∗ ( G ( x ) ) ) ] \mathbb{E}{x\sim p{data}} [\log D^*{G}(x)] + \mathbb{E}{x\sim p_g} [\log(1 - D^*_{G}(G(x)))] Ex∼pdata[logDG∗(x)]+Ex∼pg[log(1−DG∗(G(x)))]
那么 p g p_g pg收敛于 p d a t a p_{data} pdata
证明:考虑 V ( G , D ) = U ( p g , D ) V(G, D) = U(p_g, D) V(G,D)=U(pg,D)作为 p g p_g pg的函数,如上述准则所做的那样。注意 U ( p g , D ) U(p_g, D) U(pg,D)在 p g p_g pg中是凸的。凸函数的最大值的次导数包括在最大值取得的点处的函数的导数。换句话说,如果 f ( x ) = sup α ∈ A f α ( x ) f(x) = \sup_{\alpha\in A} f_\alpha(x) f(x)=supα∈Afα(x)且 f α ( x ) f_\alpha(x) fα(x)对于每个 α \alpha α在 x x x中是凸的,那么 ∂ f β ( x ) ∈ ∂ f \partial f_\beta(x) \in \partial f ∂fβ(x)∈∂f如果 β = arg sup α ∈ A f α ( x ) \beta = \arg \sup_{\alpha\in A} f_\alpha(x) β=argsupα∈Afα(x)。这等效于在给定对应 G G G的最优 D D D的情况下计算 p g p_g pg的梯度下降更新。 sup D U ( p g , D ) \sup_D U(p_g, D) supDU(pg,D)在 p g p_g pg中是凸的,并且有一个唯一的全局最优值,如定理1所证明的那样,因此,通过对 p g p_g pg进行足够小的更新, p g p_g pg收敛于 p x p_x px,从而得出证明。
实际上,对抗网络通过函数 G ( z ; θ g ) G(z; \theta_g) G(z;θg)表示 p g p_g pg分布的有限族,并且我们优化 θ g \theta_g θg而不是 p g p_g pg本身。使用多层感知机定义 G G G会在参数空间中引入多个临界点。然而,多层感知机在实践中的出色性能表明,尽管缺乏理论保证,它们仍是合理的模型。
我们通过将高斯Parzen窗拟合到使用 G G G生成的样本,并报告在此分布下的对数似然来估计测试集数据在 p g pg pg下的概率。高斯的σ参数是通过对验证集进行交叉验证获得的。这个程序最初是在Breuleux等人的工作中[7]引入的,并被用于各种精确似然不可行的生成模型[24,3,4]。结果在表1中报告。这种估计似然的方法具有较高的方差,且在高维空间中表现不佳,但据我们所知,这是最好的可用方法。可以采样但无法直接估计似然的生成模型的进展激发了关于如何评估此类模型的进一步研究。
这个新框架相对于先前的建模框架具有优点和缺点。主要的缺点是没有对 p g ( x ) pg(x) pg(x) 的明确表示,以及训练过程中 D D D 必须与 G G G 很好地同步(特别是,不能在不更新 D D D 的情况下过度训练 G G G,以避免出现"Helvetica情景",其中 G G G 将太多的 z z z 值塌陷到相同的 x x x 值,从而没有足够的多样性来模拟 p d a t a p_data pdata),就像Boltzmann机器在学习步骤之间必须保持负链一样。优点是永远不需要Markov链,只使用反向传播来获得梯度,学习过程中不需要推理,而且可以将各种功能合并到模型中。表2总结了GAN与其他生成建模方法的比较。
通过将 c c c 作为 G G G 和 D D D 的输入,可以获得条件生成模型 p ( x ∣ c ) p(x | c) p(x∣c)。
通过训练一个辅助网络来预测给定 x x x 的 z z z,可以执行学习近似推断。这与 wake-sleep 算法[15]训练的推断网类似,但具有优势,即可以在生成网完成训练后针对固定的生成网训练推断网。
可以通过训练一组共享参数的条件模型,大致地对所有条件 p ( x S ∣ x S n o t ) p(x_S | x_{S_{not}}) p(xS∣xSnot) 进行建模,其中 S S S 是 x x x 的索引的子集。本质上,可以使用对抗网来实现确定性 MP-DBM [10]的随机扩展。
半监督学习:当只有有限的标记数据时,来自判别器或推断网络的特征可以提高分类器的性能。
效率改进:通过设计更好的方法来协调 G G G 和 D D D,或确定在训练期间从中采样 z z z 的更好分布,可以大大加速训练。
本文已经展示了对抗建模框架的可行性,表明这些研究方向可能是有用的。
致谢
我们要感谢 Patrice Marcotte、Olivier Delalleau、Kyunghyun Cho、Guillaume Alain 和 Jason Yosinski 为有益的讨论。Yann Dauphin 与我们分享了他的 Parzen 窗口评估代码。我们要感谢 Pylearn2 [11] 和 Theano [6,1] 的开发者,特别是 Frédéric Bastien,他特别为了支持这个项目匆忙推出了一个 Theano 功能。Arnaud Bergeron 在 LATEX 排版方面提供了急需的支持。我们还要感谢 CIFAR 和加拿大研究主席为资助,以及 Compute Canada 和 Calcul Québec 为提供计算资源。Ian Goodfellow 得到了 2013 年 Google Fellowship in Deep Learning 的支持。最后,我们要感谢 Les Trois Brasseurs 刺激了我们的创造力。
参考文献
Bastien, F., Lamblin, P., Pascanu, R., Bergstra, J., Goodfellow, I. J., Bergeron, A., Bouchard, N., and Bengio, Y. (2012). Theano: 新功能和速度改进。深度学习和无监督特征学习 NIPS 2012 工作坊。
Bengio, Y. (2009). 学习用于人工智能的深度结构。Now Publishers.
Bengio, Y., Mesnil, G., Dauphin, Y., and Rifai, S. (2013). 通过深度表示改进混合。在 ICML'13 上。
Bengio, Y., Thibodeau-Laufer, E., and Yosinski, J. (2014a). 通过反向传播训练的深度生成随机网络。在 ICML'14 上。
Bengio, Y., Thibodeau-Laufer, E., Alain, G., and Yosinski, J. (2014b). 通过反向传播训练的深度生成随机网络。在第30届国际机器学习大会 (ICML'14) 论文集上。
Bergstra, J., Breuleux, O., Bastien, F., Lamblin, P., Pascanu, R., Desjardins, G., Turian, J., Warde-Farley, D., and Bengio, Y. (2010). Theano: 一个 CPU 和 GPU 数学表达式编译器。在 Python科学计算会议 (SciPy) 论文集上。口头报告。
Breuleux, O., Bengio, Y., and Vincent, P. (2011). 从 RBM 衍生的过程中快速生成代表性样本。《神经计算》(Neural Computation),23(8),2053--2073。
Glorot, X., Bordes, A., and Bengio, Y. (2011). 深度稀疏整流器神经网络。在 AISTATS'2011 上。
Goodfellow, I. J., Warde-Farley, D., Mirza, M., Courville, A., and Bengio, Y. (2013a). 最大输出网络。在 ICML'2013 上。
Goodfellow, I. J., Mirza, M., Courville, A., and Bengio, Y. (2013b). 多预测深度 Boltzmann 机。在 NIPS'2013 上。
Goodfellow, I. J., Warde-Farley, D., Lamblin, P., Dumoulin, V., Mirza, M., Pascanu, R., Bergstra, J., Bastien, F., and Bengio, Y. (2013c). Pylearn2: 一个机器学习研究库。arXiv预印本,编号:arXiv:1308.4214。
Gregor, K., Danihelka, I., Mnih, A., Blundell, C., and Wierstra, D. (2014). 深度自回归网络。在 ICML'2014 上。
Gutmann, M. and Hyvarinen, A. (2010). 噪声对比估计:一种新的非规范化统计模型估计方法。在第十三届国际人工智能和统计学会议 (AISTATS'10) 上。
Hinton, G., Deng, L., Dahl, G. E., Mohamed, A., Jaitly, N., Senior, A., Vanhoucke, V., Nguyen, P., Sainath, T., and Kingsbury, B. (2012a). 语音识别中的深度神经网络。《IEEE信号处理杂志》(IEEE Signal Processing Magazine),29(6),82--97。
Hinton, G. E., Dayan, P., Frey, B. J., and Neal, R. M. (1995). 无监督神经网络的唤醒-睡眠算法。《科学》(Science),268,1558--1161。
Hinton, G. E., Srivastava, N., Krizhevsky, A., Sutskever, I., and Salakhutdinov, R. (2012b). 通过防止特征检测器的共适应来改进神经网络。技术报告,编号:arXiv:1207.0580。
Jarrett, K., Kavukcuoglu, K., Ranzato, M., and LeCun, Y. (2009). 对象识别的最佳多级架构是什么?在国际计算机视觉大会 (ICCV'09) 论文集上,页码:2146--2153。IEEE。
Kingma, D. P. and Welling, M. (2014). 自编码变分贝叶斯。在国际学习表示会议 (ICLR) 论文集上。
Krizhevsky, A. and Hinton, G. (2009). 从小图像中学习多层特征。技术报告,多伦多大学。
Krizhevsky, A., Sutskever, I., and Hinton, G. (2012). 使用深度卷积神经网络的ImageNet分类。在 NIPS'2012 上。
LeCun, Y., Bottou, L., Bengio, Y., and Haffner, P. (1998). 基于梯度的文档识别。《IEEE会议录》(Proceedings of the IEEE),86(11),2278--2324。
Mnih, A. and Gregor, K. (2014). 信念网络的神经变分推理和学习。技术报告,编号:arXiv:1402.0030。
Rezende, D. J., Mohamed, S., and Wierstra, D. (2014). 深度生成模型中的随机反向传播和近似推断。技术报告,编号:arXiv:1401.4082。
Rifai, S., Bengio, Y., Dauphin, Y., and Vincent, P. (2012). 一种用于采样收缩自编码器的生成过程。在 ICML'12 上。
Salakhutdinov, R. and Hinton, G. E. (2009). 深度 Boltzmann 机。在 AISTATS'2009 上,页码:448-455。
Schmidhuber, J. (1992). 通过可预测性最小化学习因子码。《神经计算》(Neural Computation),4(6),863--879。
Susskind, J., Anderson, A., and Hinton, G. E. (2010). 多伦多面部数据集。《多伦多大学》技术报告,编号:UTML TR 2010-001。
Szegedy, C., Zaremba, W., Sutskever, I., Bruna, J., Erhan, D., Goodfellow, I. J., and Fergus, R. (2014). 神经网络的奇异性质。ICLR,编号:abs/1312.6199。
Tu, Z. (2007). 通过判别方法学习生成模型。在计算机视觉和模式识别,2007年。CVPR'07。IEEE国际会议上,页码:1--8。IEEE。
References
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.
Bengio, Y. (2009). Learning deep architectures for AI. Now Publishers.
Bengio, Y., Mesnil, G., Dauphin, Y., and Rifai, S. (2013). Better mixing via deep representations. In ICML'13.
Bengio, Y., Thibodeau-Laufer, E., and Yosinski, J. (2014a). Deep generative stochastic networks trainable by backprop. In ICML'14.
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).
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.
Breuleux, O., Bengio, Y., and Vincent, P. (2011). Quickly generating representative samples from an RBM-derived process. Neural Computation, 23(8), 2053--2073.
Glorot, X., Bordes, A., and Bengio, Y. (2011). Deep sparse rectifier neural networks. In AISTATS'2011.
Goodfellow, I. J., Warde-Farley, D., Mirza, M., Courville, A., and Bengio, Y. (2013a). Maxout networks. In ICML'2013.
Goodfellow, I. J., Mirza, M., Courville, A., and Bengio, Y. (2013b). Multi-prediction deep Boltzmann machines. In NIPS'2013.
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.
Gregor, K., Danihelka, I., Mnih, A., Blundell, C., and Wierstra, D. (2014). Deep autoregressive networks. In ICML'2014.
Gutmann, M. and Hyvarinen, A. (2010). Noise-contrastive estimation: A new estimation principle for unnormalized statistical models. In Proceedings of The Thirteenth International Conference on Artificial Intelligence and Statistics (AISTATS'10).
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.
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.
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.
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.
Kingma, D. P. and Welling, M. (2014). Auto-encoding variational bayes. In Proceedings of the International Conference on Learning Representations (ICLR).
Krizhevsky, A. and Hinton, G. (2009). Learning multiple layers of features from tiny images. Technical report, University of Toronto.
Krizhevsky, A., Sutskever, I., and Hinton, G. (2012). ImageNet classification with deep convolutional neural networks. In NIPS'2012.
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.
Mnih, A. and Gregor, K. (2014). Neural variational inference and learning in belief networks. Technical report, arXiv preprint arXiv:1402.0030.
Rezende, D. J., Mohamed, S., and Wierstra, D. (2014). Stochastic backpropagation and approximate inference in deep generative models. Technical report, arXiv:1401.4082.
Rifai, S., Bengio, Y., Dauphin, Y., and Vincent, P. (2012). A generative process for sampling contractive auto-encoders. In ICML'12.
Salakhutdinov, R. and Hinton, G. E. (2009). Deep Boltzmann machines. In AISTATS'2009, pages 448455.
Schmidhuber, J. (1992). Learning factorial codes by predictability minimization. Neural Computation, 4(6), 863--879.
Susskind, J., Anderson, A., and Hinton, G. E. (2010). The Toronto face dataset. Technical Report UTML TR 2010-001, U. Toronto.
Szegedy, C., Zaremba, W., Sutskever, I., Bruna, J., Erhan, D., Goodfellow, I. J., and Fergus, R. (2014). Intriguing properties of neural networks. ICLR, abs/1312.6199.
er, J. (1992). Learning factorial codes by predictability minimization. Neural Computation, 4(6), 863--879.
Susskind, J., Anderson, A., and Hinton, G. E. (2010). The Toronto face dataset. Technical Report UTML TR 2010-001, U. Toronto.
Szegedy, C., Zaremba, W., Sutskever, I., Bruna, J., Erhan, D., Goodfellow, I. J., and Fergus, R. (2014). Intriguing properties of neural networks. ICLR, abs/1312.6199.
Tu, Z. (2007). Learning generative models via discriminative approaches. In Computer Vision and Pattern Recognition, 2007. CVPR'07. IEEE Conference on, pages 1--8. IEEE.