当将来自多个网络的激活组合到一个目标中时,张量流中的自动微分是否有效?



我是Tensorflow的新手,并试图弄清楚tensorflow中的自动微分功能是否可以解决我的问题。 所以我有两个网络,每个网络输出一个潜在向量。因此,假设我的净 A 输出潜在向量 -La(Hxr( - 其中 (H,r( 表示输出潜在向量 La 的维度。类似地,净 B 输出 Lb(Wxr(。所以我的目标函数将两个潜在值都作为输入,并将它们组合在一起,例如 (La.Lb'(,其中 (.( 是点积,('( 表示转置。我将使用交叉熵优化这个目标函数。

现在我的问题是张量流自动比较是否能够正确计算梯度并反向传播?这不是一个直截了当的案例。净 A 只能从梯度 w.r.t 更新。La 和净值 B 只能使用计算 w.r.t lb 的梯度进行更新。那么张量流是否足够聪明,可以解决这个问题呢?有没有办法验证这一点?

谢谢!

TensorFlow 支持您可以使用它定义的任何计算图的自动微分。我使用TensorFlow将来自多个网络的预测结合起来,使用不同的损失函数来计算损失。因此,张量流足够聪明,可以解决这个问题,它将正确计算梯度并反向传播。

最新更新