在深度学习的浩瀚星空中,自编码器( Autoencoder \text{Autoencoder} Autoencoder)以其独特的魅力闪耀着光芒。作为一种无监督学习技术,自编码器通过构建输入数据的压缩表示(编码)及其重构(解码)过程,不仅实现了数据的有效降维,还促进了数据特征的深层次提取。其核心思想在于,通过神经网络学习一个从输入到隐层(编码)再到输出(解码)的非线性映射,使得输出能够尽可能复现原始输入,同时隐层编码作为输入数据的低维表示,蕴含了数据的核心信息。这一过程不仅有助于去除数据中的冗余和噪声,还为后续的数据分析、模式识别等任务提供了更为精炼和有效的特征集。
图例1
展示了这种架构。如果一个自编码器学会简单地设置
g
(
f
(
x
)
)
=
x
g(f(\boldsymbol{x}))=\boldsymbol{x}
g(f(x))=x,那么这个自编码器就不会特别有用。前馈网络
的一种特殊情况,并且可以使用完全相同的技术进行训练,通常使用
minibatch
‾
\underline{\text{minibatch}}
minibatch梯度下降法(基于反向传播计算的梯度)。前馈网络
,自编码器也可以使用再循环 (
recirculation
\text{recirculation}
recirculation) 训练 (
Hinton and McClelland, 1988
\text{Hinton and McClelland, 1988}
Hinton and McClelland, 1988),这是一种基于比较原始输入和重构输入激活的学习算法。自编码器的一般结构
说明:
应用数学与机器学习基础 - 数值计算篇 - 基于梯度的优化方法
梯度下降介绍 - minibatch梯度下降法
深度网络现代实践 - 深度前馈网络介绍篇
深度网络现代实践 - 深度前馈网络之反向传播和其他的微分算法篇