【半监督学习】半监督学习中的时间集合

         在本文中,我们提出了一种在半监督环境下训练深度神经网络的简单而高效的方法,在这种环境下,只有一小部分训练数据是有标签的。我们引入了self-ensembling技术,即利用网络在不同历时最重要的是在不同正则化和输入增强条件下的训练输出,形成对未知标签的共识预测与网络在最近训练历时的输出相比,这种集合预测可以更好地预测未知标签,因此可以作为训练的目标。使用我们的方法,我们在两个标准半监督学习基准测试中创造了新纪录,在有 500 个标签的 SVHN 中,分类错误率(未增强)从 18.44% 降至 7.05%;在有 4000 个标签的 CIFAR-10 中,分类错误率从 18.63% 降至 16.55%;启用标准增强后,分类错误率进一步降至 5.12% 和 12.16%。此外,通过在训练过程中使用来自 Tiny Images 数据集的随机图像作为未标记的额外输入,我们还明显提高了 CIFAR-100 的分类准确率。最后,我们还展示了对错误标签的良好耐受性。

介绍: 

        众所周知,多个神经网络的集合通常会比集合中的单个网络产生更好的预测效果。在通过 dropout(Srivastava 等人,2014 年)、dropconnect(Wan 等人,2013 年)或随机深度(Huang 等人,2016 年)正则化方法训练单个网络时,以及在 swapout 网络(Singh 等人,2016 年)中,这种效应也被间接利用,在 swapout 网络中,训练总是集中在网络的特定子集上,因此完整的网络可以被视为这些训练好的子网络的隐式集合。我们扩展了这一想法,在训练过程中,利用单个网络在不同训练历时、不同正则化和输入增强条件下的输出,形成集合预测。我们的训练仍然是在单个网络上进行的,但由于采用了滤除正则化,在不同历元上进行的预测相当于大量单个子网络的集合预测

        这种集合预测可用于半监督学习,在这种情况下,只有一小部分训练数据是有标签的。如果我们将集合预测与正在训练的网络的当前输出进行比较,集合预测很可能更接近于未标记输入的正确未知标签。因此,通过这种方法推断出的标签可以作为未标记输入的训练目标。我们的方法在很大程度上依赖于剔除正则化和多功能输入增强。事实上,如果没有这两个因素,我们就没有理由相信为未标注训练数据推断出的任何标签。

        我们介绍了两种实现自组装的方法:Π 模型和时间组装。这两种方法在半监督学习方面都大大超越了之前最先进的结果。此外,我们还发现,自组装(self-ensembling)还能提高完全标签情况下的分类准确率,并提供对错误标签的容忍度。

        Sajjadi 等人(2016b)最近提出的转换/稳定性损失与我们的工作基于相同的原理,Π 模型可视为其特例。Π模型也可以看作是 Rasmus 等人(2015 年)对梯形网络Γ模型的简化,这是之前提出的一种用于半监督学习的网络架构。我们的时序集合方法与 Reed 等人(2014)针对有噪声标签的训练所采用的引导方法有关。

在训练过程中自我组装:

        我们介绍了两种在训练过程中实现自组网的方法。第一种是Π-模型,鼓励在两种不同的辍学条件下,同一输入刺激的两次实现之间的网络输出保持一致。第二种方法是时间集合,它将网络对之前多个训练历时的预测考虑在内,从而简化并扩展了这种方法。

        我们将结合传统的图像分类网络来描述我们的方法。假设训练数据总共由 N 个输入组成,其中 M 个是有标签的。所有训练数据的输入刺激均以 xi 表示,其中 i ∈ {1 .N }.让集合 L 包含标注输入的索引,|L| = M。对于每个 i ∈ L,我们都有一个已知的正确标签 yi ∈ {1 .C},其中 C 是不同类别的数量。

