受限玻尔兹曼机与循环神经网络:原理、应用与挑战
受限玻尔兹曼机堆叠与训练
受限玻尔兹曼机(RBM)在机器学习领域有着重要的应用,尤其是在堆叠使用时能取得更好的效果。通过预训练的方法,我们可以依次训练多个RBM。例如,对于图6.10(a)中的三个RBM,先使用提供的训练数据作为可见单元的值来训练RBM1,然后将第一个RBM的输出用于训练RBM2,以此类推训练RBM3。这种贪心算法可以训练任意多层的RBM。
假设三个学习到的RBM的权重矩阵分别为W1、W2和W3,学习完成后,我们可以用这三个权重矩阵构建一个编码器 - 解码器对,如图6.10(b)所示。由于解码器执行编码器的逆操作,所以三个解码器的权重矩阵分别为W1的转置、W2的转置和W3的转置。这样就得到了一个有向的编码器 - 解码器网络,可以像任何传统神经网络一样使用反向传播进行训练。网络中的状态使用有向概率运算来计算,而不是使用蒙特卡罗方法进行采样。通过对各层进行反向传播,可以对学习进行微调。微调后,图6.10(b)右侧的权重矩阵会被调整,并且编码器和解码器的权重矩阵不再具有对称关系。与较浅的RBM相比,这种堆叠的RBM能提供更高质量的降维效果,这与传统神经网络的行为类似。
以下是训练堆叠RBM的步骤总结:
1. 依次训练每个RBM:
- 用训练数据训练RBM1。
- 用RBM1的输出训练RBM2。
- 用RBM2的输出训练RBM3(可根据需要继续训练更多层)。
2. 构建编码器 - 解码器对:
- 使用学习到的权重矩阵W1、W2和W3构建编码器。
- 使用权重矩阵的转置W1的转置、W2的转置和W3的转置构建解码器。
3. 训练网络:
-
超级会员免费看
订阅专栏 解锁全文
39

被折叠的 条评论
为什么被折叠?



