Out-of-distribution-上

  • 概述
  • 一、 量化外推泛化能力
    • 0.专业术语&核心理解(逻辑链)
    • 1.1 值得记住的3个Examples
      • 1.1.1 Spurious Correlation
      • 1.1.2 Background Bias
      • 1.1.3 Geometric Space
    • 1.2 Examples总结
    • 1.3 常规解决方法
      • 1.3.1 Robust Optimization
      • 1.3.2 Distance Measure Robustness
      • 1.3.4 Domain Adaptation
    • 1.4 方法总结&全文中心点
  • 二、OOD的主要理论
    • 2.1 如何学习一个好的Representation?
      • 2.1.1 主要论点
    • 2.2 什么样的假设可以保证representation的泛化?
      • 2.2.1 三个概念之间的等价性(联合假设)
      • 2.2.2 对训练环境Etrain\mathcal E_{train}Etrain​的结构假设
      • 2.2.3 Etrain\mathcal E_{train}Etrain​泛化到Eall\mathcal E_{all}Eall​的前提假设
  • 三、总结

概述

定位:对2021年纽约大学Martin Arjovsky的PhD论文进行提炼,是一篇阅读笔记;

参考文献:Out of Distribution Generalization in Machine Learning

  • 术语:Performance gap:在数据集训练的模型,在测试集表现的性能差异,因为在测试集会遇到out-of-distribution的data
  • OOD的两大问题
    1. 有效的数据长什么样,怎么来的? What kind of data is available?
    2. 希望模型的泛化能力适应哪些测试数据?What do we want to generalize to ?
  • OOD关注点
    1. 需要对数据做哪些假设,才能使其适应问题的结构
    2. 如何选择合适的算法进行学习,使模型的泛化能力“定向增强”?

如果数据的假设太强,就会不适应问题的结构,哪怕学习算法再好,模型的泛化性能也不强;
如果数据的假设太弱,模型泛化能力的导向性就不强,很难有什么实际的提升。
如果不对数据做任何假设,就没大意义了,想提高泛化性就不断加大训练数据的量到巨量、海量就是了,毕竟天下没有免费的午餐。

一、 量化外推泛化能力

关注方法对数据的假设,哪些假设在哪些任务是有效的,在哪些任务是无效的?

0.专业术语&核心理解(逻辑链)

符号 术语含义
X,Y\mathcal{X,Y}X,Y 样本空间/输入空间 (input space) 、标记空间/输出空间(label space)
Y^\mathcal{\hat Y}Y^​ 预测空间 (predicted label space)
ℓ:Y^×Y→R+\ell:\mathcal{\hat Y \times Y}\rightarrow \mathbb R_{+}ℓ:Y^​×Y→R+​ 损失函数(loss function)
f:X→Y^f:\mathcal{X\rightarrow \hat Y}f:X→Y^​ 假设空间/预测函数 (hypothesis/predictor)
{Pe}e∈E∈X×Y\{\mathbb P^e\}_{e\in \mathcal E}\in \mathcal{X\times Y}{Pe}e∈E​∈X×Y 在input space与label space联合空间上,受环境e∈Ee\in \mathcal Ee∈E控制的概率分布
(Xe,Ye)∼Pe(\mathcal{X^e,Y^e})\sim \mathbb P^e(Xe,Ye)∼Pe 在具体环境eee下,样本与label服从概率分布Pe\mathbb P^ePe
Re(f):=E(Xe,Ye)∼Pe[ℓ(f(Xe,Ye)]]R^e(f):=\mathbb E_{(X^e,Y^e)\sim \mathbb P^e}[\ell(f(X^e,Y^e)]]Re(f):=E(Xe,Ye)∼Pe​[ℓ(f(Xe,Ye)]] 衡量环境eee下假设或预测器fff的经验风险
Φ:X→H^\Phi:\mathcal {X\rightarrow \hat H}Φ:X→H^ 特征提取器(featurizer),Φ\PhiΦ将样本空间映射到特征空间
w:H^→Yw:\mathcal{\hat H\rightarrow Y}w:H^→Y 分类器(classifier),www将特征空间分类到标记空间