Π-MODEL 

        Π模型的结构如图 1(上图)所示,伪代码如算法 1 所示。在训练过程中,我们对每个训练输入 xi 进行两次网络评估,得出预测向量 zi 和 ̃ zi。我们的损失函数由两部分组成。第一个部分是标准的交叉熵损失,仅针对标记输入进行评估。第二个部分针对所有输入进行评估,通过均方差对同一训练输入 xi 的不同预测进行惩罚。为了将有监督和无监督的损失项结合起来,我们通过与时间相关的加权函数 w(t) 对后者进行缩放。通过比较整个输出向量 zi 和 ̃ zi,我们有效地要求两个评估之间的 "暗知识"(Hinton 等人,2015 年)接近,这比传统训练中只要求最终分类保持不变要强得多。

        需要注意的是,由于采用了 dropout 正则化,训练过程中的网络输出是一个随机变量。因此,在相同的网络权重 θ 下对相同的输入 xi 进行两次评估会产生不同的结果。此外,高斯噪声和随机平移等增强因素也会被评估两次,从而产生额外的变化。这些影响的组合解释了预测向量 zi 和 ̃ zi 之间的差异。鉴于原始输入 xi 是相同的,这种差异可视为分类中的误差,因此将其最小化是一个合理的目标。 

        在我们的实施过程中,无监督损失加权函数 w(t) 从零开始,在前 80 个训练历元中沿着高斯曲线逐渐上升。有关该函数和其他训练参数的更多详情,请参阅附录 A。因此,一开始的总损失和学习梯度都是由监督损失部分(即仅标签数据)主导的。我们发现,无监督损失分量的上升速度必须足够慢,否则网络很容易陷入退化解,无法对数据进行有意义的分类

        我们的方法与 Rasmus 等人(2015 年)的梯形网络Γ模型有些类似,但概念上更简单。在Π模型中,比较直接在网络输出上进行,即在软最大激活之后,两个分支之间没有辅助映射,例如梯形网络架构中学习到的去噪函数。此外,我们对两个分支的输入应用了相同的增强和噪声,而不是像Γ模型那样有一个 "干净 "分支和一个 "损坏 "分支。

TEMPORAL ENSEMBLING

        分析 Π 模型的工作原理,我们同样可以将两个分支的评估分成两个独立的阶段:首先对训练集进行一次分类,而不更新权重 θ然后在不同的增强和剔除条件下对相同的输入进行网络训练,并将刚刚获得的预测结果作为无监督损失部分的目标由于这种方法获得的训练目标是基于对网络的单次评估,因此可能会产生噪声时间集合法将之前多个网络评估的预测结果汇总到一个集合预测中,从而缓解了这一问题它还能让我们在训练过程中只对网络进行一次评估,与 Π 模型相比,速度提高了约 2 倍

        图 1(下)显示了我们的时空集合方法的结构,算法 2 则显示了其伪码。与 Π 模型的主要区别在于,每个输入每个历元只对网络和增强进行一次评估,无监督损失分量的目标向量 ̃ z 基于之前的网络评估,而不是对网络进行第二次评估

        每次训练历时结束后,网络输出 zi 通过更新 Zi ← αZi + (1 - α)zi 被累积为集合输出 Zi,其中 α 是一个动量项,用于控制集合在训练历史中的累积程度。因此,由于去掉正则化和随机增强,Z 包含了网络集合 f 在之前训练历时的输出的加权平均值最近的历时比较远的历时具有更大的权重为了生成训练目标 ̃ z,我们需要通过除以系数 (1 - αt)来修正 Z 中的启动偏差。亚当(Kingma & Ba,2014 年)和纯均值批次归一化(Salimans & Kingma,2016 年)等研究也采用了类似的偏差校正方法。在第一个训练期,Z 和 ̃ z 为零,因为没有之前训练期的数据。因此,我们指定无监督权重提升函数 w(t) 在第一个训练历时也为零。 

        与 Π 模型相比,时态集合有两方面的优势。首先,训练速度更快,因为网络在每个历元上对每个输入只评估一次。其次,与 Π 模型相比,训练目标 ̃ z 的噪声更小。正如第 3 节所示,在相同训练历元数的情况下,时空集合的结果确实比 Π 模型要好一些。虽然当数据集包含大量项目和类别时,矩阵 Z 可能相当大,但其元素的访问频率相对较低。因此,可以将其存储在内存映射文件中。

        时空集合的另一个有趣的可能性是从网络预测 zi 中收集除均值之外的其他统计数据。例如,通过跟踪网络输出的第二原始矩,我们可以估计每个输出成分 zi,j 的方差。这样就能以一种原则性的方式推理出网络输出的不确定性(Gal & Ghahramani,2016 年)。基于这一信息,我们可以在无监督损失项中,将更多权重放在更确定的预测上,而不是不确定的预测上。不过,我们会在今后的工作中继续探索这些途径。

