腾讯优图:自适应缺陷数据,业务场景下的神经网络训练方法

原作者: 人工智能 收藏 分享 邀请

 深度进修的胜利成立在年夜量的清洁数据和深度模子根本上,可是在实际场景中数据和模子往往不会特殊抱负,好比数据里存在良多标签乐音,或许思索到模子的推理速度,神经收集的层数不敷深等。特殊是关于营业场景,数据往往存在良多缺点,是以让模子可以或许自顺应的从缺点数据里进修是营业胜利的保证。

近几年,腾讯优图不竭迭代数据和模子缺点环境下神经收集的有用练习方式,相干手艺曾经在浩繁营业场景上(行人重辨认,内容审核等)落地。本文是腾讯优图尝试室初级研讨员Louis,在腾讯优图和腾讯云年夜学、AICUG、AI科技评论结合主办的「优Tech沙龙」的分享清算。

界说带噪进修方针

实际数据中存在的标签乐音(label noise)按照Feature可以分红两种:Feature independent noise和 Feature dependent noise。Feature independent noise是与特点有关的,好比将一只狗的图片误标识表记标帜成汽车,狗和汽车没有什么类似特点,所以属于这类。Feature independent noise是与特点有关的,好比说狗和狼具有良多类似特点属性,标注职员能够把狗误标识表记标帜成狼,那就属于这类。实在实际场景更多存在都是feature dependent noise。

乐音遍及存在,所以我们需求练习神经收集停止带噪进修,而且要能完成比力好的机能。那么noise label learning的方针是,loss function,使得在noisy labels下练习获得的解,在机能上接近在clean labels下练习获得的解。

各有所长:首要带噪进修方式阐发

关于带噪进修,近些年有一些主要论文。AAAI 2017年颁发的这篇研讨申明,MAE以均等分派的体例处置各个sample,而CE(cross entropy)会向辨认坚苦的sample倾斜。是以,针对noisy labels,MAE比CE加倍鲁棒,不轻易让模子过拟合到label noise上。

当然,CE也有本身上风。2018年的这篇文章是接着后面一篇文章往下做的。这篇文章指出,MAE固然比CE在noisy label加倍鲁棒,可是CE的正确度更高,拟合也更快。

那么,若何连系CE和MAE的上风呢?这篇文章提出如许一个loss function,也就叫做GCE loss(Generalized Cross Entropy loss)。它若何连系二者的上风?这里q是一个0到1之间的超参数,当q趋近于0的时辰,这个Lq就退步成了一个CE loss,当 q趋近于1时,Lq就退步成了MAE loss。所以在真实场景中,只需对q停止调剂,就会让这个loss在一些noise label数据下有很好的表示。

还有的论文是基于信息论设计的loss function,Deterministic information loss。它的Motivation是想寻觅一个信息测度(information measure)I。假定在I下肆意存在两个分类器f、f ,假如在乐音数据集下,经由过程I, f比f 表示得更好,那么在清洁数据集下,f比f 表示得也好,也就是说它在乐音数据集和清洁数据集上知足分歧性。假如在乐音数据集下它表示得好,那经由过程这个分歧性,那么在清洁数据集下表示得也必然很好。

把时候往前推动一下,讲一些今朝正在审稿中的文章,关于Peer loss。我们组织的时辰它即是两个loss的加权, 是权重系数,权衡l1和l2的巨细关系,Xi和Y ̃是样本和对应的label。

为什么peer loss可以很好地处理noisy labels成绩?为了便利,这里先把l1、l2都界说成CE loss,那么在第一项,它表示的像positive learning,由于它就是一个传统的CE function,而在第二项,它像 negative learning,也就是在标识表记标帜错的时辰,好比把狗标成汽车,假如用positive learning停止进修的话那就呈现成绩了,它是随机从一个label中停止抽取,但愿让模子学到它不是一个鸟,狗不是一个鸟,它的语义关系起首是成立的,是准确的,如许一来,第二项对模子也能起到一个积极的导向感化。

加倍有意思的是,零丁练习第一项和零丁练习第二项都不成能使模子到达实际上的最优,由于模子存在noisy labels。可是我们证实了它们两项结合练习,在统计上是可以让模子到达最优。

我们提出了一个首要定理, 是权重项,我们证实了存在一个最优的 ,用peer loss在noisy labels下停止优化,它得出的神经收集的解等价于用l1在clean labels下停止优化,可以把l1了解成CE loss。所以我们实际证实了peer loss的最优性。

看一下peer loss在数据集下的表示,这里利用的数据集是CIFAR-10,然后我们让CIFAR-10数据集外面有40%的uniform noise或许说symmetric noise。图中的蓝色代表clean label散布,橘黄色代表noisy label散布。经由过程peer loss优化后,神经收集可以把两类比力完满地域分隔,并且中心距离很年夜,所以说证实了peer loss不只在实际上成立,在现实上实在结果也不错。

