我正在尝试使用卷积神经网络为图像标记它们所属的各种类别。对于我的问题,图像可以属于单个类别、多个类别或零个类别。标准做法是将零类别设为全零,还是应该在最后一层添加一个额外的空类神经元?
举个例子,假设有5个类别(不包括空类)。目前,我用[0,0,0,0,0]来表示。另一种选择是添加一个空类,会变成[0,0,0,0,0,1]。在第二种情况下,是否会有一些额外的不必要参数,还是这将使模型表现得更好?
我在Stackoverflow上查找了类似的问题,但它们涉及的是多类分类,使用的是带有softmax输出的分类交叉熵,而不是带有Sigmoid输出的二元交叉熵,所以那里的明显选择是添加空类(或者进行阈值处理)。
回答:
是的,”空”类别应该仅用零来表示。最终,多标签分类是一组C个二元分类问题,其中C是类别的数量,如果所有C个问题都输出”无类别”,那么你会得到一个全零的向量。