论文地址:http://www.icsi.berkeley.edu/pubs/vision/Hoffman_ECCV2012.pdf。

简介

这篇论文为Hoffman发于2012年ECCV,虽然是12年的,但是新颖之处在于其将聚类的方法用到了域适应中。该方法针对于多源域域适应场景,并且还不知道数据属于哪个域的情况-----因为在一个数据集中可能数据就属于不同的域,如下情况:

Discovering Latent Domains for Multisource Domain Adaptation 聚类在域适应中的应用   Discovering Latent Domains for Multisource Domain Adaptation 聚类在域适应中的应用

为了在不知道数据哪个域的情况下进行多源域迁移,文中提出的方法包含两个部分:1.多源域迁移(在知道源域数据属于哪个域的情况下进行迁移) 2.域聚类(明确数据属于哪个域)

多源域迁移

文中提出的多源域迁移是在一篇关于单源域特征转换方法[2]的基础上做出的改进,直接上优化方法:

Discovering Latent Domains for Multisource Domain Adaptation 聚类在域适应中的应用

其中c表示K个类别中的一个,y为一个测试点,以上优化方法的含义就是,在得到数据y的情况下,将它属于K个类别中拥有最大概率的类别作为y的标签。而p(c|y)又由p(d=k|y)p(c|d=k,y)得到,意思是:已知y的情况下,y属于域k的概率是多少,而在y属于域k的情况下,y属于类c的概率又是多少,通过概率最大化,获得最优标签。另外,概率p(c|d=k,y)的求解如下:

Discovering Latent Domains for Multisource Domain Adaptation 聚类在域适应中的应用

其中ϕAϕB\phi_{\mathcal{A}}、\phi_{\mathcal{B}}表示源域和目标域上的数据映射,xk(y)x_k^*(y)表示在域k中离数据点y最近的点。WjW_j则为在域j上的一个变换矩阵。公式很容易理解,也就是获取y在域k下,通过与y最近的点代表所属类别,除上在全部域上的相同的计算下获得的概率。

最后,通过在已知域标签和源训练数据上训练一个SVM分类器,该分类器的概率输出就是p(d=k|y)。

域聚类

对于不包含有域标签的数据集,则通过域聚类推断出最接近真实域标签aa的预测域标签a^\hat{a}。域聚类分为四步,以一个例子说明,假如目标是如下:

Discovering Latent Domains for Multisource Domain Adaptation 聚类在域适应中的应用

即:将异构的数据分为同构的数据(线条图像的特征空间和普通图像特征空间),为了完成这个目标,域聚类将通过四个步骤进行:

1.Discovering Latent Domains for Multisource Domain Adaptation 聚类在域适应中的应用    2.Discovering Latent Domains for Multisource Domain Adaptation 聚类在域适应中的应用
3.Discovering Latent Domains for Multisource Domain Adaptation 聚类在域适应中的应用    4.Discovering Latent Domains for Multisource Domain Adaptation 聚类在域适应中的应用
  • 第一步:根据图像类别标签(人脸or单车)划分为两类
  • 第二步:在上一步划分为两部分的情况下,在每类样本上独立的进行聚类,得到四种不同的类别:线条型人脸、普通人脸图像、普通单车图像、线条性自行车图像
  • 第三步:在第二步的基础上,为聚类加上约束
  • 第四步:迭代2-3步,输出域标签

另外域聚类的思路图如下:

Discovering Latent Domains for Multisource Domain Adaptation 聚类在域适应中的应用

其中πGπL\pi^G、\pi^L为权重向量,ZjG(0,1)Z_j^G \in (0,1)用于指示集群j是否要被分配到某个域中。ZjL(0,1)Z_j^L \in (0,1)用于指示数据点i是否要被分配到某个集群中。xix_i为数据点。μj\mu_j为局部聚群的均值,代表一个局部聚群。mm为一个域的均值,用于代表一个域。

所以以上的思路是:1.对于数据点xix_i,根据对各聚群的权重值获取各聚群的指示向量(0 or 1),然后通过各聚群的均值μi\mu_i,决定出数据点xix_i应该属于哪个聚群。

2.类似的,对于一个聚群μi\mu_i,根据对各域的权重值获取各域的指示向量(0 or 1),然后通过各域的均值mm,决定出μi\mu_i应该属于哪个域。

由此,各相关概率如下:

Discovering Latent Domains for Multisource Domain Adaptation 聚类在域适应中的应用

其中σI\sigma I为聚群上的协方差。公式很好理解,在此不做解释。
到此为止,算是完成了第一、二步了,在第三步中,我们需要对聚类加上约束条件,即:一个聚群只包含了来自一个类别的数据,并且一个域只包含了一个聚群,也是一个域包含的类别数和聚群的类别数相同。其优化过程由K-means目标函数和EM算法完成,优化函数如下:

Discovering Latent Domains for Multisource Domain Adaptation 聚类在域适应中的应用

其中δ(lilj)ZijL=0\sum \delta(l_i \neq l_j)Z_{ij}^L=0表示所有分配到聚群j的数据点xix_i必须包含有相同的类别标签。δ(labek(j)=c)ZjkG=1\sum \sum \delta(labek(j)=c)Z_{jk}^G=1表示每个域必须与它所包含的聚群有着相同的类别标签。最后关于几个参数的优化如下:

  • ZijLZ_{ij}^L:对于每个数据点xix_i,给最小化(xiμj)2(x_i-\mu_j)^2的聚群j设置ZijL=1Z_{ij}^L=1
  • μj\mu_j:对于一个聚群j,设置μj=ZijLxi+ZjkGmkZijL+ZjkG\mu_j = \frac{\sum Z_{ij}^L x_i + \sum Z_{jk}^G m_k}{\sum Z_{ij}^L} + \sum Z_{jk}^G
  • ZjkGZ_{jk}^G:对于一个聚群j,给最小化ZjkG(μjmk)2Z_{jk}^G(\mu_j - m_k)^2的域设置ZjkG=1Z_{jk}^G=1
  • mkm_k:对于一个域,设置mk=ZijGμjZjkGm_k = \frac{\sum Z_{ij}^G \mu_j}{\sum Z_{jk}^G}

通过迭代优化,完成第二、三步,就可以给数据分配上域标签了,这时就是多源域情况,在该情况下就可以进行上面的多源域迁移了。

参考

  1. Hoffman J, Kulis B, Darrell T, et al. Discovering Latent Domains for Multisource Domain Adaptation[C]// European Conference on Computer Vision. Springer, Berlin, Heidelberg, 2012:702-715.

  2. Kulis, B., Saenko, K., Darrell, T.: What you saw is not what you get: Domain
    adaptation using asymmetric kernel transforms. In: Proc. CVPR. (2011)

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-15
  • 2021-09-02
  • 2021-04-15
  • 2022-12-23
  • 2021-05-16
  • 2021-05-22
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-28
  • 2022-12-23
  • 2021-11-20
  • 2021-11-05
  • 2021-12-23
相关资源
相似解决方案