本文是李宏毅机器学习的笔记,这是第十二节,介绍了域适应和网络压缩技术。
文章目录
1. Domain Adaptation
当我们的训练数据和测试数据有不同的分布时,我们发现训练一个模型依然有很大的问题,所以对于这种Domain shift(训练数据和测试数据分布不同)问题,我们采用Domain adaptation技术来解决这个问题。
一般Domain Shift的形式有很多种,例如下图中的输入的数据分布不同、输出的数据分布不同(test data输出1的概率大)、输入和输出分布一样,但是关系变了。
对于不同的target domain,我们有不同的Domain Adaptation的方法,最理想时,有大量的有标签的数据,这样可以将这些数据直接进行训练,之后就可以克服不同分布的问题。
如果是只有少量有标注的数据,则可以利用这些数据对模型进行微调,但是要注意的是,跑的时候要注意,不要跑太多epoch,学习率也可以适当的调低一些,否则有可能会overfitting。
如果对于target domain是大量无标注的数据,
那么可以使用一个Feature Extractor将图片的特征提取出来,把无关信息过滤掉(例如图中过滤掉色彩影响),之后就可以得到相同的分布。
我们希望经过Feature Extractor的数据的分布能够相似,分辨不出来source和target。
于是我们多设立了一个Domain Classifier,利用它做分类,如果输出的分布都是相似的,则就可以欺骗Domain Classifier,让它分不清Source和Target。这就有些GAN的思想了。当然为了避免Feature Extractor只是输出能骗过分类器的信息,所以我们还需要Label Predictor的支持。所Feature Extractor的损失函数希望 L d L_d