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)指出,在保证足够的容量和样本的情况下,将编码器和解码器作为去噪自编码器训练,能使它们渐近地相容。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论