self-ensemble label filtering

self-ensemble label filtering自集成标签滤波

模型将噪声标签剔除出来,仅对干净的数据训练。

剔除数据

主要思路:模型在训练时,对于那些噪声标签的样本的预测值常常飘忽不定(文章是这么指出的,准备做复现的时候试一试),因此采用信号处理中的滤波,而实现的方法是对模型求均值。

  • Model ensemble:在训练过程中对模型的参数进行移动平均,当训练数据更新normal model参数时,通过权重的指数移动平均来维护teacher model,同时利用正则项来令两个model尽量保持一致,最后用teacher model的输出作为预测结果;

  • Predictions ensemble:在不同的epoch上对teacher model的预测值取平均,公式很简单, 对于第j个epoch,计算模型输出 z 的指数移动平均z = a * z(j-1) + (1-a) * z,其中 a 是momentum参数。

这样就可以根据平均的预测结果识别出噪声样本,检查该样本的标签和teacher model是否一致,若一致则会被认定为干净样本,否则想、在这个epoch将会被认定为噪声样本且被踢出下一个epoch的训练
在这里插入图片描述

从右图可以看出,做了移动平均之后,噪声标签y的预测概率不高,所以不会参与下一epoch训练

SELF模型流程图

在这里插入图片描述

算法流程

  • 让Mean-Teacher模型对所有样本进行预测
  • 计算预测值的指数移动平均,检查其最大预测值的类别标签是否与给定的标签一致,若不一致则暂时排除出训练集
  • 用过滤后的数据集来训练Mean-Teacher模型
  • 不断重复上述步骤,直到模型在验证集上的性能不再提高

Mean Teacher

算法的整体包括两个网络,teacher网络 和 student网络
teacher 是 student网络的一份复制,因此网络结构相同,但是网络更新的方式不同,因此是两个独立的网络

其中 student模型 权重 θ \theta θ 输入噪声 η \eta η,
teacher模型 权重 θ ′ \theta' θ′ 输入噪声 η ′ \eta' η′

定义了一致性损失(consistency cost) J 衡量 t和s 的预测的距离

J ( θ ) = E x , η ′ , η [ ∥ f ( x , θ ′ , η ′ ) − f ( x , θ , η ) ∥ ] J(\theta)=\mathbb{E}_{x,\eta',\eta}\left [ \left | f(x,\theta',\eta') - f(x,\theta,\eta) \right | \right ] J(θ)=Ex,η′,η​[∥f(x,θ′,η′)−f(x,θ,η)∥]

student通过梯度下降更新参数,teacher通过student的参数更新

  1. teacher的参数更新
    teacher的参数通过EMA得到

    training step θt​:
    
    			θ t = α θ(t − 1)  ′ + ( 1 − α ) θ t 
    
  2. student的参数更新
    SGD

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值