基于pseudo label的学习模型和Loss形式
参考了论文Pseudo-Label : The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Networks
对于unlabeled date,选择预测概率最大的作为该样本的伪label,如下式:不同的是:pseudo label用在了fine-tune阶段。
Pre-trained Model用labeled和unlabeled的数据一起训练总结的Loss形式如下:
n和n为mini batch的大小,C为类别个数,f为网路输出,y和y分别为Label和pseudo label,α为平衡系数,是关于训练时间t的函数。首先,在一开始α为0,模型只训练有标记的样本,从而尽快学习,之后α开始缓慢增加,知道达到某个迭代次数后,停止增加。从而实现半监督学习。
使用pseudo label作为ground truth来训练下一个网路,看了师兄paper reading上讲的那两篇,都是用Unlabeled data先过一遍网路得到pesudo label,后面的训练在用这些pesudo label作为GT进行有监督的学习,损失函数的形式也是各个部分以平衡系数相加。
1. Multiple Instance Detection Network with Online Instance Classifier Refinement (ICCV2017)
- 输入:使用SS生成大约2000个object proposals
- 网路组成:一个base network(MIDN)用来作为基础的instance分类网路,loss为多分类交叉熵,输出的结果进一步进行多次refinement,文章进行了两次refinement
- loss:总的形式:
第一项为基础网路的交叉熵loss,其中 φc由加权的sum pooling得到,值在(0,1)之间
第二项为各轮refinement的Loss和,第k轮的refinement的Loss形式如下:
其中
2.Tell Me Where to Look: Guided Attention Inference Network
- 网路框架
- loss三部分构成
Attention mining loss
其中是
对于额外的有监督的学习,额外的加了下面的Loss
其中
推荐阅读: