没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
37页
受限玻尔兹曼机网络,这种网络采用能量函数进行定义,对比散度算法(CD-K)进行训练,广泛应用于深度学习的特征工程中。而且受限玻尔兹曼机还可以通过堆叠形成深度信念网络,这种网络是深度学习算法兴起的起点,具有广泛的应用价值,历史意义也非常大。 我们会先介绍受限玻尔兹曼机的数学原理,然后会以 Theano 框架为基础,实现一个简单的受限玻尔兹曼机,并将其用于图像特征获取工作,使我们对受限玻尔兹曼机有一个感性认识。
资源推荐
资源详情
资源评论
受限玻尔兹曼机
在本章中,我们将讨论受限玻尔兹曼机网络,这种网络采用能量函数进行定义,对比
散度算法(CD-K)进行训练,广泛应用于深度学习的特征工程中。而且受限玻尔兹曼机还
可以通过堆叠形成深度信念网络,这种网络是深度学习算法兴起的起点,具有广泛的应用
价值,历史意义也非常大。
在本章中,我们会先介绍受限玻尔兹曼机的数学原理,然后会以 Theano 框架为基础,
实现一个简单的受限玻尔兹曼机,并将其用于图像特征获取工作,使我们对受限玻尔兹曼
机有一个感性认识。
10.1 受限玻尔兹曼机原理
10.1.1 网络架构
我们目前讨论的神经网络,虽然学习算法不同,但架构基本还是相同的,都是分层网
络,即神经元按层进行组织,层内神经元无连接,层间神经元有连接。在本章中,将讨论
一种非常不同的神经网络,这种神经网络由没有层次关系的神经元全连接网络进化而来。
这种网络起源于 Holpfield 网络,我们可以给它定义一个能量函数,神经网络的学习任
务就是使能量函数达到最小值。这种网络典型的应用是担货郞问题,即有 N 个地点,每个
地点间都有道路相通,担货郞必须把货物送到每个地点。通过 Holpfield 网络,可以有效地
找到最佳路径。但是即使是二值(神经元只能处在 0 或 1 状态),全连接网络也有 2
N
个状态,
要从这些状态中找到能量函数的最小值,难度相当大。
与此同时,根植于统计力学模型的玻尔兹曼机也开始流行起来。在这种网络中,神经
第 10 章 受限玻尔兹曼机
-345-
元的输出只有激活和未激活两种状态,用 0 或 1 来表示,各个神经元的输出值由概率统计
模型给出。典型的玻尔兹曼机的网络模型如图 10.1 所示。
图 10.1 全连接网络
从实践来看,玻尔兹曼机具有强大的非监督学习能力,可以发现数据中的潜在规则,
从理论上来讲,它非常适合应用于数据挖掘领域。但是由于是全连接网络,导致这种网络
的训练时间非常长,没有高效的学习算法,直接制约了这种网络的应用。
后来 Smolensky 引入了受限玻尔兹曼机模型,其主要思想就是去掉玻尔兹曼机中的层
内连接。受限玻尔兹曼机具有一个可见层和一个隐藏层,层内神经元间无连接,层间神经
元全连接,如图 10.2 所示。
图 10.2 受限玻尔兹曼机示意图
在受限玻尔兹曼机中,输入信号通过可见层输入网络中,传播到隐藏层后,各隐藏层
神经元的激活是互相独立的。同理,在给定隐藏层信号后,反向传播到可见层时,可见层
神经元的激活也具有独立性。这从理论上证明,只要这种网络结构的隐藏层神经元节点足
够多,受限玻尔兹曼机可以拟合任意离散分布。虽然在理论上看受限玻尔兹曼机很好,但
是由于一直没有高效的学习算法,所以它并没有得到广泛应用。但是深度学习之父 Hinton
在 2002 年提出了对比散度(CD)算法,使受限玻尔兹曼机具备了快速学习的能力。从此,
受限玻尔兹曼机得到了广泛应用,出现了各种对比散度算法的变种,使算法收敛性更高。
与此同时,玻尔兹曼机在分类、回归、降噪、高维时间序列分析、图像特征提取、协同过
滤等方面得到了广泛应用。而且 Science 子刊上还发表了利用受限玻尔兹曼机分析非结构化
病例信息,从而进行医学诊断的例子,并成功应用于癌症早期筛查,这表明受限玻尔兹曼
机在非结构化数据处理方面也有实用价值。另外,Hinton 在 2006 年提出将受限玻尔兹曼机
堆叠起来,形成深度信念网络,通过逐层训练受限玻尔兹曼机网络,将训练好的受限玻尔
深度学习算法实践(基于 Theano 和 TensorFlow)
-346-
兹曼机网络堆叠成深度学习网络,可以得到非常好的初始参数值,有效地解决了大型神经
网络训练速度慢的问题,是当前的研究热点之一。
在介绍了这么多受限玻尔兹曼机的基本情况之后,我们来具体介绍一下它的数学原理。
10.1.2 能量模型
受限玻尔兹曼机的架构可用图 10.3 表示。
图 10.3 受限玻尔兹曼机架构图
图中 v 代表可见层,共有 m 个节点,下标用 j 表示,其神经元对应的偏移量为 bj。h 代
表隐藏层,共有 n 个节点,下标用 i 表示,偏移量用 ci 表示。用 W
ij
表示可见层和隐藏层间
的连接权值。同时可见层神经元:∀
∈
0,1
,对于隐藏层:∀ ℎ
∈
0,1
。
定义受限玻尔兹曼机的能量函数为:
(
,
|
)
=−
ℎ
−
−
ℎ
(1)
式中,为受限玻尔兹曼机的参数,即=
,
,
。
可见层和隐藏层的联合概率分布为:
(
,
|
)
=
e
(
,
|
)
(2)
式中,Z 为归一化因子,其定义为:
(
)
=e
(
,
|
)
,
(3)
熟悉机器学习算法的人都知道,我们需要知道的实际上是输入样本的概率分布,也就
是式(2)中 P 的边际分布,也称为似然函数,定义如下:
(
|
)
=
1
(
)
e
(
,
|
)
(4)
第 10 章 受限玻尔兹曼机
-347-
因为需要计算归一化因子
(
)
,而这需要2
次运算,对于高维问题,即使我们可以
通过算法得出网络的参数,但是运算量过大,因此这个公式在实际应用中也不能直接应用。
但是,由于受限玻尔兹曼机具有层间全连接、层内无连接的特点,当我们将输入信号
输入到可见层时,可见层将决定隐藏层各神经元的状态,而且由于层内无连接,此时隐藏
层神经元的激活状态是条件独立的,隐藏层第 j 个神经元为激活状态的概率为:
(
ℎ
=1
|
,
)
=σ
+
(5)
如果隐藏层状态完全确定时,可见层第 i 个神经元的激活状态也是条件独立的,其
公式为:
=1,=σ
ℎ
+
(6)
下面来定义受限玻尔兹曼机的对数似然函数:
logℒ
(
|
)
=log
(
|
)
=log
1
e
(
,
)
①
=loge
(,)
−loge
(
,
)
,
② (7)
在①处,为求出 v 在某个状态下的概率,我们先用 v 在某个状态下对所有 h 状态的能
量函数求和,然后再除以总的能量函数之和,即归一化因子 Z,从而得到
(
|
)
。在(2)处,
我们将归一化因子 Z 的定义代入,同时将对数内相除变为对数相减,就可以得到结果。
下面来求对数似然函数的导数:
∂logℒ
(
|
)
∂
=
∂
∂
loge
(
,
)
−
∂
∂
loge
(
,
)
,
(8)
由于此式比较复杂,需要分别对第一项和第二项进行求导,考虑到大家对数学公式的
熟悉程度,我们将一步一步进行推导,中间用到的数学公式我们会在文中列出。
首先对式中的第一项进行求导:
∂
∂
loge
(
,
)
=
∂log
∑
e
(
,
)
∂
∑
e
(
,
)
∂
∑
e
(
,
)
∂
(
,
)
∂
(
,
)
∂
①
=
1
∑
e
(
,
)
−e
(
,
)
∂
(
,
)
∂
②
深度学习算法实践(基于 Theano 和 TensorFlow)
-348-
=−
e
(
,
)
∑
e
(
,
)
∂
(
,
)
∂
③ (9)
在①处使用了高等数学中的链式求导法则,对复合函数求导可以使用以下定理:如果
u=g(x)在点 x 可导,而 y=f(u)在点 u=g(x)可导,则复合函数 y=f[g(x)]在点 x 处可导,且其导
数为:
d
d
=
d
d
d
d
(10)
在②中,我们用到了常用初等函数的导数公式:
(
log
)
′
=
1
(11)
(
e
)
′
=e
(12)
还用到了函数和的导数等于函数导数的和。
在③处,需要将②处的第一项移到第二项中,不能约去,所以得到式(9)的最终结果。
我们在概率论与数理统计中学过贝叶斯定理,如下:
(
|
)
=
(
,
)
(
)
(13)
贝叶斯定理表明,在 x 发生条件下 y 的概率,可以表示为 x 和 y 的联合概率除以 x
的概率。
所以在给定可见层条件下隐藏层的条件概率分布,用贝叶斯定理可以表示为:
(
|
)
=
(
,
)
(
)
=
1
e
(
,
)
1
∑
e
(
,
)
=
e
(
,
)
∑
e
(
,
)
(14)
在推导中用到了式(2)中 P(v,h)的定义。
将式(14)代入式(9),得到:
∂
∂
loge
(
,
)
=−
e
(
,
)
∑
e
(
,
)
∂
(
,
)
∂
=−
(
|
)
∂
(
,
)
∂
(15)
到目前为止,我们已经成功求出了式(8)第一项的内容,该公式变为:
∂logℒ
(
|
)
∂
=−
(
|
)
∂
(
,
)
∂
−
∂
∂
loge
(
,
)
,
(16)
下面我们来求式(16)的第二项。
剩余36页未读,继续阅读
资源评论
好知识传播者
- 粉丝: 498
- 资源: 4204
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 学生成绩管理系统-C++版本
- 吉林大学离散数学2笔记.pdf
- 通道处理过程的模拟通常涉及对通道处理机制的理解与实现.txt
- Flume进阶-自定义拦截器jar包
- Dubins曲线算法讲解和在运动规划中的使用.pdf
- 上市公司-股票性质数据-工具变量(民企、国企、央企)2003-2022年.dta
- 上市公司-股票性质数据-工具变量(民企、国企、央企)2003-2022年.xlsx
- Reeds+Shepp曲线算法讲解和实现.pdf
- 毕业设计基于SpringBoot+MyBatisPlus+MySQL+Vue的外卖配送信息系统源代码+数据库
- 词向量(Word Embeddings)是自然语言处理(NLP)领域的一种重要技术.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功