Mean teacher are better role models-论文笔记

论文笔记

资料

1.代码地址

2.论文地址

https://arxiv.org/pdf/1703.01780

3.数据集地址

CIFAR-10
https://www.cs.utoronto.ca/~kriz/cifar.html

论文摘要的翻译

最近提出的Temporal Ensembling方法在几个半监督学习基准中取得了最先进的结果。它维护每个训练样本的标签预测的指数移动平均,并惩罚与该目标不一致的预测。然而,由于每个目标只改变一次,所以在学习数据量较大数据集时,Temporal Ensembling变得很笨拙。为了克服这个问题,我们提出了Mean Teacher,一种平均模型权重而不是标签预测的方法。作为一个额外的好处,Means Teacher提高了测试的准确性,并允许使用比Temporal Ensembling更少的标签进行训练。在不改变网络结构的情况下,Means Teacher在具有250个标签的SVHN上获得了4.35%的错误率,性能优于使用1000个标签训练的Temporal Ensembling。我们还表明,良好的网络架构对性能至关重要。结合Mean Teacher和残差网络,我们将CIFAR-10上的4000个标签从10.55%提高到6.28%,在ImageNet 2012上将10%的标签从35.24%提高到9.11%。

1背景介绍

深度学习在图像和语音识别等领域取得了巨大的成功。为了学习有用的抽象概念,深度学习模型需要大量的参数,从而使它们容易过度拟合(图1a)。此外,手动将高质量的标签添加到训练数据通常是昂贵的。因此,需要使用正则化方法来有效地利用未标记数据来减少半监督学习中的过拟合。
在这里插入图片描述
当感知稍有变化时,人类通常仍会认为它是同一个物体。相应地,分类模型应该偏爱为相似数据点提供一致输出的函数。实现这一点的一种方法是向模型的输入添加噪声。为了使模型能够学习更抽象的不变性,可以将噪声添加到中间表示,这一见解激励了许多正则化技术,例如Dropout。正则化模型不是最小化输入空间零维数据点的分类成本,而是最小化每个数据点周围的流形上的成本,从而将决策边界推离标记的数据点(图1b)。
在这里插入图片描述
由于未标记样本的分类代价是未定义的,因此噪声正则化本身并不有助于半监督学习。为了克服这一点,Γ模型[21]评估了有和没有噪声的每个数据点,然后在两个预测之间应用一致性成本。在这种情况下,该模型承担了教师和学生的双重角色。作为学生,它像以前一样学习;作为教师,它产生目标,然后作为学生使用这些目标进行学习。由于模型本身会产生目标,它们很可能是错误的。
如果对生成的目标赋予太多权重,则不一致的代价大于错误分类的代价,实际上,该模型遭受了确认偏差(图1c),这一危险可以通过提高目标的质量来减轻
在这里插入图片描述
至少有两种方法可以提高目标质量。一种方法是仔细选择表示的扰动,而不是仅仅应用加性或乘性噪声。另一种方法是仔细选择教师模式,而不是勉强复制学生模式。与我们的研究同时进行的,Miyato等人。采取了第一种方法,并表明虚拟对抗性训练可以产生令人印象深刻的结果。我们采取第二种方法,并将表明它也提供了显著的好处。据我们了解,这两种方法是兼容的,它们的结合可能会产生更好的结果。然而,对它们的综合影响的分析超出了本文的范围。
因此,我们的目标是在不进行额外培训的情况下,从学生模型中形成更好的教师模型。作为第一步,考虑到模型的Softmax输出通常不能在训练数据之外提供准确的预测。这可以通过在推理时向模型添加噪声来部分缓解,因此嘈杂的教师可以产生更准确的目标(图1D)。这种方法被用在伪集协议中,并且最近被证明在半监督图像分类上效果良好。Laine和Aila将该方法命名为 Π \Pi Π模型;我们将使用这个名称和他们的版本作为我们实验的基础。
在这里插入图片描述
Π \Pi Π模型可以通过Temporal Ensembling来进一步改进,它对每个训练样本保持指数移动平均预测。在每个训练步骤中,基于新的预测来更新该小批量中的样本的所有EMA预测。因此,每个实例的均线预测是由模型的当前版本和评估同一实例的早期版本的集合形成的。这种集合提高了预测的质量,并将它们用作教师预测来改善结果。然而,由于每个目标在每个时期只更新一次,因此学习到的信息以较慢的速度被纳入训练过程。数据集越大,更新的跨度就越长,在在线学习的情况下,根本不清楚如何使用时间整合。(每个历元可以对所有目标进行一次以上的周期性评估,但保持评估跨度恒定将需要每个历元进行O(N2)个评估,其中n是训练实例的数量。)

