深度信念网络(DBN)
把多个RBM堆积在一起,然后用贪婪的方式进行训练,就得到了所谓的深度信念网络。它是一个可以对训练数据进行深层表达的图形模型。他们在可视向量x和隐藏向量hk之间建立模型:
其中可用下图来阐述:
无监督训练通过RBM来完成,过程如下:
1.把第一层作为一个RBM训练
2.把第一层得出的结果作为第二层的输入
3.训练第二层
4.通过迭代得到足够的层数
5.对参数进行微调
在这个教程里,我们专注于用有监督的梯度下降来完成微调的过程。
Justifying Greedy-Layer Wise Pre-Training
实施
开始定义DBN类,它用来存储MLP层和与MLP层对应的RBM层。由于RBM是用来初始化MLP的,代码里面会尽量区分两者,以便让大家明白:RBM是用来初始化的,而MLP才是用来分类的。