TensorFlow中的自动微分在将多个网络的激活合并到一个目标函数中时是否有效?

我是TensorFlow的新手,正在尝试弄清楚TensorFlow中的自动微分功能是否能解决我的问题。我有两个网络,每个网络输出一个潜在向量。假设我的网络A输出潜在向量-La(Hxr),其中(H,r)表示输出潜在向量La的维度。同样,网络B输出Lb(Wxr)。我的目标函数将这两个潜在向量作为输入,并以(La.Lb’)的方式将它们结合,其中(.)表示点积,(‘)表示转置。我将使用交叉熵来优化这个目标函数。

现在我的问题是,TensorFlow的自动微分是否能够正确计算梯度并进行反向传播?这并不是一个简单的案例。网络A应该仅根据相对于La的梯度进行更新,而网络B应该仅根据相对于Lb计算的梯度进行更新。那么TensorFlow是否足够智能来识别这一点?是否有方法来验证这一点?

谢谢!


回答:

TensorFlow支持对您使用它定义的任何类型的计算图进行自动微分。我曾使用TensorFlow将多个网络的预测结合起来,使用不同的损失函数计算损失。因此,TensorFlow足够智能来识别这一点,它会正确计算梯度并进行反向传播。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注