0%

论文综述-contrastive learning-对比损失

2021-11-4 update Contrastive loss, Triplet loss, NCE, InfoNCE

Contrastive loss

论文文献:Dimensionality Reduction by Learning an Invariant Mapping

参考博客:文献阅读 - Dimensionality Reduction by Learning an Invariant Mapping

文章提出一种称为DrLIM的降维方法,用于学习全局一致的非线性函数,该函数将高维数据均匀映射到低维输出流形。在训练时,仅依赖于领域关系,而不需要输入空间中的距离度量,且该方法可以学习到对输入的某些变换不变的映射。

目标:学习一个映射函数 G ,使得低维输出流形上的距离度量类似于高维输入空间的近邻关系。

假设输入样本集合为 \{X_i\} ,定义第 i 组样本的损失函数为:

L\left(W,\left(Y, \vec{X_{1}}, \vec{X_{2}}\right)^{i}\right)=(1-Y) L_{S}\left(D_{W}^{i}\left(\vec{X_{1}}, \vec{X_{2}}\right)\right)+Y L_{D}\left(D_{W}^{i}\left(\vec{X_{1}}, \vec{X_{2}}\right)\right)

其中, W 为模型权重, Y 为标识符,表示样本之间是否相似( 1 表示相似、 0 表示不相似), D_W 为隐空间的欧式距离(定义为 D_W(\vec{X_{1}}, \vec{X_{2}})=|G_W(\vec{X_1})-G_W(\vec{X_2})|_2 )。 L_S L_D 分别为正样本对和负样本对情况下的损失函数。

所以,整体的损失为:

L(W)=\sum_{i=1}^{P} L\left(W,\left(Y, \vec{X}_{1}, \vec{X}_{2}\right)^{i}\right)

对于正负样本对情况下的损失函数,要求满足下图的趋势( L_S 为红色, L_D 为蓝色)

文章从弹性势能出发,进行讨论。定义弹簧模型为

\vec{F} = -\vec{x}
  • 正样本对

    当与锚点为正样本时,两者之间会逐渐靠近。

    假设弹簧为拉力弹簧(attract-only),静止长度 \rightarrow 0 ,即任意正位移均导致弹簧产生拉力,从而使得正样本无限拉近,从而完成聚类。

    将锚点设为零势能点,则:

    E = 0 - \int \vec{F} d \vec{x}=\frac{1}{2}x^{2}

    则由此得到 L_S

    L_S = \frac{1}{2}D_W^2
  • 负样本对

    当与锚点为负样本时,两者之间会逐渐远离。

    假设弹簧为斥力弹簧(m-repulse-only),静止长度 \rightarrow m ,当位移小于 m 时,负样本间相互排斥,从而完成边界划分。

    将锚点设为零势能点,则:

    E = 0 - \int \vec{F} d \vec{x}=\frac{1}{2}(m-x)^{2}

    则由此得到 L_D

    L_{D}=\frac{1}{2}\left(\max \left\{0, m-D_{W}\right\}\right)^{2}

综上,得到最终的损失函数:

L\left(W,\left(Y, \vec{X_{1}}, \vec{X_{2}}\right)^{i}\right)=(1-Y) \frac{1}{2}D_W^2 + Y \frac{1}{2}\left(\max \left\{0, m-D_{W}\right\}\right)^{2}

即正样本对时,样本间距离越小越好;负样本对时,样本间距离在阈值 m 下越大越好。训练时,采用孪生网络,理想情况下,正负样本对之间进行”顶级拉扯”,相互作用力达到动态平衡。

Triplet loss

论文文献:FaceNet: A Unified Embedding for Face Recognition and Clustering

参考博客:Triplet Loss and Online Triplet Mining in TensorFlow

文章提出了triplet loss,主要用于学习人脸的向量表示,该损失函数的优势在于能够对输入的样本对进行更加细致的建模,对输入的差异性进行了度量,以学习到更好的向量表示。

目标:希望具有相似标签的样本,在编码空间里距离更近;而不同标签的样本,在编码空间里距离较远。

文章定义输入的三元组为 (a,p,n) ,分别表示为锚点、正样本、负样本,则损失函数定义为:

L = max(d(a,p) - d(a,n) + margin, 0)

通过优化该损失函数,使得 d(a,p)\rightarrow 0 ,而 d(a,n)>d(a,p)+margin ,由于 margin 的存在,避免了退化解(否则直接 d(a,p)=d(a,n) 时损失最小),且能够限制正负样本对之间的相互关系(平衡模型训练难度和分类效果)。

