论文解读:《Unsupervised Multi-Modal Representation Learning for High Quality Retrieval..》

论文解读系列文章目录



一、对比学习效率详细解释一下,对公式进行推导

InfoNCE损失函数推导与详细解释

1、基本公式与定义
InfoNCE的损失函数定义如下:
L InfoNCE ( X ; Y ∣ f ) = E [ log ⁡ f ( x 1 , y ) ∑ x i ∈ X ~ f ( x i , y ) ] , L_{\text{InfoNCE}}(X; Y|f) = \mathbb{E}\left[\log\frac{f(x_1, y)}{\sum_{x_i \in \tilde{X}} f(x_i, y)}\right], LInfoNCE(X;Yf)=E[logxiX~f(xi,y)f(x1,y)],

  • 符号说明
    • X = ( x 1 , … , x K ) X = (x_1, \dots, x_K) X=(x1,,xK) 是样本矩阵,其中 x 1 x_1 x1 是正样本。
    • X ~ = { x 2 , … , x K } \tilde{X} = \{x_2, \dots, x_K\} X~={x2,,xK} 是负样本集合。
    • f ( x , y ) = exp ⁡ ( τ − 1 sim ( x , y ) ) f(x, y) = \exp(\tau^{-1}\text{sim}(x, y)) f(x,y)=exp(τ1sim(x,y)),其中 sim ( x , y ) \text{sim}(x, y) sim(x,y) 表示相似性,通常为向量 x x x y y y 的点积,且 τ \tau τ 是温度参数。

此损失函数衡量正样本对的得分 f ( x 1 , y ) f(x_1, y) f(x1,y) 与负样本对的得分 ∑ x i ∈ X ~ f ( x i , y ) \sum_{x_i \in \tilde{X}} f(x_i, y) xiX~f(xi,y) 的对比程度。通过最大化正样本得分相对于负样本得分的对数值,InfoNCE鼓励模型在表征空间中更明确地区分正样本和负样本。

2、对梯度的推导

(1) 梯度计算

对 (y) 计算梯度,记 InfoNCE 损失为:
L InfoNCE = log ⁡ f ( x 1 , y ) ∑ x i ∈ X ~ f ( x i , y ) . L_{\text{InfoNCE}} = \log \frac{f(x_1, y)}{\sum_{x_i \in \tilde{X}} f(x_i, y)}. LInfoNCE=logxiX~f(xi,y)f(x1,y).

  • 分解式子
    • f ( x 1 , y ) = exp ⁡ ( τ − 1 sim ( x 1 , y ) ) f(x_1, y) = \exp(\tau^{-1} \text{sim}(x_1, y)) f(x1,y)=exp(τ1sim(x1,y))
    • ∑ x i ∈ X ~ f ( x i , y ) = ∑ x i ∈ X ~ exp ⁡ ( τ − 1 sim ( x i , y ) ) \sum_{x_i \in \tilde{X}} f(x_i, y) = \sum_{x_i \in \tilde{X}} \exp(\tau^{-1} \text{sim}(x_i, y)) xiX~f(xi,y)=xiX~exp(τ1sim(xi,y))

取对 (y) 的梯度:
∇ y L InfoNCE = ∇ y log ⁡ f ( x 1 , y ) − ∇ y log ⁡ ( ∑ x i ∈ X ~ f ( x i , y ) ) . \nabla_y L_{\text{InfoNCE}} = \nabla_y \log f(x_1, y) - \nabla_y \log \left(\sum_{x_i \in \tilde{X}} f(x_i, y)\right). yLInfoNCE=ylogf(x1,y)ylog xiX~f(xi,y) .

