Π-model,Temproal ensembling方法来自文章TEMPORAL ENSEMBLING FOR SEMI-SUPERVISED LEARNINGhttps://arxiv.org/abs/1610.02242
ensemble模型通常要优于ensemble中的单一模型。当我们在训练某个单一的神经网络,特别是当该神经网络含有dropout,dropconnect或者随机深度等正则化方法时,训练总是集中在网络的一个特定子集上,因此完整的网络可以看作是我们训练的这些sub-network的一个隐式集成。
通过使用self-ensembling方法,本研究定义了Π−Model和temporal ensembing两种模型。
一、Π−Model
a. 模型示意图
b. 算法伪代码
c. 总结
需要注意的是,在Π−Model的训练过程中,无监督部分Loss的权重必须缓慢增长,刚开始的时候,模型训练的Loss必须以有标签数据的监督Loss为主,不然的话,网络会很快收敛得到一个无效的解而对分类预测任务无效。
训练开始的时候,无监督Loss的权重w(t)的初始值为0。
二、Temporal ensembling
a. 模型示意图
b. 算法过程
c. 总结
1). Temporal ensembling模型与Π−model之间的区别主要在于:1. 对于每个epoch的每个input而言,其数据增强与模型预测都只是进行一次(Π−Model进行两次);2.计算无监督Loss的target向量都是基于前一次模型预测结果完成,而不用重复计算两次输出结果。
2). 与Π−Model相比而言,Temporal ensembling模型具有两个优点:1. 由于对每个input只进行一次预测,所以其运算速度要更快;2. 训练过程中,无监督部分的目标向量