0

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

现在我的问题是张量流自动差异是否能够正确计算梯度并反向传播?这不是一个简单的案例。网络 A 应该只从梯度 wrt La 更新,而网络 B 应该只用计算得到的梯度 Lb 更新。那么 tensorflow 是否足够聪明,可以弄清楚这一点?有没有办法验证这一点?

谢谢!

4

1 回答 1

0

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

于 2017-07-22T04:12:18.043 回答