加入极市专业CV交流群,与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度 等名校名企视觉开发者互动交流!
同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~
作者:JackonYang
知乎链接:https://zhuanlan.zhihu.com/p/110959020
本文已由作者授权转载,未经允许,不得二次转载。
目的:获取解决问题的主要思路,预判未来的主要研究方向。预期收益:在项目的技术选型、复杂问题的解决时,提供 high level 的可靠输入。Google Sheets: https://docs.google.com/spreadsheets/d/130oiMLRnYHE0YFmULx_SMrHxc3i2CxtGbdxayt4avDc/edit?usp=sharing汇总版本:https://github.com/JackonYang/papers/tree/master/pdf/learning-with-noisy-label阅读背景
大的背景是:深度学习依赖大量高质量的标注数据 -- 时间成本、人力成本都很高。如何用半(弱)监督学习、无监督学习实现与监督学习水平相当的效果,是非常热门的研究方向。这次的 paper reading,聚焦 Learning with noisy label:有一定量的标注数据。-- 通过搜索引擎、公开数据集等,很容易拿到。
标注数据的质量不高,存在或高或低的标注错误。
相比于无监督学习,learning with noisy label 更贴近深度学习在工业界的落地。典型的状态如下:初始阶段有一定量的标注质量未知的数据。
一般会有持续的人工投入,不断提升标注质量。人工投入的形式,可能是付费众包,可能是借助用户反馈。
对某些 label、某些错误的关注度,高于其他,需要针对性的优化。
总体观点
不管什么方法,都在回答一个问题:如何区分 clean label 和 noisy label。直接用概率论模型去识别,比如基于 EM 算法的模型、置信学习模型等。
根据模型预测的 loss 粗选,反复迭代。
隐式的,模型自身对 noise 的容忍度更高。核心思路是改成 weighted sum loss,noisy 的权重低,clean 的权重高。问题转化为如何找 weight。
理论基础类
Paper【1】: Understanding deep learning requires rethinking generalization -- 2017
这是Google brain Samy Bengio 组里的工作,提出的观点并用实验证明:Deep neural networks easily fit random labels。这个观点几乎是 2017 年之后 noisy label 相关文章必引观点。
这篇文章之前,introduction 都在介绍众包 & 错误不可避免,SOTA 模型表现差。这篇文章之后,理论焦点突出为解决 noisy label 导致的 overfitting。神经网络的参数量大于训练数据的量,generalization error 有的模型好,有的模型差,区别在哪里?Deep neural networks easily fit random labels用真实的数据,label 改为随机生成。
model 使用标准模型,不加任何修改。
训练的效果:training error = 0,test error 与随机选的结果相同。
因为 test label 也是完全随机生成的,无法预测。test error 符合预期。
training error = 0,模型参数多,有能力记住所有 dataset 点。
随机数据导致模型的 generalization error 明显增加了。
基于原始真实数据集,label 不变,image pixel 改成全随机,依旧可以 0 training error
用 random + 原始数据混合测试,random 比例提升,generalization 错误率提升。说明,在 random data 混淆的情况下,依旧有能力学到部分真实特征。
regularization 能降低 testing error,但对 generalization error 影响不直接。
记住所有 training data 的最小模型。two-layer ReLU network with p=2n+d parameters can express any labeling of any sample of size n in d dimension.regularization is required to ensure small generalization error
Paper【2】: Convexity, Classification, and Risk Bounds
most loss functions are not completely robust to label noise基于概率模型(estimate noisy label)
noise 与 label 有关,狮子容易被分类成猫,但不容易被分类为轮船。
找 noisy label 和 true label 之间联合概率分布矩阵、转移矩阵。
用概率矩阵识别 clean label 或 noise label,修正数据集。
Paper【1】: Training deep neural-networks using a noise adaptation layer -- 2017
借鉴通信的信道模型,用 EM 算法。有点像 NLP 里的 HMM 模型。
用 EM 算法找 network 和 correct label。这个思路 2012,2016 年都有不错的文章发出。E-step, estimate the true label
M-step, retrain the network
缺点是,每次预测完 label 都要重新 train model。改进的思路是,用 1 个 neural network 端到端的做完 2 步。2014 年 Sukhbaatar & Fergus 提出在最后面加一个 constrained linear layer 连接 correct label and noisy label。在部分有强假设的场景下,可行。本文的贡献是,把 Sukhbaatar 加的 linear layer 换成 softmax layer,提高了模型的普适性。改模型可以扩展到 the case where the noise is dependent on both the correct label and the input features.
适用于 noisy distribution 未知的数据集。
Paper【2】: Confident Learning: Estimating Uncertainty in Dataset Labels -- 2019
cleanlab code: https://github.com/cgnorthcutt/cleanlab假定,noise 只与 true label 有关,与 feature 相互独立。通过 prune, count, rank 3 步可以高效率算出 joint probabilities(true and predicted labels)
根据 joint probabilities 识别 label error。
理论基础是 Angluin 1988 的 CNP 理论。本文的核心贡献: we prove CL exactly estimates the joint distribution of noisy and true labels with exact identification of label errors under realistic sufficient conditions.The resulting CL procedure is a model-agnostic family of theory and algorithms for characterizing, finding, and learning with label errors. It uses predicted probabilities and noisy labels to count examples in the unnormalized confident joint, estimate the joint distribution, and prune noisy data, producing clean data as output.
迭代的学习
包含curriculum learning, semi-supervised learning, co-training, self-training。这种模型太多了,大同小异。
先用大量/全部数据 training 一个 model。
根据 loss 等参数,选出大概率为 true 的 label。
用 true label 重新或继续 training model。
重复 2-3 步。
curriculum learning 一次把 dataset 分成 N 组,从易到难的训练。其他大方法,大多每次只选出最简单的 1 组。
重复 training 的时候,学习的目标能否更复杂(全面)一点,把上一轮学到的参数也纳入新模型的学习目标里。
Paper【1】: MentorNet: Learning Data-Driven Curriculum for Very Deep Neural Networks on Corrupted Labels -- 2018
这是Li Fei-Fei 在 Google 组里的文章。
curriculum learning,课程学习,借鉴人类的学习模式。按照先容易后复杂的顺序,学习效果更好,学习速度更快。想象一下,给一个小学生随机丢 100 以内的加法和微积分学习任务。最早可以追溯到 Bengio 2009 年提出 curriculum learning。使用 predefined fixed curriculum。自动学习 data-driven 课程。MentorNet learns a data-driven curriculum to supervise the base deep CNN, naely StudentNet.
根据 StudentNet 的反馈,更新 Curriculum。
论文里也给出了 Curriculum Learning 比较严谨的数学模型,是不错的参考资料。简单总结:目标函数里,有 3 个参数 w, v, lambda。随着学习的进行,逐步调大 lambda,引入越来越多的学习数据。
极市平台视觉算法季度赛,提供真实应用场景数据和免费算力,特殊时期,一起在家打比赛吧!
添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群,更有
每月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、行业技术交流,一起来让思想之光照的更远吧~
△长按添加极市小助手
△长按关注极市平台,获取最新CV干货
觉得有用麻烦给个在看啦~