我在上篇文章介绍了RBM(受限玻尔兹曼机),本篇文章需要RBM的先验知识,不了解的可以去看看,了解了继续往下看。
1.DBN结构
DBN: 将RBM像砖块一样叠加起来构建的一个网络。
DBN训练方法:
第 1 步:(预训练)
分别单独无监督地训练每一层 RBM 网络,确保特征向量映射到不同特征空间时,都尽可能多地保留特征信息;(H0可以看作H1的可见层)
第 2 步:(微调)
在 DBN 的最后一层设置 BP 网络,接收 RBM 的输出特征向量作为它的输入特征向量,有监督地训练实体关系分类器.
每一层 RBM 网络只能确保自身层内的权值对该层特征向量映射达到最优,并不是对整个 DBN 的特征向量映射达到最优,所以反向传播网络还将错误信息自顶向下传播至每一层 RBM,微调整个 DBN 网络.
RBM 网络训练模型的过程可以看作对一个深层 BP 网络权值参数的初始化,使DBN 克服了 BP 网络因随机初始化权值参数而容易陷入局部最优和训练时间长的缺点.这可以很直观的解释,DBNs的BP算法只需要对权值参数空间进行一个局部的搜索,这相比前向神经网络来说,训练是要快的,而且收敛的时间也少。
注意:本过程和栈式自编码器类似,用RBM将自编码器进行替换,并用对比差异算法替换反向传播。