对比学习正负例在干什么?

对比学习正负例在干什么?

原始图片被当作一种anchor,其增强的图片被当作正样本(positive sample),然后其余的图片被当作负样本。

解决拼图问题是无监督学习中一个非常重要的部分。在对比学习中,原图被当作anchor,打乱后的图片被当作正样本,其余图片被当作负样本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

对比学习中的互信息?

上下文实例对比度主要有两种类型:预测相对位置(PRP)和最大化互信息(MI)。 它们之间的区别是:

• PRP重点学习局部成分之间的相对位置。 全局上下文是预测这些关系的隐含要求(例如了解大象的长相对于预测其头尾之间的相对位置至关重要)。

• MI关注学习局部和全局内容之间关系的显式信息。 局部成分之间的相对位置将被忽略。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

根据如何采样负样本来将对比学习进行分类

在这里插入图片描述
(a)端到端训练,一个encoder用来生成正样本的表示,一个encoder用来生成负样本的表示;大的batch size来存储更多的负样本,使用一个对比损失,模型会让正样本的表示相近,让负样本和正样本的表示相远。SimSLR

(b)使用一个Memory bank来存储和抽取负样本;Memory bank:的作用是在训练的时候维护大量的负样本表示。所以,创建一个字典来存储和更新这些样本的嵌入。Memory bank MMM 在数据集DDD中对每一个样本III存储一个表示mim_imi。该机制可以更新负样本表示,而无需增大训练的batch size。

(c)使用一个momentum encoder当作一个动态的字典查询来处理负样本;momentum创建了一种特殊的字典,它把字典当作一个队列的keys,当前的batch进入队列,最老的batch退出队列。Momentum encoder 共享了encoder Q的参数。它不会在每次反向传播后更新, 而是依据query encoder的参数来更新:
θk←mθk+(1−m)θq \theta_{k} \leftarrow m \theta_{k}+(1-m) \theta_{q} θkmθk+(1m)θq
在公式中, m∈[0,1)m \in[0,1)m[0,1) 是momentum系数。只有参数 θq\theta_{q}θq 会被反向传播更新。
Momentum update使得 θk\theta_{k}θk 缓慢、柔和地依据 θq\theta_{q}θq 来更新, 使得两个encoders的区别并不会很大。
Momentum encoder的优点是不需要训练两个不一样的encoder, 而且维护memory bank会比较简单。

(d)额外使用一个聚类机制。两个共享参数的端到端架构,这种架构使用聚类算法来聚类相似样本表示。

Loss

