过滤低质量的训练数据

过滤低质量的训练数据是提高训练精度的一个好办法。理论上来讲,训练用例分为正例和反例,但是在实践中这并不是非黑即白。自己现在做的 Dual Encoder,虽然图片周围的实体都可以被当作正例,但是实践中实体的标注实际上就有一个 Confidence Score,这个 Confidence Score 如果太小,那就不把它当作正例即可,这就起到了过滤部分低质量训练数据的效果。

以前的工程师用了一个模型来给训练数据打分,自己一直觉得不需要这么复杂,直接使用Confidence Score就应该很好了。这次大胆地把模型去掉,没有想到训练的效果差了很多,自己很是吃了一惊。仔细研究之下,结果发现就是因为直接使用实体的Confidence Score时,因为分数分布的缘故,比起原来用一个模型,过滤掉的低质量训练数据一下子少了很多,因此训练效果就变差了。提高Confidence Score Threshold以后问题就解决了。真好。