这是一篇发表于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

最新文章

  1. RabbitMQ + PHP (一)入门与安装
  2. [JSOI2008]完美的对称 题解
  3. 背水一战 Windows 10 (26) - XAML: x:DeferLoadStrategy, x:Null
  4. OC基础--Property
  5. linux rpm命令
  6. Robot Framework安装配置 Linux
  7. 从ASM迁移到ARM(1):平台支持的迁移服务
  8. ubuntu下无法打开windows下ntfs文件系统的解决方法
  9. 浙大pat 1035题解
  10. 《JavaScript高级程序设计》读书笔记 ---函数
  11. CSS开发框架技术OOCSS编写和管理CSS的方法
  12. Little Sub and Isomorphism Sequences ZOJ - 4089
  13. java框架之SpringBoot(16)-分布式及整合Dubbo
  14. Consul vs. Zookeeper
  15. pycharm结合coding.net使用
  16. [vue]vue-cli下载原理
  17. NLP语料库
  18. linux常用命令:sort 命令
  19. jmeter ---模拟发送TCP/UDP/HTTP/FTP等请求包
  20. 向oracle中的表插入数据的方法

热门文章

  1. WCF入门学习2-控制台做为宿主
  2. tornado cookie安全性
  3. ny269 VF
  4. AngularJS官网seed目录结构
  5. CSS content换行技术实现字符animation loading效果
  6. 多重连接的数据库管理工具:Navicat Premium
  7. LTDC/DMA2D—液晶显示
  8. 教程-Delphi中比较两个对象是否一致及地址是否相同
  9. Springmvc mvc:exclude-mapping不拦截 无效
  10. CentOS更新163 yum源