如上图,文章将三元组样本分为三类:

  • easy triplets L=0 ,即满足 d(a,n)>d(a,p)+margin
  • hard triplets:负样本离锚点的距离小于正样本离锚点的距离,即 d(a,n)<d(a,p)
  • semi-hard triplets:正样本离锚点的距离小于负样本离锚点的距离,但未满足 margin 的限制,即 d(a,p)<d(a,n)<d(a,p)+margin

三元组样本的选择,会极大的影响模型效率(类似于hard sampling的那一套)。在FaceNet中,采用随机的semi-hard triplets的方法进行训练。

Noise Contrastive Estimation

论文文献:

Noise-contrastive estimation: A new estimation principle for unnormalized statistical models

A fast and simple algorithm for training neural probabilistic language models

参考博客:

Noise Contrastive Estimation

对比学习(Contrastive Learning)综述

语言模型通常假设所有可能的句子服从一个概率分布,每个句子出现的概率加起来为 1 。通常把句子 s 看成由 m 个单词组成的序列 s=\{w_1,w_2,…,w_m\} ,希望计算概率 p(w_1,w_2,…,w_m) 来得到句子 s 出现的概率。基于链式法则,可以得到:

\begin{align} p(w_1,w_2,...,w_m) &= p(w_1)*p(w_2|w_1)*p(w_3|w_1,w_2)...p(w_m|w_1,...,w_{m-1}) \\ &= \prod_{i=1}^{m}p(w_i|w_1,...,w_{i-1}) \end{align}

由上式可知,计算每个单词的条件概率计算量很大,故引入马尔可夫链的假设,即当前单词出现的概率仅与它前面出现的 n 个词有关,称为 n-gram 模型,由此模型简化为:

p(w_1,w_2,...,w_m) = \prod_{i=1}^{m}p(w_i|w_{i-n+1},...,w_{i-1})

在机器学习中,我们通常使用softmax函数来预测单词 w_i 的条件概率:

\begin{aligned} p_{\theta}(w_i|c_i) &= \frac{\exp(s_{\theta}(w_i,c_i))}{\sum_{w_i'}{\exp(s_{\theta}(w_i',c_i)})} \\ &= \frac{u_{\theta}(w_i,c_i)}{Z_{\theta}(c_i)} \end{aligned}

其中, c_i 为单词 w_i 的上下文, s_{\theta}(w_i,c_i) 为分数函数,表示 w_i 与上下文 c_i 的匹配分数。 Z_{\theta}(c_i) 为当前词库中所有单词的分数累加,称为配分函数或归一化因子,其计算量很大。

最大似然估计

先引入最大似然估计优化参数 \theta ,假设单词 w 服从数据分布 p_d(w|c) ,则对数似然函数可写为:

\begin{aligned} L_{MLE} &= \sum_{w\sim p_d(w|c)} \log p_{\theta}(w|c) \\ &= \mathbb{E}_{w\sim p_d(w|c)}\left[\log u_{\theta}(w,c) - \log Z_{\theta}(c)\right] \end{aligned}

计算梯度:

\begin{aligned} \frac{\partial L_{MLE}}{\partial \theta} &=\mathbb{E}_{w \sim p_d(w|c)}\left[\frac{\partial}{\partial \theta} \log u_{\theta}(w, c)-\frac{\partial}{\partial \theta} \log Z_{\theta}(c)\right] \\ &=\mathbb{E}_{w \sim p_d(w \mid c)} \left[\frac{\partial}{\partial \theta} \log u_{\theta}(w, c)\right] -\frac{\partial}{\partial \theta} \log Z_{\theta}(c) \end{aligned}

上式能转换的原因是: Z_{\theta}(c) = {\sum_{w’}{\exp(s_{\theta}(w’,c)})} w’ 为所有词库中的单词,该单词的概率由 p_{\theta}(w|c) 产生,即 w’\sim p_{\theta}(w|c) ,与分布 w\sim p_d(w|c) 不相关,故可以转换。专注于 \frac{\partial}{\partial \theta} \log Z_{\theta}(c) 可得:

