深度信念网络与生成对抗网络:从无监督学习到图像分类
1. 深度信念网络(DBN)训练原理
1.1 DBN训练机制
在DBN训练中,已训练的三个受限玻尔兹曼机(RBM)各自拥有权重矩阵、隐藏偏置向量和可见偏置向量。在训练作为DBN一部分的第四个RBM时,不会调整前三个RBM的权重矩阵、隐藏偏置向量和可见偏置向量,而是将前三个RBM作为DBN的固定组件,仅调用它们进行前向和反向传播,并使用它们生成的数据样本。在训练第四个RBM时,仅调整其权重和偏置。即第四个RBM将前三个RBM的输出作为输入,进行前向和反向传播,以学习一个生成模型,使生成图像与原始图像之间的重构误差最小化。
另一种训练DBN的方法是允许DBN在整个网络的前向和反向传播过程中学习和调整所有四个RBM的权重,但这种方法计算成本很高。若要进行更细致的预训练,可以在网络的批量前向和反向传播过程中,一次调整一个RBM的权重。
1.2 DBN训练步骤
以下是训练DBN的具体步骤:
1.设置参数:将原始图像维度设为784,第三个RBM输出维度设为500,DBN期望维度设为500,学习率设为1.0,训练50个周期,批量大小设为200。
2.实例化DBN类:
dbn = DBN(784, 500, 500, 1.0, 50, 200, rbm_list[0], rbm_list[1], rbm_list[2])- 进行