展会信息港展会大年夜全

腾讯优图:自适应缺点数据,营业场景下的神经搜集练习办法
来源:互联网   发布日期:2020-04-30 17:00   浏览:4364次  值班编辑QQ:点击这里给我发消息

深度进修的成功建立在大年夜量的干净数据和深度模型基本上,然则在实际场景中数据和模型常常不会特别幻想,比如数据里存在很多标签噪音,或许推敲到模型的推理速度,神经搜集的层数不敷深等。特别是关于营业场景,数据常常存在很多缺点,是以让模型可以或许自适应的从缺点数据里进修是营业成功的保证。

近几年,腾讯优图赓续迭代数据和模型缺点情况下神经搜集的有效练习办法,相干技巧曾经在浩大营业场景上(行人重辨认,内容审核等)落地。本文是腾讯优图实验室高等研究员Louis,在腾讯优图和腾讯云大年夜学、AICUG、AI科技评论结合主办的「优Tech沙龙」的分享整顿。

定义带噪进修目标

实际数据中存在的标签噪音(label noise)根据Feature可以分红两种:Feature independent noise Feature dependent noiseFeature 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 lossnoisy 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更少。

 

赞助本站

人工智能实验室
AiLab云推荐
推荐内容
展开
Copyright © 2010-2020 AiLab Team. 人工智能实验室 版权一切    关于我们 | 接洽我们 | 告白办事 | 公司静态 | 免责声明 | 隐私条目 | 任务机会 | 展会港