\begin{aligned} \frac{\partial}{\partial \theta} \log Z_{\theta}(c) &= \frac{1}{Z_{\theta}(c)}\frac{\partial}{\partial \theta} Z_{\theta}(c) \\ &= \frac{1}{Z_{\theta}(c)}\frac{\partial}{\partial \theta} \sum_{w'} \exp(s_{\theta}(w',c)) \\ &= \sum_{w'} \frac{1}{Z_{\theta}(c)} \exp(s_{\theta}(w',c)) \frac{\partial}{\partial \theta} s_{\theta}(w',c) \\ &= \sum_{w'}p_{\theta}(w'|c)\frac{\partial}{\partial \theta} s_{\theta}(w',c) \\ &= \mathbb{E}_{w \sim p_{\theta}(w|c)}\left[\frac{\partial}{\partial \theta} s_{\theta}(w,c)\right] \end{aligned}

由此可得:

\begin{aligned} \frac{\partial L_{MLE}}{\partial \theta} &=\mathbb{E}_{w \sim p_d(w \mid c)} \left[\frac{\partial}{\partial \theta} \log u_{\theta}(w, c)\right] -\frac{\partial}{\partial \theta} \log Z_{\theta}(c) \\ &= \mathbb{E}_{w \sim p_d(w \mid c)} \left[\frac{\partial}{\partial \theta}s_{\theta}(w,c)\right] - \mathbb{E}_{w \sim p_{\theta}(w|c)}\left[\frac{\partial}{\partial \theta} s_{\theta}(w,c)\right] \\ &= \sum_{w}p_{d}(w|c)\frac{\partial}{\partial \theta} s_{\theta}(w,c) - \sum_{w}p_{\theta}(w|c)\frac{\partial}{\partial \theta} s_{\theta}(w,c) \\ &= \sum_{w}\left(p_{d}(w|c) - p_{\theta}(w|c)\right)\frac{\partial}{\partial \theta} s_{\theta}(w,c) \\ &= \sum_{w}\left(p_{d}(w|c) - p_{\theta}(w|c)\right)\frac{\partial}{\partial \theta} \log u_{\theta}(w,c) \end{aligned}

上式无法避免对 Z_{\theta}(c) 的计算,计算量依旧复杂。

NCE

NCE将多分类问题转换为二分类问题,并引入噪声数据进行对比,并通过优化损失函数来估计模型参数 \theta 和归一化常数 Z_{\theta}(c) 即希望分类器能够对数据样本和噪声样本进行二分类,由此学习到数据分布和噪声分布样本之间的区别,从而发现数据中的一些特性。

假设正样本来自特定上下文 c 的数据分布 p_d(w|c) ,标签 D=1 ,负样本来自噪声分布 p_n(w) (简单起见,假设与上下文 c 无关),标签 D=0 。在训练时,每次选用 k_d 个正样本和 k_n 个负样本,由此构成训练数据分布 p(w|c) 。则可得:

\begin{aligned} p(D=1) &= \frac{k_d}{k_d + k_n} \\ p(D=0) &= \frac{k_n}{k_d + k_n} \\ \end{aligned} \begin{aligned} p(w|D=1,c) &= p_{d}(w|c) \\ p(w|D=0,c) &= p_n(w) \end{aligned}

由此,计算后验概率:

\begin{aligned} p(D=1|w,c) &= \frac{p(D=1)p(w|D=1,c)}{p(D=1)p(w|D=1,c)+p(D=0)p(w|D=0,c)} \\ &= \frac{k_{d}p_{d}(w|c)}{k_{d}p_{d}(w|c)+k_{n}p_{n}(w)} \\ &= \frac{p_{d}(w|c)}{p_{d}(w|c)+kp_{n}(w)} \end{aligned}

其中, k=\frac{k_n}{k_d} ,同理可得:

p(D=0|w,c) = \frac{kp_{n}(w)}{p_{d}(w|c)+kp_{n}(w)}

NCE不直接计算 Z_{\theta}(c) ,而是将 Z_{\theta}(c) 作为一个可训练的参数 z_c 来估计,即 \theta=\{\theta^0,z_c\} \theta^0 为原始的参数, z_c 则不依赖于 \theta^0 ,对于不同的上下文 c ,存在不同的 z_c ,即:

p_{\theta}(w|c) = \frac{u_{\theta}(w,c)}{Z_{\theta}(c)} = p_{\theta^0}(w|c)\exp(z_c)

其中, p_{\theta^0}(w|c)=u_{\theta^0}(w,c) ,引入最大对数似然估计优化参数 \theta ,则对数似然函数可写为:

\begin{aligned} L_{NCE}^c &= \sum_{w\sim p_d(w|c)} \log p(D=1|w,c) + \sum_{w\sim p_n(w)} \log p(D=0|w,c) \\ &= \sum_{i=1}^{k_d} \log p(D=1|w_i,c) + \sum_{i=1}^{k_n} \log p(D=0|w_i,c) \\ &= \frac{1}{k_d}\sum_{i=1}^{k_d} \log p(D=1|w_i,c) + \frac{k_n}{k_d}\frac{1}{k_n} \sum_{i=1}^{k_n} \log p(D=0|w_i,c) \\ &= \mathbb{E}_{w\sim p_d(w|c)}\log p(D=1|w,c) + k \mathbb{E}_{w\sim p_n(w)}\log p(D=0|w,c) \\ &= \mathbb{E}_{w\sim p_d(w|c)}\log \frac{p_{\theta}(w|c)}{p_{\theta}(w|c)+kp_{n}(w)} + k \mathbb{E}_{w\sim p_n(w)}\log \frac{kp_{n}(w)}{p_{\theta}(w|c)+kp_{n}(w)} \end{aligned}

计算梯度:

\begin{aligned} \frac{\partial L_{NCE}^c}{\partial \theta} &= \frac{\partial}{\partial \theta} \mathbb{E}_{w\sim p_d(w|c)}\log \frac{p_{\theta}(w|c)}{p_{\theta}(w|c)+kp_{n}(w)} + k \frac{\partial}{\partial \theta} \mathbb{E}_{w\sim p_n(w)}\log \frac{kp_{n}(w)}{p_{\theta}(w|c)+kp_{n}(w)} \\ &= \mathbb{E}_{w\sim p_d(w|c)}\left[\frac{\partial}{\partial \theta} \log \frac{p_{\theta}(w|c)}{p_{\theta}(w|c)+kp_{n}(w)}\right] + k \mathbb{E}_{w\sim p_n(w)}\left[\frac{\partial}{\partial \theta} \log \frac{kp_{n}(w)}{p_{\theta}(w|c)+kp_{n}(w)}\right] \end{aligned}

分别计算上式中的两部分:

\begin{aligned} \frac{\partial}{\partial \theta} \log \frac{p_{\theta}(w|c)}{p_{\theta}(w|c)+kp_{n}(w)} &= \frac{\partial}{\partial \theta} \left[-\log \left(1+\frac{kp_n(w)}{p_{\theta}(w|c)}\right)\right] \\ &= \frac{kp_n(w)}{p_{\theta}(w|c)+kp_n(w)}\frac{1}{p_{\theta}(w|c)}\frac{\partial}{\partial \theta}p_{\theta}(w|c) \\ &= \frac{kp_n(w)}{p_{\theta}(w|c)+kp_n(w)}\frac{\partial}{\partial \theta}\log p_{\theta}(w|c) \end{aligned} \begin{aligned} \frac{\partial}{\partial \theta} \log \frac{kp_{n}(w)}{p_{\theta}(w|c)+kp_{n}(w)} &= \frac{\partial}{\partial \theta} \left[-\log \left(1+\frac{p_{\theta}(w|c)}{kp_n(w)}\right)\right] \\ &= -\frac{p_{\theta}(w|c)}{p_{\theta}(w|c)+kp_n(w)}\frac{1}{p_{\theta}(w|c)}\frac{\partial}{\partial \theta}p_{\theta}(w|c) \\ &= -\frac{p_{\theta}(w|c)}{p_{\theta}(w|c)+kp_n(w)}\frac{\partial}{\partial \theta}\log p_{\theta}(w|c) \end{aligned}

由此可得:

