首页 > 其他分享 >[论文于都] SelfReg: Self-supervised Contrastive Regularization for Domain Generalization

[论文于都] SelfReg: Self-supervised Contrastive Regularization for Domain Generalization

时间:2024-01-14 11:56:40浏览次数:25  
标签:Regularization right mathbf SelfReg text Self 领域 mathcal left

SelfReg: Self-supervised Contrastive Regularization for Domain Generalization

image-20231226102348423

采用了自监督对比学习的方法,提出了Individualized In-batch Dissimilarity Loss和Heterogeneous In-batch Dissimilarity Loss。

Individualized In-batch Dissimilarity Loss 关注于在训练过程中对相同类别的样本进行比较。它利用了样本的潜在表示,并通过比较同一类别内部样本之间的差异来推动模型学习到更具区分性的特征。这种损失函数的设计使得模型更加关注于区分同一类别下的不同样本,有助于模型更好地区分不同类别之间的特征。

Heterogeneous In-batch Dissimilarity Loss 是针对在不同领域或不同条件下样本之间的差异进行建模的。它使用了在不同领域或条件下的潜在表示,并通过一种混合策略,即两个领域之间的混合操作,来生成插值的潜在表示。这种损失函数的目标是促使模型学习到在不同领域或条件下特征表示的一致性,从而提高模型对于领域变化的鲁棒性。

此外,模型还引入了一些训练策略,如随机权重平均(SWA),它利用多个局部最小值的模型参数快照的平均来寻找更平坦的损失最小值;以及跨领域课程学习(IDCL),它以有意义的顺序逐渐暴露源领域,以便在训练过程中逐步提供更复杂的示例。

3.1. Individualized In-batch Dissimilarity Loss

对于属于类标签 \(c \in \mathcal{C}\) 的潜在表示 \(\mathbf{z}_i^c=f_\theta\left(\mathbf{x}_i\right)\), \(i \in \{1,2, \ldots, N\}\) ,我们计算个性化批内不相似损失 \(\mathcal{L}_{\text {ind }}\)。请注意,我们使用由参数 \(\theta\) 参数化的特征生成器 \(f_\theta\),并且使用批大小 \(N\)。"相同类别"潜在表示的正对之间的不相似度如下公式1所示:

\[\mathcal{L}_{\text {ind }}(\mathbf{z})=\frac{1}{N} \sum_{i=1}^N\left\|\mathbf{z}_i^c-f_{\mathrm{CDPL}}\left(\mathbf{z}_{j \in[1, N]}^c\right)\right\|_2^2 \tag{1} \]

其中 \(\mathbf{z}_j^c\) 是从具有相同类别标签 \(c \in \mathcal{C}\) 的其他批内潜在表示 \(\left\{\mathbf{z}_i^c\right\}\) 中随机选择的。请注意,我们只考虑同时优化正对的对齐性和表示分布的均匀性。正如[17]中讨论的那样,我们使用额外的 MLP 层 \(f_{\mathrm{CDPL}}\),称为特定类别的领域扰动层,以防止所谓的表示坍塌造成的性能下降。我们在第4.4节提供了消融研究以确认使用 \(f_{\mathrm{CDPL}}\) 能够获得更好的性能。

为了提高计算效率,我们使用以下两个步骤来找到所有的正对。(i)我们首先将潜在表示 \(\mathbf{z}_i\) 进行聚类和排序成相同类别组,即对于 \(c \in \mathcal{C}\),得到 \(\left\{\mathbf{z}_i^c\right\}\)。(ii)对于每个相同类别组,我们通过随机洗牌修改其顺序,并获得 \(\operatorname{SHUFFLE}\left\{\mathbf{z}_i^c\right\}\)。(iii)最后,我们从 \(\left\{\mathbf{z}_i^c\right\}\) 和 \(\operatorname{SHUFFLE}\left\{\mathbf{z}_i^c\right\}\) 按顺序形成一个正对。

image-20231226102608600

3.2. Heterogeneous In-batch Dissimilarity Loss

为了进一步推动模型学习领域不变表示,我们使用了一种额外的损失,称为异构批内不相似损失。在前一步得到的潜在表示 \(\mathbf{u}_i=f_{\mathrm{CDPL}}\left(\mathbf{z}_i^c\right)\) 的基础上,我们应用了一个双领域混合层,以获得跨不同领域的插值潜在表示 \(\overline{\mathbf{z}}_i\)。这将使模型在混合分布上正则化 [46],即来自不同领域样本的凸组合。这与Wang等人提出的一层相似,其定义如下:

\[\overline{\mathbf{u}}_i^c=\gamma \mathbf{u}_i^c+(1-\gamma) \mathbf{u}_{j \in[1, N]}^c \tag{2} \]

