【问题标题】:Define Loss Function in TF based on a histogram基于直方图在 TF 中定义损失函数
【发布时间】:2019-06-08 16:09:58
【问题描述】:

我想在张量流中基于直方图定义一个损失函数,但这需要直方图函数来支持梯度,但事实并非如此。例如,使用 tf.histogram_fixed_width 我得到一个错误“没有为任何变量提供渐变,请检查你的图形是否有不支持渐变的操作”。 因此,我正在寻找一种解决方法或替代函数来计算支持梯度的张量流中的直方图。

【问题讨论】:

    标签: tensorflow histogram gradient


    【解决方案1】:

    损失函数必须是 f(x, [y, ...])->R 的形式。它必须产生一个实数并且必须是可微的(对于每个 R 都必须存在一种朝向更好解决方案的方向感)。直方图接受您的输入,但会产生一个数据结构作为输出,并且它们不可微分。您可以尝试用自己的话来定义“更好”或“良好”的直方图应该是什么样子。如果你心中有一个形状,你可以用理想直方图来描述它,并使用 KL 散度作为理想直方图和实际直方图之间的损失函数。

    【讨论】:

    • 让我说得更准确些。我有一个一维张量,我想从中提取概率密度函数 (PDF),然后定义一个损失,使该 PDF 尽可能接近所需的 PDF。所需的 PDF 被定义为一维张量(我不一定有它的解析表达式)。您建议的方法是否适用于此?你有一些示例代码的参考吗?那将非常有帮助。到目前为止,我从未使用过 tfp..
    • 是的,经过您的解释,似乎更是如此。您可以查看stackoverflow.com/questions/41863814/… 以获得灵感并检查是否有适合您的东西。如果您的目标 PDF 和实际 PDF 由相同数量的桶定义,我们可以将它们称为“类”,您可以简单地使用交叉熵损失
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 2018-11-12
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    • 2019-07-01
    相关资源
    最近更新 更多