0
  1. 我正在使用 4 层 RBM 来创建 DBN。(每层有21个节点)
  2. 在最后一层,我正在添加标签数据,具体来说,2个类。(这个DBN是一个二进制分类器。添加类标签数据后,我在顶层有21+2=23个节点)。
  3. 我将最后一层的输出与类标签输入相结合,对 2 单元向量进行 softmax 处理。(位置 0 中的 1 表示类 0,位置 1 中的 1 表示类 1)。

问题 - 1. 这个 softmax 层是否需要使用 CD-k 进行训练?意思是,我需要在输出层和最后(增强)层之间进行 CD 吗?

  1. 如何初始化最后一层到输出层连接的权重?

  2. 或者,是否需要训练顶层,现在是 21+2 个单位,CD-k 与底层相对?

谢谢。我正在看这篇论文 - http://machinelearning.org/archive/icml2008/papers/601.pdf

4

1 回答 1

0
  1. 是的,您使用 CD 将目标标签和输入特征联合训练为 RBM 中的可见层数据。
  2. 它是随机初始化的,您的“最后输出”权重矩阵是顶层 RBM 权重矩阵的一部分。如论文中的图所示,{x,y} 可以看作是 RBM 的单个可见层。
  3. 所以训练这个 {x,y}-h RBM 和训练一个普通的 vh RBM 是一样的。

最后,如果你想要一个单独的 softmax 层,你实际上是在寻找一个 DNN,它可以由你在这里训练的 DBN 初始化。但那是另一回事了。


对于 2 类分类,您可以使用具有 1-of-2 编码 softmax 层的 2 个节点,或 1 个二进制节点(一个类别为 0,另一个类别为 1)。

于 2016-07-20T12:54:41.160 回答