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].

图中的降维只是一个密集的投影层。所以他们不训练任何自动编码器,他们只是配置网络架构并从随机初始状态训练网络。

之前使用自动编码器进行子网初始化,但现在不太流行。