乐读窝

深度学习

乐读窝 > 文学理论 > 深度学习

14.4 随机编码器和解码器

书籍名:《深度学习》    作者:伊恩.古德费洛



自编码器本质上是一个前馈网络,可以使用与传统前馈网络相同的损失函数和输出单元。

如第6.2.2.4节中描述,设计前馈网络的输出单元和损失函数普遍策略是定义一个输出分布p(y|x)并最小化负对数似然−log  p(y|x)。在这种情况下,y是关于目标的向量(如类标)。

在自编码器中,x既是输入也是目标。然而,我们仍然可以使用与之前相同的架构。给定一个隐藏编码h,我们可以认为解码器提供了一个条件分布pmodel(x|h)。接着我们根据最小化−log  pdecoder(x|h)来训练自编码器。损失函数的具体形式视pdecoder的形式而定。就传统的前馈网络来说,如果x是实值的,那么我们通常使用线性输出单元参数化高斯分布的均值。在这种情况下,负对数似然对应均方误差准则。类似地,二值x对应于一个Bernoulli分布,其参数由sigmoid输出单元确定的。而离散的x对应softmax分布,以此类推。在给定h的情况下,为了便于计算概率分布,输出变量通常被视为条件独立的,但一些技术(如混合密度输出)可以解决输出相关的建模。

为了更彻底地与我们之前了解到的前馈网络相区别,我们也可以将编码函数(encoding  function)f(x)的概念推广为编码分布(encoding  distribution)pencoder(h|x),如图14.2所示。

任何潜变量模型pmodel(h,x)定义一个随机编码器

以及一个随机解码器

图14.2 随机自编码器的结构,其中编码器和解码器包括一些噪声注入,而不是简单的函数。这意味着可以将它们的输出视为来自分布的采样(对于编码器是pencoder(h|x),对于解码器是pdecoder(x|h))

通常情况下,编码器和解码器的分布没有必要是与唯一一个联合分布pmodel(x,h)相容的条件分布。Alain  et  al.(2015)指出,在保证足够的容量和样本的情况下,将编码器和解码器作为去噪自编码器训练,能使它们渐近地相容。