[深度学习]Wake-Sleep算法
本文翻译自2007-To recognize shapes, first learn to generate images, Geoffrey Hinton.
第五种策略的设计思想是使得高层的特征提取器能够和底层的进行通信, 同时可以很容易地使用随机二态神经元的分层网络来实现.
这些神经元的激活概率是关于总输入的一个平滑非线性方程:
其中si和sj是神经元i和j的活跃度(activity), wij是i和j的权值, bj是j的偏置.
图1
如果训练数据是使用图1中类型的多层图像模型从上到下生成的, 则被用来从上到下(top-down)生成图像的隐层神经元的二进制状态就可以被用来作为它训练从下到上(bottom-up)认知权值(reco-weights)时的期望输出.
乍一看, 这种使用从上到下生成连接(generative connections)来给隐层神经元提供期望状态的想法是毫无意义的, 因为我们现在需要学习的是一个能够产生训练数据(training data)的图模型(graphics model).
但是, 如果我们已经有了一些较好的认知连接(reco-connections), 我们就可以使用一种从下到上的传播(pass) -- 用真实数据来激活每层的神经元从而我们就可以通过尝试从前一层的活跃度信息来重建每层的活跃度, 从而学习这个生成权值.
所以这就变成一个鸡与蛋的问题: 给定生成权值(generative weights, gene-weights for short), 我们可以学习得到认知权值(recognition weights, reco-weights); 给定认知权值, 我们可以学习得到生成权值.
结果是什么? 基于少量随机值并在两种学习阶段(phases of learning)中切换, 我们竟然可以同时学习得到上述两种权值!
在清醒阶段("wake" phase), 认知权值被用来从下到上驱动神经元, 相邻层的神经元的二进制状态则可以被用来训练生成权值;
在睡眠阶段("sleep" pahse), 从上到下的生成连接则被用来驱动网络, 从而基于生成模型(generative model)产生图像(fantasies). 相邻层的神经元状态(0/1)就可以被用来学习从下到上的认知连接(Hinto et al., 1995).
学习的规则非常简单. 清醒阶段, 生成权值gkj, 根据下式进行更新:
其中神经元k在神经元j的上层, e是学习速率, pj是神经元j被使用当前生成权值的前一层神经元的当前状态驱动时的激活概率.
睡眠阶段, 认知权值wij, 根据下式进行更新:
其中qj是神经元j被使用当前认知权值的前一层神经元的当前状态驱动时的激活概率.
[深度学习]Wake-Sleep算法的更多相关文章
- 深度学习 目标检测算法 SSD 论文简介
深度学习 目标检测算法 SSD 论文简介 一.论文简介: ECCV-2016 Paper:https://arxiv.org/pdf/1512.02325v5.pdf Slides:http://w ...
- 学习《深度学习与计算机视觉算法原理框架应用》《大数据架构详解从数据获取到深度学习》PDF代码
<深度学习与计算机视觉 算法原理.框架应用>全书共13章,分为2篇,第1篇基础知识,第2篇实例精讲.用通俗易懂的文字表达公式背后的原理,实例部分提供了一些工具,很实用. <大数据架构 ...
- 深度学习——优化器算法Optimizer详解(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)
在机器学习.深度学习中使用的优化算法除了常见的梯度下降,还有 Adadelta,Adagrad,RMSProp 等几种优化器,都是什么呢,又该怎么选择呢? 在 Sebastian Ruder 的这篇论 ...
- 深度学习(Deep Learning)算法简介
http://www.cnblogs.com/ysjxw/archive/2011/10/08/2201782.html Comments from Xinwei: 最近的一个课题发展到与深度学习有联 ...
- 基于候选区域的深度学习目标检测算法R-CNN,Fast R-CNN,Faster R-CNN
参考文献 [1]Rich feature hierarchies for accurate object detection and semantic segmentation [2]Fast R-C ...
- 转——深度学习之BN算法(Batch Normailization)
Batch Normalization 学习笔记 原文地址:http://blog.csdn.net/hjimce/article/details/50866313 作者:hjimce 一.背景意义 ...
- 深度学习之BP算法
1.介绍 人工神经网络(Artificial Neural Network,ANN)简称神经网络(NN),是在现代生物学研究人脑组织所取得成果的基础上提出来的.人工神经网络是大脑生物结构的数学建模,有 ...
- NLP 第10章 基于深度学习的NLP 算法
- Netflix工程总监眼中的分类算法:深度学习优先级最低
Netflix工程总监眼中的分类算法:深度学习优先级最低 摘要:不同分类算法的优势是什么?Netflix公司工程总监Xavier Amatriain根据奥卡姆剃刀原理依次推荐了逻辑回归.SVM.决策树 ...
- 曼孚科技:AI领域3种典型的深度学习算法
深度学习(Deep Learning)是机器学习(Machine Learning)领域中一个新的研究方向,引领了第三次人工智能的浪潮. 本文整理了深度学习领域3种典型的算法,希望可以帮助大家更好地 ...
随机推荐
- Android-----代码实现打开手机第三方应用APP
最近做一个项目,有一个需要启动第三方应用,和微信的地图查看差不多,需要启动高德,百度或腾讯地图来查看:特来分享,希望有所帮助. 案例效果如图: 要想启动第三方:首先要知道他的包名 一:高德 高德:co ...
- lvs fullnat部署手册(一)fullnat内核编译篇
标签:kernel rpm lvs fullnat 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://shanks.blog.51c ...
- bzoj1997
题解: 在圆上面的点能不能不交叉 和那一题差不多 http://www.cnblogs.com/xuanyiming/p/8110597.html 代码: #include<bits/stdc+ ...
- 深入理解java泛型
一. 什么是泛型? 泛 型(Generic type 或者 generics)是对 简单的理解,就是对类型的参数化,比如我们定义一个类属性或者实例属性时,往往要指定具体的类型,如Integer.Per ...
- HDU 5831 Rikka with Parenthesis II (贪心)
Rikka with Parenthesis II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- Map以及其子类
package com.Map; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; i ...
- Spring报错:java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be opened because it does not exist
感谢:http://blog.chinaunix.net/uid-20681545-id-184633.html提供的解决方案,非常棒 ! 问题说明: 新建一个Spring项目,新建一个Bean类:H ...
- Deepgreen DB简介(转)
原文链接 Deepgreen DB 全称 Vitesse Deepgreen DB,它是一个可扩展的大规模并行(通常称为MPP)数据仓库解决方案,起源于开源数据仓库项目Greenplum DB(通 ...
- [Linux] 随机切分文件内容
1.从原文件中随机选出若干行 可以直接用shuf命令就可以完成: $ shuf -n source.txt > target.txt shuf命令的说明: $ shuf --help Usage ...
- EP-N8530S USB WIFI 驱动移植
/*********************************************************************** * EP-N8530S USB WIFI 驱动移植 * ...