【半监督学习】Π-model、temporal ensemble

Π-model 和 temporal ensemble 都出自论文 Temporal Ensembling for Semi-Supervised Learning,都是利用一致性约束(consistency regularization)来进行半监督学习(semi-supervised learning)。

【半监督学习】Π-model、temporal ensemble

Π-model

Π-model 可以说是最简单的一致性约束半监督学习方法了,训练过程的每一个 epoch 中,同一个无标签样本前向传播(forward)两次,通过 data augmentation 和 dropout 注入扰动(或者说随机性、噪声),同一样本的两次 forward 会得到不同的 predictions,Π-model 希望这两个 predictions 尽可能一致,即模型对扰动鲁棒。

Temporal Ensembling for Semi-Supervised Learning 这篇文章应该是正式提出 Π-model 的论文,Semisupervised learning with ladder networks 这篇提出的是 Γ-model,Π-model 是其简化版。Π-model 在一个 epoch 对每个无标签样本只 forward 两次,而如果是 forward 多次,那么就是 transform/stability 方法,所以 Π-model 是 transform/stability 方法的特例。

temporal ensemble

temporal ensemble 对 Π-model 的改进在于,训练过程的每一个 epoch 中,同一个无标签样本前向传播(forward)一次。那么另一次怎么办呢?temporal ensemble 使用之前 epochs 得到的 predictions 来充当,具体做法是用 moving average 的方式计算之前 epochs 的 predictions,使得 forward 的次数减少一半,速度提升近两倍。

temporal ensemble 的 ensemble 在哪?通过 moving average 来平均之前 epochs 的模型的输出,这隐式地利用了 ensemble。

一个问题,利用 moving average 能得到当前 epoch 下模型准确的 prediction 吗?在训练前期,模型经过一个 epoch 训练提升就很大,这个时候很可能就是不准的,即使 moving average 有集成学习的思想;在训练后期,模型效果一个 epoch 提升不明显或者较小,这个时候 moving average 得到的 prediction 和当前 epoch 下的 prediction 应该就相近了。而随训练过程逐渐增大无标签样本权重 \(w(t)\) 可以解决这个问题。

References

[1] Laine, S., Aila, T. (2016). Temporal Ensembling for Semi-Supervised Learning arXiv https://arxiv.org/abs/1610.02242
[2] Rasmus, A., Valpola, H., Honkala, M., Berglund, M., Raiko, T. (2015). Semi-Supervised Learning with Ladder Networks arXiv https://arxiv.org/abs/1507.02672
[3] Sajjadi, M., Javanmardi, M., Tasdizen, T. (2016). Regularization With Stochastic Transformations and Perturbations for Deep Semi-Supervised Learning arXiv https://arxiv.org/abs/1606.04586

相关推荐