去噪自动编码机(Denoising Autoencoder)
- 自动编码机的主要作用是数据降维,提取特征。 原始输入
x
经过加权
(W,b) ,映射函数(如:非线性函数Sigmoid)之后得到 y ,在对y 反向加权映射回来成为 z 。通过反复迭代两组(W,b) ,使得误差函数最小,即尽可能保证 z 近似于x ,即完美重构了 x .自动编码器,它没有使用数据标签来计算误差update参数,所以是无监督学习。其次,利用类似神经网络的双隐层的方式,简单粗暴地提取了样本的特征。Vincent在2010年的论文中做了研究,发现只要单组W 就可以了。 我们在训练 W′ 过程中, W′=WT , W和W′ 成为Tied Weights. 实验证明 W′ 没必要去训练. - 降噪自动编码器(Denoising Autoencoder). Vincent在2008年的论文中提出了AutoEncoder的改良版——dA。论文的标题叫 “Extracting and composing robust features with denoising autoencoders”。就是以一定概率分布(通常使用二项分布)去擦除原始输入矩阵,即每个值都随机置
0
, 这样看起来部分数据的部分特征是丢失了。以这丢失的数据
x′ 去计算 y ,计算z ,并将 z 与原始x 做误差迭代,这样,网络就学习了这个破损(原文叫Corruputed)的数据。这个破损的数据是很有用的,原因有二:其之一,通过与非破损数据训练的对比,破损数据训练出来的Weight噪声比较小。降噪因此得名。原因不难理解,因为擦除的时候不小心把输入噪声给擦掉了。其之二,破损数据一定程度上减轻了训练数据与测试数据的代沟。由于数据的部分被擦掉了,因而这破损数据, 一定程度上比较接近测试数据。(训练、测试肯定有同有异,当然我们要求同舍异)。这样训练出来的Weight的鲁棒性就提高了.破损的数据相当于一个简化的PCA,把特征做一个简单的降维预提取。