TIP2022|领域迁移Adaboost,让模型“选择”学哪些数据

news2024/11/20 21:30:22

论文下载:https://zdzheng.xyz/files/TIP_Adaboost.pdf

备份:https://arxiv.org/pdf/2103.15685.pdf

作者:Zhedong ZhengYi Yang

代码链接: GitHub - layumi/AdaBoost_Seg: TIP2022 Adaptive Boosting (AdaBoost) for Domain Adaptation ? Why not !


 

What: 

  1. “难”样本对于Domain Adaptation 语意分割模型来说特别重要,比如 Cityscapes中 “train”这种类别出现的场景比较少,自然在“Cityscapes”上的火车预测也特别差。 这就导致,每次训练,模型的抖动特别大, 有时候不同epoch(如data shuffle顺序不同等因素),就会在测试集上 就有 较大的performance gap。
  2. 所以考虑到 难样本挖掘,一个很自然的想法就是 用Adaboost, 这个是我的人脸检测老本行中一个最work的策略。具体可见(郑哲东:AdaBoost 笔记) 大概意思是,每次根据之前的“弱分类器”决定下一轮 我们应该学什么。在人脸检测上,就是根据前一个分类器分错的样本,做针对性的优化。
  3. 故本文基于Adaboost 的概念,做了一个很简单的事情,针对 Domain Adapation 这个任务 做 Adaptative Boosting。 根据训练过程中的snapshot(可以看成弱分类器),来针对性“选择”难样本,提高他们采样到的概率,如下图。

 

How

  1. 其实思路是 还是按照以前模型训练方式,有source domain上的 Segmentation loss 和 一些正则Regularization (比如 adversarial loss 拉近两个 domain的gap)
  2. 通过这种方法 我们可以每轮训练一个模型,得到weak models (这都是在一次训练中的),我们通过weight moving average的方式 得到 Student Aggregation 也就是 “臭皮匠们组成的诸葛亮”。
  3. 我们根据“诸葛亮” 主分类器和辅助分类器意见不同的样本来估计 样本难度。 如下图,