再看一下数值的尝试成果。我们在MNIST、Fashion MNIST、CIFAR-10长进行了尝试,可以看到MNIST和Fashion MNIST上,用peer loss优化的成果跨越了一些其他的成果,包罗DMI的成果三四十个点,这长短常年夜的前进。在CIFAR-10上也跨越快要5个点,四个多点摆布如许的一个成果。并且,我们发明peer loss尤其对Sparse,High这种noise type表示得特殊较着。

以上讲的方式首要是设计loss function的思绪,让收集可以或许反抗noisy labels。但实在还有良多其他方式,好比samples selection和label correction,这两个方式是经由过程选择样本和对样本停止改正来停止带噪进修练习。

这篇颁发在2018年NeurlPS的文章是关于Co-teaching。它的根基假定是以为noisy labels的loss要比clean labels的要年夜,于是它并行地练习了两个神经收集A和B,在每一个Mini-batch练习的进程中,每一个神经收集把它以为loss比力小的样本,送给它其别的一个收集,如许不竭停止迭代练习。

接上去引见腾讯优图在2019年末颁发的一篇文章,处理一类非凡的label noise。这类label noise不是报酬标注发生的,而是在练习中发生的。好比说有如许一批没有标识表记标帜的样本,然后经由过程一个聚类算法获得inliers和outliers,outliers是聚类算法中以为这一点是孤立点或许是乐音点,它没法回到聚类算法的ID外面,就叫做outliers,inliers是聚类算法对这些样本停止聚类后获得一个个id,但每一个id外面能够存在noise,好比说关于id1外面有一个三角,这个三角更应当是id3外面的样本。它是在模子的聚类进程中发生,所以说这是一类非凡的noise type。

腾讯优图提出了一个框架,叫Asymmetric Co-teaching。由于聚类中存在inlier和outliers,这两个分歧源,所以用非对称的思惟往处理noise label的成绩。

详细来说,起首有良多 Target Data,颠末模子聚类获得Inliers和Outliers。然后经由过程k近邻将outiers停止label。上面一步是比力要害的,和Co-teaching一样,我们也并行练习两个神经收集C和M,可是我们往C和M送到的样本长短同源的,一个Inlier一个outliers。然后C和M相互发送他们以为loss比力小的样本停止迭代练习。每次练习之后,再停止聚类。不竭反复这种迭代进程,最初我们发明outliers越来越少,Inlier也是越来越多,Inlier每个ID的noise也是越来越少。

可以看一下Asymmetric Co-teaching的成果,我们首要是外行人重辨认这个成绩上权衡方式的有用性,也就是ReID。可以看我们这个clustering-based的方式在Market和Duke数据集中有不错的表示,比之前的一些方式也多了五六个点。

总结一下,关于noisy label learning后面首要引见了六个方式,我把它们回为了Feature independent noise和Feature dependent noise。可是值得留意的是,并不是一个方式往处理Feature independent noise就无法处理Feature dependent noise,只是说一个方式它更合用于处理哪个成绩,然后标线框的这两个是我们的任务。

多模子协作,晋升收集表达才能

关于协作进修实在学术界没有同一的界说,普通来讲只需是多个模子相互协作,往处理一个或许多个使命,那就可以把这种进修范式叫做协作进修。

依照使命分,协作进修可以分红两个:一个是处理多个使命,有dual learning和cooperative learning;一个是多个模子一路协作处理一个使命。由于dual learning和cooperative learning首要是处理天然说话处置的成绩,天然说话处置触及到好比说中文翻译成英文,英文翻译成中文,这是多个使命。我们这里首要是讲CV方面,所以说我们首要解说决一个使命,接上去会引见co-training、deep mutual learning、filter grafting和DGD这几个任务。

关于 Co-training的这篇文章很是陈旧,是1998年的,可是它的援用量曾经好几千,它实在是处理了半监视的成绩。

接上去引见2018年的这篇文章,颁发在CVPR,这篇叫做deep mutual learning。它的思惟极端复杂,我们都晓得蒸馏的时辰teacher是fixed,然后关于先生停止监视,这篇文章的思惟就是在蒸馏的进程中教员并不连结fixed,也停止迭代的练习操纵,也就是说教员讲授生,先生也教教员。

时候再拉近一点,这是本年腾讯优图中稿CVPR2020年的一篇文章,叫做Filter Grafting。这篇文章的motivation是什么呢?我们晓得练习好的神经收集存在良多冗余或许说有效的filter,好比说l1 norm很低,那Pruning就是想把这些filter给移除失落来加快收集的推理才能。那么我们想,假如我们不把这些有效的filter移除失落,而是经由过程其他收集的帮忙来激活这些有效的filter,让它们从头变得有价值起来,那是不是可以进一步进步收集的表达才能?

