thuml / Transfer-Learning-Library

Transfer Learning Library for Domain Adaptation, Task Adaptation, and Domain Generalization
http://transfer.thuml.ai
MIT License
3.39k stars 553 forks source link

关于DANN等方法最后准确率的问题 #209

Closed mebius-coder closed 1 year ago

mebius-coder commented 1 year ago

作者你好,今天刚接触你们这个项目,感谢你们的工作,想问一下为什么例如DANN这样的方法在Tllib实验过后会比原论文中给出的准确率高很多。例如DANN origin是82.2,A->W是91.7

thucbx99 commented 1 year ago

可能有以下几个原因:

jingzhengli commented 1 year ago

可能有以下几个原因:

  • 10倍学习率的使用:我们的实现中新引入的参数的学习率为预训练参数学习率的10倍,我个人在实验中发现这个trick在大多数情况下都很有效,目前的大多数DA方法也都采用了这个策略
  • 网络结构:在backbone相同的情况下,我们更好的调整了bottleneck的结构,bottleneck同时增大了模型的capacity,也可能会提高DA算法的有效性
  • 调参问题:我们认真的调过参数,可能和原作者给出的最有超参数不同,这些参数设定我们也都提供了
  • 框架问题等:同样的模型用PyTorch跑或者转化为Tensorflow跑就会有一定的差距,而DA的早期数据集往往数据量比较小,框架以及同一个框架下的不同版本可能都会有一定影响

您好,我想请教一下,为什么域泛化算法复线出的性能,相比较于标准的ERM算法没有提升呢?

thucbx99 commented 1 year ago

这里问题的意思是在某一个具体任务上Domain Adaptation算法可能会比ERM性能更差吗?

jingzhengli commented 1 year ago

这里问题的意思是在某一个具体任务上Domain Adaptation算法可能会比ERM性能更差吗?

您好,谢谢回复。我想问的是问题是:目前的域泛化算法的性能 经常会低于 ERM,例如 Domainbed库也有类似的实验结果。现在关于域泛化的工作为啥研究的还这么多,公平实验对比下,真实性能是不是不太好呢

thucbx99 commented 1 year ago

Domain Generalization这个领域最近的工作我个人不是很了解,DomainBed这篇工作刚出来左右的时候的确是像你说的,大部分方法的表现和ERM很接近。我知道比较work的方法是从ensemble和augmentation等角度出发,可以超过ERM