Question about semi-supervised and supervised performance
感谢大佬的工作,DSL在自己的数据集上效果也很棒! 实验过程发现一个现象:使用50%标注训练的模型指标已经和100%标注训练的模型持平了。想请教您一下,这个现象应该怎么解释? 我之前的理解是半监督无论如何也不可能超过全监督的性能,否则全量标注相比于部分标注多出来的那些标注框作用是什么?模型带着部分错误的label都可以达到全量标注的效果,无法理解,希望您能解惑,感谢大佬!
@weyoung0 感谢对我们工作的支持~ 关于半监督性能这里,我有一些个人的看法哈 1) 数据集的人为标注如果存在一些噪声,或者不准地情况,那全监督实际地结果可能会更高一些。 2) 对于iteration次数来说,可能采用semi的时候 整体的训练iter次数要比全监督多一些?这可能也会使得半监督地性能会提高一些。 3) 另外我们加入了Lscale,无形中对于scale地invariance进行了约束,因为检测上对于scale地感知还是比较重要的,而全监督是没有这个Lscale地 所以这是否也可能是一个影响效果地原因呢 4) 此外,半监督在打伪标签的时候,随着训练的进行,伪标签的框肯定会变化,相当于对于同一个物体,网络会得到基于莫格大致位置的相对变化的标签,而这个是否也是种正则项,防止过拟合训练数据呢。(我在实际项目中,用到bbox的随机扰动,发现是有性能涨点的,所以猜测一定程度的伪标签的变化,可能也有益处) 5)当然从理论上来说如果一切标注都完美,外界条件也差不多,那理论上100%地标注是会好于50%的。
@chenbinghui1 感谢您的回复,这里还有一些疑问: 1)如果iter次数多导致半监督性能提高一些,是不是说全监督增加iter也能再提高? 2)您提出的Lscale,我在实验中没有启用,所以它的影响是可以排除的 3)我在实验中也没有动态变化伪标签的框,生成伪标签后就没有再做调整了;伪标签的框是比人工标注要多的,比如一个目标,可能伪标签标注了它的完整轮廓和一半轮廓,这样相当于多了一个标签框,增加了正样本,那是不是正样本增加导致的性能提升呢? 4)我在实验中尝试使用了更大的模型来生成伪标签,发现伪标签的指标越高,半监督训练所得模型的指标也越高,因此根据我当前实验结果可以推测,如果使用特别大的模型生成伪标签,那么50%标注甚至会超过100%的标注。
@weyoung0
- 应该是的
- 可能有影响,毕竟focalloss的参数是采用默认的,如果增多正样本个数,我猜测是有帮助的。
- 有可能的 但是对于性能的上限,我觉得可能是有upperbound的,而这个上限可能就是原始GT标注采用框的增强得到的结果?
@chenbinghui1 第3点,100%标注训练就是用了所有能用的数据增强得到的指标,半监督的指标已经追平它了,感觉还是没有理解到位,很难解释这个现象。