基础概念的理解特别重要。采用业务流程加深理解记忆:

  1. 有一个分类任务的场景需求,首先抽象出其input space X\mathcal XX和 output space Y\mathcal YY
  2. 在具体环境eee下(比如特定时间点,特定人群等),观察得到受环境eee制约的数据集XeX^eXe,人为标记得到YeY^eYe
  3. 由Keep it Simple的原则,决定采用一个End-To-End的预测器predictor f:X→Y^f:\mathcal{X\rightarrow \hat Y}f:X→Y^​
  4. 根据业务理解,选择损失函数ℓ:Y^×Y→R+\ell:\mathcal{\hat Y \times Y}\rightarrow \mathbb R_{+}ℓ:Y^​×Y→R+​,fff的predictor结构与算法
  5. 最小化经验风险Re(f):=E(Xe,Ye)∼Pe[ℓ(f(Xe,Ye)]]R^e(f):=\mathbb E_{(X^e,Y^e)\sim \mathbb P^e}[\ell(f(X^e,Y^e)]]Re(f):=E(Xe,Ye)∼Pe​[ℓ(f(Xe,Ye)]],发现fff的初始效果还不错
  6. 于是决定,不断改进其损失函数ℓ\ellℓ,尝试不同的结构与算法来得到fff,提升了不少性能
  7. 进入了业务瓶颈,发现一些异常状态怎样都无法解决,抛弃简单原则,进行“定向泛化”
  8. 根据业务需求,魔改特征或网络学习特征,制定一个较为通用的特征提取器Φ:X→H^\Phi:\mathcal {X\rightarrow \hat H}Φ:X→H^,将样本映射到特征空间
  9. 对异常状态归类,采用不同的分类器对特征进行分类w:H^→Yw:\mathcal{\hat H\rightarrow Y}w:H^→Y
  10. 从而使得该系统对业务更为鲁棒,不断收集更多样的样本Xe′,e′∈EX^{e'},e'\in \mathcal EXe′,e′∈E ,继续标记Ye′Y^{e'}Ye′迭代

XXX与YYY之间的相关性(correlation),既有linear dependence又有non-linear dependence
重点来了:
因此,我们假设数据来源于一个受限分布Pe\mathbb P^ePe,受限分布来源于一个meta-distribution e∼Ee\sim \mathcal Ee∼E。
而我们训练的数据,可能来自多个Pe\mathbb P^ePe,这多个eee的集合记为Etrain\mathcal E_{train}Etrain​;而部署上线的系统或分类器www,面对的数据是大概率来自于所有环境eee产生的,记为Eall\mathcal E_{all}Eall​; 因此,得从Etrain\mathcal E_{train}Etrain​得到的数据中,尽量寻找到尽可能多的invariance,并能外推到Eall\mathcal E_{all}Eall​上,即泛化能力。

通篇有两个关键问题得铭记在心:
问题一:如何从Etrain\mathcal E_{train}Etrain​从抽出invariance?(IRM–>IRMv1–>Representation function)
问题二:什么样的假设与理论可以保证invariance可以generalize到Eall\mathcal E_{all}Eall​?

1.1 值得记住的3个Examples

这四个例子,主要目的是帮助理解X与Y之间的correlation究竟是什么?会遇到什么问题?

1.1.1 Spurious Correlation

问题模式X1→Y→X2X_1\rightarrow Y\rightarrow X_2X1​→Y→X2​
比如Xe=(X1e,X2e)X^e=(X_1^e,X_2^e)Xe=(X1e​,X2e​)代表eee地理区域的住房需求、人口素质水平的两维特征,而YeY^eYe代表房价。如果数据的生成过程如下:X1→Y→X2X_1\rightarrow Y\rightarrow X_2X1​→Y→X2​
X1e←Gaussian⁡(0,1)Ye←X1e+Gaussian⁡(0,1)X2e←β(e)Ye+Gaussian⁡(0,1)\begin{array}{l} X_{1}^{e} \leftarrow \operatorname{Gaussian}(0,1) \\ Y^{e} \leftarrow X_{1}^{e}+\operatorname{Gaussian}(0,1) \\ X_{2}^{e} \leftarrow \beta(e) Y^{e}+\operatorname{Gaussian}(0,1) \end{array} X1e​←Gaussian(0,1)Ye←X1e​+Gaussian(0,1)X2e​←β(e)Ye+Gaussian(0,1)​

住房需求X1X_1X1​通常决定房价YYY,而房价高低YYY又在某种程度上影响着人口素质水平X2X_2X2​,不同区域eee的影响程度由β(e)\beta(e)β(e)控制。所以在北上广深这些一线城市eee,β(e)\beta(e)β(e)可能是正的,房价越高意味着人口素质水平越高;在三四线城市这些e′,β(e′)e',\beta(e')e′,β(e′)可能是负的,房价越高意味着人口素质水平越低;

通常来说,做这个任务,一般采用Empirical Risk Minimization来处理观察到的数据集X,YX,YX,Y,ERM核心假设:训练样本点是i.i.d且我们对问题的meta-distribution一无所知。但如果数据集都来自于北上广深Etrain\mathcal E_{train}Etrain​,采用ERM学习一个预测器fff,你觉得它们可以“泛化”到三四线城市Eall\mathcal E_{all}Eall​吗?

为什么?因为我们只看到数据,看不到数据生成过程,还做了一个“极其省力”的ERM假设。所以,为了提高其“外推”能力,必须得从数据中学习meta-distribution的结构,以及更换ERM这个核心假设。

术语一点:真实的关系是Y^=f(X)=α1X1\hat Y =f(X)=\alpha_1X_1Y^=f(X)=α1​X1​ ,省力用ERM假设,学习到的fff一般是Y^=f(X)=α1X1+α2X2\hat Y=f(X) = \alpha_1X_1 + \alpha_2X_2Y^=f(X)=α1​X1​+α2​X2​,因此这个例子的关注点是Spurious Correlation,这里的ERM假设太强,假设了训练与测试环境来自同一个distribution,而meta-distribution结构上由一个自由变量β(e)\beta(e)β(e)控制。

1.1.2 Background Bias

问题模式: (X1,X2)→Y(X_1,X_2)\rightarrow Y(X1​,X2​)→Y

简要描述一下:从一个数据集的图片中识别牛(cow)的任务,这数据集主要从两个环境收集,比如英国和印度,比例分别为80%和20%。然后丢进一个深度网络一把梭哈,训练准确率99%,测试准确率95%,发现还不错。部署上线,测试准确率惨不忍睹,因为英国的牛大部分在草原(grass)上,印度的牛大部分在沙漠(dessert)上,所以网络学会的是分辨草原和沙漠,而不是牛(cow)本身。(X1X_1X1​指图像中的context,X2X_2X2​指图像中的landscapes)

这个问题关注点是Background Bias,样本XXX是一张图片,维度是pixels,而控制环境eee的是某些离散Meta-feature(浅层的feature比如草原和沙漠的Background bias,还可以是天空与房屋,深层的feature比如是地理位置,毕竟不同区域的景观不同),人为根本没法仔细区分。

术语一点:cv任务中,input space抽象为landscapes (也可以说styles) 和 contexts,label space抽象为problem of interest (识别牛最关键的假设为轮廓shapes)。但因为各种styles的比例不均,仅仅通过ERM假设,最大似然学习准则,Cross-Entropy的loss是很难分清图像中哪些是对应problem of interest的contexts,哪些是干扰相关的因素。这个关于环境的Meta-distribution(E\mathcal EE)结构可能非常复杂,meta-feature可能是不同地理区域、不同风俗习惯等信息聚合体,但我们却只关心cow shapes,太难了= =。

1.1.3 Geometric Space

这个问题的模式是X→YX\rightarrow YX→Y,特别之处是Eall\mathcal E_{all}Eall​在Etrain\mathcal E_{train}Etrain​的邻域。
这个Examples对应的是对抗样本鲁棒性的任务:
对于在Etrain\mathcal E_{train}Etrain​训练好的f:X→Yf:X\rightarrow Yf:X→Y,从Etrain\mathcal E_{train}Etrain​中取一个XXX,基于某种微小的扰动TTT,使得对抗样本T(x)T(x)T(x)能骗过fff。因此,可理解成,对抗攻击的过程就是在Ptrain\mathbb P^{train}Ptrain附近测试的过程,即Eall\mathcal E_{all}Eall​。

这个问题关注点是Geometric Space,即测试的空间是和训练环境组成的空间是邻近的。但仍然用传统的ERM核心假设,即训练环境与测试环境独立同分布的话,这样就没有利用上这个Geometric Space的信息了。

1.2 Examples总结

  • Example 1的问题模式X1→Y→X2X_1\rightarrow Y\rightarrow X_2X1​→Y→X2​,有因果效应的意味,对于Y而言cause是X1X_1X1​,effect是X2X_2X2​(如何区分cause和effect?)
  • Example 2的问题模式: (X1,X2)→Y(X_1,X_2)\rightarrow Y(X1​,X2​)→Y,有相关性的意味,对于Y而言,X1X_1X1​是problem dominant cause,X2X_2X2​是correlated cause (如何从这么多cause中选出dominant?)
  • Example 3的问题模式:X→Y,∣Etrain−Eall∣≤ϵX\rightarrow Y, |\mathcal E_{train}-\mathcal E_{all}|\leq\epsilonX→Y,∣Etrain​−Eall​∣≤ϵ,问题多了一个可利用的邻域几何结构(如何简化利用这个几何假设?)

为什么会出现这些Examples???因为我们为了省力呀,直接最小化经验风险损失ERM,当训练样本和测试样本真的是来自一个环境的独立同分布可还行,但如果不是i.i.d,而是多个环境的样本那就不行,所以才出现这些问题!为了鲁棒性,为了泛化性,我们不能再偷懒了。

1.3 常规解决方法

上面对三个问题模式泛泛而谈,下面就开始公式化,严肃点了。(fff还记得是predictor吧)
Ideal Goal :RERM(f)=∑e∈EtrainRe(f)OOD Goal :ROOD(f)=max⁡e∈EallRe(f)\begin{aligned} \text{Ideal Goal :}&\quad \mathcal R^{ERM}(f)=\sum_{e\in\mathcal E_{train}}R^e(f)\\ \text{OOD Goal :}&\quad \mathcal R^{OOD}(f) = \max_{e\in \mathcal E_{all}}R^e(f) \end{aligned}Ideal Goal :OOD Goal :​RERM(f)=e∈Etrain​∑​Re(f)ROOD(f)=e∈Eall​max​Re(f)​

Ideal Goal是我们最常用的核心假设,对训练集中包含的“环境“通通一视同仁,这样容易造成样本多的环境过拟合,样本少的环境欠拟合,训练准确率很高,但泛化性表现一般。

OOD Goal是外推问题最理想的目标,对所有环境中性能最差Re(f)R^e(f)Re(f)的进行优化,从而泛化性得以保证。(可惜,实际计算都是算不了的,环境e的分布都不知道,鬼知道哪个环境最差呀。)下面列举一些OOD理想目标的常见折中、妥协的优化方法

1.3.1 Robust Optimization

Goal :ROOD(f)=max⁡e∈EallRe(f)Method :Rrob(f)=max⁡e∈EtrainRe(f)−rewhere re=V[Ye]Equiv :Rrob(f)=∑e∈EtrainλeRe(f)\begin{aligned} \text{Goal :}&\quad \mathcal R^{OOD}(f) = \max_{e\in \mathcal E_{all}}R^e(f)\\ \text{Method :}&\quad\mathcal R^{rob}(f) = \max_{e\in \mathcal E_{train}} R^e(f)-r_e\quad\text{where } r_e=\mathcal V[Y^e]\\ \text{Equiv :}&\quad\mathcal R^{rob}(f) = \sum_{e\in \mathcal E_{train}}\lambda_eR^e(f) \end{aligned}Goal :Method :Equiv :​ROOD(f)=e∈Eall​max​Re(f)Rrob(f)=e∈Etrain​max​Re(f)−re​where re​=V[Ye]Rrob(f)=e∈Etrain​∑​λe​Re(f)​

Robust Optimization Method 的妥协点:

  1. 既然不知道e∈Ealle\in \mathcal E_{all}e∈Eall​,那就e∈Etraine\in \mathcal E_{train}e∈Etrain​吧
  2. e∈Etraine\in \mathcal E_{train}e∈Etrain​这玩意有问题,就加一些基于环境eee的补偿吧
  3. 然后假设选择 rer_ere​是YeY^eYe的方差,即最大化predictor fff 表现最差环境的方差。(因为fff在这个e上表现最差,说明没学到什么,所以要加大它的方差,希望它学到点什么)

然后可以说:在训练的时候引入了robustness(re)(r_e)(re​),但并不保证测试的时候有robustness;

理论证明,在一定条件下,这种robust optimization method相当于是对环境加权平均的经验最小化,即:

∑e∈EtrainλeRe(f)≈max⁡e∈EtrainRe(f)−re\sum_{e\in \mathcal E_{train}}\lambda_e\mathcal R^e(f)\approx \max_{e\in \mathcal E_{train}} R^e(f)-r_ee∈Etrain​∑​λe​Re(f)≈e∈Etrain​max​Re(f)−re​

这相当于说,希望predictor fff对不同训练环境eee给予不同的注意力关注。(日常吐槽,前提条件,你得知道具体环境究竟是啥才行呀)
这能解决Example2的问题(因为注意力机制,所以相关性可以被衡量),然而这没办法发现Example1中的Spurious Correlation 即分不清 cause & effect(因为训练集中的β(e)>0\beta(e)>0β(e)>0,无法泛化到β(e)<0\beta(e)<0β(e)<0的测试环境)

1.3.2 Distance Measure Robustness

这里的Distance Measure主要指Wasserstein Distance和f-divergence

Etrain={Ptrain},Eall={P:Df(Ptrain,P)≤ϵor W(Ptrain,Ptest)≤ϵ}\mathcal E_{train}=\{P^{train}\}, \mathcal E_{all}=\{P:D_f(P^{train},P)\le \epsilon \text{ or } W(P^{train},P^{test})\le \epsilon\}Etrain​={Ptrain},Eall​={P:Df​(Ptrain,P)≤ϵ or W(Ptrain,Ptest)≤ϵ}

这个解决方法,主要为Example3的adversarial samples量身定制,利用了训练与测试分布之间的结构Geometric Space核心假设:因为∣∣T(x)−x∣∣≤ϵ||T(x)-x||\le \epsilon∣∣T(x)−x∣∣≤ϵ,所以W(Ptrain,Ptest)≤ϵW(P^{train},P^{test})\le \epsilonW(Ptrain,Ptest)≤ϵ。

直观地说,是因为adversarial examples来源的测试集环境,与训练集比较相似,是在训练集上的样本进行微小的扰动T(x)T(x)T(x)进行攻击的,所以符合训练集环境与测试集环境在基于Distance Measure的几何空间上被约束在某个范围内了。

这样的假设能解决 Example 2.3,但仍然无法解决Example2.1和Example2.2(Example1要区分cause&effect很显然不行,仔细思考一下那为什么Example2.2不行?)

1.3.4 Domain Adaptation

简要回顾Domain Adaptation:在源环境etraine_{train}etrain​收集的Data有label,但另一个环境eteste_{test}etest​的Data没有label,想学习一个classfier能在eteste_{test}etest​上分类(记住目的)。

  • 第一步:先学习一个representation,将两个环境的data映射到特征空间,使它们的概率分布差不多,即:
    在一个feature representation下Φ:X→H^\Phi:X\rightarrow \hat{\mathcal H}Φ:X→H^,有:
    Petrain(Φ(Xetrain))=Petest(Φ(Xetest))P^{e_{train}}(\Phi(X^{e_{{train}}}))=P^{e_{test}}(\Phi(X^{e_{test}}))Petrain​(Φ(Xetrain​))=Petest​(Φ(Xetest​))
  • 第二步:然后学习一个分类器w:H^→Y^w:\hat{\mathcal H}\rightarrow \hat{\mathcal Y}w:H^→Y^​对 etraine_{train}etrain​进行分类( 因为etraine_{train}etrain​有label )

Domain Adaptation的关键点是,学习到了对两个环境鲁棒的特征表示,只要对其中一个分好类,那另一个自然也就能分类了。

先下个结论:这能很好地解决Example1,但无法解决Examples2。

为什么能区分 cause & effect ?回顾一下Example1

X1e←Gaussian⁡(0,1)Ye←X1e+Gaussian⁡(0,1)X2e←β(e)Ye+Gaussian⁡(0,1)\begin{array}{l} X_{1}^{e} \leftarrow \operatorname{Gaussian}(0,1) \\ Y^{e} \leftarrow X_{1}^{e}+\operatorname{Gaussian}(0,1) \\ X_{2}^{e} \leftarrow \beta(e) Y^{e}+\operatorname{Gaussian}(0,1) \end{array} X1e​←Gaussian(0,1)Ye←X1e​+Gaussian(0,1)X2e​←β(e)Ye+Gaussian(0,1)​

对于两个环境有:

Xetrain=(X1etrain,X2etrain=β(etrain)X1etrain+β(etrain))X^{e_{train}}=\left(X_1^{e_{train}},X^{e_{train}}_2=\beta(e_{train})X_1^{e_{train}}+\beta(e_{train})\right)Xetrain​=(X1etrain​​,X2etrain​​=β(etrain​)X1etrain​​+β(etrain​))

Xetest=(X1etest,X2etest=β(etest)X1etest+β(etest))X^{e_{test}}=\left(X_1^{e_{test}},X^{e_{test}}_2=\beta(e_{test})X_1^{e_{test}}+\beta(e_{test})\right)Xetest​=(X1etest​​,X2etest​​=β(etest​)X1etest​​+β(etest​))

Representation (Φ\PhiΦ)需要满足第一步的条件即Petrain(Φ(Xetrain))=Petest(Φ(Xetest))P^{e_{train}}(\Phi(X^{e_{{train}}}))=P^{e_{test}}(\Phi(X^{e_{test}}))Petrain​(Φ(Xetrain​))=Petest​(Φ(Xetest​))

为了维持Φ(Xetrain)与Φ(Xetest)\Phi(X^{e_{train}})与\Phi(X^{e_{test}})Φ(Xetrain​)与Φ(Xetest​)在特征空间的不变性(invariance),Φ\PhiΦ会丢弃掉因为β(etrain),β(etest)\beta(e_{train}),\beta(e_{test})β(etrain​),β(etest​)而变动的X2X_2X2​,因此就捕捉到了环境的不变性特征X1∼Gaussian(0,1)X_1\sim \text{Gaussian}(0,1)X1​∼Gaussian(0,1)。

但对于Example2的问题模式(X1,X2)→Y(X_1,X_2)\rightarrow Y(X1​,X2​)→Y,衡量的是相关性,即X1,X2X_1,X_2X1​,X2​谁的cause效应是dominant的,这时Domain Adaptation就不适用了,因为它捕捉的是哪些特征是不变的,而不是衡量哪些特征是dominant的。

更悲剧的是,只要稍微改动一下Example1,Domain Adaptation就fail了,就不能找到问题模式X1→Y→X2X_1\rightarrow Y\rightarrow X_2X1​→Y→X2​的cause&effect了,如下:

X1←Gaussian⁡(μ(e),1)Y←X1+Gaussian⁡(0,1)X2←β(e)Y+Gaussian⁡(0,1)\begin{aligned} X_{1} & \leftarrow \operatorname{Gaussian}(\mu(e), 1) \\ Y & \leftarrow X_{1}+\operatorname{Gaussian}(0,1) \\ X_{2} & \leftarrow \beta(e) Y+\operatorname{Gaussian}(0,1) \end{aligned} X1​YX2​​←Gaussian(μ(e),1)←X1​+Gaussian(0,1)←β(e)Y+Gaussian(0,1)​

给X1X_1X1​也加个因环境而变动的量μ(e)\mu(e)μ(e),Domain Adaptation fails.

1.4 方法总结&全文中心点

In particular, we will see that in many cases we can obtain out of distribution generalization by looking for features whose correlation is invariant with the label across just a few training environments

OOD最理想的优化目标:
ROOD(f)=max⁡e∈EallRe(f)\mathcal R^{OOD}(f) = \max_{e\in \mathcal E_{all}}R^e(f)ROOD(f)=e∈Eall​max​Re(f)

  • Robust Optimization : 本质上是对不同环境加权平均,对来自更难环境的样本给予更多注意力,因此能衡量相关性,解决Example2
  • Distance Measure Matching:本质上是对训练环境与测试环境几何结构的利用,提高某种度量下邻近测试空间的鲁棒性,解决Example3
  • Domain Adaptation: 本质上是从不同环境中提取不变性表示,从而filter out effect,保留下cause,能解决简单版的Example1

那如何解决Example4?
X1←Gaussian⁡(μ(e),1)Y←X1+Gaussian⁡(0,1)X2←β(e)Y+Gaussian⁡(0,1)\begin{aligned} X_{1} & \leftarrow \operatorname{Gaussian}(\mu(e), 1) \\ Y & \leftarrow X_{1}+\operatorname{Gaussian}(0,1) \\ X_{2} & \leftarrow \beta(e) Y+\operatorname{Gaussian}(0,1) \end{aligned} X1​YX2​​←Gaussian(μ(e),1)←X1​+Gaussian(0,1)←β(e)Y+Gaussian(0,1)​

本博士论文最关键的点来了:只需要Pe(Ye∣He^)P^e(Y^e|\hat{H^e})Pe(Ye∣He^)在不同训练环境下保持不变

二、OOD的主要理论

简要背景介绍:

  • Casuality : 预测对象YYY,对Y所在的图结构(X,Y)(X,Y)(X,Y)不断干预,找到Y所有cause组成的graph即因果图Parent(Y)\text{Parent}(Y)Parent(Y) ( Invariance under intervention )
  • Statistical Invariance : 在寻找Y的cause时,需要衡量分布差异的时候就得用到一些不变的统计特征进行比较。(Some statistical patterns are preserved across a series of distributions)
  • Out-of-distribution generalization:数据量越多,多样性越丰富,就越能找到对label robust的invariance,然后希望能挖掘Etrain\mathcal E_{train}Etrain​与Eall\mathcal E_{all}Eall​的问题结构(cause&effect, correlation, geometry),使得从Etrain\mathcal E_{train}Etrain​中提取的关于label invariance能更少耗损地通过”问题结构““定向泛化”到Eall\mathcal E_{all}Eall​,或者说信息流动的更有效。

所以Casuality/Invariance/OOD之间的相互联系,都是围绕着这个问题“which statistical patterns are preserved across environments”

重要!:

第一个关键问题:如何从Etrain\mathcal E_{train}Etrain​从抽出invariance?(IRM–>IRMv1–>Representation function)
第二个关键问题:什么样的假设与理论可以保证Etrain\mathcal E_{train}Etrain​的invariance可以generalize到Eall\mathcal E_{all}Eall​?

论文的核心理论一:(针对第一个关键问题)
如果representation Φ\PhiΦ满足:

  • 条件一:Approximate invariant prediction:
    D(Pe(Ye∣Φ(Xe)=h^),Pe′(Ye′∣Φ(Xe′)=h^))≤δINVD\left(\mathbb{P}^{e}\left(Y^{e} \mid \Phi\left(X^{e}\right)=\hat{h}\right), \mathbb{P}^{e^{\prime}}\left(Y^{e^{\prime}} \mid \Phi\left(X^{e^{\prime}}\right)=\hat{h}\right)\right) \leq \delta_{I N V} D(Pe(Ye∣Φ(Xe)=h^),Pe′(Ye′∣Φ(Xe′)=h^))≤δINV​
    其中DDD为Total variation distance(TVD)。条件一意思是,这个Φ\PhiΦ可以让不同环境的样本Xe,Xe′X^e,X^{e'}Xe,Xe′所投射的特征空间Φ(Xe),Φ(Xe′)\Phi(X^e),\Phi(X^{e'})Φ(Xe),Φ(Xe′)对label的分布,在距离度量TVD下,是approximate invariant的,invariance被限制在δINV\delta_{I N V}δINV​的范围内。

  • 条件二:Low training error:
    EY∼Ptrain(Y∣Φ(X)=h^)[ℓ(w(h^),Y)]≤δERR∀h^∈H^\mathbb{E}_{Y \sim \mathbb{P}^{t r a i n}(Y \mid \Phi(X)=\hat{h})}[\ell(w(\hat{h}), Y)] \leq \delta_{E R R}\quad\forall \hat h \in \hat{\mathcal H} EY∼Ptrain(Y∣Φ(X)=h^)​[ℓ(w(h^),Y)]≤δERR​∀h^∈H^
    条件二意思是,在某个fixed分类器www下,Φ\PhiΦ使Etrain\mathcal E_{train}Etrain​的经验风险小于某个范围(能比较好地分类训练集的样本)

于是就有generalization的保证:

E(X,Y)∼Ptest [ℓ(w(Φ(X)),Y)]≤δERR+CδINV\mathbb{E}_{(X, Y) \sim \mathbb{P}^{\text {test }}}[\ell(w(\Phi(X)), Y)] \leq \delta_{E R R}+C \delta_{I N V} E(X,Y)∼Ptest ​[ℓ(w(Φ(X)),Y)]≤δERR​+CδINV​

论文的核心理论二:(针对第二个关键问题)

  1. 首先得假定:Eall\mathcal E_{all}Eall​存在这样的invariance
  2. 其次,Etrain\mathcal E_{train}Etrain​得有sufficient coverage,这样提取得到的invariance才能cover到Eall\mathcal E_{all}Eall​上的invariance

可能有人问,啊?这是啥理论?这只是一种最高度的理论抽象,具体理论细节看原文。

通俗解释一下这两个前提:
如果Eall\mathcal E_{all}Eall​本身就没有invariance,那这个问题就无解了。只能进行实例分析,没法general;
假设Eall\mathcal E_{all}Eall​有invariance的话,那关键问题就是Etrain\mathcal E_{train}Etrain​中提取到的invariance究竟能覆盖到多少?
比如数据生成过程本质由两个不变量α(e),β(e)\alpha(e),\beta(e)α(e),β(e)控制,但训练集中收集到数据只能提取到一个不变量β(e)\beta(e)β(e)。因此这就要求数据集有diverse environments,至少得都包含到这两个不变量吧,不然肯定没法更好地generalize。(强调diversity,“勉强理解”成invariance的维度)
其次,是样本复杂度的问题,为了提取到不变量β(e)\beta(e)β(e),需要的数据样本量有多少?假设满足diverse environments为e1,e2,...,ene_1,e_2,...,e_ne1​,e2​,...,en​,那每一个环境需要多少的样本才能较为准确地cover到真实β(e)\beta(e)β(e)的分布呢?(强调每个环境的样本复杂度)

