本文是对《Balanced Distribution Adaptation for Transfer Learning》进行学习。

问题引入

回顾之前的JDA,其目标函数是:
minA∑c=0Ctr(ATXMcXTA)+λ∥A∥F2min_{A}\sum_{c=0}^{C}tr(A^{T}XM_{c}X^{T}A)+\lambda \begin{Vmatrix} A \end{Vmatrix}_{F}^{2}minAc=0Ctr(ATXMcXTA)+λAF2
s.t.ATKHKTA=Is.t.A^{T}KHK^{T}A=Is.t.ATKHKTA=I
其中c=0表示的是边缘分布,c=1,…,C表示的各类别的条件分布,可以看出边缘分布和条件分布是被同等对待的,这会导致实际应用中表现较差。当数据集不相似时,减小边缘分布差异更为重要;当数据集相似时,减小条件分布更值得注意。针对这个问题,论文提出了BDA,对两者之间进行了权衡,可以很好地应用到一些特定的迁移学习任务中。
另外现存的方法都假设数据集是平衡的,这也算法限制了在不平衡数据集上的任务的表现,Weighted Balanced Distribution
Adaptation(W-BDA)则用于处理迁移学习中的类别不平衡问题,在每个类别上加入了权重。

BDA

学习过JDA后可以很容易的推出BDA的形式,我们在边缘分布和条件分布之间引入权衡因数μ\muμ,那么上述目标函数可以表示为:
minAtr(ATX((1−μ)M0+μ∑c=1CMc)XTA)+λ∥A∥F2min_{A}tr(A^{T}X((1-\mu)M_{0}+\mu\sum_{c=1}^{C}M_{c})X^{T}A)+\lambda \begin{Vmatrix} A \end{Vmatrix}_{F}^{2}minAtr(ATX((1μ)M0+μc=1CMc)XTA)+λAF2
s.t.ATKHKTA=I,0≤μ≤1s.t.A^{T}KHK^{T}A=I,0\leq \mu \leq 1s.t.ATKHKTA=I,0μ1
这就是BDA的目标函数。当源域和目标域比较相似时,条件分布比较重要,可以令μ\muμ大一些;当源域和目标域不相似时,更多的考虑边缘分布,可以令μ\muμ小一些。不过论文中并没有针对μ\muμ的取值提出很好的方法,而是在实验中进行调整。

W-BDA

前面对W-BDA的描述比较模糊,回顾JDA,JDA在处理条件概率分布时分别用P(xS∣yS=c)P(x_{S}|y_{S}=c)P(xSyS=c)P(xT∣yT=c)P(x_{T}|y_{T}=c)P(xTyT=c)来近似P(yS=c∣xS)P(y_{S}=c|x_{S})P(yS=cxS)P(yT=c∣xT)P(y_{T}=c|x_{T})P(yT=cxT)(其中c代表某一类别),这篇论文提出这种处理方式是建立源域和目标域中类别c的概率分布比较相近的前提下(这点我不太理解),这也制约了该算法在真实场景下应用的效果,为此文章提出了新的近似方法:
∥P(yS=c∣xS)−P(yT=c∣xT)∥H2\begin{Vmatrix} P(y_{S}=c|x_{S})-P(y_{T}=c|x_{T}) \end{Vmatrix}_{H}^{2}P(yS=cxS)P(yT=cxT)H2
=∥P(yS=c)P(xS)P(xS∣yS=c)−P(yT=c)P(xT)P(xT∣yT=c)∥H2=\begin{Vmatrix} \frac{P(y_{S}=c)}{P(x_{S})}P(x_{S}|y_{S}=c)-\frac{P(y_{T}=c)}{P(x_{T})}P(x_{T}|y_{T}=c) \end{Vmatrix}_{H}^{2}=P(xS)P(yS=c)P(xSyS=c)P(xT)P(yT=c)P(xTyT=c)H2
=∥αSP(xS∣yS=c)−αTP(xT∣yT=c)∥H2=\begin{Vmatrix} \alpha _{S}P(x_{S}|y_{S}=c)-\alpha _{T}P(x_{T}|y_{T}=c) \end{Vmatrix}_{H}^{2}=αSP(xSyS=c)αTP(xTyT=c)H2(其中下表H代表再生核希尔伯特空间)
接下来我们对αS\alpha _{S}αSαT\alpha _{T}αT进行探究,首先P(yS=c)P(y_{S}=c)P(yS=c)P(yT=c)P(y_{T}=c)P(yT=c)较易计算,而P(xS)P(x_{S})P(xS)P(xT)P(x_{T})P(xT)较难获得,但文章中给出了这样一句话“ Since BDA is fully capable of adapting P(xS)P(x_{S})P(xS) and P(xT)P(x_{T})P(xT), we do not estimate them in this step and assume they are unchanged”,我个人的理解是既然BDA减小了源域和目标域的分布差异,那么在这里我们就假定两者是相同的,就可以忽略掉P(xS)P(x_{S})P(xS)P(xT)P(x_{T})P(xT)。这样就可以构建新的W矩阵:
在这里插入图片描述
W矩阵与JDA中的M矩阵相似,都是计算MMD距离时引入的,只不过W矩阵引入了类先验P(yS(c))P(y_{S}^{(c)})P(yS(c))P(yT(c))P(y_{T}^{(c)})P(yT(c)),可以结合理解。
那么结合前面BDA的目标函数,可以得出W-BDA的目标函数是minAtr(ATX((1−μ)M0+μ∑c=1CWc)XTA)+λ∥A∥F2min_{A}tr(A^{T}X((1-\mu)M_{0}+\mu\sum_{c=1}^{C}W_{c})X^{T}A)+\lambda \begin{Vmatrix} A \end{Vmatrix}_{F}^{2}minAtr(ATX((1μ)M0+μc=1CWc)XTA)+λAF2
s.t.ATKHKTA=I,0≤μ≤1s.t.A^{T}KHK^{T}A=I,0\leq \mu \leq 1s.t.ATKHKTA=I,0μ1

算法流程及总结

在这里插入图片描述
可以看出BDA是对JDA的延伸,引入边缘分布和条件分布,以及各类别的条件分布的权重因素,换句话说TCA和JDA可以看作是BDA的一种特例,学习过TCA和JDA后这篇论文也很好理解。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