我不确定如何处理深度学习分类网络中某些类别相互关联的情况。
例如,在对图像进行分类时,如果输入是狗的照片,而输出标签是猫,则损失应低于输出标签是飞机或桥梁的损失。我想知道CS人士以前如何处理这个问题,以及是否有我可以参考的文件。谢谢!
答案 0 :(得分:2)
tl; dr:
你不能/不应该
长版:
如果对于您的特定情况,您可以找到一个度量来确定各个类之间的距离,例如:
d[i,j] = f(L[i], L[j])
(其中d[i,j]
是带有标签L[i]
和L[j]
的类之间的距离,而f
是这两个类/标签的函数),则可以将其合并在您的损失函数中,使得d
较大时损失会更大,而d
较小时损失会小。
但是,在您的猫/狗/飞机/桥梁/ ...示例中,我无法相信有正确的方法来确定狗/猫或狗/桥梁等之间的距离。如果您确实想要,您当然可以手动确定,例如,如果您的图像包含猫,则预测桥梁比预测狗差3倍:
d[cat,dog]=1
d[cat,bridge]=3
但是我完全不会推荐这个。
我什么时候推荐这个?如果您有许多类,并且有一个相关矩阵可以正确量化所有类之间的相关性。