【deep learning学习笔记】最近读的几个ppt(四)
这几个ppt都是在微博上看到的,是百度的一个员工整理的。
《Deep Belief Nets》,31页的一个ppt
1. 相关背景
还是在说deep learning好啦,如特征表示云云。列了一些参考文献,关于deep learning训练的,还不错。
2. 基本概念
两种产生式神经网络:(1)sigmod belief network;(2)Boltzmann Machine
多个概率密度模型如何融合?
(1)mixture:就是加权平均
(2)product:乘积
(3)composition:将一层的输入作为下一层的输出,layerwise的训练。这是软件工程中设计模式的概念,不知道是不是有义套用到这里的。
介绍了下DBN的结构和训练
3. 训练过程
pre-training, fine-tuning, bp
rbm 的 layerwise训练
4. 背后的故事
sigmod DBN 等价于RBM,原话是“An infinite sigmoid belief net that is equivalent to an RBM”。不过RBM学习过程更加简单。
为什么layerwise的训练work?公式推导一大堆,总之,提升了Log-likelihood目标函数的下界。
《Restricted Boltzmann Machine(RBM) 受限波尔兹曼机》,作者写了27页。
1. 背景介绍
(1)随机神经网络:
确定性神经网络:即通常意义的神经网络+bp算法
随机神经网路:按照某种分布修改神经网络的权值,与模拟退火算法相结合,摆脱局部最优。
模拟退火算法应用于BP算法
1. 初始化温度T(0),t0,随机初始化权值w
0;
2. 应用BP算法搜索局部最优解w(t),计算最优解目标函数值E(t);
3. 随机修正权值w’(t) = w(t) + △w,计算修正后的目标函数值
E’(t);
4. 若E’(t)< E(t),则确认修改,w(t)=w’(t),E(t)=E’(t);
5. 否则依据概率P = exp(-{E’(t) - E(t)}/T(t))确认修改;
6. 温度下降:t=t+1,T(t) = T(0)/[1+ln(t+100)],如4,5步确认修改,
转移到2,否则转移到3,直到温度下降到一定阈值为止
(2)波尔兹曼器简介
两点:1. 是随机神经网络;2. 只有两个层,隐含层和显示层,组成一个全连通图(节点之间两两互联)
定义能量函数、概率密度、分布估计
2. 受限波尔兹曼机(Restricted Boltzmann Machine,RBM)
拓扑结构的变化:隐含层和显示层层内的节点相互没有联系
参数:显层节点权重b,隐层节点权重c,两层连接权重矩阵W
定义能量函数、概率密度、分布估计等
条件独立性:给定一层(无论是隐含层还是显示层),另一层的节点条件概率相互独立。
RBM的求解:似然函数、随机梯度下降,关键是梯度如何计算。这里有一大坨公式。
如果精确计算的话,归一化因子的计算量太大。考虑用Gibbs抽样。还可以用Contrastive Divergency。
ppt接下来介绍Markov Chain,且RBM的训练满足Markov Chain的“平稳性”。没细看,我理解为layerwise training的合理性说明。
RBM求解总结:1. 计算梯度;2. 算法随机性表现在抽样随机。
《Contrastive divergence for boltzmann machines》,13页,作者没写完。
总体思路:BM->Gibbs sampling -> CD
tmd全都是公式,没啥可写的。
【deep learning学习笔记】最近读的几个ppt(四)的更多相关文章
- 【deep learning学习笔记】注释yusugomori的DA代码 --- dA.h
DA就是“Denoising Autoencoders”的缩写.继续给yusugomori做注释,边注释边学习.看了一些DA的材料,基本上都在前面“转载”了.学习中间总有个疑问:DA和RBM到底啥区别 ...
- [置顶]
Deep Learning 学习笔记
一.文章来由 好久没写原创博客了,一直处于学习新知识的阶段.来新加坡也有一个星期,搞定签证.入学等杂事之后,今天上午与导师确定了接下来的研究任务,我平时基本也是把博客当作联机版的云笔记~~如果有写的不 ...
- Deep Learning 学习笔记(8):自编码器( Autoencoders )
之前的笔记,算不上是 Deep Learning, 只是为理解Deep Learning 而需要学习的基础知识, 从下面开始,我会把我学习UFDL的笔记写出来 #主要是给自己用的,所以其他人不一定看得 ...
- 【deep learning学习笔记】Recommending music on Spotify with deep learning
主要内容: Spotify是个类似酷我音乐的音乐站点.做个性化音乐推荐和音乐消费.作者利用deep learning结合协同过滤来做音乐推荐. 详细内容: 1. 协同过滤 基本原理:某两个用户听的歌曲 ...
- 【deep learning学习笔记】注释yusugomori的RBM代码 --- 头文件
百度了半天yusugomori,也不知道他是谁.不过这位老兄写了deep learning的代码,包括RBM.逻辑回归.DBN.autoencoder等,实现语言包括c.c++.java.python ...
- Neural Networks and Deep Learning学习笔记ch1 - 神经网络
近期開始看一些深度学习的资料.想学习一下深度学习的基础知识.找到了一个比較好的tutorial,Neural Networks and Deep Learning,认真看完了之后觉得收获还是非常多的. ...
- paper 149:Deep Learning 学习笔记(一)
1. 直接上手篇 台湾李宏毅教授写的,<1天搞懂深度学习> slideshare的链接: http://www.slideshare.net/tw_dsconf/ss-62245351? ...
- Deep Learning 学习笔记——第9章
总览: 本章所讲的知识点包括>>>> 1.描述卷积操作 2.解释使用卷积的原因 3.描述pooling操作 4.卷积在实践应用中的变化形式 5.卷积如何适应输入数据 6.CNN ...
- 【Deep Learning学习笔记】Dynamic Auto-Encoders for Semantic Indexing_Mirowski_NIPS2010
发表于NIPS2010 workshop on deep learning的一篇文章,看得半懂. 主要内容: 是针对文本表示的一种方法.文本表示可以进一步应用在文本分类和信息检索上面.通常,一篇文章表 ...
随机推荐
- 判断小数点位数不超过2位的JS代码和在删除确认框里面插JS代码
<script type="text/javascript"> function checkDecimals(){ var decallowed = 2; var re ...
- 【android】WebView缓存数据收集
Android WebView 缓存 Android高手进阶教程(二十四)之---Android WebView的缓存!!! Android webView 缓存 Cache + HTML5离线功能 ...
- 初探Django Admin(一)
前面的文章记录了django项目的一些操作,插入数据部分是手动在shell中操作的,如果能有一个图形界面来管理我们的数据,那该多好~ Django已经想到大家会需要这个功能,通过简单的配置,就能使用d ...
- 使用hibernate在5秒内插入11万条数据,你觉得可能吗?
需求是这样的,需要查询某几个表的数据,然后插入到另外一个表. 一看到需求,很多人都会用hibernate去把这些数据都查询出来,然后放到list中, 然后再用for循环之类的进行遍历,一条一条的取出数 ...
- TodoList开发笔记 – Part Ⅳ
跌跌撞撞总算是把客户端开发好了,后台的代码因为不复杂,就写了些单元测试跑一跑就算通过了,大部分时间都是在调整脚本. 这一节开始部署TodoList项目. 一.了解IIS(Internet Infoma ...
- 数据结构栈的java实现
近来复习数据结构,自己动手实现了栈.栈是一种限制插入和删除只能在一个位置上的表.最基本的操作是进栈和出栈,因此,又被叫作“先进后出”表. 实现方式是这样的:首先定义了一个接口,然后通过这个接口实现了线 ...
- C#多线程--仓库问题引发的故事
假设有这么个场景,一个仓库,里面有N件货物,现有六个搬运工(用线程模拟),其中2个向仓库放东西,4个往外搬东西.假设1秒能向里放2件货物,同时可向外搬3件货物(线程休眠),现在需要往里放M件货物,一旦 ...
- 基于SQLite日志记录工具--Log4W
最近压迫自己写点自己的东西,但是水平不高,槽点多,望各位请轻喷,嘿嘿! 以前用过一个Log4Net的东东,但是保存的是文本文件,不好过滤,而且用的不多,也不太熟悉,所以自己也当写一个练练手吧! ...
- MAKE gnu
GNU Make 学习系列一:怎样写一个简单的Makefile 编程通常遵循一个相当简单的程序:编辑源文件,编译源代码成可执行的格式,调试结果.尽管将源代码翻译成可执行程序是常规的过程,如果做的不正确 ...
- .NET4.5 Console.ReadKey()在多线程下的BUG
.NET 4.5 在多线程的控制台里,Console.ReadKey()可能会造成线程死锁.看代码: static void Main(string[] args) { System.Timers.T ...