其中 \(\gamma \sim \operatorname{Beta}(\alpha, \beta)\),对于 \(\alpha=\beta \in(0, \infty)\)。类似地,\(\mathbf{u}_j^c\) 是从具有相同类别标签的 \(\left\{\mathbf{u}_i^c\right\}\) 中随机选择的,对于 \(i \in\{1,2, \ldots, N\}\)。请注意,\(\gamma \in[0,1]\) 由超参数 \(\alpha\) 和 \(\beta\) 控制。

最后,我们计算异构批内不相似损失 \(\mathcal{L}_{\text {hdl }}(\mathbf{z})\) 如下:

\[\mathcal{L}_{\text {hdl }}(\mathbf{z})=\frac{1}{N} \sum_{i=1}^N\left\|\mid \mathbf{z}_i^c-\overline{\mathbf{u}}_i^c\right\|_2^2 \tag{3} \]

3.3. Feature and Logit-level Self-supervised Contrastive Losses

所提出的个性化和异构批内不相似损失可以应用于中间特征和分类器的logits。我们使用损失函数 \(\mathcal{L}_{\text {SelfReg }}\) 如下所示:

\[\mathcal{L}_{\text {SelfReg }}=\lambda_{\text {feature }} \mathcal{L}_{\text {feature }}+\lambda_{\text {logit }} \mathcal{L}_{\text {logit }} \tag{4} \]

其中,我们使用 \(\lambda_{\text {feature }}\) 和 \(\lambda_{\text {logit }}\) 控制每个项的强度。由于我们使用损失函数的线性形式,通常需要适当平衡网络参数,以生成既用于原始分类任务又具有领域不变性的特征。我们观察到,在初始训练阶段后,我们的自监督对比损失 \(\mathcal{L}_{\text {SelfReg }}\) 变得主导,并引起了梯度不平衡,阻碍了适当的训练。为了缓解这个问题,我们应用了两种梯度稳定技术:(i)损失剪裁和(ii)随机权重平均(SWA),以及(iii)跨领域课程学习(IDCL)。对于(i),我们修改梯度大小以依赖于分类损失 \(\mathcal{L}_{\mathrm{c}}\) 的大小——即我们使用梯度大小修饰器 \(\min \left(1.0, \mathcal{L}_{\mathrm{c}}\right)\),因此 \(\mathcal{L}_{\text {feature }}=\min \left(1.0, \mathcal{L}_{\mathrm{c}}\right)\left[\gamma \mathcal{L}_{\text {ind }}+(1-\gamma) \mathcal{L}_{\text {hdl }}\right]\)。这个技术在训练期间动态平衡这些损失是有效的。对于(ii)和(iii),我们分别在第3.4节和第3.5节中讨论了详细内容。

最终损失函数最终我们使用以下损失函数 \(\mathcal{L}\),包括分类损失 \(\mathcal{L}_{\mathrm{c}}\) 和我们的自监督对比损失 \(\mathcal{L}_{\text {SellReg }}\):

\[\mathcal{L}=\mathcal{L}_{\mathrm{c}}+\mathcal{L}_{\text {SelfReg }} \tag{5} \]

3.4. Stochastic Weights Averaging (SWA)

随机权重平均(SWA)是一种集成技术,通过对训练过程中多个局部最小值导出的模型参数快照进行平均,以找到损失空间中更平坦的最小值 [23]。已知找到更平坦的最小值能够保证更好的泛化性能 [19],因此它已经被用于需要高泛化性能的领域自适应和泛化领域 \([48,6]\)。

给定模型权重空间 \(\Omega=\left\{\omega_0, \omega_1, \ldots, \omega_N\right\}\),其中 \(N\) 是训练步骤的数量。对于采样模型权重并没有特定的约束,但通常在模型充分收敛时的特定周期内进行采样。我们使用 \(c\) 作为周期长度,并且对于 SWA 的权重空间采样是 \(\Omega_{\text {swa }}=\left\{\omega_{m+k c}\right\}\),其中 \(k \geq 0,0 \leq m \leq m+k c \leq N\),这里的 \(m\) 表示 SWA 的初始步骤。然后我们可以推导出平均权重 \(w_{\text {swa }}\) 如下所示:

\[\omega_{\text {swa }}=\frac{1}{k+1} \sum_{i=0}^k \omega_{m+i c} . \tag{6} \]

3.5. Inter-domain Curriculum Learning (IDCL)

在领域泛化文献中,利用ImageNet预训练的ConvNet作为骨干网络是一种常见做法。然后,这样的模型通常会通过随机展示来自所有源领域 \(\mathcal{D}_i\)(\(i \in\{1,2, \ldots, M\}\))的示例进行微调,这往往会使训练变得不稳定,因为它会优化冲突方向上的梯度。

在这里,我们采用课程学习策略,其中源领域以有意义的顺序逐渐暴露,从而在训练过程中逐渐提供更复杂的领域。我们首先根据与骨干网络预训练的领域(例如ImageNet [9]数据集)的距离对 \(M\) 个源领域进行排序,得到有序的源领域 \(\mathcal{D}_i^{\prime}\)(\(i \in 1,2, \ldots, M\))。我们将整个训练过程划分为 \(M\) 个子阶段 \(s \in\{1,2, \ldots, M\}\)。在每个阶段 \(s\),模型只暴露于源领域的子集,即 \(\left\{\mathcal{D}_{i \leq s}^{\prime}\right\}\) - 模型逐渐学习更复杂的示例。