(2) 分步推导

  1. 正样本对梯度
    ∇ y log ⁡ f ( x 1 , y ) = ∇ y ( τ − 1 sim ( x 1 , y ) ) = τ − 1 x 1 , \nabla_y \log f(x_1, y) = \nabla_y \left(\tau^{-1} \text{sim}(x_1, y)\right) = \tau^{-1} x_1, ylogf(x1,y)=y(τ1sim(x1,y))=τ1x1,
    因为 (\text{sim}(x, y) = x^T y)。

  2. 负样本对梯度
    ∇ y log ⁡ ( ∑ x i ∈ X ~ f ( x i , y ) ) = ∇ y ( ∑ x i ∈ X ~ f ( x i , y ) ) ∑ x i ∈ X ~ f ( x i , y ) . \nabla_y \log \left(\sum_{x_i \in \tilde{X}} f(x_i, y)\right) = \frac{\nabla_y \left(\sum_{x_i \in \tilde{X}} f(x_i, y)\right)}{\sum_{x_i \in \tilde{X}} f(x_i, y)}. ylog xiX~f(xi,y) =xiX~f(xi,y)y(xiX~f(xi,y)).
    进一步分解:
    ∇ y f ( x i , y ) = ∇ y exp ⁡ ( τ − 1 sim ( x i , y ) ) = τ − 1 x i exp ⁡ ( τ − 1 sim ( x i , y ) ) . \nabla_y f(x_i, y) = \nabla_y \exp(\tau^{-1} \text{sim}(x_i, y)) = \tau^{-1} x_i \exp(\tau^{-1} \text{sim}(x_i, y)). yf(xi,y)=yexp(τ1sim(xi,y))=τ1xiexp(τ1sim(xi,y)).
    因此:
    ∇ y ∑ x i ∈ X ~ f ( x i , y ) = τ − 1 ∑ x i ∈ X ~ x i exp ⁡ ( τ − 1 sim ( x i , y ) ) . \nabla_y \sum_{x_i \in \tilde{X}} f(x_i, y) = \tau^{-1} \sum_{x_i \in \tilde{X}} x_i \exp(\tau^{-1} \text{sim}(x_i, y)). yxiX~f(xi,y)=τ1xiX~xiexp(τ1sim(xi,y)).
    结合前面结果:
    ∇ y log ⁡ ( ∑ x i ∈ X ~ f ( x i , y ) ) = τ − 1 ∑ x i ∈ X ~ x i exp ⁡ ( τ − 1 sim ( x i , y ) ) ∑ x i ∈ X ~ exp ⁡ ( τ − 1 sim ( x i , y ) ) . \nabla_y \log \left(\sum_{x_i \in \tilde{X}} f(x_i, y)\right) = \tau^{-1} \frac{\sum_{x_i \in \tilde{X}} x_i \exp(\tau^{-1} \text{sim}(x_i, y))}{\sum_{x_i \in \tilde{X}} \exp(\tau^{-1} \text{sim}(x_i, y))}. ylog xiX~f(xi,y) =τ1xiX~exp(τ1sim(xi,y))xiX~xiexp(τ1sim(xi,y)).

  3. 结合正负样本梯度

    将正样本和负样本梯度结合:
    ∇ y L InfoNCE = τ − 1 x 1 − τ − 1 ∑ x i ∈ X ~ x i exp ⁡ ( τ − 1 sim ( x i , y ) ) ∑ x i ∈ X ~ exp ⁡ ( τ − 1 sim ( x i , y ) ) . \nabla_y L_{\text{InfoNCE}} = \tau^{-1} x_1 - \tau^{-1} \frac{\sum_{x_i \in \tilde{X}} x_i \exp(\tau^{-1} \text{sim}(x_i, y))}{\sum_{x_i \in \tilde{X}} \exp(\tau^{-1} \text{sim}(x_i, y))}. yLInfoNCE=τ1x1τ1xiX~exp(τ1sim(xi,y))xiX~xiexp(τ1sim(xi,y)).

3、Softmax归一化形式
定义 ( p 1 , … , p K ) = softmax ( − τ − 1 X T y ) (p_1, \dots, p_K) = \text{softmax}(-\tau^{-1} X^T y) (p1,,pK)=softmax(τ1XTy),这时候应用了矩阵,其中:
p i = exp ⁡ ( τ − 1 sim ( x i , y ) ) ∑ x j ∈ X exp ⁡ ( τ − 1 sim ( x j , y ) ) . p_i = \frac{\exp(\tau^{-1} \text{sim}(x_i, y))}{\sum_{x_j \in X} \exp(\tau^{-1} \text{sim}(x_j, y))}. pi=xjXexp(τ1sim(xj,y))exp(τ1sim(xi,y)).
进一步化简梯度:把后面关于 x 1 x_1 x1的系数部分与前面 x 1 x_1 x1的系数部分合并。
∇ y L InfoNCE = − τ − 1 ( 1 − p 1 ) x 1 + τ − 1 ∑ x i ∈ X ~ p i x i . \nabla_y L_{\text{InfoNCE}} = -\tau^{-1} (1 - p_1) x_1 + \tau^{-1} \sum_{x_i \in \tilde{X}} p_i x_i. yLInfoNCE=τ1(1p1)x1+τ1xiX~pixi.

注意到 ( 1 − p 1 ) (1 - p_1) (1p1) 是正样本的权重,而 ∑ x i ∈ X ~ p i x i \sum_{x_i \in \tilde{X}} p_i x_i xiX~pixi 是负样本贡献的加权平均。

4、调整梯度效率的方法

  • p 1 p_1 p1 的大小直接反映了正样本的相似性得分。如果正样本 f ( x 1 , y ) f(x_1, y) f(x1,y) 远大于负样本得分总和,则 p 1 → 1 p_1 \to 1 p11,正样本的梯度贡献趋于零。
  • 为提高对难负样本的学习效率,可以:
    1. 选择更难的负样本:增加负样本集合中难负样本的比例。
    2. 增大批量大小:使得 X ~ \tilde{X} X~ 包含更多的负样本。
    3. 调节温度参数 τ \tau τ :降低 τ \tau τ 提高难负样本的区分度。

通过这些调整,可以有效降低 ( 1 − p 1 ) (1 - p_1) (1p1) 的影响,从而增强模型对难样本的学习能力。

二、

三、

四、

五、

六、

七、

八、

九、

十、

十一、

十二、

十三、

根据我提供的论文,写出它的1、研究背景 2、论文贡献 3、方法框架 4、研究思路 5、实验 6、限制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值