接上篇,同样引:https://blog.csdn.net/shangjiankeji/article/details/112681450
2.3 Π Model & Temporal ensembling Model: Temporal ensembling for semi-supervised learning, 2017
这篇研究工作由 NVIDIA 的研究小组完成,其中包含两个半监督算法框架,分别是 Π Model和Temporal ensembling Model, 二者都可以认为是 Γ Model 的简化版。
剔除了 Γ Model 中各种繁复的设计之后,本论文保留了最核心的思想:利用一致性正则(Consistency Regulation)从无标签的数据中提取有效信号。
一致性正则表达了设计者对于模型这样一种先验,即网络在输入数据的附近空间应该是平坦的,即使输入数据发生微弱变化,模型的输出也能够基本保持不变。
Π Model 核心思想:
如上图所示,Π Model 包含两个核心点:
第一:对每一个参与训练的样本,在训练阶段,进行两次前向运算。此处的前向运算,包含一次随机增强变换和一次模型的前向运算。由于增强变换是随机的,同时模型采用了 Dropout,这两个因素都会造成两次前向运算结果的不同,如图中所示的两个。
第二:损失函数由两部分构成,如下图所示。
- 第一项由交叉熵构成,仅用来评估有标签数据的误差。
- 第二项由两次前向运算结果的均方误差(MSE)构成,用来评估全部的数据(包括标签数据,无标签数据)。其中,第二项含有一个时变系数,用来逐步释放此项的误差信号。此处的第二项即是用来实现一致性正则。
Temporal ensembling Model,其整体框架与 Π Model 类似,在获取无标签数据的信息上采用了相同的思想,唯一的不同是:在目标函数的无监督一项中,Π Model是两次前向计算结果的均方差,而在temporal ensembling模型中,采用的是当前模型预测结果与历史预测结果的平均值做均方差计算。
相对于 Π Model,这种做法有两方面的好处:
①用空间来换取时间,在相同 epoch的情况下,总的前向计算次数减少了一半,因而训练速度更快;
②通过历史预测做平均,有利于平滑单次预测中的噪声。