医学图像分割半监督学习记录

半监督学习中,一部分数据带标签,一部分不带标签,在模型训练过程中,带标签的数据我们注重分类,无标签的数据我们注重分布。
半监督坚持一致性正则(consistency regularization)来进行半监督学习(semi-supervised learning)。一致性正则要求一个模型对相似的输入有相似的输出,即给输入数据注入噪声,模型的输出应该不变,模型是鲁棒的。

Π-model

在这里插入图片描述

1个带标签的数据正常前向传播然后计算交叉熵损失
1个不带标签的数据则会前向传播2次然后计算这两次预测的平方误差

Temporal Ensembling 模型

在这里插入图片描述

基于Π-model进行了改进,训练的每个epoch中,同一个无标签的数据前向传播1次,而原本需要再前向传播一次的来计算平方误差的,改为了使用上一个epoch的该样本的预测来计算(具体是通过一个叫指数滑动平均EMA的方法来计算上个epoch的预测,不是直接使用上个epoch的预测值),使得forward的次数减少一半,速度提升近两倍

Exponentially Moving Average - EMA

指数滑动平均是用来估计变量的局部均值,使得变量的更新和一段时间内的历史均值有关。
变量 v 在 t 时刻记为 vt ,θt 为变量 v 在 t 时刻的取值,如果不使用滑动平均模型,vt=θt,使用EMA时,vt如下:
在这里插入图片描述

Mean Teachers模型

半监督核心仍是相似的输入,相似的输出
在这里插入图片描述
这里输入如果是带标签的,那么通过学生模型正常计算loss
如果是无标签的数据,那么则会通过学生-教师模型计算一致性loss。

  • Mean Teachers中的 student模型就是我们正常训练的模型,而Teacher模型则是由student模型的权重进行EMA而得的,Teacher模型不参与反向传播的过程。
  • Mean Teachers需要对每个无标签的数据进行两次前向传播,一次学生,一次老师

现在来看总的流程

  • 对于数据集[S1,S2],S1有标签,S2无标签,都作为student模型的输入,得到了输出Ys1,Ys2
  • 计算有标签的那部分数据即S1的loss
  • 同样把数据集[S1,S2],作为teacher模型的输入,得到输出Yt1,Yt2
  • 也计算有标签的数据即S1的loss,此时会再多计算1个无标签的数据集即S2的loss(student和teacher模型的一致性损失)
  • 得到有监督loss+无监督loss,反向传播,先正常更新student模型的参数,再通过EMA更新teacher模型的参数(teacher模型不会反向传播)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值