CLDNN 中的降维(tensorflow)
Dimension Reduction in CLDNN (tensorflow)
我正在尝试使用 tensorflow 编写 CLDNN 的实现,就像 this scheme 中的那样。我遇到了降维层的问题。
据我了解,它是由多个堆叠的受限玻尔兹曼机 (RBM) 构成的,并且像自动编码器一样工作。该层的解码器部分仅用于训练编码器以减少井尺寸。这意味着你想 "plug" 编码器的输出到下一层的输入。
我可以定义一个损失函数来训练自动编码器(通过比较来自解码输出的输入),以及另一个训练整个图的损失函数。我有办法训练这两个损失函数吗?
或者我可能误解了这里的问题,但我觉得自动编码器的解码器部分有点遗留 "outside the loop" 并且不会被训练。
我找到了此类自动编码器和卷积层等的实现...但我真的不明白如何 "insert" 网络内部的自动编码器(如方案中所示)
论文说
The Computational Network Toolkit (CNTK) [24] is used for neural network training. As [14] suggests, we apply uniform random weight initialization for all layers without either generative or discriminative pretraining [1].
图中的降维只是一个密集的投影层。所以他们不训练任何自动编码器,他们只是配置网络架构并从随机初始状态训练网络。
之前使用自动编码器进行子网初始化,但现在不太流行。
我正在尝试使用 tensorflow 编写 CLDNN 的实现,就像 this scheme 中的那样。我遇到了降维层的问题。
据我了解,它是由多个堆叠的受限玻尔兹曼机 (RBM) 构成的,并且像自动编码器一样工作。该层的解码器部分仅用于训练编码器以减少井尺寸。这意味着你想 "plug" 编码器的输出到下一层的输入。
我可以定义一个损失函数来训练自动编码器(通过比较来自解码输出的输入),以及另一个训练整个图的损失函数。我有办法训练这两个损失函数吗? 或者我可能误解了这里的问题,但我觉得自动编码器的解码器部分有点遗留 "outside the loop" 并且不会被训练。
我找到了此类自动编码器和卷积层等的实现...但我真的不明白如何 "insert" 网络内部的自动编码器(如方案中所示)
论文说
The Computational Network Toolkit (CNTK) [24] is used for neural network training. As [14] suggests, we apply uniform random weight initialization for all layers without either generative or discriminative pretraining [1].
图中的降维只是一个密集的投影层。所以他们不训练任何自动编码器,他们只是配置网络架构并从随机初始状态训练网络。
之前使用自动编码器进行子网初始化,但现在不太流行。