迁移学习——域自适应

时间:2024-05-20 15:41:23

        含义:在经典的机器学习中,当 源域目标域 数据分布不同,但是两者的任务相同时,这种 特殊 的迁移学习就是域自适应(Domain Adaptation)

        上面含义若看不太懂,简要解释如下:我们一般都是假设训练集和测试集分布一致,但是在实际中,训练集和测试集其实分布会有差异,因为测试场景非可控,因此存在测试集和训练集分布有很大差异的情况,这时候训练好的模型在测试集上效果却不理想,为解决这样的问题,出现了迁移学习。 简单举例来说:我们熟知的人脸识别,如果用东方人人像来训练,最后用于识别西方人,那当然性能会明显下降。


1. 源域与目标域区别在哪?

        首先对于解决数据分布不同问题,一般都是通过学习一个特征转换来入手,使得在转换过后的特征空间上,源数据目标数据 分布的区分度达到最小。源域与目标域区别主要体现在数据分布上,这个问题又分为三大类:

类型 边缘分布 条件分布
相同 不同但相关
不同但相关 相同
不同但相关 不同但相关

边缘分布:数据在特征空间中的分布,初学者可以把特征空间理解为数据分布或者数据信息就好。一般给你几万张图片,它们的分布是怎样?衡量图像分布我们通过特征(例如,haar特征,梯度,颜色直方图等等)来实现,将图像特征量化成数字,分布就能看出来了。
 
条件分布:某个确定样本的分类概率分布了,例如:伯努利分布等。


2. 不同的域自适应方法

  • 样本自适应:对源数据每一个样本加权,学习一组权使得分布差异最小化,然后重新采样,从而逼近目标域的分布。
  • 特征自适应:将源域和目标域投影到公共特征子空间,这样两者的分布相匹配,通过学习公共的特征表示,这样在公共特征空间,源域和目标域的分布就会相同。
    迁移学习——域自适应
  • 模型自适应:考虑目标域的误差,对源域误差函数进行修改。假设利用上千万的数据来训练好一个模型,当我们遇到一个新的数据领域问题的时候,就不用再重新去找几千万个数据来训练,只需把原来训练好的模型迁移到新的领域,在新的领域往往只需相对较少的数据就同样可以得到很高的精度。实现的原理则是利用模型之间存在的相似性。
    迁移学习——域自适应

Reference

  1. 迁移学习——Domain Adaptation
  2. 域适应(Domain adaptation)