[论文阅读笔记20]TEMPORALENSEMBLING FORSEMI-SUPERVISED LEARNING

作者:

NVIDIA
Samuli Laine
Timo Aila
年份:2016

核心原则:一致性正则(consistency regularization)

一致性正则要求一个模型对相似的输入有相似的输出,即给输入数据注入噪声,模型的输出应该不变,模型是鲁棒的。

来自【5】的描述

image-20210225155819578

提出模型

模型1:П-model

image-20210225141314310

​ 从这个模型流程图可以知道,数据样本xi(例如论文中数据为图片),经过了两次模型进行随机计算(或者理解为加入一些对抗的因子)。由于经过了带有随机性的计算,故计算结果会有一定误差,这个计算就是上面的squared difference的损失计算Loss1;另外,还有一个就是交叉熵的计算,即是cross-entropy,这个很显然是带有yi的计算,也就是监督的Loss2。这个过程用一句话来说,损失的计算是未标注数据损失值Loss1与标注的损失值Loss2两都构成。两都的合并,加入了w(t)的控制,w(t)是权重随时间变化而变化的权重函数,当t=0时,w(t)=0,即开始于0;然后渐渐增大。直观来说,未标注数据信息随着模型的学习,渐渐加入。论文的实验中设置规则为:前80轮函数为:exp(-5(1-T)^2); T从0到1接近线性增长变化。

【3】如上图所示,Π Model 包含两个核心点:

  • 第一:对每一个参与训练的样本,在训练阶段,进行两次前向运算。此处的前向运算,包含一次随机增强变换和一次模型的前向运算。由于增强变换是随机的,同时模型采用了 Dropout,这两个因素都会造成两次前向运算结果的不同,如图中所示的两个 zi。
  • 第二:损失函数由两部分构成,如下图所示。第一项由交叉熵构成,仅用来评估有标签数据的误差。第二项由两次前向运算结果的均方误差(MSE)构成,用来评估全部的数据(既包括有标签数据,也包括无标签数据)。其中,第二项含有一个时变系数,用来逐步释放此项的误差信号。此处的第二项即是用来实现一致性正则。

具体的流程算法伪代码:

image-20210225141348240

模型2:Temporal ensembling

image-20210225141329558

时序ensembling模型相对于П-model,它也是计算两个预测结果,可是不同的是,П-model是经过在一个epoch中两次计算,这里则是当前的zi与历史的zi来计算,而zi传播下去的公式如下,可以理解为,历史zi并不是上一次的输出,而是一个历史序列的组合,是一个指数滑动平均(Exponentially Moving Average,EMA),这个也是体现了==“ensembling”==的核心。

image-20210225151734417

这个a是一个动量项。它直接控制着历史对当前的影响情况。

这样处理与优化,就像早以空间来换取时间,在每epoch的计算时就少向前计算了一次;另外,这个可以平滑历史而产生预测性的结果,避免单次计算的噪音。

Algorithm2描述了这个过程:

image-20210225141410496

实验及结果:

数据集:CIFAR-10,SVHN

image-20210225141652344

image-20210225141710054

总结:

​ 基于一致性的半监督学习。提出两个实现模型,一个是一个样本计算两次,计算两次结果的loss; 另一个是一个样本计算一次,与之前历史结果作差异计算得到loss. 然后把这个无标注数据计算出来的结果信息与监督数据计算出来的结果一并组成最后的Loss.

这个一致性原则终于解决了我之前一直在思考的没有标注的数据究竟应该怎么使用的问题,在这里突然把之前苦苦思考给了一个解脱。

参考:

【1】Laine, S., Aila, T. (2016). Temporal Ensembling for Semi-Supervised Learning .arXiv https://arxiv.org/abs/1610.02242

【2】Released as part of ICLR 2017 paper submission “Temporal Ensembling for Semi-Supervised Learning”,https://github.com/s-laine/tempens

【3】我们真的需要那么多标注数据吗?半监督学习技术近年来的发展历程及典型算法框架的演进:https://zhuanlan.zhihu.com/p/138085660

【4】弱监督学习–半监督学习(1):Temporal Ensembling for Semi-Supervised Learning,https://blog.csdn.net/qq_44015059/article/details/106157888

happyprince,https://blog.csdn.net/ld326/article/details/114107647

【5】长文总结半监督学习(Semi-Supervised Learning),https://zhuanlan.zhihu.com/p/252343352

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值