1.Domain Adaptation( DA:域适应 )
首先在介绍这些问题之前我们要知道一个点
深度学习的成功主要归功于假设大量的标注数据和训练集与测试集独立且来自同一概率分布, 然后设计相应的模型和判别准则对待测试的样例的输出进行预测。然而实际场景中训练和测试样本的概率分布是不一样的
源域和目标域:
可以简单理解为源域就是训练集,目标域就是测试集
专业术语:源域(Source Domain)是已有的知识领域;目标域(Target Domain)是要进行学习的领域
源域与目标域区别主要体现在数据分布上,这个问题又分为三大类:
Domain shift:
如果训练和测试是来自于不同的分布,这样就会让模型在测试集上的效果很差,这种问题称为Domain shift
DA研究问题:
当源域和目标域并不是独立同分布时,经典机器学习会出现过拟合问题,DA需要解决源域与目标域概率分布不一致,但是任务相同的问题
DA目标:
如何减少source和target不同分布之间的差异
举例:比如训练集是各种英短蓝猫(源域),而想训练得到可以区分田园猫的模型(目标域),该模型相比于英短蓝猫识别情况性能会下降。当训练数据集和测试数据集分布不一致的情况下,通过在训练数据集上按经验误差最小准则训练得到的模型在测试数据集上性能不佳,因此,我们引入了DA来解决训练集与测试集概率分布不一致但都是同一任务的问题。
DA主要思想:
将源域与目标域(如两个不同的数据集)的数据特征映射到同一个特征空间,这样可利用其它领域数据来增强目标领域训练。
举例:比如下图源域是黑白手写数字,目标域是彩色数字,两个分布明显不同,我们需要训练一个特征提取器,然后对这些样本的关键特征进行提取来缩小不同分布之间的差异(下图就是去除颜色的影响提取数字作为最关键的特征)
DA三种方法:
-
样本自适应Instance adaptation:将源域中样本重采样,使其分布趋近于目标域分布;从源域中找出那些长的最像目标域的样本,让他们带着高权重加入目标域的数据学习。
-
特征自适应 Feature adaptation:将源域和目标域投影到公共特征子空间,这样两者的分布相匹配,通过学习公共的特征表示,这样在公共特征空间,源域和目标域的分布就会相同。
-
模型自适应 Model adaptation:考虑目标域的误差,对源域误差函数进行修改。假设利用上千万的数据来训练好一个模型,当我们遇到一个新的数据领域问题的时候,就不用再重新去找几千万个数据来训练,只需把原来训练好的模型迁移到新的领域,在新的领域往往只需相对较少的数据就同样可以得到很高的精度。实现的原理则是利用模型之间存在的相似性。
DA中又分别可以根据目标域数据的打标签情况分为监督的、半监督的、无监督的DA。学术界研究最多的是无监督的DA,这个比较困难而且价值比较高。
如果目标域数据没有标签,就没法用Fine-Tune把目标域数据扔进去训练,这时候无监督的自适应方法就是基于特征的自适应。因为有很多能衡量源域和目标域数据的距离的数学公式,那么就能把距离计算出来嵌入到网络中作为Loss来训练,这样就能优化让这个距离逐渐变小,最终训练出来的模型就将源域和目标域就被放在一个足够近的特征空间里了。
具体用于无监督DA的DDC,MADA,RevGrad等算法后期需要再进行阅读
2.Domain generalization( DG:域泛化 )
DG是DA的进一步推广,DG与DA的区别:
DA在训练时可以拿到少量目标域数据,这些目标域数据可能是有标签的(有监督DA),也可能是无标签的(无监督DA),但是DG在训练时看不到目标域数据
DG研究问题:
通过带标签的源域学习一个通用的特征表示,并希望该表示也能应用于未见过的目标域
DG目标:
学习域无关的特征表示
DA和DG优点:
- DA关注如何利用无标注的目标数据,而DG主要关注泛化性
- DA不够高效,每来一个新域,都需要重复进行适应,而DG只需训练一次;
- DA的强假设是目标域的数据是可用的,显然有些情况是无法满足的,或者代价昂贵。
- DA的性能比DG的性能要高,由于使用了目标域的数据;
简单说DA由于要使用目标域中的数据,因此DA性能高,而DG去学习一个通用特征表示,因此DG泛化性更强
毫无疑问,DG是比DA更具有挑战性和实用性的场景:毕竟我们都喜欢“一次训练、到处应用”的足够泛化的机器学习模型。
DG分类:
DG主要分为单源域DG和多源域DG
3. Test-time adaptation (TTA)
TTA研究问题:
在测试样本上在线对模型进行调整,在拿到样本后模型需要立刻给出决策并更新。
TTA目标:
最终使得调整后的模型可以拟合目标域数据分布或者将目标域特征映射到源域特征分布。
TTA、DA、DG区别:
DG需要对目标域进行预先假设,在源域 finetune 预训练模型,然后部署时不经过任何调整。
DA在源域上训练,根据无标签的目标域在训练时调整模型
TTA不需要像DG一样对目标域进行预先假设,也不需要像DA一样依赖源域,而需要在测试时进行 adaptation
TTA与DG不同的是,TTA在于在线调整模型需要及时做出判断,DG在于离线学习一种通用的特征表示,DA在训练时调整模型文章来源:https://www.toymoban.com/news/detail-719199.html
文章来源地址https://www.toymoban.com/news/detail-719199.html
Related
- (157条消息) 迁移学习——域自适应_Raywit的博客-CSDN博客
- (157条消息) Domain adaptation 与 Domain generalization_笙久拥的博客-CSDN博客
- (157条消息) 【TL学习笔记】1:领域自适应(Domain Adaptation)方法综述_LauZyHou的博客-CSDN博客
- (157条消息) 测试阶段模型自适应方法总结_PaperWeekly的博客-CSDN博客
- Test time adaptation方法总结 - 知乎 (zhihu.com)
到了这里,关于知识点——域适应、域泛化、在线测试适应区别 DA、DG、TTA区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!