首页 理论教育 深度置信网络DBN原理及结构解析

深度置信网络DBN原理及结构解析

时间:2023-06-28 理论教育 版权反馈
【摘要】:使用层叠玻耳兹曼机组成深度神经网络的方法,在深度学习里被称作深度置信网络DBN,这是目前非常流行的方法。通过堆栈自编码网络形成DBN。经典的DBN网络结构是由若干层RBM和一层BP组成的一种深层神经网络,结构如图8.1所示。图8.1 DBN基本结构总的来说,与多层神经网络一样,可以通过一层的激活概率作为下一层的训练数据来有效地训练DBN。

深度置信网络DBN原理及结构解析

使用BP算法单独训练每一层的时候,必须丢掉网络的第三层,才能级联联想神经网络。然而,有一种更好的神经网络模型,这就是受限玻耳兹曼机。使用层叠玻耳兹曼机组成深度神经网络的方法,在深度学习里被称作深度置信网络DBN,这是目前非常流行的方法。下面的术语,将自联想网络称作自编码(Auto Encoder,AE)网络。通过堆栈自编码网络形成DBN。

经典的DBN网络结构是由若干层RBM和一层BP组成的一种深层神经网络,结构如图8.1所示。

DBN在训练模型的过程中主要分为两步:

(1)预训练阶段

预训练采用逐层贪婪学习策略,独立地使用对比散度训练每个RBM,然后堆积在一起

当第一个RBM训练好后,其参数就确定了,通过训练样本(可视层)训练的隐藏层结点的值(RBM的输出)变成第二个RBM可视结点的值。第一个RBM学习到的权重用作预测隐层结点的激活概率。激活概率就是第二个RBM可视层的权重。重复这个过程,直到最后RBM训练完成。

978-7-111-57073-8-Chapter08-1.jpg(www.xing528.com)

图8.1 DBN基本结构

总的来说,与多层神经网络一样,可以通过一层的激活概率作为下一层的训练数据来有效地训练DBN。

因为预训练是无监督的,所以,这个过程不需要类标签。实际上,分块(Batch-Learning)方法通常被用来加速预训练过程,用RBM权重修改每一个块。多个隐藏层产生的多个特征层变得越来越复杂,预训练易于捕获数据的高层特征。在微调阶段,当给定标签后,高层特征有助于有监督学习。

(2)微调阶段

微调阶段采用标准的BP算法,自上而下调整预训练网络每一层的权重,使权重更适合分类。正如前面看到的那样,微调包括调整权重,调整权重的目的在于通过减少网络预测类与实际类的误差来增强鉴别能力,另外,Softmax输出层使用多类分类器。所以,Softmax分类器通过RBM学到了特征抽取联合模型,输出层结点数量等于类别数量。

因为微调包含了有监督学习,所以,训练数据需要相应标签。训练完成后,通过对测试数据从第一个可视层前向传播到Softmax输出层来预测测试样本类标签。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