ADDA: Adversarial Discriminative Domain Adaptation
ADDA原理理解
ADDA中源域和目标域经过不同的映射来实现对齐。
ADDA的目标函数包括三项:
1.源域的分类误差项
2.域分类器的分类误差项
3.生成器在目标域的误差项
1.源域的分类误差项
源域数据在经过映射Ms后的分类误差最小:
2.域分类器的分类误差项
在源域和目标域分别经过Ms和Mt的映射后,经过域分类器进行分类,把源域和目标域的域分类问题看作二分类问题,源域的标签为1,目标域的标签为0,判别器的域分类误差定义如下:
3.生成器在目标域的误差项
在训练Mt时引入了对抗的思想,将映射函数Mt(·)看作是生成器,希望Mt(Xt)生成的数据能够愚弄判别器,让判别器判断错误,将它判别为1,所以生成器的损失定义为:
最终ADDA的目标函数:
ADDA的思想总结:一是希望在利用源域标签信息训练一个分类器,使得源域分类误差最小。二是利用GAN的对抗思想训练目标域的网络,既希望判别器能够将两域分正确,又希望生成器(Mt)能够愚弄判别器将目标域分为源域。对于源域网络的约束只有分类器项和判别项,对于Mt的约束才是对抗思想。
ADDA算法网络训练过程
Target CNN 的网络参数初始化使用的是源域预训练得到的模型。