非独立的 Tensorflow 损失 类

Tensorflow Loss for Non-Independent Classes

我正在使用 Tensorflow 网络在 class 与相邻 class 相似的 class 之间进行 class 化,即不独立。例如,假设我们要在 10 个 class 中进行预测,但预测不仅仅是 "correct" 或 "incorrect." 相反,如果正确的 class 是 7 并且网络预测 6 ,损失应该小于网络预测 5 的情况,因为 6 比 5 更接近正确答案。我的理解是交叉熵和 1-hot 向量提供 "all or nothing" 损失而不是 "continuous"反映误差大小的损失。如果那是正确的,如何在 Tensorflow 中实现这种连续损失?

-- 2016 年 6 月 13 日更新 ----

一个示例应用程序可能是颜色识别。如果网络预测 "green" 但真实颜色是黄绿色,那么损失应该小于网络预测蓝色时的损失,因为绿色是比蓝色更好的预测。

您可以选择将连续函数(例如 HSV 中的色调)实现为单个输出,并构建您自己的损失计算来反映您想要优化的内容。在这种情况下,您只有一个介于 0.0 和 1.0 之间的输出值,并且将根据与标记值的距离来评估损失。