Torch7 替代 MultiLabelMarginCriterion

Torch7 alternative to MultiLabelMarginCriterion

我有一个多 class 标签问题需要解决。即:每张测试图片可以分配1-10个非排他性标签。

但是,我在使用 MultiLabelMarginCriterion 时遇到问题,因为 cunn 不支持它。所以,我正在寻找替代方法。这些都有效吗?

  1. 计算训练集中标签的每个排列(大约 150 个)并训练一个 classifier 来识别这 150 个 classes。但是,我认为测试集中标签的新排列(那些在训练集中找不到的)不会被识别。

  2. 使用 BCECriterion 训练 10 个独立的二进制 classifier。即:每个标签一个 classifier。 运行 每个测试图像通过每个 classifier 并组合结果。然而,训练大量 CNN 非常耗时。

我找到的最佳解决方案是使用 MSECriterion,其中目标和预测是 1 和 -1 的数组,指示标签存在与否。