Tzeng, Eric, et al. “Deep domain confusion: Maximizing for domain invariance.” arXiv preprint arXiv:1412.3474 (2014)…
主要使用两个损失函数:
1) 对于source domain上(默认有label)数据 (以及target domain上有label的数据)的分类误差进行惩罚。
2) maximum mean discrepancy (MMD)
作用是:minimize the distance between domains (or maximize the domain confusion)
总的损失函数:
网络结构:
灰色部分的网络是经过预训练的,分类器和adaptation layer是需要重新训练的。这两个重头训练的部分的学习率是有过预训练网络的10倍。
另外要注意,source domain和target domain的两个CNN权值共享:
Our architecture (see Figure 1) consists of a source and target CNN, with shared weights.
也就是说图中两个框内的网络权值共享。
文章对于adaptation layer进行了精彩的分析:
首先adaptation layer是个全连接层,这个层的使用面临两个问题:
- adaptation layer 放在哪儿
- adaptation layer size 如何确定:
这两个问题,文章用过MMD解决:使用搜索尝试放置的位置( 3种选择: fc6之后、fc7之后、fc8之后)以及大小(64、64*2、…、4096),使得MMD最小。
文章给出了搜索试验结果:
文章对试验结果给出的结论就是MMD与测试准确率大致呈负相关。
对于参数 λ \lambda λ的选取:
这个原因描述的很详尽:
如果
λ
\lambda
λ 过小,损失函数中的MMD项失去了作用;但是如果
λ
\lambda
λ过大,两个域的特征间隔又太小,这导致即使是同一个域里面不同类别的特征也太过接近,所以难以分类 (后半句我认为是这样的)。设置成0.25让分类性能优先,但又不至于对source domain的数据过拟合。
比较精彩的句子: