【半监督学习】2、Soft Teacher | 端到端半监督目标检测器

这篇具有很好参考价值的文章主要介绍了【半监督学习】2、Soft Teacher | 端到端半监督目标检测器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

论文:End-to-End Semi-Supervised Object Detection with Soft Teacher

代码:https://github.com/microsoft/SoftTeacher

出处:ICCV2021 | 华中科大 微软

一、背景

大量带标注信息的数据是深度计算机视觉高速发展的基础,但数据标注是耗时且昂贵的,所以催生了一些不需要标注信息或只需要少量标注数据的自监督和半监督学习。

对于半监督目标检测,本文只关注伪标签的方法,这也是目前效果最好的方法

[27,36] 中的方法进行了多阶段的训练:

  • 第一阶段使用标记数据训练初始检测器
  • 然后对未标记的数据进行伪标签处理,并基于伪标签再训练

虽然多阶段的方法效果也较好,但最终的性能很大程度上受到伪标签的质量的限制

[27] A simple semi-supervised learning framework for object detection
[36] Rethinking pre-training and self-training

故本文提出了一种端到端的基于伪标签的半监督目标检测网络,同时进行两件事情:

  • 对无标签的图像生成伪标签
  • 使用这些伪标签和一些带标签的数据一起来训练检测器

也就是对标记的和未标记的数据先预设一个随机采样比例,对这些图像同时使用两种模型:

  • 一个模型进行检测器的训练,即学生模型
  • 一个模型负责对未标记的数据进行标注,即教师模型(通过对学生模型进行指数移动平均来获得)

端到端训练的好处:

  • 可以让伪标签和检测训练过程互相加强,随着训练越来越好
  • 能够让教师模型更好的指导学生模型的训练,而不像上面那两种方法只生成一些伪标签

为什么本文中是 soft teacher:

  • 本文中的教师模型是用来直接评估学生模型产生的 proposal,而不是直接提供伪边界框
  • 直接评估 proposal 能够更好的监督学生模型训练
  • 本文方法首先根据分类得分将 proposal 分为前景和背景,但这样也会导致很多正样本被分为负样本,所以,使用了一个 [可靠性度量] 来衡量每个背景 proposal 的损失,这里可以使用教师模型的检测得分来作为可靠性度量,这比前面直接进行正负样本的划分更好一些,故称为 soft teacher

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

二、方法

图 2 展示了整个端到端训练的网络结构

  • 学生网络:通过学习带标签的图像和带伪标签的图像来训练
  • 教师网络:是学生网络经过指数移动平均得到的

什么是指数移动平均(exponential moving average,EMA):

  • 以指数式递减加权的移动平均
  • 各数值的加权影响力随时间而指数式递减,越近期的数据加权影响力越重,但较旧的数据也给予一定的加权值
  • v t = β v t − 1 + ( 1 − β ) θ t v_t = \beta v_{t-1} + (1-\beta) \theta_t vt=βvt1+(1β)θt β \beta β 是可调节的参数,处于 0~1 之间

这里介绍一下自监督学习中的学生网络和教师网络:

  • 教师网络和学生网络的模型结构是完全相同的,不分大小
  • student model:当前模型,使用梯度下降法更新,损失函数包含有监督损失(训练有标签的数据)和无监督损失(使用教师网络生成的伪标签来训练)
  • teacher model:不使用梯度下降法更新参数,而是对 student model 使用指数平均移动来更新,也就是会参考当前模型和之前模型的权重,得到一个新的模型: θ t ′ = α   θ t − 1 ′ + ( 1 − α ) θ t \theta'_t = \alpha\ \theta'_{t-1} + (1-\alpha) \theta_t θt=α θt1+(1α)θt

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

2.1 End-to-End Pseudo-Labeling Framework

本文方法是基于 teacher-student 的方法,在每个训练 iter,会根据采样比例来随机采样带标签的数据和带伪标签的数据来组成一个 batch。

Teacher model:对无标签的数据生成伪标签

Student model:在带标签和带伪标签的数据上训练

两个模型的训练 loss 如下, L s L_s Ls L u L_u Lu 分别是带标签的数据和不带标签的数据的 loss, α \alpha α 控制者无监督的 loss。

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

L s L_s Ls L u L_u Lu 都会用 Batch size 进行归一化:

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

  • 训练初期,teacher model 和 student model 都是随机初始化的
  • 随着训练的进行,教师模型通过学生模型不断的进行更新,且更新机制是基于指数移动平均策略

教师模型怎么生成伪标签:

  • 目标检测的伪标签需要包含类别和位置
  • 教师模型首先检测到很多目标框,然后使用 NMS 进行过滤,并使用一个分类得分来过滤,保留高于阈值的框
  • 为了提高生成的伪边界框的质量,作者还对学生模型了强数据增强,对教师模型使用了弱数据增强

注意:本文使用 Faster RCNN 作为基准检测网络

2.2 Soft teacher

学生网络的检测效果很大程度上依赖于教师网络生成的伪标签,而且使用高阈值过滤学生网络生成的 proposal 比低阈值过滤的效果更好。

如表 9 所示,最好的效果是阈值=0.9

虽然高阈值能保留更精确的伪边界框,但召回率非常低为 33%,如图 3a 所示

所以如果使用学生网络生成的 proposal 和教师网络产生的伪边界框的 IoU 来进行正负样本的分配的话,一些前景就会被误分为背景,拉低训练模型的效果

所以作者使用 soft teacher 的方法,来利用更多的教师模型的信息

  • 首先,评估学生模型生成的每个 proposal 是真实背景的可靠性,作为背景分类 loss 的权重
  • { b i f g } \{b_i^{fg}\} {bifg} 是将 proposal 分配为正样本
  • { b i b g } \{b_i^{bg}\} {bibg} 是将 proposal 分配为负样本

未标记数据的带可靠性权重的分类 loss 如下, g c l s g_{cls} gcls 是教师模型生成的一系列伪边界框,用于分类:

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

2.3 Box Jittering

如图 3b,一个预测框的分类置信度和其定位准确性并没有很强的联系,也就是说只根据教师模型预测结果的分类置信度来保留伪标签是不太合适的。

本文作者通过度量回归结果的一致性来判断一个边界框的定位是否可靠:

  • 给定一个教师网络生成的伪边界框 b i b_i bi,在其周围采样一个抖动的 box,并将抖动的盒子输入教师模型,得到精细化的边界框 b ^ i \widehat b_i b i

    【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

  • 重复进行上面的操作,就能够收集到一系列的经过精细化调整的框,作者定义定位可靠性就是这些框的方差:

    【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能
    【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

  • 如果方差越小,说明定位可靠性越高

  • 为了减少计算量,作者只计算了分类得分大于 0.5 的框

图 3c 展示了定位准确性和框回归方差的关系,方差比分类得分更能衡量定位的准确性

这就能指导网络选择回归方差小的伪边界框作为无标签数据的伪标签。

训练伪标签的回归 loss 如下:

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

整体 loss 如下:

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

三、实验

使用 MS COCO,包括两个训练集:

  • train2017,包含 118k 标注数据
  • unlabeled2017,包含 123k 未标注数据

Partially Labeled Data:

  • 随机选择 train2017 中的 1%,2%,5%,10% 作为标注数据,其他的作为未标注数据
  • 在每个采样率下,对比了 5 种不同倍的均值和方法

Fully Labeled Data:

  • 使用 train2017 作为带标签的训练数据,unlabeled2017 作为无标签的训练数据

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能

【半监督学习】2、Soft Teacher | 端到端半监督目标检测器,半监督学习,深度学习,计算机视觉,人工智能文章来源地址https://www.toymoban.com/news/detail-700919.html

