【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全都是公式,没啥可写的。