半监督学习

下面介绍几种业界常见的弱监督算法
一、PI model和Temporal Ensembling弱监督算法
原文地址:https://arxiv.org/pdf/1610.02242v1.pdf
这两个算法出自《Temporal Ensembling for Semi-Supervised Learning》,在这篇文章中作者提出了两种弱监督算法,分别为PI model算法和Temporal Ensembling算法,分别为双输入模型和时序组合模型。
1、PI model算法
(1)模型算法流程图:
让同一个图片输入网络两次,由于有一些随机的因素(dropout, augmentation等),会使得两次的隐藏层的输出(也就是z)会不一样,作者把两个不同的z做差,然后求l2,作为loss的一部分,当然loss的另一部分就是那些有标签数据的交叉熵(cross entropy)。另外,由于模型最开始时是很不准确的,所以产生的z可能没有多大意义,所以需要先对有label的数据进行训练,也就是需要把两次不同的z比较的loss进行屏蔽。作者这里设置了一个随时间变化的变量w(t),在t=0时,设置w(t)为0,也是z比较的loss权重为0,然后w(t)随着时间增大而增大。
在这里插入图片描述
(2)算法原理:算法过程
2、Temporal Ensembling算法
(1)算法流程图
时序组合模型和双模型的不同点在于,比较的z来源不同。在双模型中,两个z都是来自同一迭代时间内产生的两次结果。但在时序组合模型中,一个z来自上次迭代周期产生的结果,一个z来自当前迭代时间内产生的结果,也就是比较了两次不同时间内产生的z。在时序组合模型中,由于一次迭代期间内,只用产生一次z,那么相比于双模型,它就有了两倍的加速。作者在论文中说,他们使用的以前的z,并不是恰恰上次迭代的z,而是历史z的加权和,即(这个看着和reinforcement learning 中的reward的更新类似)。这样做的好处是能够保留历史信息,衰减长远历史信息和稳定当前值。
在这里插入图片描述
(2)算法原理
在这里插入图片描述

二、mean-teacher算法
1、算法流程图
在这里插入图片描述
算法的整体包括两个网络,teacher网络和student网络,其中teacher网络是student网络的一份复制,因此网络结构相同,但是网络更新的方式不同,因此是两个独立的网络。student通过梯度下降更新参数,teacher通过student的参数更新。
2、算法loss计算细节
student和teacher模型都接收同一个输入x分别加上不同的噪声η、η′,然后student模型的softmax输出 ,首先和one-hot label做交叉熵(classification cost function),同时和teacher模型做一致性cost function。 这样student的权重更新以后,根据其权重,指数滑动平均EMA来更新teacher。s和t都可以用于预测,但是t可能更好。在u集(无label数据集)上的训练类似,除了没有classification cost function。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值