趋近智
我们已经了解了编码器如何工作来压缩数据,以及解码器如何试图重建数据。现在,我们来把这两部分联系起来,考察自编码器的初始输入和最终输出之间的关系。这对于弄清自编码器实际学到了什么非常重要。
数据通过标准自编码器的整个过程如下:
自编码器的主要目标是使其重建输出 X′ 尽可能与原始输入 X 相似。简单来说,我们希望 X′≈X。
你可能会疑惑,如果目标是让 X′ 像 X,为什么不直接做个完美复制呢?答案在于瓶颈。因为瓶颈层的维度(或神经元)少于输入(和输出)层,自编码器被迫学习输入数据的压缩摘要。它不能简单地记住所有细节。相反,它必须学会优先处理并捕获数据中最重要的特征,以便能够合理地重建它。
这种压缩和随后的重建过程意味着 X′ 很少会与 X 达到绝对完美的像素级(或值对值)匹配,特别是当瓶颈显著更小时。一些信息在压缩过程中不可避免地会丢失。然而,这是有意为之的。通过强制网络使用压缩表示进行工作,我们鼓励它学习有意义的底层模式,而不是仅仅进行简单的复制粘贴操作。
一个重要的架构细节是,输入层的维度必须与输出层的维度匹配。如果你的输入数据是28x28像素的图像(展平后为784个值),那么你的输入层将有784个单元。相应地,产生重建图像 X′ 的输出层也必须有784个单元。自编码器学习:
解码器的结构,特别是其最终输出层,旨在以与输入相同的格式生成数据。
自编码器通过尝试最小化原始输入 X 和其重建输出 X′ 之间的差异,即重建误差来学习。可以把这个误差看作是 X 和 X′ 之间“距离”的衡量。误差越小,重建效果越好。
有不同的方法来计算这个误差,它们被称为损失函数。例如:
我们将在下一章详细讨论损失函数和训练过程。目前,需要理解的是,自编码器在训练期间调整其内部参数(权重和偏差),以使这个重建误差尽可能小。
下图说明了数据流以及使输出与输入匹配的目标:
数据从输入 X 流出,经编码器压缩为 z,然后由解码器重建为 X′。自编码器的训练旨在最小化 X 和 X′ 之间的差异。
如果自编码器能够成功地将 X′ 重建得与 X 非常相似,即使数据经过了受限的瓶颈 z,这也表明 z 必定捕获了输入数据中最突出、有用和有区分度的特征。这种学习有效表示的能力使得自编码器在特征学习和降维等任务中很有用处,我们将在后续内容中继续考察。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造