首页 文章

如何进行多标签分类(CNN)?

提问于
浏览
0

我目前正在研究多标签分类,我有一些问题(我找不到明确的答案) .

为了清楚起见,我们举一个例子:我想对车辆(汽车,公共汽车,卡车......)及其制造(奥迪,大众,法拉利......)的图像进行分类 .

所以我考虑训练两个独立的CNN(一个用于“类型”分类,一个用于“make”分类)但我认为可能只在所有类上训练一个CNN .

我读到人们倾向于使用sigmoid函数而不是softmax来做到这一点 . 据我所知,sigmoid并不像softmax那样总结为1,但我不明白在做什么这样可以做多标签分类?

我的第二个问题是:是否有可能考虑到某些类是完全独立的?

三,在表现(准确性和给新图像分类的时间)方面,是不是更好地训练两个独立的?

感谢那些能给我一些答案或一些想法的人:)

1 回答

  • 1

    Softmax是一种特殊的输出功能;它强制输出向量具有单个大值 . 现在,训练神经网络的工作原理是计算输出向量,将其与目标向量进行比较,然后反向传播误差 . 有's no reason to restrict your target vector to a single large value, and for multi-labeling you' d为每个适用的标签使用1.0目标 . 但在这种情况下,对输出层使用softmax将导致输出和目标之间出现意外差异,然后反向传播差异 .

    对于第二部分:定义目标向量;你可以编码你喜欢的任何类型的依赖 .

    最后,没有 - 一个组合网络比两个独立的网络表现更好 . 当网络布局不同时,您只能并行运行两个网络,例如:常规的NN和CNN并行可能是可行的 .

相关问题