但现实是,只有一个unknown environment set产生的dataset。

  • 一不知道具体生成数据的环境e1,e2...,ene_1,e_2...,e_ne1​,e2​...,en​具体是啥 (β(e)\beta(e)β(e)的取值范围覆盖到了嘛?)
  • 二不知道invariance具体是啥(维度自然靠猜)
  • 三似乎也很难衡量怎样的数据分布才能满足diversity,每个diversity维度需要多少的样本复杂度才能准确捕捉到invariance的维度
  • 四怎么量化?量化后能计算吗?

所以这些被浓缩成只要Etrain\mathcal E_{train}Etrain​有sufficient coverage,就能恢复不错的泛化性能。因此,需要做不同的假设。您说的假设具体是指什么?

  1. 对训练环境与测试环境所在空间的结构假设(使得invariance通过这个结构更容易从Etrain→Eall\mathcal E_{train}\rightarrow \mathcal E_{all}Etrain​→Eall​进行泛化)联合假设
  2. 假设训练环境invariance的结构,使得我们更能容易捕捉invariance (这假设的结构捕捉的invariance是否有利于泛化,不清楚)训练假设
  3. 假设测试环境invariance的结构,使得泛化过去的空间是“定向的”(限制泛化的invariance空间)测试假设

下面就是提出的具体做法:

  1. 针对第一个问题,给出了Invariant Risk Minimization(IRM)的算法,来提取invariance,并给出了能捕捉到linear invariance的理论保证。并且评估了一下该方法捕捉Non-linear invariance的实验效果。(linear 与 non-linear就是invariance的结构呀)
  2. 针对第二个问题, 具体分析了什么样的假设,需要多少"diverse environments",能让invariance从Etrain→Eall\mathcal E_{train}\rightarrow \mathcal E_{all}Etrain​→Eall​,给出了一堆假设下的定理(重在理解,推导看原文)。

