TEMPORAL ENSEMBLING FOR SEMI-SUPERVISED LEARNING
这篇论文给出了一种非常有意义的框架,不仅仅是这篇论文,他为后续的半监督研究提供了一个非常棒的思路。
前言
论文很简单,就是两个模型,把这两个模型搞明白就可以了。
一、Π-model
我们可以发现,半监督的框架中网络不是最重要的,重要的是寻找更好的方法将labelled data和unlabelled data搭配起来使用。Π模型的流程也很简单,标签yi的那条线是虚线是因为我们在一个minibatch不只有labelled data,还有unlabelled data,如果是后者,那么就没有标签,在计算时只用计算下面这一项就行了,核心就在于损失函数,损失函数由交叉熵和矩阵距离两者组成,而矩阵距离这一带有极强约束性的项,也不能在一开始就给予很大的权重,所以ramp-up从0开始,并且在前八十个training epoch里面沿着高斯曲线变化。
作者在这里还分享了一个发现:他们认为模型在一开始依赖labelled data,然后unlabelled data的权重以一个足够慢的速度去上升是非常关键的(正向),因为如果一开始无标签的权重就不足够小的话,可以预见的时候会求的退化解(基向量中出现线性相关问题)。
补充一点:这里的随机增强会产生不同的输入值,伪代码里非常清楚。
二、时序集成模型
这个模型相较于Π模型,可以看到区别在于只有一个输入通道,意思就是每次只会计算一次outputs,但是我们可以看到他会和之前的经验去求矩阵距离,也就是说这里的一致性损失更多的是一种经验推断,不仅节省了一半的计算时间(系数),而且效果上居然也不逊色于Π模型,这确实是我到目前还没有从理性的角度理解清楚的一个问题。
补充一点:伪代码里面N是minibatch大小,C是类别数,不是NCHW里的C。