Autoencoder
autoencoder是一种无监督的学习算法,主要用于数据的降维或者特征的抽取,在深度学习中,autoencoder可用于在训练阶段开始前,确定权重矩阵WW的初始值。
神经网络中的权重矩阵WW可看作是对输入的数据进行特征转换,即先将数据编码为另一种形式,然后在此基础上进行一系列学习。然而,在对权重初始化时,我们并不知道初始的权重值在训练时会起到怎样的作用,也不知道在训练过程中权重会怎样的变化。因此一种较好的思路是,利用初始化生成的权重矩阵进行编码时,我们希望编码后的数据能够较好的保留原始数据的主要特征。那么,如何衡量码后的数据是否保留了较完整的信息呢?答案是:如果编码后的数据能够较为容易地通过解码恢复成原始数据,我们则认为WW较好的保留了数据信息。
例如下图所示,将手写数字图片进行编码,编码后生成的 ϕ1ϕ1, ϕ2ϕ2, ϕ3ϕ3, ϕ4ϕ4, ϕ5ϕ5, ϕ6ϕ6 较完整的保留了原始图像的典型特征,因此可较容易地通过解码恢复出原始图像。
autoencoder通过神经网络进行预训练,从而确定WW的初始值。其目标是让输入值等于输出值。如下图所示:首先用WW对输入进行编码,经过激活函数后,再用WTWT进行解码,从而使得h(x)≈xh(x)≈x。该过程可以看作是对输入数据的压缩编码,将高维的原始数据用低维的向量表示,使压缩后的低维向量能保留输入数据的典型特征,从而能够较为方便的恢复原始数据。需要