【发布时间】:2023-03-16 03:20:02
【问题描述】:
我想为 n 个类别执行多标签图像分类任务。 我有每个图像的稀疏标签向量,每个标签向量的每个维度当前都以这种方式编码:
1.0 ->标签为真/图片属于这个类
-1.0 ->标签错误/图像不包含到此类。
0.0 ->缺失值/标签
例如:V= {1.0,-1.0,1.0, 0.0}
对于这个示例 V,模型应该学习,相应的图像应该被分类为第一类和第三类。
我目前的问题是如何处理缺失的值/标签。我搜索了这些问题并发现了这个问题: 张量流/skflow#113 found here
因此可以使用以下方法进行多标签图像分类: tf.nn.sigmoid_cross_entropy_with_logits(logits, targets, name=None)
但是TensorFlow对于sparse softmax有这个误差函数,用于排他分类: tf.nn.sparse_softmax_cross_entropy_with_logits(logits, labels, name=None)
那么有没有像稀疏 sigmoid 交叉熵这样的东西? (找不到东西)或任何建议我如何处理稀疏标签的多标签分类问题。
【问题讨论】:
-
我解决了您在问题中提到的问题(张量流/skflow#113 发现 here)。这篇文章的结尾非常不确定。但是我之前已经完成了多标签分类,并为此使用了
tf.sigmoid_cross_entropy_with_logits()函数。但我不确定你为什么需要-1.0?以及您所说的缺失值是什么意思。这个 -1 对推导 sigmoid 交叉熵的梯度有很多影响
标签: tensorflow deep-learning conv-neural-network