9

迁移学习(PCL)《PCL: Proxy-based Contrastive Learning for Domain Generalization...

 1 year ago
source link: https://www.cnblogs.com/BlairGrowing/p/17242719.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

迁移学习(PCL)《PCL: Proxy-based Contrastive Learning for Domain Generalization》

Typesetting math: 100%

论文标题:PCL: Proxy-based Contrastive Learning for Domain Generalization
论文作者:
论文来源:
论文地址:download 
论文代码:download
引用次数:

  域泛化是指从一组不同的源域中训练一个模型,可以直接推广到不可见的目标域的问题。一个很有前途的解决方案是对比学习,它试图通过利用来自不同领域的样本到样本对之间丰富的语义关系来学习领域不变表示。一种简单的方法是将来自不同域的正样本对拉得更近,同时将其他负样本对推得更远。

  在本文中,我们发现直接应用基于对比的方法(如有监督的对比学习)在领域泛化中是无效的。本文认为,由于不同域之间的显著分布差距,对准正样本到样本对往往会阻碍模型的泛化。为了解决这个问题,提出了一种新的基于代理的对比学习方法,它用代理到样本关系代替了原始的样本-样本关系,显著缓解了正对齐问题。

    

1664108-20230323214607548-393726146.png

2.1 启发

  现有对比学习的对比损失大多考虑正对和负对,本文受到 [ 61 ] 损失函数的启发,它只考虑正样本之间的关系,假设 xixi、xjxj 是从同一类的不同源域进行采样。设 z=Fθ(x)z=Fθ(x) 是由特征提取器 FθFθ 提取的特征,我们有: 

    Lpos=1αlog(1+∑exp(−z⊤izj⋅α))(1)Lpos=1αlog⁡(1+∑exp⁡(−zi⊤zj⋅α))(1)

  实验:是否使用 包含正对之间对比的 instance−instanceinstance−instance 之间的对比学习?

    

1664108-20230324155830324-884453042.png

  结果:单纯使用交叉熵损失比 交叉熵损失 +  正对之间的对齐 效果还好,所以跨域之间的正对对齐是有害的。

2.2 问题定义

  多源域适应;

  特征提取器:Fθ:X→ZFθ:X→Z

  分类器:Gψ:Z→RCGψ:Z→RC

2.3 交叉熵回顾

  交叉熵损失函数:

    LCE=−logexp(w⊤czi)exp(w⊤czi)+∑C−1j=1exp(w⊤jzi)(2)LCE=−log⁡exp⁡(wc⊤zi)exp⁡(wc⊤zi)+∑j=1C−1exp⁡(wj⊤zi)(2)

  其中,wcwc 代表目标域的某一类中心;

  Softmax CESoftmax CE 损失只考虑了代理到样本的关系,而忽略了丰富的语义样本与样本之间的关系。

2.4 对比损失回顾

  对比损失函数:

    LCL=−logexp(z⊤iz+⋅α)exp(z⊤iz+⋅α)+∑exp(z⊤iz−⋅α)LCL=−log⁡exp⁡(zi⊤z+⋅α)exp⁡(zi⊤z+⋅α)+∑exp⁡(zi⊤z−⋅α)

  基于对比的损失考虑了丰富的样本与样本之间的关系。其关键思想是学习一个距离,将 positive pairspositive pairs 拉近,将 negative pairsnegative pairs 推远。

2.5 困难样本挖掘

    LCL=limα→∞1α−log⎛⎝⎜exp(α⋅sp)exp(α⋅sp)+∑N−1j=1exp(α⋅sjn)⎞⎠⎟=limα→∞1αlog(1+∑j=1N−1exp(α(sjn−sp)))=max[sjn−sp]+.LCL=limα→∞1α−log⁡(exp⁡(α⋅sp)exp⁡(α⋅sp)+∑j=1N−1exp⁡(α⋅snj))=limα→∞1αlog⁡(1+∑j=1N−1exp⁡(α(snj−sp)))=max[snj−sp]+.

  理解:由于域之间的域差异很大,简单的拉近正对之间的距离,拉远负对之间的距离是不合适的,这是由于往往存在某些难学的样本,使得模型总是识别错误。

2.6 基于代理的对比学习

  SoftmaxSoftmax 损失 在学习类代理方面是有效的,能够快速、安全地收敛,但不考虑样本与样本之间的关系。基于对比损失利用了丰富的 样本-样本 关系,但在优化密集的 样本-样本 关系方面训练复杂性高。

    LPCL=−1N∑Ni=1logexp(w⊤czi⋅α)ZLPCL=−1N∑i=1Nlog⁡exp⁡(wc⊤zi⋅α)Z

  基于代理的对比损失:

    LPCL=−1N∑Ni=1logexp(w⊤czi⋅α)ZLPCL=−1N∑i=1Nlog⁡exp⁡(wc⊤zi⋅α)Z

    Z=exp(w⊤czi⋅α)+∑C−1k=1exp(w⊤kzj⋅α)+∑Kj=1,j≠iexp(z⊤izj⋅α)Z=exp⁡(wc⊤zi⋅α)+∑k=1C−1exp⁡(wk⊤zj⋅α)+∑j=1,j≠iKexp⁡(zi⊤zj⋅α)

  Note:NN 代表的是 batch_sizebatch_size 的大小,KK 代表的是 xixi 负样本的数量。

2.7 施加投影头的基于代理的对比学习

    LPCL−in=−1N∑Ni=1logexp(v⊤cei)ELPCL−in=−1N∑i=1Nlog⁡exp⁡(vc⊤ei)E

    E=exp(v⊤cei)+∑C−1k=1exp(v⊤kej)+∑Bj=1,j≠iexp(e⊤iej)E=exp⁡(vc⊤ei)+∑k=1C−1exp⁡(vk⊤ej)+∑j=1,j≠iBexp⁡(ei⊤ej)

2.8 训练

  训练目标:

    Lfinal =LCE+λ⋅LPCL-in Lfinal =LCE+λ⋅LPCL-in 

3 实验结果

正对齐实验的细节

  

1664108-20230324205309923-957992532.png

消融实验

  

1664108-20230324205351838-1407295337.png

超参数实验

  

1664108-20230324205443916-1926874836.png

困难样本分析

  

1664108-20230324211108487-736756584.png

__EOF__


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK