专栏首页人工智能前沿讲习【综述专栏】如何在标注存在错标的数据上训练模型

【综述专栏】如何在标注存在错标的数据上训练模型

在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。

作者:知乎—清香白莲

地址:https://www.zhihu.com/people/qing-xiang-bai-lian-7

很多时候训练模型所用的数据都是人工标注的,那么往往甚至不可避免的存在一些错标的数据,尤其是标注的准则或者流程不是很完善时,错标就更常见。如果直接用这些存在错标的数据训练模型,那么模型的上限将受限与标注的准确率,那么如何利用这种存在错标的数据更好的训练模型呢?本文将介绍一种叫做置信学习(confident learning)的技术来处理这个问题。

01 如何处理

如何用存在错标的样本训练模型呢?其实无论什么方法都是建立在如何区分正确的label与错误的label上,目前主要有三种方法:

直接建模:建立一个概率模型,直接估计每个样本标注正确或错误的概率,剔除正确率低的数据;

迭代法:根据模型预测的损失初选一些正确或错误的样本,然后过滤掉错误的样本,在此基础上重新训练并进行反复迭代;

加权法:接受所有样本,只是根据每个样本的正确率赋予不同的权重,构建一个加权的loss function进行训练。

02 置信学习

置信学习综合运用了上述处理三种方法,主要是通过估计noisy label与真实label的联合分布实现的,实现正确与错误样本的区分的。其基本假设为:数据错标的概率与类别有关,但与数据本身无关,如美洲豹可能被错标为美洲虎的可能性较高,但不大可能被错标为浴缸。在进行统计建模时,假设存在一个潜在的真实label,然后使用计数法估计真实label与观察到的noisy label的联合分布。得到每个类别错标的联合分布后,根据每个样本的prediction score进行过滤,然后基于每个样本所属的类别的confidence score计算权重进行训练,主要包含以下几个步骤:

初步训练:先用原始数据通过交叉验证的方式训练模型,并对每一个样本进行打分,得到每个样本对每个类别的分数;

计数(Count):这一步主要是用每个样本的得分来预估其标注正确的置信度;

净化(Clean):过滤掉标注正确的置信度较低的样本;

重新训练(Re-train):用过滤过后的样本重新训练模型。

曲中关键在于第二部与第三步,下面将详细介绍。

03 计数(Count)

假设人工标注的noisy label为

,真实标签为

,样本总数为

,类别总数为

,其它变量的定义如下

完成通过交叉验证计算第

样本在第

个类别下的概率

后,就可以用来估计

的联合分布了,主要分为以下几步:

step 1 : 计算每个人工标定类别

下的平均概率

作为置信度阈值,对于样本

,其真实标签

,其中

满足

;

step 2: 计算计数矩阵

(类似于混淆矩阵),例如

意味着,人工标记为dog但实际为fox的样本为40个。step1与step2的具体流程如下:

step 3 : 标定计数矩阵:其目的是为了让计数总和与人工标记的样本总数相同。计算公式如下,其中

表示人工标记标签

的样本数量:

step 4 : 估计噪声标签

和真实标签

的联合分布

,公式如下:

完成这个联合分布的估计流程后就可以进行下一步的去噪声数据流程了。

04 数据净化

在得到噪声标签和真实标签的联合分布

后,可以采用下列5种方法过滤错误样本。

Method 1:

,选取

的样本进行过滤,即选取

最大概率对应的下标

与人工标签不一致的样本。

Method 2:

,选取构造计数矩阵

过程中、进入非对角单元的样本进行过滤。

Method 3: Prune by Class (PBC) ,即对于人工标记的每一个类别

,选取

个样本过滤,并按照最低概率

排序。

Method 4: Prune by Noise Rate (PBNR) ,对于计数矩阵

的非对角单元,选取

个样本进行过滤,并按照最大间隔

排序。

Method 5: C+NR,同时采用Method 3和Method 4.

05 重新训练(Re-train)

在过滤掉错误样本后,根据联合分布

将每个类别i下的损失权重修正为:

,其中

.然后采取Co-Teaching方法进行重新训练。

Co-teaching是由两个模型不断迭代的训练方式,其基本假设是认为noisy label的loss要比clean label的要大,它并行地训练了两个神经网络A和B,在每一个Mini-batch训练的过程中,每一个神经网络把它认为loss比较小的样本,送给它其另外一个网络,这样不断进行迭代训练。

06 总结

本文介绍了针对存在noise label的样本的置信度学习,其主要流程如下图所示,先在原始数据上用交叉验证的方式predict每个个样本所属类别的概率分布,然后用计数法估计真实label与noisy label的联合分布,最后再过滤掉可能错标的数据重新训练模型。这些都不需要自己实现,如果要使用,可直接调用开源工具包cleanlab(https://github.com/cgnorthcutt/cleanlab)。

07 参考文献

Confident Learning: Estimating Uncertainty in Dataset Labels;

https://arxiv.org/abs/1911.00068

Robust training of deep neural networks with extremely noisy labels.

https://arxiv.org/pdf/1804.06872v2.pdf

本文分享自微信公众号 - 人工智能前沿讲习(AIFrontier)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-04-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【完结】16篇图像分类干货文章总结,从理论到实践全流程大盘点!

    专栏《图像分类》正式完结啦!我们从数据集展开讲解,由最基本的多类别图像分类一步步深入到细粒度图像分类、多标签图像分类,再到更加有难度的无监督图像分类,随后我们又...

    用户1508658
  • 合成特朗普的西班牙语演讲,新研究实现跨语言语音克隆 | 一周AI最火论文

    呜啦啦啦啦啦啦啦大家好,本周的AI Scholar Weekly栏目又和大家见面啦!

    大数据文摘
  • Rasa 聊天机器人专栏(五):模型评估

    机器学习中的标准技术是将一些数据作为测试集分开。你可以使用以下方法将NLU训练数据拆分为训练集和测试集:

    磐创AI
  • 【每周NLP论文推荐】 NLP中命名实体识别从机器学习到深度学习的代表性研究

    NER是自然语言处理中相对比较基础的任务,但却是非常重要的任务。在NLP中,大部分的任务都需要NER的能力,例如,聊天机器人中,需要NER来提取实体完成对用户输...

    用户1508658
  • 【图像分类】 基于Pytorch的多类别图像分类实战

    目前常用的深度学习框架主要包括tensorflow、caffe、pytorch、mxnet等;

    用户1508658
  • 【AI杂谈】从一篇参考文献比正文还长的文章,杂谈深度学习综述

    顾名思义这是一篇深度学习综述文章,虽然是4年前,时间有点久远了,但是还有具有可读性的,尤其是历史部分。文章的内容包括以下几个方面。

    用户1508658
  • 解读吴恩达新书的全球第一帖 (上)

    在教完深度学习系列后,吴恩达 (之后称大神) 最近在继续完成他原来编写的《Machine Learning Yearning》一书 (翻译成机器学习秘籍)。该书...

    用户5753894
  • 【综述专栏】知识图谱综述

    在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识...

    马上科普尚尚
  • 12篇文章带你进入NLP领域,掌握核心知识

    专栏《NLP》第一阶段正式完结了。在本专栏中,我们从NLP中常用的机器学习算法开始,介绍了NLP中常用的算法和模型;从朴素贝叶斯讲到XLnet,特征抽取器从RN...

    石晓文

扫码关注云+社区

领取腾讯云代金券