2论文的创新点

  • 他会说有那几点,你总结一下

3 论文方法的概述

  • 为了克服Temporal Ensembling方法的局限性,我们提出平均模型权重替代预测。由于教师模型是连续学生模型的平均值,我们将其称为Mean Teacher方法。
    在这里插入图片描述
    在训练步骤上平均模型权重往往会产生比直接使用最终权重更精确的模型。我们可以在训练中利用这一点来构建更好的目标。教师模型使用学生模型的EMA权重,而不是与学生模型共享权重。现在,它可以在每一步而不是每一轮训练之后收集信息。此外,由于权重平均值改善了所有层的输出,而不仅仅是顶部输出,因此目标模型具有更好的中间表示。这些方面导致了Temporal Ensembling的两个实际优势:第一,更准确的目标标签导致学生和教师模型之间更快的反馈循环,从而产生更好的测试准确性。其次,该方法适用于大型数据集和在线学习

更正式地,我们将一致性成本 J \text{J} J定义为学生模型的预测(权重 θ \theta θ和噪声 η \eta η)和教师模型的预测(权重 θ ′ \theta^\prime θ和噪声 η ′ \eta^\prime η)之间的预期距离。 J ( θ ) = E x , η ′ , η [ ∥ f ( x , θ ′ , η ′ ) − f ( x , θ , η ) ∥ 2 ] J(\theta)=\mathbb{E}_{x,\eta',\eta}\left[\left\|f(x,\theta',\eta')-f(x,\theta,\eta)\right\|^2\right] J(θ)=Ex,η,η[f(x,θ,η)f(x,θ,η)2]
Π \Pi Π模型、Temporal Ensembling和Mean Teacher之间的区别在于教师预测是如何产生的。虽然 Π \Pi Π模型使用 θ ′ = θ \theta^ {\prime}= \theta θ=θ,并且时间集成使用连续预测的加权平均来近似 f ( x , θ ′ , η ′ ) f(x,\theta^ {\prime},\eta^ {\prime}) f(xθη),但我们在训练步长 t t t θ t ′ θ^{\prime}_t θt定义为连续 θ \theta θ权重的均方根: θ t ′ = α θ t − 1 ′ + ( 1 − α ) θ t \theta'_t=\alpha\theta'_{t-1}+(1-\alpha)\theta_t θt=αθt1+(1α)θt其中 α \alpha α是平滑系数超参数。这三种算法之间的另一个区别是, Π \Pi Π模型将训练应用于 θ ′ \theta^\prime θ,而时间集成和均值教师将其视为优化方面的常量。
我们可以通过随机梯度下降在每个训练步骤上采样噪声 η , η ′ \eta,\eta^{\prime} ηη来逼近一致性代价函数 J J J

4 论文实验

Π \Pi Π模型作为我们的基线。然后,我们修改了基线模型,以使用加权平均一致性目标。该模型结构是一个13层卷积神经网络(ConvNet),具有三种类型的噪声:输入图像的随机平移和水平翻转、输入层上的高斯噪声和网络内应用的丢弃噪声。我们使用均方误差作为一致性成本,并在前80轮训练中中将其权重从0递增到最终值。

4.1 在数据集SVHN和CIFAR-10与其他方法的比较

  • 数据集
    我们使用街景房屋编号(SVHN)和CIFAR-10基准进行了实验。这两个数据集都包含属于十个不同类别的32x32像素RGB图像。在SVHN中,每个示例都是门牌号的特写,类表示图像中心数字的标识。在CIFAR-10中,每个例子都是属于一个类别的自然图像,如马、猫、汽车和飞机。SVHN包含73257个训练样本和26032个测试样本。CIFAR-10由50000个训练样本和10000个测试样本组成。

表1和表2将结果与最近最先进的方法进行了比较。比较中的所有方法都使用类似的13层ConvNet架构。Mean Teacher提高了Π模型和时间集成在半监督SVHN任务上的测试准确率。Mean Teacher也提高了CIFAR-10的成绩,超过了我们的基线 Π \Pi Π模型。
在这里插入图片描述

4.2 SVHN with extra unlabeled data

如上所述,我们提出的Mean Teacher能够很好地适应大数据集和在线学习。另外,SVHN和CIFAR-10的实验结果表明,该方法能够有效地利用未标注的样本。因此,我们想测试我们是否已经达到了我们方法的极限。除了原始训练数据外,SVHN还包括531131个样本的额外数据集。我们从原始训练样本中挑选了500个样本作为我们的标注训练样本。我们使用主要训练集的其余部分以及额外的训练集作为未标记的示例。我们对Mean Teacher和我们的基线Π模型进行了实验,并使用了0、100000或500000个额外的例子。表3显示了结果。
在这里插入图片描述

4.3训练曲线分析

图3中的培训曲线帮助我们了解使用Mean Teacher的效果。正如预期的那样,EMA加权模型(最下面一排的蓝色和深灰色曲线)在初始阶段之后比裸露的学生模型(橙色和浅灰色)给出了更准确的预测。
在这里插入图片描述
使用EMA加权模型作为教师改善半监督环境下的结果。教师(蓝色曲线)通过一致性成本改善学生(橙色),学生通过指数移动平均改善教师,这似乎是一个良性反馈循环。如果脱离了这个反馈周期,学习速度就会变慢,模型就会更早地开始过度适应(深灰色和浅灰色)。
当标签稀缺时,刻薄的老师会提供帮助。当使用500个标签时(中间一栏)意味着教师学习得更快,并在Π模式停止改进后继续培训。另一方面,在所有标签的情况下(左栏),Mean Teacher和 Π Π Π模型的行为实际上是相同的。
平均而言,教师比 Π Π Π模型更有效地使用未标记的训练数据,如中间一栏所示。另一方面,在增加500k未标记样本的情况下(右栏), Π Π Π模型在更长的时间内保持改进。平均而言,教师的学习速度更快,最终会收敛到更好的结果,但庞大的数据量似乎抵消了 Π Π Π模型更糟糕的预测。

4.4 消融实验(Ablation experiments)

为了评估模型各个方面的重要性,我们对具有250个标签的SVHN进行了实验,每次改变一个或几个超参数,而保持其他参数不变

  • 消除噪音(图4(A)和4(B))。
    在引言和图1中,我们提出了一个假设,即Π模型通过在模型两侧添加噪声来产生更好的预测。但是,在加入了卑鄙的老师之后,还需要噪音吗?是。我们可以看到,无论是增加输入还是丢弃,都是可以通过的性能所必需的。另一方面,当使用增强时,输入噪声不起作用。教师方面的辍学只比学生方面提供了微不足道的好处,至少在使用输入增强时是这样。
    在这里插入图片描述
  • 对均线衰变和稠度重量的敏感性(图4©和4(D))。
    均值教师算法的基本超参数是一致性代价权重和均方根平均衰减α。算法对它们的值有多敏感?我们可以看到,在每种情况下,好的值大约跨越一个数量级,超出这些范围,性能会迅速下降。请注意,EMA Decayα=0使该模型成为Π模型的变体,尽管该模型的效率较低,因为梯度仅通过学生路径传播。还请注意,在评估运行中,我们在提升阶段使用了均线衰减α=0.99,在其余训练阶段使用了α=0.999。我们选择这一策略是因为学生在训练初期进步很快,因此老师应该很快忘记旧的、不准确的、学生的重量。后来,学生的进步变慢了,老师受益于更长的记忆力。

在这里插入图片描述
在这里插入图片描述

  • 分离分类和一致性(图4(E))。
    与教师预测的一致性不一定是分类任务的良好替代,特别是在培训的早期。到目前为止,我们的模型通过对这两个任务使用相同的输出,将这两个任务紧密地耦合在一起。将任务解耦将如何改变算法的性能?为了进行研究,我们将模型更改为具有两个顶层并生成两个输出。然后,我们对其中一个输出进行分类训练,对另一个进行一致性训练。我们还添加了输出对数之间的均方误差成本,然后改变该成本的权重,使我们能够控制耦合的强度。看一下结果(使用分类输出的EMA版本报告),我们可以看到强耦合版本执行得很好,而过于松散耦合版本则不好。另一方面,适度的脱钩似乎有让一致性提升变得多余的好处。
    在这里插入图片描述
  • Changing from MSE to KL-divergence
    在Laine&Aila之后,我们使用均方误差(MSE)作为一致性成本函数,但KL-散度似乎是更自然的选择。哪一种效果更好?我们对从均方误差(图中的τ=0)到KL发散(τ=1)的成本函数族的实例进行了实验,发现在这种设置下,均方误差比其他成本函数执行得更好。

4.5 Mean Teacher with residual networks on CIFAR-10 and ImageNet

在上面的实验中,我们使用了传统的13层卷积结构(ConvNet),这使得与早期工作的比较更容易。为了探索模型结构的影响,我们使用12块(26层)残差网络(ResNet)和Shake-Shake正则化在CIFAR-10上进行了实验。如表4所示,网络架构越好,结果越好。为了测试这些方法是否适用于更自然的图像,我们在Imagenet 2012数据集[22]上使用10%的标签进行了实验。我们使用了50块(152层)的ResNeXt架构[33],并且看到了相对于最先进水平的明显改进。由于测试集不是公开可用的,我们使用验证集测量结果。
在这里插入图片描述

5 总结

Temporal Ensembling、Virtual Adversarial Training等一致性正则化方法在半监督学习中表现出了较强的优势。在本文中,我们提出了均值教师,这是一种平均模型权重的方法,以形成一个目标生成教师模型。与时间整合不同的是,Means教师使用的是大型数据集和在线学习。实验表明,该方法提高了训练网络的学习速度和分类精度。此外,它还可以很好地扩展到最先进的架构和大图像尺寸。一致性正规化的成功取决于教师产生的目标的质量。如果目标可以改进,它们应该是。平均教师和虚拟对抗性训练代表了利用这一原则的两种方式。它们的结合可能会产生更好的目标。可能还有其他方法有待发现,以进一步改进目标和训练的模型。

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

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

相关文章

PCIe驱动开发(1)— 开发环境搭建

PCIe驱动开发(1)— 开发环境搭建 一、前言 二、Ubuntu安装 参考: VMware下Ubuntu18.04虚拟机的安装 三、QEMU安装 下载网站: https://download.qemu.org 下载文件:qemu-4.1.0-rc5.tar.xz 使用如下命令解压: tar …

clickhouse高可用可拓展部署

clickhouse高可用&可拓展部署 1.部署架构 1.1高可用架构 1.2硬件资源 部署服务 节点名称 节点ip 核数 内存 磁盘 zookeeper zk-01 / 4c 8G 100G zk-02 / 4c 8G 100G zk-03 / 4c 8G 100G clikehouse ck-01 / 32c 128G 2T ck-02 / 32c 128G 2T ck-03 / 32c 128G 2T ck-04 /…

java wait, notify, notifyAll三个方法

wait(), notify(), 和 notifyAll() 是 Java 中用于线程间通信和同步的方法,它们都是 Object 类中的方法,而非 Thread 类的方法。这些方法通常与 synchronized 关键字一起使用,用于实现线程之间的协作和互斥访问共享资源。 关于生产者-消…

PsQuerySystemDllInfo逆向

typedef struct _SYSTEM_DLL_ENTRY {ULONG64 type;UNICODE_STRING FullName;PVOID ImageBase;PWCHAR BaseName;PWCHAR StaticUnicodeBuffer; }SYSTEM_DLL_ENTRY, * PSYSTEM_DLL_ENTRY; 返回值为上面的结构体指针 验证 type: fullname inagebase: pwchar basename PWCHAR …

Windows 11文件资源管理器选项卡的4个高级用法,肯定有你喜欢的

作为一个每天使用文件资源管理器来管理我的工作流程的人,选项卡帮助我为处于不同完成阶段的工作创建了不同的文件夹。以下是我使用选项卡提高工作效率的最佳技巧。 打开和关闭选项卡 假设你的计算机上安装了Windows 11的最新更新,请按Ctrl+E打开文件资源管理器。在我发现“…

可验证算法在招投标领域的专家“盲抽”中的标段识别码加密应用研究

摘要 在招投标过程中,标段(包)识别码的安全性至关重要。本文提出了一种基于可验证算法的标段识别码加密方法,以确保其在专家“盲抽”过程中的保密性和可信性。通过对不同表的标段识别码进行全量加密,并通过匹配验证其…

烟草企业如何在数字化转型中实现从“传统”到“智能”的跨越?

在数字化浪潮的席卷下,各行各业都在经历着深刻的变革。作为国民经济的重要组成部分,烟草行业正处于高质量发展的重要阶段,加快信息系统国产化升级,对于提升行业竞争力、强化信息安全保障具有重要战略意义。 达梦数据积极助力烟草行…

FPGA_GTX:简要版

1. GTX介绍 Xilinx FPGA的GT意思是Gigabyte Transceiver。通常称呼为Serdes、高速收发器。GT在xilinx不同系列有着不同的产品,从7系列到UltraScale系列分别有GTP、GTX、GTZ、GTH、GTY和GTM。不同GT整体结构上类似,为了支持越来越高的line rate&#xff…

嵌入式Linux系统编程 — 7.2 进程的环境变量

目录 1 什么是进程的环境变量 2 环境变量的作用 3 应用程序中获取环境变量 3.1 environ全局变量 3.2 获取指定环境变量 getenv 4 添加/删除/修改环境变量 4.1 putenv()函数添加环境变量 4.2 setenv()函数 4.3 unsetenv()函数 1 什么是进程的环境变量 每一个进程都有一…

Android触摸事件分发关键点【笔记摘要】

触摸事件分发:就是一个为了解决触摸事件冲突而设置的机制 1.事件类型 ACTION_DOWN -> ACTION_UP / ACTION_CANCEL ACTION_DOWN -> ACTION_MOVE -> ACTION_MOVE -> ACTION_MOVE -> ACTION_UP / ACTION_CANCEL 这个取消事件ACTION_CANCEL它是一种特殊…

Hack The Box -- Blazorized

一、准备工作 端口扫描 详细扫描 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-30 21:39 EDT Nmap scan report for 10.10.11.22 Host is up (0.26s latency).PORT STATE SERVICE VERSION 53/tcp open domain Simple DNS Plus 80/tcp op…

MyBatisPlus Service接口的继承

介绍 Service接口 接口基础了接口 IService&#xff0c;实现类实现就需要实现IService里的方法&#xff0c;但是MyBatisplus已经帮我们写好了实现类&#xff0c;给我们的实现类继承即可。 public interface IEmpService extends IService<Emp> { //其他业务方法.... }…

web学习笔记(八十)

目录 1.小程序实现微信一键登录 2. 小程序的授权流程 3.小程序配置vant库 4.小程序配置分包 5.小程序配置独立分包 6.小程序分包预下载 1.小程序实现微信一键登录 要先实现小程序一键登录首先我们需要给按钮设置一个绑定事件&#xff0c;然后在绑定事件内部通过wx.login…

产品经理-工作流程及职能(6)

产品经理作为互联网项目的主心骨&#xff0c;连接着团队的所有成员&#xff08;开发、设计、运营、测试、市场等&#xff09; 用合理的产品规划和清晰的产品愿景带领大家前进&#xff0c;通过满足用户需求来创造属于自己的商业利益。 在通常情况下&#xff0c;PM需要对整个产品…

最新扣子(Coze)实战案例:使用图像流做超分,模糊图片秒变清晰,完全免费教程

&#x1f9d9;‍♂️ 大家好&#xff0c;我是斜杠君&#xff0c;手把手教你搭建扣子AI应用。 &#x1f4dc; 本教程是《AI应用开发系列教程之扣子(Coze)实战教程》&#xff0c;完全免费学习。 &#x1f440; 关注斜杠君&#xff0c;可获取完整版教程。&#x1f44d;&#x1f3f…

当需要对大量数据进行排序操作时,怎样优化内存使用和性能?

文章目录 一、选择合适的排序算法1. 快速排序2. 归并排序3. 堆排序 二、数据结构优化1. 使用索引2. 压缩数据3. 分块排序 三、外部排序1. 多路归并排序 四、利用多核和并行计算1. 多线程排序2. 使用并行流 五、性能调优技巧1. 避免不必要的内存复制2. 缓存友好性3. 基准测试和性…

区块链技术如何改变供应链管理?

引言 供应链管理在现代商业中扮演着至关重要的角色&#xff0c;确保产品和服务从原材料到最终消费者的顺利流转。然而&#xff0c;当前的供应链管理面临诸多挑战&#xff0c;如信息不透明、数据篡改和效率低下等问题&#xff0c;这些问题严重制约了供应链的整体效能和可信度&am…

简单分享下python多态

目录&#xff1a; 一、多态是啥嘞&#xff08;龙生九子各有不同&#xff0c;这就是多态&#xff09; 二、基础的实例 三、多态的优势与应用场景 四、深入理解 一、多态是啥嘞&#xff08;龙生九子各有不同&#xff0c;这就是多态&#xff09; 多态&#xff08;Polymorphism&…

笔记14:程序中的循环结构

生活中的循环现象&#xff1a; -日复一日&#xff0c;年复一年 -春夏秋冬&#xff0c;四季交替 -周日&#xff0c;周一&#xff0c;周二&#xff0c;周三&#xff0c;周四&#xff0c;周五&#xff0c;周六 -人生是一个轮回&#xff0c;多年后&#xff0c;又会回到最初的原点 …

C++|哈希应用->布隆过滤器

目录 一、概念 二、模拟实现 三、布隆过滤器扩展应用 上一篇章学习了位图的使用&#xff0c;但它只适用于整数&#xff0c;对于要查询字符串是否在不在&#xff0c;位图并不能解决。所以针对这一问题&#xff0c;布隆过滤器可以派上用场&#xff0c;至于布隆过滤器是什么&am…