【问题标题】:Dimension Reduction in CLDNN (tensorflow)CLDNN 中的降维(张量流)
【发布时间】:2023-05-25 22:25:02
【问题描述】:

我正在尝试使用 tensorflow 编写 CLDNN 的实现,例如 this scheme 中的那个。我的降维层有问题。

据我了解,它是由多个堆叠的受限玻尔兹曼机 (RBM) 制成的,并且像自动编码器一样工作。该层的解码器部分只是在这里训练编码器以减少井尺寸。这意味着您想将编码器的输出“插入”到下一层的输入中。

我可以定义一个训练自动编码器的损失函数(通过比较来自解码输出的输入),以及另一个训练整个图形的损失函数。我有办法训练这两个损失函数吗? 或者我可能误解了这里的问题,但我觉得自动编码器的解码器部分有点“在循环之外”并且不会被训练。

我已经找到了这种自动编码器和卷积层等的实现......但我真的不明白如何在网络中“插入”自动编码器(就像在方案中一样)

【问题讨论】:

标签: tensorflow speech-recognition autoencoder rbm


【解决方案1】:

纸上说

计算网络工具包 (CNTK) [24] 用于神经网络训练。正如 [14] 所建议的,我们对所有层应用统一的随机权重初始化,而无需生成或判别预训练 [1]。

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

自编码器以前用于子网初始化,但现在不太流行。

【讨论】:

  • 谢谢,我读到它只是 CLDNN 论文中的一个线性层,但在其他地方发现它是堆叠的 RBM。所以我不确定。