为了训练一个encoder, 需要一个前置任务来利用对比损失来进行反向传播。
对比学习最核心的观点是将相似样本靠近,不相似样本靠远。
所以需要一个相似度衡量指标来衡量两个表示的相近程度。
在对比学习中,最常用的指标是cosine similarity。
cos⁡sim(A,B)=A⋅B∥A∥∥B∥ \cos _{s} i m(A, B)=\frac{A \cdot B}{\|A\|\|B\|} cossim(A,B)=ABAB
Noise Contrastive Estimation (NCE) 函数定义为:
LNCE=−log⁡exp⁡(sim⁡(q,k+)/τexp⁡(sim⁡(q,k+)/τ)+exp⁡(sim⁡(q,k−)/τ) L_{N C E}=-\log \frac{\exp \left(\operatorname{sim}\left(q, k_{+}\right) / \tau\right.}{\exp \left(\operatorname{sim}\left(q, k_{+}\right) / \tau\right)+\exp \left(\operatorname{sim}\left(q, k_{-}\right) / \tau\right)} LNCE=logexp(sim(q,k+)/τ)+exp(sim(q,k)/τ)exp(sim(q,k+)/τ
其中 qqq 是原样本, k+k_{+}k+ 是正样本, k−k_{-}k 是负样本, τ\tauτ 是超参数,被称为温度系数。 sim⁡()\operatorname{sim}()sim() 可以是任何相似度函数,一般来说是cosines similarity
如果负样本的数量很多, NCE的一个变种 InfoNCE 定义为:
LInfoNCE=−log⁡exp⁡(sim⁡(q,k+)/τexp⁡(sim⁡(q,k+)/τ)+∑i=0Kexp⁡(sim⁡(q,ki)/τ) L_{I n f o N C E}=-\log \frac{\exp \left(\operatorname{sim}\left(q, k_{+}\right) / \tau\right.}{\exp \left(\operatorname{sim}\left(q, k_{+}\right) / \tau\right)+\sum_{i=0}^{K} \exp \left(\operatorname{sim}\left(q, k_{i}\right) / \tau\right)} LInfoNCE=logexp(sim(q,k+)/τ)+i=0Kexp(sim(q,ki)/τ)exp(sim(q,k+)/τ
kik_{i}ki 表示负样本。
与其他深度学习模型类似, 对比学习应用了许多训练优化算法。训练的过程包括最小化损失函数来学习模型的参数。常见的优化算法包括 SGD 和 Adam 等。训练大的 batch 的网络有时需要特殊设计的优化算法,例如 LARS

引用
[1] https://blog.csdn.net/xovee/article/details/111622221
[2] https://www.jianshu.com/p/75e1f3a16812
[3] https://blog.csdn.net/weixin_43845931/article/details/109900906

<think>好的,我现在需要处理用户关于正负惯性指数的问题。首先,用户想知道它们的定义以及在数学或计算机科学中的应用。作为助手,我需要先明确这两个概念的定义,然后找到相关的应用场景。 首先,正负惯性指数的定义部分。惯性指数通常与二次型和矩阵相关,应该涉及到合同变换下标准型中正、负特征值的个数。这部分需要准确,可能需要参考线性代数或矩阵理论的内容。 接下来是应用方面。数学中的应用可能包括二次曲线的分类、优化问题中的极值判断。计算机科学方面,可能涉及到机器学习中的支持向量机(SVM),因为SVM使用核方法,而核函数可能涉及正定矩阵,惯性指数可能在这里有应用。另外,图像处理中的特征提取或者信号处理中的矩阵分析也可能用到这些概念。需要验证这些应用是否正确。 然后,我需要调用网络搜索工具来查找相关资料,确保信息的准确性。如,搜索“正负惯性指数 定义”确认定义,再搜索“正负惯性指数 应用”找到数学和计算机领域的应用案。 在整理回答时,需要按照用户的要求分点说明,避免使用步骤词汇,每个方法或步骤间换行。同时,注意引用内容不能集中在末尾,而是自然融入各部分中。如,在定义部分直接引用标准定义,在应用部分分别说明不同领域的具体子。 还要检查是否有数学公式和代码需要格式化。可能涉及到二次型的标准形式,如$f(x_1,x_2,...,x_n) = \lambda_1y_1^2 + ... + \lambda_ny_n^2$,其中正负惯性指数是正负系数的个数。这部分需要用正确的LaTeX格式。 最后生成相关问题部分,需要基于用户的问题和回答内容,提出三个相关的问题,比如惯性指数与矩阵特征值的关系,如何计算具体子,以及在SVM中的具体应用机制等。 现在需要确保所有要求都被遵守:不使用第一人称,分点说明,正确格式化公式和代码(如果有),相关问题部分正确格式且位于最后。检查是否有遗漏的应用领域或定义细节,确保回答详细且实用。</think>**正负惯性指数的定义** 正负惯性指数是描述实二次型或实对称矩阵特征的重要指标。对于任意实二次型$f(x)=X^TAX$,通过合同变换可化为标准型: $$f(y)=\lambda_1y_1^2 + \lambda_2y_2^2 + \dots + \lambda_py_p^2 - \lambda_{p+1}y_{p+1}^2 - \dots - \lambda_{p+q}y_{p+q}^2$$ 其中$\lambda_i > 0$,正惯性指数$p$是正项个数,负惯性指数$q$是负项个数,$p+q$称为二次型的秩。 **数学中的应用** 1. **二次曲线/曲面分类** 正负惯性指数可判定二次曲线的类型。如,二元二次方程$ax^2 + bxy + cy^2 = 1$,当$p=2$时为椭圆,$p=1, q=1$时为双曲线。 2. **极值问题分析** 在多元函数优化中,通过Hessian矩阵的正负惯性指数判断临界点性质。若Hessian矩阵正惯性指数为$n$,则该点为极小值点;若负惯性指数为$n$,则为极大值点。 **计算机科学中的应用** 1. **支持向量机(SVM)** 核函数矩阵的正定性直接影响SVM的优化过程。通过计算核矩阵的正惯性指数验证其是否满足Mercer条件,确保优化问题凸性。 2. **图像特征提取** 在图像处理中,协方差矩阵的正负惯性指数可用于描述局部纹理特征。如,惯性指数比可区分平坦区域、边缘或角点。 3. **网络稳定性分析** 在图论中,图的拉普拉斯矩阵的惯性指数反映网络结构特性。正惯性指数与连通子图数量相关,负惯性指数为零(因拉普拉斯矩阵半正定)。 **计算示** 对矩阵$A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$,其特征值为$\lambda_1=3$和$\lambda_2=1$,正惯性指数$p=2$,负惯性指数$q=0$。 ```python import numpy as np A = np.array([[2, 1], [1, 2]]) eigenvalues = np.linalg.eigvalsh(A) p = sum(1 for x in eigenvalues if x > 0) q = sum(1 for x in eigenvalues if x < 0) print(f"正惯性指数: {p}, 负惯性指数: {q}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值