2.1 如何学习一个好的Representation?

2.1.1 主要论点

直观的想法:这个representation在Etrain\mathcal E_{train}Etrain​中不仅有invariance而且预测好;
公式化该想法的目标IRM(Invariant Risk Minimization):

min⁡Φ:X→H^w:H^→Y∑e∈Etrain Re(w∘Φ)subject to w∈arg⁡min⁡wˉ:H^→Y^Re(wˉ∘Φ)∀e∈Etrain \begin{aligned} &\min _{\Phi: \mathcal{X} \rightarrow \hat{\mathcal{H}} \atop w: \mathcal{\hat{H}} \rightarrow \mathcal{Y}} \sum_{e \in \mathcal{E}_{\text {train }}} R^{e}(w \circ \Phi)\\ &\text { subject to } \quad w \in \underset{\bar{w}: \hat{\mathcal{H}} \rightarrow \hat{\mathcal{Y}}}{\arg \min } R^{e}(\bar{w} \circ \Phi)\quad\forall e \in \mathcal{E}_{\text {train }} \end{aligned} ​w:H^→YΦ:X→H^​min​e∈Etrain ​∑​Re(w∘Φ) subject to w∈wˉ:H^→Y^​argmin​Re(wˉ∘Φ)∀e∈Etrain ​​

解释:对于每一个具体的任务环境eee,学习得到的representation使得经验风险损失的总和最小,其中分类器www是在当前representation(Φ\PhiΦ)中使得具体任务经验风险Re(wˉ∘Φ)R^e(\bar w \circ \Phi)Re(wˉ∘Φ)最小的那个。每评估一个representation,就需要在∣Etrain∣=N|\mathcal E_{train}|=N∣Etrain​∣=N个环境上解一个min问题得到分类器w1,w2,...,wNw_1,w_2,...,w_Nw1​,w2​,...,wN​,然后在representation space中找到使总体经验风险损失之和∑e∈Etrain Re(w∘Φ)\sum_{e \in \mathcal{E}_{\text {train }}} R^{e}(w \circ \Phi)∑e∈Etrain ​​Re(w∘Φ)最小的那个representation。(每次评估都需要解多个min分类器,满足约束,计算复杂度高,需要优化)

所以很自然的优化想法:假设线性结构的分类器(因为线性有解析式好求解),对www分类效果不好的环境eee提供补偿以正确评估representation的总体效果。

公式化该优化的目标IRMv1:
min⁡Φ:X→Y^∑e∈Etrain Re(Φ)+λ⋅∥∇w∣w=1.0Re(w⋅Φ)∥2\min _{\Phi: \mathcal{X} \rightarrow \hat{\mathcal{Y}}} \sum_{e \in \mathcal{E}_{\text {train }}} R^{e}(\Phi)+\lambda \cdot\left\|\nabla_{w \mid w=1.0} R^{e}(w \cdot \Phi)\right\|^{2} Φ:X→Y^​min​e∈Etrain ​∑​Re(Φ)+λ⋅∥∥​∇w∣w=1.0​Re(w⋅Φ)∥∥​2

解释:目的是得到一个representation function(Φ\PhiΦ),在固定住分类器w=1.0w=1.0w=1.0的情况下,根据对环境的分类效果进行补偿,用λ\lambdaλ进行控制.(言简意赅:软化了IRM对分类器www的硬约束,以补偿的方式进行软约束限制)

但这个软约束后的优化目标只适合去捕捉linear invariance。因此有一些没解决的理论问题:

  1. What are the benefits of enforcing non-linear invariances w belonging to larger hypothesis classes W?
  2. How can we construct invariance penalties D for non-linear invariances?

2.2 什么样的假设可以保证representation的泛化?

主要罗列个人认为主要的定理,并进行理解,具体证明见原文。

2.2.1 三个概念之间的等价性(联合假设)

定理A.1 : Causality, invariance, and out of distribution generalization are equivalent when data satisfies a causal graph

因果性Causality是基于statistical invariance,来分清cause和effect,人为构建或数据学习得到一个Causal Graph,同时Causal Graph充当了Etrain\mathcal E_{train}Etrain​和Eall\mathcal E_{all}Eall​之间shared invariance的结构使其能解决Out-of-distribution generalization的问题。
如果数据没有Causal Graph的话,我认为它们是一种包含的关系Causality < Invariance < Out-of-distribution generalization.

  • Causality的关注点更多的是训练数据中的Etrain\mathcal E_{train}Etrain​;
  • Invariance关注的是Etrain\mathcal E_{train}Etrain​的invariance能cover到多少Eall\mathcal E_{all}Eall​的invariance;
  • Out-of-distribution generalization可以说是无解的,如果Eall\mathcal E_{all}Eall​的invariance就是没有Etrain\mathcal E_{train}Etrain​中的invariance的话,就没法解这个问题了

2.2.2 对训练环境Etrain\mathcal E_{train}Etrain​的结构假设

重点来说ce(Φ)c^e(\Phi)ce(Φ)的第一项是最优的线性分类器,第二项是某个fixed的分类器,整个表达在当前fixed分类器www来说,每个representation function离最优线性分类器w∗w^*w∗的差距。

理解定理的含义:
现在有∣Etrain∣|\mathcal E_{train}|∣Etrain​∣个环境,每个环境eee产生维度为ddd的样本XeX^eXe,有一些representation function Φ\PhiΦ将样本映射到维度为ppp的特征空间,且它们的雅可比矩阵满秩∇xΦ(x)\nabla_x\Phi(x)∇x​Φ(x)意味着这个映射Φ\PhiΦ不会损失invariance的信息,这些可行的Φ\PhiΦ可能有挺多的,隶属于一个qqq维的泛函空间F\mathcal FF(逻辑链条:e→Xe→Φ∈F→h∈He\rightarrow X^e\rightarrow \Phi\in \mathcal F\rightarrow h\in \mathcal He→Xe→Φ∈F→h∈H,即环境产生样本,经过表征映射,到达特征空间)
而ce(Φ)c^e(\Phi)ce(Φ)则是对于一个特定环境eee而言,representation function family(泛函)到ppp维特征空间的映射,用来评估representation function(Φ)(\Phi)(Φ)的好坏。(一个环境,这些Φ\PhiΦ的整体评估,用一个特征向量表示)
F(Φ)F(\Phi)F(Φ)是在∣Etrain∣|\mathcal E_{train}|∣Etrain​∣个环境下,对representation function family(Φ)∈F(\Phi)\in \mathcal F(Φ)∈F到特征空间的评估, 它们的雅可比矩阵∇ΦF(Φ)\nabla_\Phi F(\Phi)∇Φ​F(Φ)满秩表明,这个对representation family到特征空间的评估映射不损失invariance的信息。
最后就定义,Etrain\mathcal E_{train}Etrain​的训练环境结构为nonlinear general position,它对样本到特征空间的映射转换不损失invariance信息,它对representation function family在特征空间的整体评估映射F(Φ)F(\Phi)F(Φ)也不损失invariance信息。

2.2.3 Etrain\mathcal E_{train}Etrain​泛化到Eall\mathcal E_{all}Eall​的前提假设

![2

如果存在满足invariance即E[Ye∣Φ∗(Xe)=h^]=w∗Th^,∀e∈Eall\mathbb E[Y^e|\Phi^*(X^e)=\hat h]=w_*^T\hat h,\forall e\in \mathcal E_{all}E[Ye∣Φ∗(Xe)=h^]=w∗T​h^,∀e∈Eall​的representation function Φ∗\Phi^*Φ∗和分类器w∗Tw_*^Tw∗T​(解的存在性假设),当训练环境是nonlinear general position的结构(训练结构假设)、分类器www是linear的结构(线性分类器假设)、训练环境个数满足∣Etrain>qp∣|\mathcal E_{train}>\frac{q}{p}|∣Etrain​>pq​∣(训练环境个数的sufficient coverage),Representation function Φ\PhiΦ在Etrain\mathcal E_{train}Etrain​上对某个分类器www不变时(说明提取到特征是合格的),那么就找到了在Eall\mathcal E_{all}Eall​上也能维持invariance的表征提取器Φ∗\Phi^*Φ∗,从而可以找到该表征Φ∗\Phi^*Φ∗下的最优线性分类器w∗w_*w∗​,它们在Eall\mathcal E_{all}Eall​上组成invariant predictor w∗∘Φ∗w_*\circ\Phi^*w∗​∘Φ∗,泛化性能得以从理论上解决。

根据重点来提取出逻辑链:

  1. 假设解存在,E[Ye∣Φ∗(Xe)=h^]=w∗Th^,∀e∈Eall\mathbb E[Y^e|\Phi^*(X^e)=\hat h]=w_*^T\hat h,\forall e\in \mathcal E_{all}E[Ye∣Φ∗(Xe)=h^]=w∗T​h^,∀e∈Eall​(不存在就没法做了)
  2. 对训练环境做结构假设,更容易提取到invariance
  3. 对分类器结构做线性假设简化,更容易进行理论分析(非线性的话,理论一般就能给出确定的度量,最多给个bound,但怎么给这个bound好像没分析出来)
  4. 基于上述两个结构假设,分析出了sufficient coverage的具体量化为qp\frac{q}{p}pq​个diverse environments的条件(条件一)
  5. 在训练环境上,在某个fixed分类器下,找到对label不变的表示函数Φtrain\Phi_{train}Φtrain​(条件二)
  6. 那么这个Φtrain\Phi_{train}Φtrain​就是Etrain\mathcal E_{train}Etrain​与Etest\mathcal E_{test}Etest​共同share的invariant特征提取器,在这基础上找个最优线性分类器即可。

三、总结

其实这篇博士论文,最最最有用的并不是什么practical的algorithms,而是它给出的theory analysis是非常有启发性的。基本能对现在海量的paper做一个总结与归类,并抽象出了如何用Invariance来解决Out-of-distribution的启发。

尽管是初步的、线性的理论分析,但个人认为,非常经典、透彻、有启发性。对外推这个问题理解更为深入。下一篇文章,主要讲这个Out-of-distribution在具体问题上的泛化,以及具体问题具体方法是如何体现这个Invariance的,真的太妙了~

机器学习中的外推问题(OOD上,硬核慎点)相关推荐

  1. 机器学习中的线性代数知识(上)

    关于作者 作者小硕一枚,研究方向为机器学习与自然语言处理,欢迎大家关注我的个人博客https://wangjie-users.github.io/,相互交流,一起学习成长. 前言 As all we ...

  2. 【过于硬核慎入】这是我遇到过的最强反爬虫(反反爬虫教程)

    https://www.passkou.com/ 阅读本文前 在阅读本文前,你需要具有以下所有知识,否则你无法读懂: HTML + JS 基础 HTTP 基本知识 简单的密码学知识(MD5.AES) ...

  3. spearman相关性_Spearman的相关性及其在机器学习中的意义

    spearman相关性 This article is about correlation and its implication in the machine learning. In my pre ...

  4. 硬核外贸好货掀采购新热潮,来第10届上海尚品家居展抢占先机

    近年来,应对复杂多变的国际环境,顺应以国内大循环为主的新发展格局,与国民生活息息相关的家居行业正掀起机遇期波澜,诸多优质外贸型家居企业积极开拓国内市场,为内销市场带来更多高品质家居外贸优品.7月22- ...

  5. 机器学习中的线性代数知识(中)

    关于作者 作者小硕一枚,研究方向为机器学习与自然语言处理,欢迎大家关注我的个人博客https://wangjie-users.github.io/,相互交流,一起学习成长. 前言 在机器学习中的线性代 ...

  6. 小波滤波器与其他滤波器的区别_小波变换(六):小波变换在机器学习中的应用(上)...

    本文讲解一篇关于小波变换在机器学习中的应用的博客:<A guide for using the Wavelet Transform in Machine Learning>,极力推荐!!目 ...

  7. 深度学习模型在训练集上很好而在测试集表现得不好而拟合次数并不多_机器学习中的过拟合,欠拟合和偏倚方差折衷...

    过度拟合在机器学习中很重要. 很直观的解释过拟合:假设我们现在让机器学习考试做题,想象一种情况,机器逐字记住每个问题的答案(拟合非常好-完美).然后,我们可以在练习题上得分很高:我们这样做是基于希望实 ...

  8. 机器学习中的数学(上)

      上篇博文介绍了<机器学习之支持向量机>后发现利用到了梯度.凸优化.拉格朗日对偶性等数学问题.而且凸优化是本科非数学专业学不到的科目,所以这篇博文就要和大家分享一下机器学习中常用的数学概 ...

  9. 数据科学和机器学习中的优化理论与算法(上)

    数据科学和机器学习中的优化理论与算法(上) 数据科学和机器学习当前越来越热,其中涉及的优化知识颇多.很多人在做机器学习或者数据科学时,对其中和优化相关的数学基础,包括随机梯度下降.ADMM.KKT 条 ...

最新文章

  1. UVA437 巴比伦塔 The Tower of Babylon(矩形嵌套进阶版、DAG上DP、记忆化搜索)
  2. 【总结】IE6,IE7,IE8,Firefox兼容的css hack 补充!
  3. 如何解决Maven依赖本地仓库eclipse报错的问题
  4. Redis数据存储解决方案
  5. mysql 关联查询_mysql数据库调优(二)
  6. 用插件的形式编写升级版 jquery_select_interval.js 源码
  7. javascript中特殊数值常量
  8. JDK 1.8 - 1.7
  9. java freepascal_Free Pascal
  10. oracle 优化方法总结
  11. Java使用jfreechart画饼图_JFreeChart饼图
  12. Ubuntu 16.04 Kalibr安装使用
  13. Android开发 SpannableString开发详解
  14. 【看论文】之《基于YIQ彩色模型的成熟番茄图像分割识别_王新忠》
  15. Python 用一个脚本来控制另一个脚本的运行、关闭
  16. GDUT——1169: Krito的讨伐(优先队列BFS)
  17. 无尽对决怎么修改服务器地区,无尽对决怎么更改账号 | 手游网游页游攻略大全...
  18. python二进制格式追加_Python追加/填充二进制文件添加garbag
  19. 服务器监控管理工具大全
  20. 【JMS】JMS支持的模式讲解

热门文章

  1. 亿级流量架构,服务器如何扩容?写得太好了
  2. python isnumeric函数用法_Python 字符串 isnumeric() 方法
  3. 目前计算机内存主流容量,计算机的内存容量通常是指什么
  4. FileWriter的默认编码
  5. 阿尔法狗是量子计算机,阅读下面的文字,完成下面小题。科学家认为,量子计算机将会成为未来科技的引擎。由于量子有一种“叠加”的特性,量子计算也就具备了并行的能力,即可以实现同步计算。()-组卷网...
  6. Mysql中的varchar类型转换成int类型
  7. Flutter Boost 混合开发框架初探
  8. 如何理解 stat 命令显示的 Blocks 和 IO Block
  9. 黑马程序员-String常量池
  10. 对警报线程池的警报线程_警报引起的辛劳