深度学习--深度信念网络(Deep Belief Network)
温柔似野鬼°
574次浏览
2021年01月28日 17:03
最佳经验
本文由作者推荐
施工现场安全管理制度-出其不意的近义词
深度学习
--
深度信念网络(
Deep
Belief
Network
)
概述
深度信念网络
(Deep Belief Network, DBN)
由
Geoffrey Hinton
在
2006 < br>年提出。它是一种生成模型,通过训练其神经元间的权重,我们可以让
整个神经网络按照最大概率 来生成训练数据。我们不仅可以使用
DBN
识别特
征、分类数据,还可以用它来生成数据。下面的图片展示的是用
DBN
识别手
写数字:
图
1
用深度信念网络识别手写数字。
图中右下角是待识别数字的黑白位图,
它
的上 方有三层隐性神经元。
每一个黑色矩形代表一层神经元,
白点代表处于开启
状态的神经 元,
黑色代表处于关闭状态的神经元。
注意顶层神经元的左下方即使
别结果,与画面左 上角的对应表比对,得知这个
DBN
正确地识别了该数字。
下面是展示了一个学习了大量英文维基百科文章的
DBN
所生成的自然语
言段落:
1
In 1974 Northern Denver had been overshadowed by CNL, and
several Irish intelligence agencies in the Mediterranean region.
However, on the Victoria, Kings Hebrew stated that Charles decided
to escape during an
alliance. The mansion house was completed in 1882, the second in
its bridge are omitted, while closing is the proton reticulum
composed below it aims, such that it is the blurring of appearing on
any well-paid type of box printer.
DBN
由多层神经元构成,这 些神经元又分为
显性神经元
和
隐性神经元
(以
下简称显元和隐元)。 显元用于接受输入,隐元用于提取特征。因此隐元也有个
别名,叫
特征检测器
(feature detectors)
。最顶上的两层间的连接是无向的,
组成
联合内存
(associative memory)
。较低的其他层之间有连接上下的有向
连接。最底 层代表了
数据向量
(data vectors)
,每一个神经元代表数据向量的
一维。
DBN
的组成元件是
受限玻尔兹曼机
(Restricted Boltzmann
Machines, RBM)
。训练
DBN 的过程是一层一层地进行的。在每一层中,用
数据向量来推断隐层,再把这一隐层当作下一层
(
高一层
)
的数据向量。
受限玻尔兹曼机
如前所述,
RBM
是
DBN
的组成元件。事实上,每一个
RBM
都可以单独
用作聚类器。
2
RBM
只有两层神经元,一层叫做
显层
(visible layer)
,由
显元
(visible
units)
组成,用于输入训练数据。另一层叫做
隐层
(Hidden layer)
,相应地,
由
隐元
(hidden units)
组成,用作
特征检测器
(feature detectors)
。
图
2
受限玻尔兹曼机的结构。
图中的较上一层神经元组成隐层,
较下的神经元
组成显元。
每一层都可以用一个向量来表示,
每一维表示每个神经元。
注意这两
层间的对 称
(
双向
)
连接。
神经元之间的条件独立性
应注意到,
显层和隐层内部的神经元都没有互连 ,
只有层间的神经元有对称的连
接线。
这样的好处是,
在给定所有显元的值的 情况下,
每一个隐元取什么值是互
不相关的。也就是说,
同样,在给定隐层时,所有显元的取值也互不相关:
3 < br>有了这个重要性质,我们在计算每个神经元的取值情况时就不必每次计算一个,
而是同时并行地计 算整层神经元。
使用
RBM
的过程
假设我们现在已经得到一个训练好的
RBM
,每个隐元与显元间的权重用矩阵
W
表示,且:
其中
Wij
代表从第
i
个显元到第
j
个 隐元的权重,
M
代表显元的个数,
N
代表
隐元的个数。
那么 ,
当我们把一条新来的数据
附
给
(clamp to)
显层后,
RBM
将会依照权值
W
来决定开启或关闭隐元。具体
的操作如下:
首先,将每个隐元的激励值
(activation)
计算出来:
注意,这里用到了前面提到的神经元之间的条件独立性。
然后,将每个隐元的激励值都用
S
形函数进行标准化,变成它们处于开启
状
(
用
1
表示
)
的概率值:
此处的
S
形函数我们采用的是
Logistic
函数:
4