\begin{aligned} \frac{\partial L_{NCE}^c}{\partial \theta} &= \mathbb{E}_{w\sim p_d(w|c)}\left[\frac{\partial}{\partial \theta} \log \frac{p_{\theta}(w|c)}{p_{\theta}(w|c)+kp_{n}(w)}\right] + k \mathbb{E}_{w\sim p_n(w)}\left[\frac{\partial}{\partial \theta} \log \frac{kp_{n}(w)}{p_{\theta}(w|c)+kp_{n}(w)}\right] \\ &= \mathbb{E}_{w\sim p_d(w|c)}\left[\frac{kp_n(w)}{p_{\theta}(w|c)+kp_n(w)}\frac{\partial}{\partial \theta}\log p_{\theta}(w|c) \right] - k \mathbb{E}_{w\sim p_n(w)}\left[\frac{p_{\theta}(w|c)}{p_{\theta}(w|c)+kp_n(w)}\frac{\partial}{\partial \theta}\log p_{\theta}(w|c)\right] \\ &= \sum_{w} p_d(w|c)\frac{kp_n(w)}{p_{\theta}(w|c)+kp_n(w)}\frac{\partial}{\partial \theta}\log p_{\theta}(w|c) - k\sum_{w} p_n(w)\frac{p_{\theta}(w|c)}{p_{\theta}(w|c)+kp_n(w)}\frac{\partial}{\partial \theta}\log p_{\theta}(w|c) \\ &= \sum_{w} \frac{kp_n(w)}{p_{\theta}(w|c)+kp_n(w)}\left(p_d(w|c)-p_{\theta}(w|c)\right)\frac{\partial}{\partial \theta}\log p_{\theta}(w|c) \end{aligned}

若仅对 \theta^0 求导,则可得:

\begin{aligned} \frac{\partial L_{NCE}^c}{\partial \theta^0} &= \sum_{w} \frac{kp_n(w)}{p_{\theta}(w|c)+kp_n(w)}\left(p_d(w|c)-p_{\theta}(w|c)\right)\frac{\partial}{\partial \theta^0}\log p_{\theta^0}(w|c) \\ &= \sum_{w} \frac{kp_n(w)}{p_{\theta}(w|c)+kp_n(w)}\left(p_d(w|c)-p_{\theta}(w|c)\right)\frac{\partial}{\partial \theta^0}\log u_{\theta^0}(w,c) \end{aligned}

k\rightarrow \infty ,则:

\begin{aligned} \frac{\partial L_{NCE}^c}{\partial \theta^0} &= \sum_{w} \left(p_d(w|c)-p_{\theta}(w|c)\right)\frac{\partial}{\partial \theta^0}\log u_{\theta^0}(w,c) \end{aligned}

上式趋近于 \frac{\partial L_{MLE}}{\partial \theta} ,说明当负样本和正样本数量之比 k 越大,那么NCE对于噪声分布的依赖程度也越小,且当 k 增大时,NCE梯度趋近于MLE梯度,这也是使用NCE成功的根本原因。

当上下文语境数量较大时,模型参数 z_c 的数量也会变大,论文文献 (2) 发现直接设置 \exp(z_c)=1 也能较好工作。

InfoNCE

论文文献:Representation Learning with Contrastive Predictive Coding

参考博客:Noise Contrastive Estimation 前世今生——从 NCE 到 InfoNCE

文章提出一种称为CPC的方法,通过无监督任务学习高维数据的特征表示,该方法根据上下文预测未来或缺失的信息。

目标:通过无监督表征学习,希望数据的表征不仅能尽可能保留原信号的信息,并且能具有很好的预测能力,即希望模型能学习到无标签数据本身的高维信息,并对下游任务产生帮助。

上图为CPC的结构图,传统方法是直接根据上下文 c_t 预测 k 个时刻后的数据 x_{t+k} ,即建模生成模型 p(x_{t+k}|c_t) ,但该方法类似于细节重建,忽略了相互之间的关系;故引入互信息,即通过最大化当前上下文 c_t k 时刻后的数据 x_{t+k}​ 之间的互信息来构建预测任务。其中互信息的定义为:

I\left(x_{t+k} ; c_{t}\right)=\sum_{x, c} p\left(x_{t+k}, c_{t}\right) \log \frac{p\left(x_{t+k} \mid c_{t}\right)}{p\left(x_{t+k}\right)}

我们无法知道联合分布 p\left(x_{t+k}, c_{t}\right) ,因此要最大化 I\left(x_{t+k} ; c_{t}\right) ,就需要最大化 \frac{p\left(x_{t+k} \mid c_{t}\right)}{p\left(x_{t+k}\right)} 。该比例定义为密度比,根据NCE提供的思路, p\left(x_{t+k} \mid c_{t}\right) 相当于 p_d ,即想得到的目标函数;而 p(x_{t+k}) 相当于 p_n ,即用来进行对比的噪声。由此转换为二分类问题:

  • 正样本: x\sim p\left(x_{t+k} \mid c_{t}\right) ,即根据当前上下文 c_t 所做出的预测数据,标签为 1
  • 负样本: x\sim p(x_{t+k}) ,即跟当前上下文 c_t 无必然关系的随机数据,标签为 0

假设输入样本为 \{x_1,…,x_N\} ,其中包含一个正样本和 N-1 个负样本,故需要训练一个二分类模型区分正负样本对,则“成功分辨出每个正负样本的能力”等价于“根据 c_t 预测 x_{t+k} 的能力”。假设 (x_{t+k},c_t) 为正样本对,则最大化模型成功分辨出每个正负样本的概率:

\begin{aligned} p\left(d=t+k \mid X, c_{t}\right) &=p\left(x_{t+k} \mid c_{t}\right) \\ &=\frac{p\left(x_{t+k} \mid c_{t}\right) \prod_{l \neq t+k} p\left(x_{l}\right)}{\sum_{j=1}^{N} p\left(x_{j} \mid c_{t}\right) \prod_{l \neq j} p\left(x_{l}\right)} \\ &=\frac{\frac{p\left(x_{t+k} \mid c_{t}\right)}{p\left(x_{t+k}\right)}}{\sum_{j=1}^{N} \frac{p\left(x_{j} \mid c_{t}\right)}{p\left(x_{j}\right)}} \end{aligned}

上式相当于将 t+k 位置给mask,最大化上式等价于最大化 \frac{p\left(x_{t+k} \mid c_{t}\right)}{p\left(x_{t+k}\right)} ,即最大化 x_{t+k} c_t 的互信息。CPC选用余弦相似度 f_k(·) 量化分数,故:

p(x_{t+k}|c_t) = \frac{f_k(x_{t+k},c_t)}{\sum_{x_j\in X}f_k(x_{t+k},c_t)}

我们可以发现,上面两个式子的目标具有一致性,即:

f_{k}\left(x_{t+k}, c_{t}\right) \propto \frac{p\left(x_{t+k} \mid c_{t}\right)}{p\left(x_{t+k}\right)}

所以,最终的InfoNCE损失函数为:

\begin{aligned} \mathcal{L}_{N} &=-\sum_{X}\left[p(x, c) \log \frac{f_{k}\left(x_{t+k}, c_{t}\right)}{\sum_{x_{j} \in X} f_{k}\left(x_{j}, c_{t}\right)}\right] \\ &=-\mathbb{E}_{X}\left[\log \frac{f_{k}\left(x_{t+k}, c_{t}\right)}{\sum_{x_{j} \in X} f_{k}\left(x_{j}, c_{t}\right)}\right] \end{aligned}

同时,文章证明最小化InfoNCE等价于最大化 x_{t+k} c_t 的互信息下界,其证明如下:

\begin{aligned} \mathcal{L}_{N} &= -\mathbb{E}_X \log \left[\frac{\frac{p\left(x_{t+k} \mid c_{t}\right)}{p\left(x_{t+k}\right)}}{\frac{p\left(x_{t+k} \mid c_{t}\right)}{p\left(x_{t+k}\right)}+\sum_{x_{j} \in X_{neg}} \frac{p\left(x_{j} \mid c_{t}\right)}{p\left(x_{j}\right)}}\right] \\ &= \mathbb{E}_X \log \left[1+\frac{p\left(x_{t+k}\right)}{p\left(x_{t+k} \mid c_{t}\right)} \sum_{x_{j} \in X_{\text {neg }}} \frac{p\left(x_{j} \mid c_{t}\right)}{p\left(x_{j}\right)}\right] \\ & \approx \mathbb{E}_X \log \left[1+\frac{p\left(x_{t+k}\right)}{p\left(x_{t+k} \mid c_{t}\right)}(N-1) \mathbb{E}_{x_{j}} \frac{p\left(x_{j} \mid c_{t}\right)}{p\left(x_{j}\right)}\right] \\ &(如果正负样本距离足够远,那么所有的负样本期望都会在边界,且近乎相等)\\ &= \mathbb{E}_X \log \left[1+\frac{p\left(x_{t+k}\right)}{p\left(x_{t+k} \mid c_{t}\right)}(N-1)\right] \\ & \geq \mathbb{E}_X \log \left[\frac{p\left(x_{t+k}\right)}{p\left(x_{t+k} \mid c_{t}\right)} N\right] \\ &=-I\left(x_{t+k}, c_{t}\right)+\log (N) \end{aligned}

相关阅读推荐

Supervised Contrastive Learning:证明Triplet LossInfoNCE近似等价

Understanding Contrastive Representation Learning through Alignment and Uniformity on the Hypersphere:证明InfoNCE渐近地优化了alignuniform