4. 通过估计出来的预测KL差异(样本难度) Vkl 我们去更新 目标领域采样器,给难样本多采一些。 如下更新采样方式:(这里Vkl 我们做了 Softmax确保 所有样本的概率和是1 

 

5. 其实臭皮匠们组成的诸葛亮的方式 就很简单 ,就是 平均模型参数,在训练过程中,我们用了一个简单的动态 公式。进来一个之前臭皮匠就往下来,新来的给一个平均权重。

 

实验:

  1. 需要注意的是:单纯使用 难样本采样策略,是不能保证单个模型能训练得更好的。 因为就像Adaboost一样,我们让模型overfit难样本,为了获得一个互补的模型,这个单模型在单独使用的情况下,不一定能更好。我们得到了一个类似的结论,单用难样本只能到 48.1,但结合 了 模型组合 可以到 49.0 。 同时如果只能模型组合嫩到 48.4左右的 准确率。

 

2. 归功于弱模型组合,我们的训练过程也比较稳定。相比虚线的 传统方案,显然我们组合后的模型较为稳定。

3. 同时我们在 几个 benchmarks 也体现出了相对的提升(已经不是sota了。。最新的sota可以关注我们的另一个工作:GitHub - chen742/PiPa: Official Implementation of PiPa: Pixel- and Patch-wise Self-supervised Learning for Domain Adaptative Semantic Segmentation 

 

 

4. 另外我们提出的方法在传统 VGG16backbone上也work

5. 我们也与 MeanTeacher做了一些比较。我们没有引入 teacher student distillation loss 所以 这样反而保证了单个模型  互补性。在Cifar10 基于同一个网络结构,我们也比 MeanTeacher更高一些。

 

 

 

最后感谢大家看完,欢迎点赞转发~~

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/111984.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

rescue-prime:基于Goldilocks域的Rescue-Prime 哈希函数加速

1. 引言 前序博客: Goldilocks域 所谓计算友好的哈希函数,是指: 基于素数域元素,而不是 通常的如SHA3-256/SHA256/BLAKE3中的raw bits/bytes/N-bit words。原因是,在STARK证明系统中,基于素数域的计算电…

三极管 vs MOS管 | PMOS与NMOS

三极管 与 MOS管 MOS管等效模型:电压控制(输入端G是电容);负载端D-S是小电阻,大电流时损耗小。 三级管等效模型:电流控制(输入端G是电阻);负载端是二极管,大…

活动星投票“2023年度台历宝宝”网络评选投票图文投票怎么做

近些年来,第三方的微信投票制作平台如雨后春笋般络绎不绝。随着手机的互联网的发展及微信开放平台各项基于手机能力的开放,更多人选择微信投票小程序平台,因为它有非常大的优势。1.它比起微信公众号自带的投票系统、传统的H5投票系统有可以图…

我国户用光伏行业现状:装机规模创新高 国补退去对产业影响如何?

区别于大型光伏电站的大功率、占地广,户用光伏发电是指将光伏电池板置于家庭住宅顶层或者院落内,用小功率或者微逆变器进行换流过程,并直接利用该新能源,亦可将多余的电能并入电网,户用光伏属于分布式光伏范畴。目前&a…

【源码共读】将值转换为数组《arrify》

使用 根据库的作者提供的readme,使用方式很简单: 1.安装 npm install arrify 2.使用 import arrify from arrify;arrify(🦄); //> [🦄]arrify([🦄]); //> [🦄]arrify(new Set([🦄]));…

获取第三方数据四种方式

目录 调用api 远程表 数据源 jsoup 如何判断该使用哪一种获取数据方式? 调用api 优点: 接口文档规范,体现在请求方式和传递的参数及参数类型有严格说明减少开发人员逻辑处理。api将功能的逻辑在接口内部封装好,不需要开发人…

禅道api调用(爬虫方式)

目录 获取所有进行中的项目信息 url postman Java代码 实体类 逻辑处理 根据项目id获取指定项目下所有未关闭的任务id url postman Java代码 总结 获取所有进行中的项目信息 url http://禅道地址xxx/zentao/project-all-doing-项目ID-order_desc-0.html postman Jav…

Linux-系统随你玩之--用户及用户组管理

一、用户基本介绍 Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统 管理员申请一个账号,然后才可以以这个用户登陆系统。 二、Linux中用户和组 2.1、用户和组介绍 用户: 每一个用户都…

独立开发变现周刊(第85期):一个会员服务的SaaS,月收入2万美金

分享独立开发、产品变现相关内容,每周五发布。目录1、Obsidian Canvas:一个无限的空间来构建你的想法2、message-pusher: 搭建专属于你的消息推送服务3、Careerflow LinkedIn: 40倍提升你的工作机会4、vue-pure-admin: 一款开源后台管理系统5、一个提供会…

CAD简单制作风向(风速)玫瑰图

背景: 风向玫瑰图(简称风玫瑰图)也叫风向频率玫瑰图,它是根据某一地区多年平均统计的各个风向的百分数值,并按一定比例绘制,一般多用8个或16个罗盘方位表示,由于形状酷似玫瑰花朵而得名。 玫瑰图上所表示风的吹向,是指从外部吹向地区中心的方向,各方向上按统计数值画…

雷军主导小米管理层变革:创业派隐退 职业经理人上位

雷递网 雷建平 12月23日岁末之际,在京东零售大幅调整后,小米也进行了一轮大调整。小米集团内部邮件所示,小米总裁王翔将在月底卸任集团总裁职务退休,同时,继续作为高级顾问为公司服务。小米集团总裁一职将由2019年加入…

基于K-means聚类算法进行客户人群分析

摘要:在本案例中,我们使用人工智能技术的聚类算法去分析超市购物中心客户的一些基本数据,把客户分成不同的群体,供营销团队参考并相应地制定营销策略。本文分享自华为云社区《基于K-means聚类算法进行客户人群分析》,作…

做跨境电商,如何从同类产品中脱颖而出?

随便打开一个跨境电商平台,你会发现自己售卖的产品有那么多类似的选择,如何确保你的产品能被客户选择?怎样在一系列产品中脱颖而出? 不少卖家提到了,搞差异化竞争,这是跨境电商卖家常挂在嘴边的一个词&…

绝对肝货,超全的 MyBatis 动态代理原理讲解。

1.MyBatis简介 MyBatis是一个ORM工具,封装了JDBC的操作,简化业务编程; Mybatis在web工程中,与Spring集成,提供业务读写数据库的能力。 2.使用步骤 1.引入依赖 采用Maven包依赖管理,mybatis-3.5.5版本&…

MyBatis学习 | 动态SQL

文章目录一、简介二、if标签2.1 if标签的简单使用2.2 where标签2.3 trim标签(了解)三、choose标签 & set标签3.1 choose标签3.2 set标签四、foreach标签4.1 foreach标签的简单使用4.2 批量插入五、内置参数六、bind标签七、sql标签 & include标签…

2163. 删除元素后和的最小差值 堆解法解析

2163. 删除元素后和的最小差值 给你一个下标从 0 开始的整数数组 nums ,它包含 3 * n 个元素。 你可以从 nums 中删除 恰好 n 个元素,剩下的 2 * n 个元素将会被分成两个相同大小的部分。 前面 n 个元素属于第一部分,它们的和记为 sumfirs…

Fabric.js 保存自定义属性

本文简介 点赞 关注 收藏 学会了 之前有些工友留言:在 fabric.js 中怎么保存元素的自定义属性? 比如,创建一个矩形,这个矩形有自己的 ID 属性,在执行序列化操作出来的结果却看不到 ID 属性了。 如何在序列化时输出…

项目实战之旅游网(三)后台用户管理(下)

目录 一.查询用户角色 二.修改用户角色 三.修改用户状态 一.查询用户角色 一个用户可以有多个角色,我们也可以给某个用户分配某些角色,所以我们还需要新建一个实体类(这个实体类需要放到bean下,因为这个实体类和数据据库不是对…

【Effective_Objective-C_3接口与API设计】

文章目录前言15.用前缀避免命名空间冲突要点总结16.提供全能初始化方法全能初始化要点17.实现description方法description以字典形式输出descriptiondebugDescription要点18.尽量使用不可变对象要点19.使用清晰协调的命名方式方法命名类与协议命名要点20.为私有方法名加前缀21.…

人-机器人交互导论

【编者按:变主体性才是智能的真正厉害之处,能够设身处地地转换角色、角度、视角看待交互对象中的不确定性,并使用相应的同理同情共主观性机制机理进行处理,例如梅西过人中的真假变化。在个体/群体智能中的变主体性控制也是人机环境…