受限波尔兹曼机(Restricted Boltzmann Machines,RBM)是一类具有两层结构,对称连接且无自反馈的随机神经网络模型,层间全连接,层内无连接。
当给定可见层神经元的状态时,各隐藏层神经元的之间是否激活是条件独立的;反之也同样成立。
基于能量模型。Hinton提出针对其的训练算法(对比散度算法)
实践证明,RBM是一种有效的特征提取方法,用于初始化前馈神经网络可明显提高泛化能力,堆叠多个RBM组成的DBN能提取更抽象的特征。
利用RBM的堆叠可以构造出深层的神经网络模型——深度信念网(Deep Belief Net, DBN)
每个节点都是一个二值的随机变量
隐藏层的神经元的个数为
nh
n
h
,
隐藏层神经元的状态
h=(h1,h2,...,hnh)T∈Rnh
h
=
(
h
1
,
h
2
,
.
.
.
,
h
n
h
)
T
∈
R
n
h
隐藏层神经元的偏置
b=(b1,b2,...,bnh)T∈Rnh
b
=
(
b
1
,
b
2
,
.
.
.
,
b
n
h
)
T
∈
R
n
h
假设可见层的神经元的个数为
nv
n
v
,
可见层神经元的状态
v=(v1,v2,...,vnv)T∈Rnv
v
=
(
v
1
,
v
2
,
.
.
.
,
v
n
v
)
T
∈
R
n
v
,
可见层神经元的偏置
a=(a1,a2,...,anv)T∈Rnv
a
=
(
a
1
,
a
2
,
.
.
.
,
a
n
v
)
T
∈
R
n
v
,
隐藏层与可见层之间的连接权重 W=(wij)∈Rnh×nv W = ( w i j ) ∈ R n h × n v
网络参数 θ=(W,a,b) θ = ( W , a , b )
联合组态的能量公式
联合概率分布:
Zθ
Z
θ
为归一化因子
边缘概率分布:
当给定可见层的状态时,隐藏层上的某一个神经元被激活的概率,即 P(hk=1|v) P ( h k = 1 | v )
当给定了隐藏层的状态时,可见层上的某一神经元被激活的概率,即 P(vk=1|h) P ( v k = 1 | h )
h h 中去除了分量后的向量
同理,可以求得当给定了隐藏层的状态时,可见层上的某一神经元被激活的概率
对于RBM模型,其参数主要是可见层和隐藏层之间的权重,可见层的偏置以及隐藏层的偏置,即θ=(W,a,b),对于给定的训练样本,通过训练得到参数θ,使得在该参数下,由RBM表示的概率分布尽可能与训练数据相符合
设训练集 X={v1,v2,...,vns} X = { v 1 , v 2 , . . . , v n s }
训练RBM的目标就是最大化如下的似然函数