thuml / Self-Tuning

Code release for "Self-Tuning for Data-Efficient Deep Learning" (ICML 2021)
110 stars 14 forks source link

伪标签生成的问题 #8

Open huangyangke opened 2 years ago

huangyangke commented 2 years ago

其他半监督学习方法如fixmatch只会使用阈值大于0.95的预测值生成伪标签,但是self-tuing直接照单全收了,这是不是不太合理

huangyangke commented 2 years ago

还有另一个问题,我们知道kl距离是两个输出概率分布越相近,loss越小。但是正如论文所说,错误的伪标签在softmax竞争时会落败,那么输出logits明显会小于正确的伪标签,那么相对应的产生的loss会更大,那不是与优化方向背道而驰了吗

huangyangke commented 2 years ago

目前测试了几个数据集,没有使用无标签数据,发现相比直接使用ce训练,并没有提升。

huangyangke commented 2 years ago

能否提供使用fixmatch训练的log,目前我测试好像精度远超过提供的表格的精度

wxm17 commented 2 years ago

其他半监督学习方法如fixmatch只会使用阈值大于0.95的预测值生成伪标签,但是self-tuing直接照单全收了,这是不是不太合理

这种设计本身是为了避免引入阈值这个超参数。因为PGC这种组对比机制的优越性,我们发现不设阈值就可以取得不错的效果。实际上,如果像FixMatch一样精细挑选这个阈值,有可能可以取得更好的效果。为了使方法足够简单通用,我们就没有进一步挑选了。

wxm17 commented 2 years ago

还有另一个问题,我们知道kl距离是两个输出概率分布越相近,loss越小。但是正如论文所说,错误的伪标签在softmax竞争时会落败,那么输出logits明显会小于正确的伪标签,那么相对应的产生的loss会更大,那不是与优化方向背道而驰了吗

你讲的逻辑里面,好像因果互换了,“错误的伪标签在softmax竞争时会落败”应该是果,而不是因。

wxm17 commented 2 years ago

目前测试了几个数据集,没有使用无标签数据,发现相比直接使用ce训练,并没有提升。

方便说一下你的具体数据集和测试方式么?在我们的setting里面,利用无标签数据来加强模型是非常重要的一个点。

wxm17 commented 2 years ago

能否提供使用fixmatch训练的log,目前我测试好像精度远超过提供的表格的精度

在我们论文的Figure 7和Appendix的Figure 1提供了部分的FixMatch和Self-Tuning log对比,看得出来,Self-Tuning比FixMatch还是有明显提升的。另外,FixMatch受阈值的影响比较大,我们采用的是默认的0.95。

HeimingX commented 2 years ago

作者你好,根据回答,该论文有Appendix,但是我木有检索到,可否提供appendix的链接呀,谢谢~