Towards the Generalization of Contrastive Self-supervised Learning

什么样的特征空间有利于下游任务的泛化性

自监督学习

自监督学习是输入若干独立同分布采样自未知分布的无标记样本,来自潜在的 K 个类别 C_1, C_2, \ldots, C_K,基于一系列增广操作 A,为每个样本 x 生成其正样本 A(x),学习一个特征表示 f(\cdot),使得经过特征编码 f 后正样本对间的表示尽可能拉近,而负样本对的表示尽可能远离。
这里假设不同类别的样本经过增广之后不会产生交集,即 \bigcap_{k=1}^K A(C_k) = \emptyset。此假设在真实情况下是显然的,否则这样的增广操作相当于改变样本的类别,与增广操作的目的违背。

分析框架

本文分析了 SimCLR 和 Barlow Twins 两种自监督学习算法,其中 SimCLR 算法对应的损失函数为 \mathcal{L}_{\text {InfoNCE }},通过采样两个样本 \boldsymbol x\boldsymbol{x}^{\prime} 构造正负样本对:

\mathcal{L}_{\text {InfoNCE }} =- \log
\mathop{\mathbb{E}}\limits_{\boldsymbol{x}, \boldsymbol{x}^{\prime}}
\mathop{\mathbb{E}}\limits_{\boldsymbol{x}_1, \boldsymbol{x}_2 \in A(\boldsymbol{x}) \atop \boldsymbol{x}^{-} \in A(\boldsymbol{x}^{\prime})}
\frac{e^{f\left(\boldsymbol{x}_{1}\right)^{\top} f\left(\boldsymbol{x}_{2}\right)}}{e^{f\left(\boldsymbol{x}_{1}\right)^{\top} f\left(\boldsymbol{x}_{2}\right)}+e^{f\left(\boldsymbol{x}_{1}\right)^{\top} f\left(\boldsymbol{x}^{-}\right)}}

Barlow Twins 对应的损失函数为 \mathcal{L}_{\text {Cross-Corr }},通过:

\mathcal{L}_{\text {Cross-Corr }} =
\sum_{i=1}^{d}\left(1-C_{i i}\right)^{2}
+\lambda \sum_{i=1}^{d} \sum_{i \neq j} C_{i j}^{2}

其中 C_{i j}=\mathbb{E}_{\boldsymbol{x}} \mathbb{E}_{\boldsymbol{x}_{1}, \boldsymbol{x}_{2} \in A(\boldsymbol{x})}\left[f_{i}\left(\boldsymbol{x}_{1}\right) f_{j}\left(\boldsymbol{x}_{2}\right)\right] 是同一样本不同增广版本经过特征编码器 f(\cdot) 后得到的 d 维特征间的协方差矩阵。这里的特征编码器的输出需要经过标准化,即 \mathbb{E}_{\boldsymbol{x}} \mathbb{E}_{\boldsymbol{x}^{\prime} \in A(\boldsymbol{x})}\left[f_{i}\left(\boldsymbol{x}^{\prime}\right)^{2}\right]=1.

评价方式

为了评价自监督学习特征的有效性,常见的做法在 f(\cdot) 特征后增加简单分类器(最临近分类器、线性分类器)。文章进行理论分析时,主要考虑的是最邻近分类器,即通过样本和每个类别中心的距离决定此样本属于何种类别:

G_{f}(\boldsymbol{x})=\underset{k \in[K]}{\arg \min }\left\|f(\boldsymbol{x})-\mu_{k}\right\|

其中 \mu_{k}:=\mathbb{E}_{\boldsymbol{x} \in C_{k}} \mathbb{E}_{\boldsymbol{x}^{\prime} \in A(\boldsymbol{x})}\left[f\left(\boldsymbol{x}^{\prime}\right)\right] 是类别 C_k 中样本在特征空间中的中心。
我们通过分类器 G_f 在下游任务中的错误率来评价他的泛化能力:

\operatorname{Err}\left(G_{f}\right)=\sum_{k=1}^{K} \mathbb{P}\left[G_{f}(\boldsymbol{x}) \neq k, \forall \boldsymbol{x} \in C_{k}\right]

增广操作与据此定义的样本间距离

为了能够建模对自监督学习至关重要的数据增广操作 A,本文先通过数据增广重新定义了样本之间的距离:

d_{A}\left(\boldsymbol{x}_{1}, \boldsymbol{x}_{2}\right)=\min _{\boldsymbol{x}_{1}^{\prime} \in A\left(\boldsymbol{x}_{1}\right), \boldsymbol{x}_{2}^{\prime} \in A\left(\boldsymbol{x}_{2}\right)}\left\|\boldsymbol{x}_{1}^{\prime}-\boldsymbol{x}_{2}^{\prime}\right\|

即样本间距离等于两个样本在任意增广操作下的能够达到的最近距离。重新定义的距离可以认为是两不同样本在定义的增广操作集合 A 中语义上的最近距离。

根据新定义的样本间距离,定义 (\sigma,\delta) \text {-augmentation } 来刻画增广数据的类内集中程度:

Definition 1

如果一个增广操作集合 A,满足对于任意类别的样本集合 C_k,都存在一个不小于 \sigma \mathbb P[C_k] 的核心子集 C_k^0,满足在此核心子集中任意样本间距离不超过 \delta,则成增广s操作集合为 (\sigma,\delta) \text {-augmentation }

增广操作的类内集中程度对于自监督学习在下游任务中的性能有重要影响。

错误率上界

首先,针对编码器 f 定义它的好样本集合 S_{\varepsilon}(f):=\{\boldsymbol{x} \in \left.\cup_{k=1}^{K} C_{k}: \forall \boldsymbol{x}_{1}, \boldsymbol{x}_{2} \in A(\boldsymbol{x}),\left\|f\left(\boldsymbol{x}_{1}\right)-f\left(\boldsymbol{x}_{2}\right)\right\| \leq \varepsilon\right\},即满足不同增广版本在特征空间中的距离很近 (<\varepsilon) 的样本集合,则坏样本率为 R_{\varepsilon}:=\mathbb{P}\left[\overline{S_{\varepsilon}}\right]
直觉上,一个好的编码器的坏样本率应越低越好,特征编码器对样本生成的增广不敏感。

据此,可以推知如下引理:

Lemma 1

如果给定一个 (\sigma,\delta) \text {-augmentation } 和一个特征编码器 f(\cdot),如果分类器能够将所有类别的核心样本集合 C_k^0 交特征编码器的好样本集合 S_{\varepsilon}(f) 正确分类,那么任意下有任务的错误率可以被核心样本覆盖率与坏样本率约束,即 \operatorname{Err}\left(G_{f}\right) \leq (1-\sigma)+R_{\varepsilon}

这个引理说明了自监督学习在下游任务上的性能与子监督学习中使用的增广操作集合 A 相关,增广操作集合的类内集中程度越高则性能越好,可以认为是增广操作给模型的指导越丰富越好;训练得到的特征编码器也同样重要,如果特征编码器能够能够将同一样本的不同增广映射得越近越好,可以认为是特征编码器 f 从增广集合 A 的指导中学到了更好的表示

接下来文章分析了什么时候最邻近分类器能够满足引理 1 的条件,定义 p_k := \mathbb P [C_k] 为类别 C_k 的比例,可以推知如下的引理:

Lemma 2

当特征提取器 f 输出特征的范数不超过 r 且为 \text{L-Lipschitz} 连续的,那么在 (\sigma,\delta) \text {-augmentation } 下,对于每一个类别 l 都有:

\mu_l^{\top}\mu_{k}<r^2 \left ( 1 – \rho_{\ell}(\sigma, \delta, \varepsilon) – \sqrt{2\rho_{\ell}(\sigma, \delta, \varepsilon)} – \frac{\Delta_{\mu}}{2}\right )

那么最邻近分类器 G_f 就可以将 \boldsymbol{x} \in \boldsymbol{C}_l^0 \cap \boldsymbol{S}_{\varepsilon}(f) 正确分类。
其中

\begin{cases}
&k\neq l, \\
&\rho_{\ell}(\sigma, \delta, \varepsilon) = 2(1-\sigma) + \frac{R_{\varepsilon}}{p_l} + \sigma(\frac{L\delta}{r} + \frac{2\varepsilon}{r}),\\
&\Delta_{\mu}=1-\min_{k\in[K]}\|\mu_k\|^2/r^2.
\end{cases}

这条引理意味着如果特征空间中不同类别中心的相似度足够低,那么最邻近分类器就可以将核心区域与好样本集合的交正确分类。

简单组合以上两条引理,我们就可以推出如下定理:

Theorem

结论

那么,由此定理,我们可以知晓对比学习在下游任务上的性能由如下几个因素决定:
* 对齐:在特征空间中的正样本对之间的距离要接近,此性质同 R_{\varepsilon} 相关。
* 分散:在特征空间中不同类别的类中心的相似程度要低,此性质决定了 \mu_{\ell}^{\top} \mu_k
* 增广:增广操作集合能够达到的类内聚集程度与 1-\sigma 相关,越多有效的增广可以增强类内聚集程度。

前两个性质由对比学习算法决定,而第三个性质由预定义的增广操作集合决定。

如何学习这样的特征空间

坏样本率上界

此文进一步对由特征编码器决定的坏样本率 R_{\varepsilon} 进行了约束,将其与 \mathbb E_{\boldsymbol x} \mathbb E_{\boldsymbol{x}_1, \boldsymbol{x}_2 \in A(\boldsymbol{x})}\| f(\boldsymbol{x}_1) – f(\boldsymbol{x}_2) \| 建立联系,这一项是显式地被自监督学习的目标式进行优化的。

对于增广操作集合 A,我们假设所有的增广操作都是等概率随机被应用的。对于离散的增广操作 \{A_{\gamma}(\cdot ): \gamma \in [m]\} 应用概率为 \mathbb P [\boldsymbol x^{\prime}=A_{\gamma}(\boldsymbol x)] = \frac{1}{2m};对于连续的增广操作 \{ A_{\theta}(\cdot):\theta \in [0,1]^n \} 应用概率为 \mathbb P [\boldsymbol x^{\prime}=A_{\theta}(\boldsymbol x): \theta \in \Theta] = \frac{\text{vol}(\Theta)}{2m}。且连续的增广操作也具有类似 \text{L-Lipschitz} 连续的性质,即 \|A_{\theta_1}(\boldsymbol(x)) – A_{\theta_2}(\boldsymbol{x})\| \leq M \|\theta_1 – \theta_2\|

那么可以得到如下定理:

Theorem

也就是说坏样本率 R_{\varepsilon} 是被对比学习算法显示优化的目标 \mathbb E_{\boldsymbol x} \mathbb E_{\boldsymbol{x}_1, \boldsymbol{x}_2 \in A(\boldsymbol{x})}\| f(\boldsymbol{x}_1) – f(\boldsymbol{x}_2) \| 所约束住的,这也是对比学习十分有效的原因。

定理证明

关注推导引理 1 与 2 ,最终得到定理 1 的过程:

  • 通过考虑最邻近分类器能够将预期样本 (C_1^0 \cup C_2^0 \cup \ldots \cup C_k^0) \cap S_{\varepsilon} 正确分类,将错误率分为类别相关的 1-\sigma 与类别无关 R_{\varepsilon} 两部分。我觉得这也是一定程度为了推导后续对比学习能够直接优化类别无关的部分才构造的。
  • 根据最临近分类器的正确预测性质,最邻近分类器能够正确预测期望样本时所需要的条件。
  • 两个引理组合就能得到定理 1 。

引理 1

由于,已经假设 G_f 可以正确分类预期样本了,那么我们就可以将预期样本划分成为类别相关与类别无关的部分,分别计算他们的概率分布:

\begin{aligned}
\operatorname{Err}(G) &=\sum_{k=1}^{K} \mathbb{P}\left[G(\boldsymbol{x}) \neq k, \forall \boldsymbol{x} \in C_{k}\right] \\
& \leq \mathbb{P}\left[\overline{\left(C_{1}^{0} \cup \cdots \cup C_{K}^{0}\right) \cap S_{\varepsilon}(f)}\right] \\
&=\mathbb{P}\left[\overline{\left.C_{1}^{0} \cup \cdots \cup C_{K}^{0} \cup \overline{S_{\varepsilon}(f)}\right]}\right.\\
& \leq(1-\sigma)+\mathbb{P}\left[\overline{S_{\varepsilon}(f)}\right] \\
&=(1-\sigma)+R_{\varepsilon}
\end{aligned}

引理 2

根据最邻近分类器的性质, G_f 能够正确分类预期样本集合 C_i^0 \cap S_{\varepsilon},只需要证明每个样本 \boldsymbol{x}_0 \in C_i^0 \cap S_{\varepsilon} 都离自己所属的类中心 \mu_{i} 更近即可。

不失一般性的,我们仅针对类别 C_0 进行证明 \|f(\boldsymbol{x}_0) – \mu_{1}\|<\|f(\boldsymbol{x}_0) – \mu_{k}\|, k\neq 1,即:

f\left(\boldsymbol{x}_{0}\right)^{\top} \mu_{1}-f\left(\boldsymbol{x}_{0}\right)^{\top} \mu_{k}-\left(\frac{1}{2}\left\|\mu_{1}\right\|^{2}-\frac{1}{2}\left\|\mu_{k}\right\|^{2}\right)>0

定义 \tilde{f}(\boldsymbol{x})=\mathbb{E}_{\boldsymbol{x^{\prime}}\in A(\boldsymbol{x})}[f(\boldsymbol{x}^{\prime})] 为某样本所有增广样本的期望特征,对于一个好的特征编码器,此增广期望特征应当接近原样本的特征表示。

接下来,希望某样本和其对应类中心相似度下界有保证,保证引理 2 的终极目标是大于等于 0 的:

\begin{aligned}
f\left(\boldsymbol{x}_{0}\right)^{\top} \mu_{1} &=\frac{1}{p_{1}} f\left(\boldsymbol{x}_{0}\right)^{\top} \underset{\boldsymbol{x}}{\mathbb{E}}\left[\tilde{f}(\boldsymbol{x}) \mathbb{I}\left(\boldsymbol{x} \in C_{1}\right)\right] \\
&=\frac{1}{p_{1}} f\left(\boldsymbol{x}_{0}\right)^{\top} \underset{\boldsymbol{x}}{\mathbb{E}}\left[\tilde{f}(\boldsymbol{x}) \mathbb{I}\left(\boldsymbol{x} \in C_{1} \cap C_{1}^{0} \cap S_{\varepsilon}\right)\right]+\frac{1}{p_{1}} f\left(\boldsymbol{x}_{0}\right)^{\top} \underset{\boldsymbol{x}}{\mathbb{E}}\left[\tilde{f}(\boldsymbol{x}) \mathbb{I}\left(\boldsymbol{x} \in C_{1} \cap \overline{C_{1}^{0} \cap S_{\varepsilon}}\right)\right] \\
&=\frac{\mathbb{P}\left[C_{1}^{0} \cap S_{\varepsilon}\right]}{p_{1}} f\left(\boldsymbol{x}_{0}\right)^{\top} \underset{\boldsymbol{x} \in C_{1}^{0} \cap S_{\varepsilon}}{\mathbb{E}}[\tilde{f}(\boldsymbol{x})]+\frac{1}{p_{1}} \underset{\boldsymbol{x}}{\mathbb{E}}\left[f\left(\boldsymbol{x}_{0}\right)^{\top} \tilde{f}(\boldsymbol{x}) \cdot \mathbb{I}\left(\boldsymbol{x} \in C_{1} \backslash C_{1}^{0} \cap S_{\varepsilon}\right)\right] \\
& \geq \frac{\mathbb{P}\left[C_{1}^{0} \cap S_{\varepsilon}\right]}{p_{1}} f\left(\boldsymbol{x}_{0}\right)^{\top} \underset{\boldsymbol{x} \in C_{1}^{0} \cap S_{\varepsilon}}{\mathbb{E}}[\tilde{f}(\boldsymbol{x})]-\frac{r^{2}}{p_{1}} \mathbb{P}\left[C_{1} \backslash C_{1}^{0} \cap S_{\varepsilon}\right]
\end{aligned}

依旧是通过构造的好样本集合 R_{\varepsilon} 将样本分为可以容易处理的部分:即在此类别的核心区域 C_1^0 与不在此区域中 C_1 \backslash C_1^0。 对于难处理的部分直接用概率分布代替,对于容易处理的部分根据此样本及属于此类的样本与数据增广的的性质进行约束。

\begin{aligned}
f\left(\boldsymbol{x}_{0}\right)^{\top} \underset{\boldsymbol{x} \in C_{1}^{0} \cap S_{\varepsilon}}{\mathbb{E}}[\tilde{f}(\boldsymbol{x})] &=\underset{\boldsymbol{x} \in C_{1}^{0} \cap S_{\varepsilon} \boldsymbol{x}^{\prime} \in A(\boldsymbol{x})}{\mathbb{E}}\left[f\left(\boldsymbol{x}_{0}\right)^{\top} f\left(\boldsymbol{x}^{\prime}\right)\right] \\
&=\underset{\boldsymbol{x} \in C_{1}^{0} \cap S_{\varepsilon} \boldsymbol{x}^{\prime} \in A(\boldsymbol{x})}{\mathbb{E}}\left[f\left(\boldsymbol{x}_{0}\right)^{\top}\left(f\left(\boldsymbol{x}^{\prime}\right)-f\left(\boldsymbol{x}_{0}\right)+f\left(\boldsymbol{x}_{0}\right)\right)\right] \\
&=r^{2}+\underset{\boldsymbol{x} \in C_{1}^{0} \cap S_{\varepsilon} \boldsymbol{x}^{\prime} \in A(\boldsymbol{x})}{\mathbb{E}}\left[f\left(\boldsymbol{x}_{0}\right)^{\top}\left(f\left(\boldsymbol{x}^{\prime}\right)-f\left(\boldsymbol{x}_{0}\right)\right)\right] \\
&=r^{2}+\underset{\boldsymbol{x} \in C_{1}^{0} \cap S_{\varepsilon} \boldsymbol{x}^{\prime} \in A(\boldsymbol{x})}{\mathbb{E}}\left[f\left(\boldsymbol{x}_{0}\right)^{\top}(\underbrace{f\left(\boldsymbol{x}^{\prime}\right)-f\left(\boldsymbol{x}^{*}\right)}_{\|\cdot\| \leq \varepsilon}+\underbrace{f\left(\boldsymbol{x}^{*}\right)-f\left(\boldsymbol{x}_{0}^{*}\right)}_{\|\cdot\| \leq L \delta}+\underbrace{f\left(\boldsymbol{x}_{0}^{*}\right)-f\left(\boldsymbol{x}_{0}\right)}_{\|\cdot\| \leq \varepsilon})\right] \\
& \geq r^{2}-[r \varepsilon+r L \delta+r \varepsilon] \\
&=r^{2}-r(L \delta+2 \varepsilon) .
\end{aligned}

把减法项拆一拆就能拆出来,其实就是根据增广的 \delta 与特征表示函数 \text{L-Lipschitz} 连续性质和好样本的 \varepsilon 对原本的 r^2 进行进一步的约束。

在将这一项带入之前得到的公式,就可以得到期望样本与其类中心的相似度下界:

\begin{aligned}
f\left(\boldsymbol{x}_{0}\right)^{\top} \mu_{1} & \geq\left(\sigma-\frac{R_{\varepsilon}}{p_{1}}\right) f\left(\boldsymbol{x}_{0}\right)^{\top} \underset{\boldsymbol{x} \in C_{1}^{0} \cap S_{\varepsilon}}{\mathbb{E}}[\tilde{f}(\boldsymbol{x})]-r^{2}\left(1-\sigma+\frac{R_{\varepsilon}}{p_{1}}\right) \\
& \geq\left(\sigma-\frac{R_{\varepsilon}}{p_{1}}\right)\left(r^{2}-r(L \delta+2 \varepsilon)\right)-r^{2}\left(1-\sigma+\frac{R_{\varepsilon}}{p_{1}}\right) \\
&=r^{2}\left((2 \sigma-1)-\frac{R_{\varepsilon}}{p_{1}}-\left(\sigma-\frac{R_{\varepsilon}}{p_{1}}\right)\left(\frac{L \delta}{r}+\frac{2 \varepsilon}{r}\right)\right) \\
&=r^{2}\left(1-2(1-\sigma)-\frac{R_{\varepsilon}}{p_{1}}-\left(\sigma-\frac{R_{\varepsilon}}{p_{1}}\right)\left(\frac{L \delta}{r}+\frac{2 \varepsilon}{r}\right)\right) \\
&=r^{2}\left(1-\rho_{1}(\sigma, \delta, \varepsilon)\right)
\end{aligned}

对应的期望样本与非其类别中心的相似度上界,利用之前已经推出来的条件很容易就整理出来了,感觉十分巧妙:

\begin{aligned}
f\left(\boldsymbol{x}_{0}\right)^{\top} \mu_{k} &=\left(f\left(\boldsymbol{x}_{0}\right)-\mu_{1}\right)^{\top} \mu_{k}+\mu_{1}^{\top} \mu_{k} \\
& \leq\left\|f\left(\boldsymbol{x}_{0}\right)-\mu_{1}\right\| \cdot\left\|\mu_{k}\right\|+\mu_{1}^{\top} \mu_{k} \\
& \leq r \sqrt{\left\|f\left(\boldsymbol{x}_{0}\right)\right\|^{2}-2 f\left(\boldsymbol{x}_{0}\right)^{\top} \mu_{1}+\left\|\mu_{1}\right\|^{2}}+\mu_{1}^{\top} \mu_{k} \\
& \leq r \sqrt{2 r^{2}-2 f\left(\boldsymbol{x}_{0}\right)^{\top} \mu_{1}}+\mu_{1}^{\top} \mu_{k} \\
& \leq \sqrt{2 \rho_{1}(\sigma, \delta, \varepsilon)} r^{2}+\mu_{1}^{\top} \mu_{k} .
\end{aligned}

将已有的公式进行结合,就可以得到分类器 G_f 能够保证正确分类期望样本的概率,反过来将其作为条件,就可以推导出分类器一定能正确分类期望样本:

\begin{aligned}
f\left(\boldsymbol{x}_{0}\right)^{\top} \mu_{k} &=\left(f\left(\boldsymbol{x}_{0}\right)-\mu_{1}\right)^{\top} \mu_{k}+\mu_{1}^{\top} \mu_{k} \\
& \leq\left\|f\left(\boldsymbol{x}_{0}\right)-\mu_{1}\right\| \cdot\left\|\mu_{k}\right\|+\mu_{1}^{\top} \mu_{k} \\
& \leq r \sqrt{\left\|f\left(\boldsymbol{x}_{0}\right)\right\|^{2}-2 f\left(\boldsymbol{x}_{0}\right)^{\top} \mu_{1}+\left\|\mu_{1}\right\|^{2}}+\mu_{1}^{\top} \mu_{k} \\
& \leq r \sqrt{2 r^{2}-2 f\left(\boldsymbol{x}_{0}\right)^{\top} \mu_{1}}+\mu_{1}^{\top} \mu_{k} \\
& \leq \sqrt{2 \rho_{1}(\sigma, \delta, \varepsilon)} r^{2}+\mu_{1}^{\top} \mu_{k} .
\end{aligned}

其中,\Delta_{\mu} = 1 – \min_{k} \|\mu_{k}\|^2/r^2

评论

  1. 持续学习
    3周前
    2022-1-03 12:36:21

    写的很清楚,赞👍

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