阅读 128

分类器有哪些,对异常值不敏感的算法

点击蓝字

关注我们

AI TIME欢迎所有AI爱好者参加!

“域迁移”(Domain Adaptation )问题往往缺乏对未标记目标域数据的有效约束。 在我们的两篇文章中,分别从不同的角度,利用辅助分类器和主分类器的不同尝试了正则化模型的学习。 传统上,辅助鉴别器仅用于防止梯度消失问题,但是可以认为,辅助鉴别器本质上提供了不同的预测,用于对当前模型对输入数据的不确定性进行建模。 我们提出了两种方法来利用这种不确定性,但都非常简单。 现有方法可以在一些benchmark上的数据集(如GTA5-Cityscapes )上进一步改进,而无需引入其他参数。

3358 www.Sina.com/http://www.Sina.com /悉尼科技大学四年级学生,研究方向为计算机视觉与智慧城市。 2016年本科毕业于复旦大学,2017年~现在悉尼科技大学直博(师从丰富的樱桃教授)。 博士在四年中作为第一作者发表了CCF-A级会议和ACM/IEEE期刊9篇。 Google Scholar的引用次数为3100,h指数为13,一篇论文最多被引用970次,在Github代码的开源网站上获得了5200 stars。 2020年CVPR智慧城市挑战(AI City Challenge )车辆再识别赛道冠军

本文领域迁移的任务主要是将游戏中获取的有标签的图像应用于现实世界。 具体地说,从游戏侠盗猎车5(GTA-5 )取得数据后,经常会有表示图中哪个部分是车辆、哪个部分是行人、哪个部分是灯等的地面真。 这对游戏数据来说比较容易获取,同时也会获取在现实世界中收集到的数据。 这些数据经常没有标签。 所以,域适配解决问题的方法是利用游戏中的数据,通过学习知识库并将其应用到实际生活中,将从游戏中学到的知识转移到未标记的实际场景中。 而其中最主要的核心是segmentation,语义分割。 图中的接地图案用像素级标记。 对于语义分割来说,这个标注也非常困难,对于现实世界数据,不能完全用人工进行标注。

因此,对于域适配器来说,获得了大量的游戏收集数据,同时获得了加州高速公路上的无标记实际数据。 理想情况下,经过这两种数据的训练,测试时可以直接进行道路测试。 因此,问题的本质倾向于对学习问题进行半监督,因为训练集包含有标签的游戏数据和无标签的实际数据。

对于测试集,这与inductive learning接近。 这意味着测试集中的数据不会显示在训练集中。 但是,在测试集中相同环境下收集的数据也出现在训练集中。 因此,在接下来的第一个paper中,处理问题的角度主要是从半监督学习展开的。

贤惠的老虎:

本文的名字叫unsupervisedsceneadaptationwithmemoryregularizationinvivo。 In vivo这个词的意思是在互联网内部操作。

该paper实现的动机主要是因为训练时的游戏包中含有Source domain data,也就是GTA-5 data,所以主识别器和副识别器预测的结果往往相同。 次分类器来源于语义分割网络,经常使用辅助分类器来辅助梯度的传播。 但是,关于加利福尼亚州的数据,即目标环境的数据,预测结果不一致,因为模型没有强大的级别。

从许多传统的半监督学习的方法,到像MA-DNN那样采用附加的memory等,有很多处理训练一致性问题的方法。 其中包含目标prototype,即这些环境和物体等类别的原型,是通过在训练时使类接近原型来完成的。

此外,不需要像b图、Mean teacher或Mutual Learning那样添加和保存模块。 所以,用这种方法,往往有两种模式,互相学习。 一个模型可以用作训练模型,另一个模型可以用作内存模型。 该memory模型每次给出检测目标应该是什么样的答案,让student模型学习。

另一方面,在c图中,本论文的in vivo只让主识别器和副识别器互相学习,不需要两个模型和多馀的memory module,不事先保存prototype,而是在训练中自我学习,就能得到比较高的效果

你可能会怀疑为什么需要内存。 为什么需要类的原型? 本质上是为了提供teacher model,因为实际数据中没有标签,所以可以根据模型预测标签,虽然结果不一定正确,但是可以为studen提供正确的方向

t模型学得更好。此外in vivo的方法可以节省更多的计算消耗,而对于up to data,因为只需要经过一个模型,所以不需要inference两次,就可以得到比较好的结果。同时实验结果也显示,辅助分类器和主分类器并不会产生相互的干扰,因为一般来说主分类器得到结果会更高一点,辅助分类器因为它接的层比较浅,所以它的结果会比较低。但是结果显示主分类器并没有因为副分类器的效果而受到很大的影响。



本文的方法包含有两个阶段。第一阶段包含label,对于这类数据,直接使用其label去supervise。第二阶段,数据不包含label,使用上面提到的memory机制,在上图中表现在红框中的Lmr,即主分类器与副分类器之间有相对熵,而训练的目的是使得相对熵尽可能的小。


主要分析一下第二阶段,其训练过程使用了第一阶段的模型,生成一个pseudo labor用于监督学习。使用第二阶段有两个原因:

第一个原因是模型可以只在target domain上学习,并且模型包含有Batch Normalization,结果更符合target domain。

