趋近智
尽管具有单个隐藏层的基本自编码器可以有效地学习更简单数据集的压缩表示,但在处理更复杂的数据结构时,它们往往显得不足。正如监督学习中的深度神经网络可以通过堆叠层来模拟更复杂的功能一样,我们也可以通过增加自编码器的层数来构建更强大的自编码器。这就引出了堆叠式自编码器,也称为深度自编码器。
堆叠式自编码器本质上是一种自编码器,其编码器和解码器部分都包含多个隐藏层。数据不再是单一地从输入到潜在空间再返回的转换,而是经历了一系列转换。
堆叠式自编码器的编码器部分通常由多个层组成,这些层逐步降低输入的维度。每一层都学习将其输入转换为更抽象且通常更压缩的表示。 瓶颈层仍是中心的、最压缩的层,包含最终的潜在表示。 解码器部分则镜像编码器,包含多个层,这些层逐步从潜在表示中重构数据,恢复到其原始维度。
构建更深自编码器的主要原因是它们学习分层特征的能力。这意味着网络中不同的层学习不同抽象程度的特征。
以图像数据为例:
这种分层学习过程使堆叠式自编码器能够捕获数据中复杂的结构和依赖关系,从而产生比浅层自编码器所获得的更丰富且通常更有用的特征表示。
典型的堆叠式自编码器可能具有这样一种架构:编码器中每层的神经元数量递减,而解码器中每层的神经元数量递增。例如,如果输入有784个维度,一个堆叠式自编码器可能有一个编码器结构,如784 -> 256 -> 128 -> 64(潜在空间),以及一个对称的解码器结构,如64 -> 128 -> 256 -> 784。
一张堆叠式自编码器的图表,其中编码器和解码器各有两个隐藏层,说明了数据流和逐步变换过程。
图中的每个“变换”都代表一个层的操作,通常是仿射变换后接非线性激活函数。解码器层通常旨在逆转其对应编码器层的变换。
堆叠式自编码器可以像任何其他深度神经网络一样,通过最小化输入和输出之间的重构损失来进行端到端的训练。标准的反向传播和优化算法(如Adam或SGD)用于此目的。
然而,从零开始训练深度自编码器有时会遇到挑战,例如梯度消失或梯度爆炸问题,特别是当网络非常深或未仔细初始化时。另一种具有历史意义的方法是贪婪逐层训练,我们将在下一节中更详细地讨论它。此方法涉及顺序训练每个层(或一对编码器-解码器层)。
优势:
考量:
通过理解如何构建和训练这些深度架构,您可以提升更强大的特征提取能力。在后续章节中,我们将考察训练和优化这些模型的特定技术。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造