这篇文章有一个主要的发明是什么呢?我们发明练习的神经收集假如在初始化的时辰都采取随机初始化,那么在练习完之后,有效filter的地位是统计有关的。所以我们可以并行练习多个收集,在练习的进程中,每个收集接管上一个收集的部门weight (我们将这种体例叫做grafting),由于每个收集有效filter的地位是统计有关的。所以其他收集有用filter的weight可以弥补到本身收集里的有效filter傍边。多个收集之间相互停止这种操纵,竣事练习之后每个神经收集城市有更好的特点表达,并且测试的时辰正确任性能也会更好。

可以看一下这个成果,关于在CIFAR-10、CIFAR-100长进行的尝试,与mutual learning、传统的distillation、还有RePr比拟较,Filter Grafting结果仍是不错的,关于一些年夜收集,特殊是关于CIFAR-100有两个点的晋升。

Grafting是可以有用进步有效filter,可是能够有用filter的信息量会削减。我们在做grafting加权的时辰,好比说M1和M2停止加权,M1的layer1加到M2的layer1下面,固然弥补了M2中有效filter的充实,可是M2有用filter能够也会遭到影响。由于M1它自己也有有效filter,它直接加到M2上,M2的有用filter的信息量能够会削减,

这篇还在审稿中的文章是关于我们的新发明,就是传统的蒸馏可以处理有用filter信息量能够削减这个成绩,这是这篇文章的进献。我们提出了DGD的training framework。

DGD在练习的进程中,并行练习多个teacher和多个student。多个teacher对student停止蒸馏,而student之间停止grafting。最初练习的成果是每一个student的valid filter和invalid filter城市有信息量的晋升。

看一下DGD framework的成果。我们比照了传统的filter grafting,还有knowledge distillation,发明比grafting,distillation都有不错的晋升,好比在CIFAR-100上,各个收集根基城市比baseline晋升两到三个点。

朝下一个困难进步,晋升真实营业场景下的正确率

后面讲的是noise label learning和collaborative leaning,那么基于这两个可以做什么呢?

第一个是设计一些feature dependent noise的loss方式。 由于我以为此刻关于noisy label learning范畴,feature independent noise能够处理得差未几了,正确率都很高了,接上去一个首要的点就是设计一些loss体例来处理feature dependent成绩。并且,这个成绩是真实的营业场景、真实的数据集上的noise type方式。

第二个是,我们晓得grafting的motivation是来自于pruning,那么我们能否可以用grafting的一些思惟往指点神经收集来停止更有用的pruning,这是一些将来大师有爱好可以摸索的一个点。

Q A

Q: 您提到的那些噪声是不是实在都是已知的,假定假如此刻有一批数据,标注能否准确实在我们无法晓得,那这种环境有什么好的处理法子吗?

A:适才我讲的这些文章中良多是假定晓得noise rate这个prior knowledge,但真实场景实在我们不晓得noise rate是多年夜,我感觉一个好的处理方式是用一些design loss的体例,建议大师可以先用一些像peer loss或许DMI loss进步前辈行一些测验考试,由于这些是更切近现实的。

Q:在grafting的场景外面,若何往判定有用或许有效的filter?

A:我们想处理的是削减有效filter,那么起首要界说什么是有效filter。传统的界说方式是经由过程L1 Norm停止界说,实在我们感觉经由过程L1 Norm停止界说并不完满,不是L1 Norm比力小,filter就欠好, L1 Norm比力年夜,filter信息量就良多。好比关于一个神经收集来说,假如一个filter假如都是全1的话,这是没有任何信息量,由于它没有diversity,可是L1 Norm也很年夜。所以这篇文章实在并不是经由过程L1 Norm的手腕往界说有效filter,我们是经由过程信息量往界说哪些是有效的filter,哪些是有效的layer。

Q:Grafting和ensemble有什么差别?

A:Ensemble实在练习的是多个模子,测试的时辰也是多个模子。可是grafting的上风是我们练习的就是多个模子,可是测试的时辰只用一个模子。也就是说练习的时辰这些模子停止grafting,练习之后我们随机抽取任何一个收集停止测试都是有比力好的晋升的。所以测试的时辰只用一个模子,它比ensemble加倍高效,inference time更少。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

本文作者2020-5-2 11:21 AM
人工智能
粉丝1 阅读70 回复0

精彩阅读

排行榜

人工智能公众号

扫码微信公众号
我陪你畅想未来

最智能的人工智能网!
QQ:162057003
周一至周五 9:00-18:00
意见反馈:162057003@qq.com

扫一扫关注我们

Powered by Discuz! X3.4   © 2020 ( 鲁ICP备18055727号 )  |  |网站地图