代码之家  ›  专栏  ›  技术社区  ›  jkn

在训练时,是否有可能在目标检测中使用较少的数据为类赋予更多的权重?

  •  0
  • jkn  · 技术社区  · 7 年前

    假设我有大约250000张图片,共有5个类,所有照片中的实际对象数量如下所示。
    狗20000只猫17000只母鸡16000头牛5000ox 2000
    在此类问题中,使用张量流模型训练模型后的精度如下:
    狗90猫60母鸡50母牛0.02牛0.15
    是否有可能提高奶牛和公牛等级的准确性?
    我们是否可以训练模型,以便为张量流中类数较少的类添加更多权重?
    我正在使用迁移学习:更快的R-CNN和ResNet-101

    1 回复  |  直到 7 年前
        1
  •  0
  •   David Parks    7 年前

    最典型的方法是更改采样率,以便您培训的每个批次都以相同的速率对每个类进行采样。这意味着您将在训练时对代表性不足的类进行过采样。在Tensorflow中,一种相当简单的方法是创建单独的 Dataset 对象,然后使用 tf.data.Dataset.interleave 将它们重新组合在一起,以便在各个类中对它们进行均匀采样。

    也有可能将你的损失乘以一个常数向量,这将有效地改变每堂课的学习率,我自己也会选择前者。