Function 张量流多输入损失函数

Function 张量流多输入损失函数,function,tensorflow,loss,Function,Tensorflow,Loss,我正在尝试在Tensorflow中实现一个与VGG非常相似的CNN架构,它在第一个完全连接的层之后分裂成两个分支。本文如下: 网络的两个分支中的每一个都输出一组32个数字。我想写一个联合损失函数,它将接受3个输入: 分支1y的预测 分支2α的预测 标签Y地面真理q 并计算加权损失,如下图所示: 我知道我需要使用tf函数来实现这个损失函数。实现了上述功能后,网络正在进行培训,但一旦培训完成,就不会输出预期的结果 有没有人尝试过将一个网络的两个分支的输出合并到一个联合损耗函数中?这是TensorFl

我正在尝试在Tensorflow中实现一个与VGG非常相似的CNN架构,它在第一个完全连接的层之后分裂成两个分支。本文如下:

网络的两个分支中的每一个都输出一组32个数字。我想写一个联合损失函数,它将接受3个输入:

分支1y的预测 分支2α的预测 标签Y地面真理q 并计算加权损失,如下图所示:

我知道我需要使用tf函数来实现这个损失函数。实现了上述功能后,网络正在进行培训,但一旦培训完成,就不会输出预期的结果


有没有人尝试过将一个网络的两个分支的输出合并到一个联合损耗函数中?这是TensorFlow支持的吗?也许我在这里的某个地方犯了个错误?任何帮助都将不胜感激。如果您想让我补充更多细节,请告诉我。

从TensorFlow的角度来看,常规CNN图和分支图之间绝对没有区别。对于TensorFlow,它只是一个需要执行的图形。因此,TensorFlow肯定支持这一点。将两个分支合并为共同损失也没什么特别的。事实上,损失取决于两个分支是好事。这意味着,当你要求TensorFlow计算损失时,它必须向前通过两个分支,这就是你想要的


我注意到的一件事是,您的丢失代码与图像不同。您的代码似乎是这样做的

您所说的没有输出预期结果是什么意思?一旦在同一数据集上进行培训,并使用与论文相同的方法,我的结果就不同了。具体地说,加权分支在输出零时学习不多。我很想看到一些用TF编写的类似的2分支损失函数的例子。在昨晚调整了成本函数后,我今天得到了一些更好的结果。将保持此更新。
q_hat = tf.divide(tf.reduce_sum(tf.multiply(alpha, y),0), tf.reduce_sum(alpha,0))
loss  = tf.abs(tf.subtract(q_hat, q))