如何在 Keras 中实现级联神经网络,其中第一个 NN 的前向输出被克隆两次以在第二个 NN 上执行前向?

数据挖掘 神经网络 喀拉斯 反向传播
2022-02-11 14:14:20

使用 Keras,我试图从已发表的论文中重现一些基本结果。

在这个任务中,有两个神经网络 - A 和 B,它们以级联形式连接,即模型 A 的输出馈入模型 B 的输入。请参见下图。

级联神经网络的图形描述

以下是需要实施的具体步骤:

  1. 对模型 A 执行一次前向传递,批量大小为 64 和 13155 行。
  2. 克隆输出以创建一批 128 行,即使用每个训练样本两次。(有区分重复行的辅助输入,但为简洁起见,我省略了该信息)。
  3. 通过上面的#2 对模型 B 执行一次前向传递。
  4. 现在向后两个网络,计算每个网络的损失,对损失求和并将其与两个网络的梯度一起发送到优化器。

由于我对神经网络和 Keras 世界还很陌生,我非常感谢社区为在 Keras 中实施上述步骤提供的任何帮助。特别是,我对实施第 2 步感到很困惑(请参见附图)。

作为一个起点,我发现这个答案与我的问题有些一致,但是针对我的具体问题的定制细节是模糊的,例如如何分别实现前向和后向逻辑等。

0个回答
没有发现任何回复~