#Deep Learning回顾#之2006年的Science Paper
大家都清楚神经网络在上个世纪七八十年代是着实火过一回的,尤其是后向传播BP算法出来之后,但90年代后被SVM之类抢了风头,再后来大家更熟悉的是SVM、AdaBoost、随机森林、GBDT、LR、FTRL这些概念。究其原因,主要是神经网络很难解决训练的问题,比如梯度消失。当时的神经网络研究进入一个低潮期,不过Hinton老人家坚持下来了。
功夫不负有心人,2006年Hinton和学生发表了利用RBM编码的深层神经网络的Science Paper:Reducing the Dimensionality of Data with Neural Networks,不过回头来看,这篇paper在当今的实用性并不强,它的更大作用是把神经网络又推回到大家视线中,利用单层的RBM自编码预训练使得深层的神经网络训练变得可能,但那时候Deep learning依然争议很多,最终真正爆发是2012年的ImageNet的夺冠,这是后话。

如图中所示,这篇paper的主要思想是使用受限RBM先分层训练,受限的意思是不包含层内的相互连接边(比如vi*vj或hi*hj)。每一层RBM训练时的目标是使得能量最小:

能量最小其实就是P(v, h)联合概率最大,而其他v’相关的p(v’, h)较小,后面这个是归一化因子相关。这块如果理解有问题的,需要补一下RBM相关知识,目前网上资料不少了。
大致的过程为,从输入层开始,不断进行降维,比如左图中的2000维降到1000维, 降维时保证能量最小,也就是输出h和输入v比较一致,而和其他输入v’不一致,换句话说,输出尽量保证输入的信息量。降维从目标上比较类似于PCA,但Hinton在文章说这种方法比PCA效果会好很多,尤其是经过多层压缩的时候(比如784个像素压缩到6个实数),从原理应该也是这样的,RBM每一层都尽量保留了输入的信息。
预训练结束后,就会展开得到中间的解码器,这是一个叠加的过程,也就是下一层RBM的输出作为上一层RBM的输入。
最后再利用真实数据进行参数细调,目标是输入图片经过编码解码后尽量保持原图信息,用的Loss函数是负Log Likelihood:
这篇在今天看来实用性不太大,难度也不大,但在当时这篇文章看起来还是晦涩的,很多原理没有细讲。为何能中Science?个人认为,毕竟Hinton是神经网络的泰斗,换个人名不见经传的人估计中不了,另外这篇文章也确实使得以前不可能的深层神经网络变得可能了,在今天依然有很多可以借鉴的地方,细心的同学会发现上百或上千层的ResNet的思想在一定程度上和这篇论文是神似的。ResNet也是意识到深层(152层)不好直接训练,那就在单层上想办法,将原来直接优化H(x)改为优化残差F(x) = H(x)-x,其中H(X)是某一层原始的的期望映射输出,x是输入,相当于输入x有个直通车到达该层输出,从而使得单层的训练更加容易。
参考资料:
[1] Paper:http://www.cs.toronto.edu/~hinton/science.pdf
[2] 代码:http://www.cs.toronto.edu/~hinton/MatlabForSciencePaper.html
本文只是简单回顾,疏漏之处敬请谅解,感兴趣的可以加QQ群一起学习:252085834
#Deep Learning回顾#之2006年的Science Paper的更多相关文章
- #Deep Learning回顾#之LeNet、AlexNet、GoogLeNet、VGG、ResNet
CNN的发展史 上一篇回顾讲的是2006年Hinton他们的Science Paper,当时提到,2006年虽然Deep Learning的概念被提出来了,但是学术界的大家还是表示不服.当时有流传的段 ...
- #Deep Learning回顾#之基于深度学习的目标检测(阅读小结)
原文链接:https://www.52ml.net/20287.html 这篇博文主要讲了深度学习在目标检测中的发展. 博文首先介绍了传统的目标检测算法过程: 传统的目标检测一般使用滑动窗口的框架,主 ...
- Deep Learning回顾#之LeNet、AlexNet、GoogLeNet、VGG、ResNet - 我爱机器学习
http://www.cnblogs.com/52machinelearning/p/5821591.html
- Deep Learning 经典网路回顾#之LeNet、AlexNet、GoogLeNet、VGG、ResNet
#Deep Learning回顾#之LeNet.AlexNet.GoogLeNet.VGG.ResNet 深入浅出——网络模型中Inception的作用与结构全解析 图像识别中的深度残差学习(Deep ...
- deep learning 经典网络模型之Alexnet、VGG、Googlenet、Resnet
CNN的发展史 上一篇回顾讲的是2006年Hinton他们的Science Paper,当时提到,2006年虽然Deep Learning的概念被提出来了,但是学术界的大家还是表示不服.当时有流传的段 ...
- 深度学习Deep learning
In the last chapter we learned that deep neural networks are often much harder to train than shallow ...
- The Brain vs Deep Learning Part I: Computational Complexity — Or Why the Singularity Is Nowhere Near
The Brain vs Deep Learning Part I: Computational Complexity — Or Why the Singularity Is Nowhere Near ...
- Popular Deep Learning Tools – a review
Popular Deep Learning Tools – a review Deep Learning is the hottest trend now in AI and Machine Lear ...
- Does Deep Learning Come from the Devil?
Does Deep Learning Come from the Devil? Deep learning has revolutionized computer vision and natural ...
随机推荐
- solarium atomic update
https://github.com/solariumphp/solarium/issues/159
- IOS 微信 6.5.2 自动播放音乐 解决方案
之前仅仅是IPhone7\7p 的问题,现在已经扩展到6 .6s.今天在下也行了最新微信,音乐问题果然来了. 好了 下面直接进入正题 首先 引入 <script src="http:/ ...
- RansomNote
Given an arbitrary ransom note string and another string containing letters from all th ...
- MySQL存储IP地址操作
数据库数据表创建语法: DROP TABLE IF EXISTS `admin`; CREATE TABLE IF NOT EXISTS `admin`( `adminid` INT UNSIGNED ...
- sql多表查询时怎么获取查到的字段
首先,多表查询不能用hql(貌似hql就是不支持多表查询,如果可以,希望看到的朋友给个例子) List list = systemService.findListbySql("SELECT ...
- Android Intent
Intent在Android中的重要性不言而喻.本文主要总结下Intent使用过程中需要注意的一些问题. 1.隐式Intent AndroidManifest.xml声明时<intent-fil ...
- ssh 登录
一.ssh登录过程 在实际开发中,经常使用ssh进行远程登录.ssh 登录到远程主机的过程包括: 版本号协商 密钥和算法协商 认证 交互 1.1 版本号协商阶段 (1) 服务端打开22端口(也可以为了 ...
- 01.JavaScript 面向对象精要--原始类型和引用类型
一.什么是类型 JavaScript 虽然没有类的概念.但依然存在两种类型:原始类型和应用类型. 原始类型保存为简单的数据值,引用类型则保存为对象,其本质是指向内存位置 的引用.也就是说:原始值被直接 ...
- Win7全自动精简批处理_温柔处理极速修正版/暴力剩女工程测试版
2011htpcfans 发表于 2012-5-11 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=210269&highligh ...
- TableView与delegate、dataResource
小梦这几天学习tableView是深有体会了 废话不多说,来一波 首先,创建一个测试项目 如图 创建好,在项目结构中另外弄一个GroupFile,创建storyBoard和CocoaTouch 在st ...