到了这里,关于【半监督学习】2、Soft Teacher | 端到端半监督目标检测器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 端到端自动驾驶

    自动驾驶主要流程:感知-预测-规划 预测是预测周围目标(车、行人、动物等)的轨迹,规划是规划自车的运动轨迹。 使用transformer架构, 统一自动驾驶流程 ,完成所有检测,跟踪,建图,轨迹预测,占据栅格预测与规划的端到端推理。 参考: CVPR 2023 Award Candidate | 自动驾

    2024年01月25日
    浏览(29)
  • 重估端到端原则

    评价技术迭代的旧的定势眼光来自于该技术诞生时。 1970/80/90 年代,相比传输带宽技术,处理器更强。网络协议倾向于字段多,字段小且紧凑,尽可能减少传输量,用 “算法技巧” 等价,如果 TCP 序列号 48 位,win 48 位,端口号 48 位,所有与 PAWS,win scale option,get unique tup

    2024年02月07日
    浏览(48)
  • 什么是端到端测试?

    端到端测试(End-To-End Testing, 简称E2E测试)是一种 从头到尾测试整个软件产品 以确保应用程序流程按预期运行的技术。它定义了产品的系统依赖性,并确保所有集成部分按预期协同工作。 端到端测试的主要目的是 通过模拟真实用户场景并验证被测系统及其组件的集成和数据

    2024年02月07日
    浏览(47)
  • Humanoid-Gym 开源人形机器人端到端强化学习训练框架!星动纪元联合清华大学、上海期智研究院发布!

      Humanoid-Gym: Reinforcement Learning for Humanoid Robot with Zero-Shot Sim2Real Transfer GitHub Repository: GitHub - roboterax/humanoid-gym: Humanoid-Gym: Reinforcement Learning for Humanoid Robot with Zero-Shot Sim2Real Transfer   Humanoid-Gym是一个基于Nvidia Isaac Gym的易于使用的强化学习(RL)框架,旨在训练仿人机器人的运动

    2024年04月12日
    浏览(32)
  • 【端到端图像压缩】CompressAI运行记录

    目录 0 前言 1 代码来源 2 代码的运行 2.1 CompressAI下载与安装 2.2 运行示例程序 3 结果分析 4 结论 5 参考文献 0 前言 期末作业要求运行端到端的图像压缩代码,过程中学习了csdn上诸多教程。这里将运行的过程分享出来。 1 代码来源 目前大多数文献附带的代码是在Linux平台使用

    2024年02月12日
    浏览(31)
  • 前端实现端到端测试(代码版)

    playwright 、 cypress 、 selenium 对比 个人初步使用后,推荐playwright 框架作为e2e test 下载 cypress npm install cypress --save-dev package.json npm run cypress:open 使用流程 入门官方文档 npm run cypress:open 左侧端测试,右侧组件测试,点击左侧 选择你需要的浏览器,点击开始 自动打开浏览器,点击左侧s

    2024年02月04日
    浏览(29)
  • 单元测试与端到端测试——主要区别

    目录 前言: 什么是单元测试? 单元测试生命周期 单元测试的好处 那么它有什么好处呢? 单元测试示例 单元测试的类型 单元测试工具 什么是端到端测试? 端到端测试 端到端测试的主要好处是什么? 端到端测试示例 端到端测试的类型 横向端到端测试 垂直端到端测试 端到

    2024年02月15日
    浏览(38)
  • 实时Flink的端到端检测和测试

    在现代软件开发中,实时数据处理和检测是非常重要的。Apache Flink是一个流处理框架,可以用于实时数据处理和分析。在本文中,我们将讨论Flink的端到端检测和测试,以及如何实现高效和可靠的实时数据处理。 实时数据处理是指在数据生成的同时对数据进行处理和分析。这

    2024年02月22日
    浏览(37)
  • 端到端 RAG 解决方案 RAGFlow 正式开源

    继 AI 原生数据库 Infinity 于去年底正式开源之后,我们的端到端 RAG 解决方案 RAGFlow 也于今日正式开源。在回答 RAGFlow 是一款怎样的产品之前,我们先来谈谈为何要做这样一款产品。 RAG 发展到今日,已经成为 LLM 面向 B 端服务的共识,然而时至今日,针对它的疑问却从来没有

    2024年04月08日
    浏览(32)
  • 使用 Python 创建端到端聊天机器人

    聊天机器人是一种计算机程序,它了解您的查询意图以使用解决方案进行回答。聊天机器人是业内最受欢迎的自然语言处理应用。因此,如果您想构建端到端聊天机器人,本文适合您。在本文中,我将带您了解如何使用 Python 创建端到端聊天机器人。 训练的意图及回复越多,

    2024年02月01日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包