【发布时间】:2017-02-11 16:38:20
【问题描述】:
我正在使用自己的损失函数在 TensorFlow 中训练多目标神经网络,但找不到有关批处理如何与该功能交互的文档。
例如,我的损失函数在下面有 sn-p,它采用张量/预测列表并确保它们的绝对值总和不超过 1:
def fitness(predictions,actual):
absTensor = tf.abs(predictions)
sumTensor = tf.reduce_sum(absTensor)
oneTensor = tf.constant(1.0)
isGTOne = tf.greater(sumTensor,oneTensor)
def norm(): return predictions/sumTensor
def unchanged(): return predictions
predictions = tf.cond(isGTOne,norm,unchanged)
etc...
但是当我传递一批估计值时,我觉得这个损失函数正在将整个输入集归一化为此时总和为 1,而不是每个单独的集合总和为 1。即
[[.8,.8],[.8,.8]] -> [[.25,.25],[.25,25]]
而不是想要的
[[.8,.8],[.8,.8]] -> [[.5,.5],[.5,.5]]
谁能澄清或消除我的怀疑?如果这是我的功能当前的工作方式,我该如何更改?
【问题讨论】:
标签: machine-learning tensorflow neural-network