我们观察到,基于这种课程学习的训练策略提供了显著的性能改进,可能是由于对冲突梯度的正则化。我们在第4.4节提供了详细信息。

标签:Regularization,right,mathbf,SelfReg,text,Self,领域,mathcal,left
From: https://www.cnblogs.com/EIPsilly/p/17963505

相关文章

  • [论文阅读] Self-conditioned Image Generation via Generating Representations
    Pretitle:Self-conditionedImageGenerationviaGeneratingRepresentationsaccepted:arXiv2023paper:https://arxiv.org/abs/2312.03701code:https://github.com/LTH14/rcgref:https://mp.weixin.qq.com/s/VmyRya2klHpHlJwzMG8JRgref:https://www.zhihu.com/q......
  • 在Python中,classmethod是一个修饰符,它用于指定类中的某个方法为类方法1。这种方法不需
    classA(object):bar=1deffunc1(self):print('foo')@classmethoddeffunc2(cls):print('func2')print(cls.bar)cls().func1()A.func2()#不需要实例化Ins=A()Ins.func1()#需要实例化在Pyth......
  • Predict potential miRNA-disease associations based on bounded nuclear norm regul
    PredictpotentialmiRNA-diseaseassociationsbasedonboundednuclearnormregularization  2023/12/816:00:57PredictingpotentialmiRNA-diseaseassociationsisachallengingtaskinbioinformaticsandcomputationalbiology.Oneapproach......
  • 神经网络优化篇:详解其他正则化方法(Other regularization methods)
    其他正则化方法除了\(L2\)正则化和随机失活(dropout)正则化,还有几种方法可以减少神经网络中的过拟合:一.数据扩增假设正在拟合猫咪图片分类器,如果想通过扩增训练数据来解决过拟合,但扩增数据代价高,而且有时候无法扩增数据,但可以通过添加这类图片来增加训练集。例如,水平翻转图片,并......
  • 读书人想要点数据,怎么能叫偷呢?要叫借, 也可以叫Self-Instruct
    借东风的第二个章节第一章传送门:不敢想象自动给训练数据打标签能有多爽(qq.com)   上一篇文章主要介绍了AutoLabel,属于比较委婉的借,迂回的借,另外AutoLabel,它借出来的数据,还是偏重于传统的NLP任务训练,什么分类啊,标准QA啊之类的。众所周知,现在言必称GenAI,如果不是做这个的,都......
  • Self-attention小小实践
    目录公式1不带权重的自注意力机制公式2带权重的自注意力机制公式1不带权重的自注意力机制\[Attention(X)=softmax(\frac{X\cdot{X^T}}{\sqrt{dim_X}})\cdotX\]示例程序:importnumpyasnpemb_dim=3qkv_dim=4seq_len=5X=np.array([[1501,502,503],......
  • AI自监督学习(Self-Supervised Learning,SSL)
    AI自监督学习(Self-SupervisedLearning,SSL)是一种机器学习方法,用于训练模型从大量无标签数据中自动学习特征表示。自监督学习与传统监督学习不同之处在于,它不需要人工标注数据,而是使用数据本身作为监督信号来学习有效的特征表示。自监督学习在各种AI任务中具有广泛应用前景,如自然语......
  • 神经网络优化篇:详解dropout 正则化(Dropout Regularization)
    dropout正则化除了\(L2\)正则化,还有一个非常实用的正则化方法——“Dropout(随机失活)”。假设在训练上图这样的神经网络,它存在过拟合,这就是dropout所要处理的,复制这个神经网络,dropout会遍历网络的每一层,并设置消除神经网络中节点的概率。假设网络中的每一层,每个节点都以抛硬币......
  • 论文阅读-Self-supervised and Interpretable Data Cleaning with Sequence Generativ
    1.GARF简介代码地址:https://github.com/PJinfeng/Garf-master基于SeqGAN提出了一种自监督、数据驱动的数据清洗框架——GARF。GARF的数据清洗分为两个步骤:规则生成(RulegenerationwithSeqGAN):利用SeqGAN学习数据中的关系(datarelationship)。然后利用SeqGAN中......
  • 神经网络优化篇:为什么正则化有利于预防过拟合呢?(Why regularization reduces overfitti
    为什么正则化有利于预防过拟合呢?通过两个例子来直观体会一下。左图是高偏差,右图是高方差,中间是JustRight。现在来看下这个庞大的深度拟合神经网络。知道这张图不够大,深度也不够,但可以想象这是一个过拟合的神经网络。这是的代价函数\(J\),含有参数\(W\),\(b\)。添加正则项,它可......