[论文笔记]Temporal Ensembling for Semi-supervised Learning - 知乎 (zhihu.com)

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

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

相关文章

充电桩战火重燃,特来电、星星充电上演“龙虎斗”

配图来自Canva可画 小米Su7真的太火了,上市40天锁单量超过10万供不应求,给新能源汽车行业带来了新的活力,也促进了充电桩行业的发展。 据中国汽车工业协会数据,4月份新能源汽车产销分别完成87万辆和85万辆,同比分别增…

地表最强ChatGPT爆了!我来告诉你,它都有什么用

OpenAI刚刚发布了全新的 "GPT-4o",它不仅可以通过语音、视觉和文本进行推理,还在速度和价格上有了巨大的突破。它的速度提高了2倍,价格却降低了50%,而且生成速率比GPT-4 Turbo高出5倍。最令人惊喜的是,它将对…

【prometheus】prometheus基于consul服务发现实现监控

目录 一、consul服务发现简介 1.1 consul简介 二、prometheus配置 2.1 node-exporter服务注册到consul 2.2 修改prometheus配置文件 【Prometheus】概念和工作原理介绍_prometheus工作原理-CSDN博客 【Prometheus】k8s集群部署node-exporter 【prometheus】k8s集群部署p…

C语言之旅:动态内存管理

目录 一.为什么要有动态内存分配 二.malloc和free 2.1 malloc 2.2 free 2. 3malloc和free的使用 三. calloc 四. raelloc 4.1 代码示例: 4.2 注意事项: 4.3 对动态开辟空间的越界访问 4.4 对非动态开辟内存使⽤free释放 4.5 使用free释放⼀块…

在Python中防止某些字段被Pickle序列化

在Python中,如果你想防止某些字段被pickle序列化,可以使用__reduce__()方法来自定义pickle行为。__reduce__()方法允许你返回一个元组,其中包含要在对象被pickle时调用的函数以及传递给该函数的参数。下面就是我遇到的问题以及最终解决方案。…

2D Chests Assets - Mega Pack

科幻/奇幻/经典主题的箱子和容器。AAA质量,高分辨率,VFX,源PSD文件。 这是一个带有手绘套装的大包装: -【梦幻之栗】 -【科幻钱包】 AAA质量。高分辨率。一切都已准备就绪,可供使用。包括PSD文件。 在1.1版本中添加了VFX并将项目更新为URP。请注意,新的VFX仅适用于URP/HD…

Python中的数据可视化:填充等高线图matplotlib.pyplot.contourf()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 Python中的数据可视化: 填充等高线图 matplotlib.pyplot.contourf() [太阳]选择题 关于代码描述正确的是? import matplotlib.pyplot as plt import numpy as np x …

基于若依的ruoyi-vue3.8.7的flowable支持指定接收人的流程审批前端部分

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: h…

基于BF算法和KMP算法的病毒感染检测

案例引入: 实验任务: 代码实现: 注意:我以项目的形式编写此代码,编译环境为VS2022,代码移植可能会导致错误 mystring.h:存放结构体以及函数声明 #define _CRT_SECURE_NO_WARNINGS #pragma on…

在电脑本地运行llama3-8b模型

文章目录 流程我的案例api调用llama.cpp 流程 ollama支持可运行的模型,图片这里只是一部分而已,只需要下载下面的软件和模型文件,即可直接运行,而无需配置其他 模型文件下载地址 https://ollama.com/library 支持的部分模型,实际上更多,这里只是显示部分 登陆ollama官网 htt…

cpu卡片详解(FM1208)

​ 目录 ​1. 引言 1.1 FM1208 CPU卡芯片 2. FM1208 CPU卡芯片概述 2.1 FM1208及其在智能卡中的作用 2.2 FM1208功能框图 3.FM1208的技术规格 4.FM1208工作流程 5.FM1208文件结构 6.FM1208与其他智能卡技术的比较 7.FM1208安全特性 7.1 DES/…

解决kali Linux2024无法获取动态IPv4地址(DHCP)解决方案

用root用户启动终端 进入根目录,选择配置文件 cd到根目录下/../etc/network找到interfaces文件 编辑interfaces文件 vi interfaces,编辑interfaces文件 输入如下命令 打开虚拟网络编辑器 选择虚拟机选项卡,编辑,打开虚拟网络编…

织梦dedecms企业网站模板安装教程

很多新手在拿到织梦模板后不知道如何安装,所以,云部落(Yunbuluo.Net)资源网专门整理了一份图文版织梦模板通用安装教程,希望对大家有所帮助。 第一步: 将域名解析绑定好之后,上传下载的模板至您的WEB根目录中&#xf…

【再探】设计模式—桥接模式、组合模式及享元模式

结构型设计模式描述了对象与类之间的关系。适配器模式及装饰器模式主要用于接口适配及功能增强,而桥接模式模式则是为了减少类的数量,组合模式让部分与容器能被客户端统一对待处理,享元模式则是用于节约系统内存,提高系统性能。 …

52. UE5 RPG 应用自定义FGameplayEffectContext到项目

在前面一篇文章中,我们创建了自定义的FGameplayEffectContext结构体,用于存储所需的内容。在自定义的结构体内,我们主要是为了增加暴击和格挡两个参数,用于后面的UI显示给玩家,让玩家知道当前触发的状态。并且我们还对…

分布式与一致性协议之PBFT算法(一)

PBFT算法 概述 前面提到了拜占庭将军问题之后,有人可能会感到困惑:口信消息型拜占庭问题直接在实际项目中是如何落地的呢?事实上,它很难在实际项目中落地,因为口信消息型拜占庭问题之解是一个非常理论化的算法,没有与…

区块链数据集(一)Xblock

一、Transaction Datasets Ethereum On-chain Data [Dataset] 2021-10TransactionData/Code AvailableEthereum Introduction: This is the dataset of paper “XBlock-ETH: Extracting and Exploring Blockchain Data From Ethereum”. Data / Code Paper CiteDownloads: …

【Python大数据】PySpark

CSDN不支持多个资源绑定,另外两个数据文件下载: 订单数据-json.zip search-log.zip Apache Spark是用于大规模数据(large-scala data)处理的统一(unified)分析引擎 简单来说,Spark是一款分布式的计算框架,用于调度成百上千的服…

5万字带你一文看懂自动驾驶之高精度地图前世今生

在讲解高精度地图之前,我们先把定位这个事情弄清楚,想明白,后面的事情就会清晰很多,自古哲学里面讨论的人生终极问题,无非就三个,我是谁,我从哪里来,我要去哪里,这里的位…

构建智慧设施管理平台:数字化引领未来建筑行业发展

随着城市化进程的不断推进和建筑行业的持续发展,智慧设施管理平台的重要性日益凸显。在这一背景下,构建智慧设施管理平台成为推动建筑行业数字化转型的关键举措。本文将深入探讨智慧设施管理平台的构建与优势,助力建筑企业把握数字化转型的主…