Π-model,Temporal ensembling,Mean Teacher半监督模型

Π-model,Temproal ensembling方法来自文章TEMPORAL ENSEMBLING FOR SEMI-SUPERVISED LEARNINGhttps://openreview.net/pdf?id=BJ6oOfqge

ensemble模型通常要优于ensemble中的单一模型。当我们在训练某个单一的神经网络,特别是当该神经网络含有dropout,dropconnect或者随机深度等正则化方法时,训练总是集中在网络的一个特定子集上,因此完整的网络可以看作是我们训练的这些sub-network的一个隐式集成。

通过使用self-ensembling方法,本研究定义了Π−Model和temporal ensembing两种模型。

一、Π−Model

a. 模型示意图

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiJ6KeJ,size_20,color_FFFFFF,t_70,g_se,x_16

b. 算法伪代码

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiJ6KeJ,size_20,color_FFFFFF,t_70,g_se,x_16

c. 总结

需要注意的是,在Π−Model的训练过程中,无监督部分Loss的权重必须缓慢增长,刚开始的时候,模型训练的Loss必须以有标签数据的监督Loss为主,不然的话,网络会很快收敛得到一个无效的解而对分类预测任务无效。

训练开始的时候,无监督Loss的权重w(t)的初始值为0。

二、Temporal ensembling

a. 模型示意图

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiJ6KeJ,size_20,color_FFFFFF,t_70,g_se,x_16

b. 算法过程

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiJ6KeJ,size_20,color_FFFFFF,t_70,g_se,x_16

c. 总结

1). Temporal ensembling模型与Π−model之间的区别主要在于:1. 对于每个epoch的每个input而言,其数据增强与模型预测都只是进行一次(Π−Model进行两次);2.计算无监督Loss的target向量都是基于前一次模型预测结果完成,而不用重复计算两次输出结果。

2). 与Π−Model相比而言,Temporal ensembling模型具有两个优点:1. 由于对每个input只进行一次预测,所以其运算速度要更快;2. 训练过程中,无监督部分的目标向量𝑧的噪声更小。

3). 与Π−Model相比而言,Temporal ensembling模型引入了一个新的超参数α,并且需要占用更多的内存用于储存中间结果。

4). 训练开始的时候,无监督Loss的权重w(t)的初始值为0。

三、Mean Teacher

论文链接:Mean Teacherhttps://arxiv.org/abs/1703.01780https://arxiv.org/abs/1703.01780

上面介绍的Π−Model和Temporal ensembling两种半监督学习方法,以Temporal ensembling模型更优,但是Temporal ensembling模型只有在训练完成一个epoch之后才会完成对target向量的更新。这时候就会有一个问题,那就是当数据量特别大的时候,这种方法的效率就会降低。为了解决这种问题,本研究提出了Mean Teacher,一种对模型权重进行加权平均而不是对模型的预测结果进行加权平均。这样实现性能优于Temporal ensembling的同时,对标签数据的需求也比较小。

本研究提出的模型假定两种角色,分别是teacher模型和student模型。对于student模型而言,其像传统深度学习模型一样训练。而teacher模型会生成一个target向量供student模型学习。

这时候就会存在一个问题,由于target是模型自己生成,那这些target就有可能是错的。如果此时对该target再赋予一个较大的权重,那么无监督部分的Loss就会大于监督部分的Loss,这时候训练得到的模型就是一个差模型。由此可见,target的质量对模型的性能尤为重要。

目前至少有两种方法可以提高target的质量:1. 小心谨慎的选择对特征表示的扰动方法,而不是简单的加上或者乘上一个噪声;2. 小心谨慎的选择teacher模型,而不是简单的重复student模型。按照研究者的理解,将上述两种方法组合在一起应该能得到更加优异的结果。

为了解决Temporal Ensembling方法的缺陷,本研究提出使用对模型权重进行平均加权而不是模型预测结果进行加权的方法,由于teacher模型是对student模型的一个连续平均过程,于是我们称这种方法为Mean Teacher方法。

a. 模型结构示意图

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiJ6KeJ,size_20,color_FFFFFF,t_70,g_se,x_16

b. 算法描述

  • 当使用公式表示上述过程时,对于交叉熵损失而言,其计算方法与Π−Model或Temproal ensembling模型一样。
  • 定义使用一致性损失 𝐽 来表示student模型(权重为θ,噪声为η)预测值与teacher模型(权重为θ′,噪声为η′)预测值之间的差异:​​​​​

gif.latex?J%28%5Ctheta%29%3DE_%7Bx%2C%5Ceta%5E%7B%27%7D%2C%5Ceta%7D%5B%7C%7Cf%28x%2C%5Ctheta%5E%7B%27%7D%2C%20%5Ceta%5E%7B%27%7D%29-f%28x%2C%5Ctheta%2C%20%5Ceta%29%7C%7C%5E2%5D

  • Mean Teacher模型与Π−model和Temproal ensembling模型之间的差异主要在于teacher模型产生预测值的方式。与Π−model使用θ′=θ,Temproal ensembling模型通过对预测值进行加权平均来近似 fx,θ′,η′不同,对于Mean Teacher模型而言,我们定义在第t次训练过程中,使用EMA(exponential moving average)对权重θ的连续加权平均结果表示为θ′,于是有:

    gif.latex?%5Ctheta%5E%7B%27%7D_t%3D%5Calpha%5Ctheta%5E%7B%27%7D_%7Bt-1%7D+%281-%5Calpha%29%5Ctheta_t

    其中,α是一个用于平滑作用的超参数。 

  • 与Π−model和Temproal ensembling模型一样,α的初始值为0,随着训练过程缓慢增加。

 

  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值