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.rhkb.cn/news/370667.html

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

相关文章

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

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

每日一题~ (判断是否是合法的出栈序列)

大概的题意: 将 1-n 按照顺序进栈,问 输入的序列是否是合法的出栈序列。 遍历序列,如果当前这个值a小于 栈顶的值,说明它还未进栈(因为我们是按照顺序进栈的),所以我们将 一些元素进栈&#xff…

Python深度理解系列之【排序算法——冒泡排序】

读者大大们好呀!!!☀️☀️☀️ 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️木道寻的主页 文章目录 🔥前言🚀冒泡排序python实现算法实现图形化算法展示 ⭐️⭐️⭐️总结 🔥前…

【Linux进阶】文件系统7——文件系统简单操作

1.磁盘与目录的容量 现在我们知道磁盘的整体数据是在超级区块中,但是每个文件的容量则在inode 当中记载。 那在命令行模式下面该如何显示这几个数据?下面就让我们来谈一谈这两个命令: df:列出文件系统的整体磁盘使用量&#xf…

人工智能 (AI) 基本概念 入门篇【C#】版

1. 什么是人工智能? 人工智能(Artificial Intelligence, AI)是指计算机系统能够执行通常需要人类智能的任务,如视觉识别、语音识别、决策和语言翻译等。AI的核心是通过算法和数据进行学习和推理,以实现智能行为。 2.…

【IO】文件操作

🥰🥰🥰来都来了,不妨点个关注叭! 👉博客主页:欢迎各位大佬!👈 文章目录 1. 文件1.1 认识文件1.2 分清操作的是内存还是硬盘1.3 路径1.3.1 目录结构1.3.2 相对和绝对路径 1.4 文本文件…

String类对象比较:==和equals的具体细节

public class test {public static void main(String[] args) {String name1 "zzz";String name2 "zzz";String name3 new String("zzz");// hashCode() 方法:基于字符串的内容计算哈希值,因此内容相同的字符串对象其 …

Git新仓库创建流程

平时需要创建新仓库,老要去查代码特别烦,在此写下流程方便备用. 1.创建新的云仓库 无论使用GitHub还是Gitee,首先要创建一个云仓库,这里就直接用国内的gitee做演示了,githup老挂加速器太烦,偷个懒. 我这里创建的是一个空仓库&…

java原子类

在Java中,原子类(Atomic Classes) 是位于java.util.concurrent.atomic包中的一组类,这些类提供了一些原子操作,用于在多线程环境下进行安全的并发编程。原子类利用了底层的硬件支持,确保操作的原子性和线程…

Codeforces Round 903 (Div. 3)A~F

A.Dont Try to Count 输入样例: 12 1 5 a aaaaa 5 5 eforc force 2 5 ab ababa 3 5 aba ababa 4 3 babb bbb 5 1 aaaaa a 4 2 aabb ba 2 8 bk kbkbkbkb 12 2 fjdgmujlcont tf 2 2 aa aa 3 5 abb babba 1 19 m mmmmmmmmmmmmmmmmmmm输出样例: 3 1 2 -1 1 0…

跨越语言的界限:Vue I18n 国际化指南

前言 📫 大家好,我是南木元元,热爱技术和分享,欢迎大家交流,一起学习进步! 🍅 个人主页:南木元元 目录 国际化简介 vue-i18n 安装和配置 创建语言包 基本使用 切换语言 动态翻…

大数据Spark 面经

1: Spark 整体架构 Spark 是新一代的大数据处理引擎,支持批处理和流处理,也还支持各种机器学习和图计算,它就是一个Master-worker 架构,所以整个的架构就如下所示: 2: Spark 任务提交命令 一般我们使用shell 命令提…

深入理解TCP协议格式(WireShark分析)

传输控制协议(TCP)是互联网中最为关键的通信协议之一。了解TCP协议的细节不仅对于网络工程师至关重要,对于任何涉及网络通信的软件开发人员而言都是必备的知识。本文旨在深入探讨TCP协议,从协议的基本概述到其工作机制&#xff0c…

237 删除链表中的节点

题目 有一个单链表的 head,我们想删除它其中的一个节点 node。 给你一个需要删除的节点 node 。你将 无法访问 第一个节点 head。 链表的所有值都是 唯一的,并且保证给定的节点 node 不是链表中的最后一个节点。 删除给定的节点。注意,删…

用户身份和文件权限

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 目录 一、用户身份与能力 二、文件权限与归属 三、文件的特殊权限 四、文件的隐藏属性 五、文件访问控制列表 六、su命令和sudo服务 致谢 一、…

动手学深度学习(Pytorch版)代码实践 -计算机视觉-48全连接卷积神经网络(FCN)

48全连接卷积神经网络(FCN) 1.构造函数 import torch import torchvision from torch import nn from torch.nn import functional as F import matplotlib.pyplot as plt import liliPytorch as lp from d2l import torch as d2l# 构造模型 pretrained…

调试支付分回调下载平台证书

之前的原生代码放到webman里面,死活跑不通 没办法,只能用esayWeChat6.7 (自行下载) 它里面配置要用到平台证书 平台证书又要用到 composer require wechatpay/wechatpay 但是请求接口之前,你先要用到一个临时的平台…

linux下高级IO模型

高级IO 1.高级IO模型基本概念1.1 阻塞IO1.2 非阻塞IO1.3 信号驱动IO1.4 IO多路转接1.5 异步IO 2. 模型代码实现2.1 非阻塞IO2.2 多路转接-selectselect函数介绍什么才叫就绪呢?demoselect特点 2.3 多路转接-pollpoll函数介绍poll优缺点demo 2.4 多路转接-epoll&…

【算法笔记自学】第 5 章 入门篇(3)——数学问题

5.1简单数学 #include <cstdio> #include <algorithm> using namespace std; bool cmp(int a,int b){return a>b; } void to_array(int n,int num[]){for(int i0;i<4;i){num[i]n%10;n /10;} } int to_number(int num[]){int sum0;for(int i0;i<4;i){sumsu…

移动端UI风格营造舒适氛围

移动端UI风格营造舒适氛围