码迷,mamicode.com
首页 > 其他好文 > 详细

深度学习AE与DAE

时间:2020-08-28 14:36:04      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:ica   paper   ext   概率   font   没有   标准   参数   image   

AutoEncoder

这是一种非监督学习方式,主要用于数据的降维或者特征的抽取。

Autoencoder 实际上跟普通的神经网络没有什么本质的区别,分为输入层,隐藏层和输出层。

 技术图片

autoencoder的意义在于学习的(通常是节点数更少的)中间coder层(最中间的那一层),这一层是输入向量的良好表示。这个过程起到了“降维”的作用。

当autoencoder只有一个隐含层的时候,其原理相当于主成分分析(PCA)

当autoencoder有多个隐含层的时候,每两层之间可以用RBM来pre-training,最后由BP来调整最终权值

denoising autoencoder是autoencoder的一个变种,与autoencoder不同的是,denoising autoencoder在输入的过程中加入了噪声信息,从而让autoencoder能够学习这种噪声。

denoising autoencoder与RBM非常像:

(1)参数一样:隐含层偏置、显示层偏置、网络权重

(2)作用一样:压缩输入

(3)过程类似:都有reconstruct,并且都是reconstruct与input的差别,越小越好

 denoising autoencoder与RBM的区别:

背后原理就不说了哈(RBM是能量函数),区别在于训练准则。RBM是隐含层“产生”显示层的概率(通常用log表示),denoising autoencoder是输入分布与reconstruct分布的KL距离。所用的训练方法,前者是CD-k,后者是梯度下降。

 再补充一下,RBM固定只有两层;autoencoder,可以有多层,并且这些多层网络可以由标准的bp算法来更新网络权重和偏置,与标准神经网络不同的是,autoencoder的输入层和最终的输出层是“同一层”,不仅仅是节点数目、输出相同,而是完完全全的“同一层”,这也会影响到这一层相关的权值更新方式。总之,输入与输出是同一层,在此基础上,再由输入与输出的差别构造准则函数,再求各个参数的偏导数,再用bp方式更新各个权重......

降噪自动编码器(Denoising Autoencoder)

Vincent在2008年的论文中提出了AutoEncoder的改良版——dA。推荐首先去看这篇paper。

论文的标题叫 "Extracting and Composing Robust Features",译成中文就是"提取、编码出具有鲁棒性的特征"

怎么才能使特征很鲁棒呢?就是以一定概率分布(通常使用二项分布)去擦除原始input矩阵,即每个值都随机置0,  这样看起来部分数据的部分特征是丢失了。

以这丢失的数据x‘去计算y,计算z,并将z与原始x做误差迭代,这样,网络就学习了这个破损(原文叫Corruputed)的数据。

这个破损的数据是很有用的,原因有二:

其之一,降噪

原因不难理解,因为擦除的时候不小心把输入噪声给×掉了。

其之二,破损数据一定程度上增加泛化性能。由于数据的部分被擦掉了,因而这破损数据

一定程度上比较接近测试数据。(训练、测试肯定有同有异,当然我们要求同舍异)。




深度学习AE与DAE

标签:ica   paper   ext   概率   font   没有   标准   参数   image   

原文地址:https://www.cnblogs.com/songsj/p/13551358.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!