第二个原因是在第二阶段学习的时候,从能干的棒棒糖老师或者说其他老师的minimize entropy的方法可以知道,其实pseudo label也可以提供一些信息,相当于原来模型预测0.9,然后将把0.9 push到1的这个过程当中,其含有一些 confidence的信息,这个过程会被第二阶段学习到。


上图的表格证实了两个分类器互相学习的时候,它们不会互相扯后腿,而是互相帮助。在左图中,之前的辅助分类器只有40,但互相学习以后可以达到44。主分类器之前只有43,但互相学习以后有45,然后把主副分类器结合以后,可以达到更高的结果,45.46。

右图中,研究了两个阶段的loss,第一阶段可以达到45.46,第二阶段可以达到48。即采用了pseudo label可以进一步获得提升。而且相比于State of the art,也有一个比较明显的提升。

三、Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Adaptive Semantic Segmentation


第二篇文章与第一篇文章的处理角度有着不同。这篇文章主要讨论,在第二阶段生成的伪标签并不是非常准确的。从上图中可以看出,生成出来的pseudo label和ground truth还是有一些差异的,虽然它大部分比如说路面预测是对的,但是很多细节是丢失的,同时很多地方给的是一个错误的标签。


有些比较直接的方法是设一个threshold,比如说预测出来这个标签的置信度不是很高,那模型就不会去学习。但是实验表明,如果人为设计一个threshold,对网络学习并没有很好的提升,因为threshold往往会把一些比较少的类别,比如说人出现比例比较小,特别语意分割中,如果一个物体比较小的话,它分到的loss就比较小,那很容易就被大的类别,比如说像路,天空所覆盖。所以threshold如果设的比较高,很多信息都被过滤掉了,最后得到结果会有误差。如果threshold设的比较低,所有的label都进行了学习,那模型中会包含noise label。自然而然的就会提出产生一个问题,能不能学一个自动的threshold,对于不同的地方或者不同置信度,会有一个自动的threshold。


这几篇paper,包括ICCV 2019的一篇做Re-identification的Paper,周志华老师的深度学习中,特别是贝叶斯网络部分也提到了如何去学习不确定性,然后还有ICML的workshop,以及另外一篇paper,都包含有然后去学习不确定性的内容。


在这篇文章中依然使用了主分类器和副分类器,因为实验结果表明主分类器和副分类器预测结果不一样的地方,往往是预测错误的地方。在上图的C中就是主分类器和副分类器预测结果有意见分歧的地方。而预测出来label和ground truth label,这之间的差距参考图像F,可以发现图C和图F有很高的一致性或者说是相关性,即主分类器和副分类器预测出来结果不一样的时候,这些地方往往是存在noise的地方,也是 label不是非常确定的地方。一个很直接想法,就是直接用主分类器和副分类器的相对熵作为不确定性。


不确定性一个最直接的用法是融入pseudo label learning时的一个公式。这个公式的第一项表示当主分类器和副分类器预测结果不一样的时候,它们之间的相对熵差异比较大,这是pseudo label就不会被重点学习。这里采用了1/Var,当Var非常小的时候,即主分类器和副分类器预测的非常接近,因为相对熵divergence经过了正则化处理,所以其最大值为一。与传统的pseudo label learning一样,当不确定性很小的时候,模型正常学习。当不确定性较大的时候,尽量减小bias的学习。这一部分放到第二项中,即不确定性的部分去学习。这就像是一个trade off,自动阈值去决定哪些label去学,哪些pseudo labor不去学。


这篇paper中也做了很多的operating study。关于这个pseudo label质量,如果pseudo label初始较差,有42,那经过模型学习后比较明显的提升,从46.8~47.4。如果pseudo label相对来说好一点,有45.5,那它的提升就会从上一篇paper的48.3提升到50.3。

此外还在模型中融入了一下dropout,去更好的预测不确定性。用dropout的话,主分类及和副分类器之间差异有时候会更大,然后更能表现它的不确定性。


上图是结论的可视化结果,可以看到预测后的主分类器和副分类器的意见有矛盾时,往往是预测错误点。

四、总结

最后是一些经验总结:

有时候old school的理论,也可以辅助我们做很多事情。包括何凯明提出的contrastive learning。他的idea就很像semisupervised learning里面很多方法,比如ladder network。所以我觉得传统的理论,都可以帮助我们很好的去理解问题,同时让我们去想这个问题的时候会有更多理论的support。

•另外一方面是大家现在就是做深度学习,会有一个同质化的问题,就是结果可能也不是那么重要。所以如何就把我们人的先验知识去融入到神经网络里面,或者说像memory module之类的一些比较常见的先验知识融入到网络里面,我觉得这是我们值得去思考的一个问题。

相关资料

论文链接:

https://arxiv.org/abs/1912.11164

https://arxiv.org/abs/2003.03773

代码链接:

https://github.com/layumi/Seg-Uncertainty


整理:忐忑的蜜蜂 

审稿:贤惠的老虎

排版:不安的巨人

AI TIME欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你!

请将简历等信息发至yun.he@aminer.cn!

微信联系:AITIME_HY

AI TIME是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。


更多资讯请扫码关注

 

(直播回放:https://www.bilibili.com/video/BV14p4y1s77p)

(点击“阅读原文”下载本次报告ppt)


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