这是一篇发表于2008年初的论文。

文章主要讲了利用 denosing autoencoder来学习 robust的中间特征。。进上步,说明,利用这个方法,可以初始化神经网络的权值。。这就相当于一种非监督学习的方法来训练神经网络。

当我们在用神经网络解决各种识别任务时,如果我们想要网络的性能更好,就需要更深层或更wider的神经网络来建模,Model出更复杂的分布。  网络变深以后,如何训练是一个很重要问题,如果训练不好,深层网络的性能真的不如浅层的神经网络。。

在训练深层网络的解决方法的道路上,已有的方法:

1.随机初始化权值, 不过这样的效果很不好,网络很容易 stuck in poor solutions

2. 利用stacking的受限的波尔兹曼机预训练网络,然后再fine-tune with UP-down。

3. 使用stacking的 自动编码器初始化网络权值,然后再进行fine-tune with gradient descent.

方法3中的基本的autoencoder的图是这样的:

现在的问题是:我们能不能改进一下它呢??让它学习到的中间特征更具有代表性?(即可以学习到对输入不变的中间特征)。

下图为文中提出的降噪编码器。。它的主要思想为:给定一个输入 X,首先进行一定的destroy,得到corrupted的 -X,然后利用它学习到中间特征来reconstruct 输入。

改进的 denosing autoencoder

然后,我们就可以利用它逐层来训练网络的初始权值了。

具体过程

1.训练第一层的权值:给定输入X,加噪得到-X, 然后利用这个autoencoder得到了第一层的权值;

2.训练第二层的权值:  固定第一层的权值,然后给定输入X得到了第一层的输出Y,然后把这个Y当作为降噪编码器的原始的输入,然后在Y的基础上加噪,得到了-Y,然后利用autoencoder得到了第二层的初始权值;

3.训练第三层的权值:固定前两层的权值,然后给定输入X,得到了第二层的输出Z,然后把这个Z当作为降噪编码器的原始的输入,在Z的基本加噪,………………,得到了第三层的初始权值;

等等……

这变样,把整个网络的初始权值训练完毕了。

有一个注意的地方就是:我们在训练后面几层的权值时,我们的输入X是不加噪声的,我们只是把前一层的输出作为降噪编码器的原始输入,在它的基础上加上噪声的;这个别错了;

文中给出了从不同的角度来说明了降噪编码器。

包括:什么流形啊、什么信息论、生成模型等等相关的东西,我看了一遍,也没有怎么看明白,需要很深的数学知识、统计知识啊,所以没有深入去看了;

文中通过试验,证明了它的有效性;

另外,文中的参考文献很有价值的;

参考:Extracting and composing robust features with denosing autoencoders 论文;

Extracting and composing robust features with denosing autoencoders 的对应的PPT

Extracting and composing robust features with denosing autoencoders 论文的更多相关文章

  1. 论文笔记(3)-Extracting and Composing Robust Features with Denoising Autoencoders

    这篇文章是Bengio研究的在传统的autoencoder基础上增加了噪声参数,也就是说在输入X的时候,并不直接用X的数据,而是按照一定的概率来清空输入为0.paper中的名词为corrupted.这 ...

  2. 【DeepLearning】Exercise:Learning color features with Sparse Autoencoders

    Exercise:Learning color features with Sparse Autoencoders 习题链接:Exercise:Learning color features with ...

  3. Computer Vision_33_SIFT:Speeded-Up Robust Features (SURF)——2006

    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...

  4. Spark特征(提取,转换,选择)extracting, transforming and selecting features

    VectorAssembler字段转换成特征向量 import org.apache.spark.ml.feature.VectorAssembler val colArray = Array(&qu ...

  5. 【Discriminative Localization】Learning Deep Features for Discriminative Localization 论文解析(转)

    文章翻译: 翻译 以下文章来源: 链接

  6. A Statistical View of Deep Learning (II): Auto-encoders and Free Energy

    A Statistical View of Deep Learning (II): Auto-encoders and Free Energy With the success of discrimi ...

  7. 基于theano的降噪自动编码器(Denoising Autoencoders--DA)

    1.自动编码器 自动编码器首先通过下面的映射,把输入 $x\in[0,1]^{d}$映射到一个隐层 $y\in[0,1]^{d^{'}}$(编码器): $y=s(Wx+b)$ 其中 $s$ 是非线性的 ...

  8. (转)The Neural Network Zoo

    转自:http://www.asimovinstitute.org/neural-network-zoo/ THE NEURAL NETWORK ZOO POSTED ON SEPTEMBER 14, ...

  9. Deep learning:四十二(Denoise Autoencoder简单理解)

    前言: 当采用无监督的方法分层预训练深度网络的权值时,为了学习到较鲁棒的特征,可以在网络的可视层(即数据的输入层)引入随机噪声,这种方法称为Denoise Autoencoder(简称dAE),由Be ...

随机推荐

  1. python解压压缩包的几种方法

    这里讨论使用Python解压例如以下五种压缩文件: .gz .tar  .tgz .zip .rar 简单介绍 gz: 即gzip.通常仅仅能压缩一个文件.与tar结合起来就能够实现先打包,再压缩. ...

  2. java web中请求和响应中包含中文出现乱码解析

    说明:在计算机中保存的一切文本信息是以一定的编码表(0,1,0,1)来保存我们所认识的字符(汉字或英文字符),由字符到计算机存储的二进制过程是编码,由读取二进制到文本的过程称为解码.而字符编码有多种不 ...

  3. ecshop中ajax的调用

    1.首先ecshop是如何定义ajax对象的. ecshop中的ajax对象是在js/transport.js文件中定义的.里面是ajax对象文件.声明了一个var Ajax = Transport; ...

  4. PS图像菜单下计算命令

    PS图像菜单下计算命令通过通道的混合模式得到的选区非常精细,从而调色的时候过度非常好.功能十分强大.   下面用计算命令中的"相加"和"减去"模式做实例解析,这 ...

  5. Python学习笔记11:标准库之文件管理(os包,shutil包)

    1 os包 os包包含各种各样的函数,以实现操作系统的很多功能.这个包很庞杂.os包的一些命令就是用于文件管理. 我们这里列出最经常使用的: mkdir(path) 创建新文件夹.path为一个字符串 ...

  6. UNIX环境高级编程(第三版)关于apue.h的用法

    UNIX环境高级编程(第三版)中的例子用到apue.h这个头文件,但是书里面写的地址已经不能访问. 经过一番查找之后,找到如下解决方案: 1.到www.apuebook.com上下载第2版的源码,也可 ...

  7. IAsyncResult 接口

    IAsyncResult 接口由包含可异步操作的方法的类实现.它是启动异步操作的方法的返回类型,如 FileStream.BeginRead,也是结束异步操作的方法的第三个参数的类型,如 FileSt ...

  8. 使用python的email、smtplib、poplib模块收发邮件

    使用python的email.smtplib.poplib模块收发邮件 一封电子邮件的旅程是: MUA:Mail User Agent——邮件用户代理.(即类似Outlook的电子邮件软件) MTA: ...

  9. Spark参数配置

    转自:http://hadoop1989.com/2015/10/08/Spark-Configuration/ 一.Spark参数设置 二.查看Spark参数设置 三.Spark参数分类 四.Spa ...

  10. 快速了解Log4J

    http://liuzhijun.iteye.com/blog/1746571 ******************** Log4J的三个组件: Logger:日志记录器,负责收集处理日志记录     ...