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

概述

定位:对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^×YR+损失函数(loss function)
f : X → Y ^ f:\mathcal{X\rightarrow \hat Y} f:XY^假设空间/预测函数 (hypothesis/predictor)
{ P e } e ∈ E ∈ X × Y \{\mathbb P^e\}_{e\in \mathcal E}\in \mathcal{X\times Y} {Pe}eEX×Y在input space与label space联合空间上,受环境 e ∈ E e\in \mathcal E eE控制的概率分布
( X e , Y e ) ∼ P e (\mathcal{X^e,Y^e})\sim \mathbb P^e (Xe,Ye)Pe在具体环境 e e e下,样本与label服从概率分布 P e \mathbb P^e Pe
R e ( f ) : = E ( X e , Y e ) ∼ P e [ ℓ ( f ( X e , Y e ) ] ] 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)]]衡量环境 e e e下假设或预测器 f f f的经验风险
Φ : X → H ^ \Phi:\mathcal {X\rightarrow \hat H} Φ:XH^特征提取器(featurizer), Φ \Phi Φ将样本空间映射到特征空间
w : H ^ → Y w:\mathcal{\hat H\rightarrow Y} w:H^Y分类器(classifier), w w w将特征空间分类到标记空间

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

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

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

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

1.1 值得记住的3个Examples

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

1.1.1 Spurious Correlation

问题模式 X 1 → Y → X 2 X_1\rightarrow Y\rightarrow X_2 X1YX2
比如 X e = ( X 1 e , X 2 e ) X^e=(X_1^e,X_2^e) Xe=(X1e,X2e)代表 e e e地理区域的住房需求、人口素质水平的两维特征,而 Y e Y^e Ye代表房价。如果数据的生成过程如下: X 1 → Y → X 2 X_1\rightarrow Y\rightarrow X_2 X1YX2
X 1 e ← Gaussian ⁡ ( 0 , 1 ) Y e ← X 1 e + Gaussian ⁡ ( 0 , 1 ) X 2 e ← β ( e ) Y e + 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} X1eGaussian(0,1)YeX1e+Gaussian(0,1)X2eβ(e)Ye+Gaussian(0,1)

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

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

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

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

1.1.2 Background Bias

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

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

这个问题关注点是Background Bias,样本 X X X是一张图片,维度是pixels,而控制环境 e e e的是某些离散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 E E)结构可能非常复杂,meta-feature可能是不同地理区域、不同风俗习惯等信息聚合体,但我们却只关心cow shapes,太难了= =。

1.1.3 Geometric Space

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

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

1.2 Examples总结

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

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

1.3 常规解决方法

上面对三个问题模式泛泛而谈,下面就开始公式化,严肃点了。( f f f还记得是predictor吧)
Ideal Goal : R E R M ( f ) = ∑ e ∈ E t r a i n R e ( f ) OOD Goal : R O O D ( f ) = max ⁡ e ∈ E a l l R e ( 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)=eEtrainRe(f)ROOD(f)=eEallmaxRe(f)

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

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

1.3.1 Robust Optimization

Goal : R O O D ( f ) = max ⁡ e ∈ E a l l R e ( f ) Method : R r o b ( f ) = max ⁡ e ∈ E t r a i n R e ( f ) − r e where  r e = V [ Y e ] Equiv : R r o b ( f ) = ∑ e ∈ E t r a i n λ e R e ( 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)=eEallmaxRe(f)Rrob(f)=eEtrainmaxRe(f)rewhere re=V[Ye]Rrob(f)=eEtrainλeRe(f)

Robust Optimization Method 的妥协点

  1. 既然不知道 e ∈ E a l l e\in \mathcal E_{all} eEall,那就 e ∈ E t r a i n e\in \mathcal E_{train} eEtrain
  2. e ∈ E t r a i n e\in \mathcal E_{train} eEtrain这玩意有问题,就加一些基于环境 e e e的补偿吧
  3. 然后假设选择 r e r_e re Y e Y^e Ye的方差,即最大化predictor f f f 表现最差环境的方差。(因为 f f f在这个e上表现最差,说明没学到什么,所以要加大它的方差,希望它学到点什么)

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

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

∑ e ∈ E t r a i n λ e R e ( f ) ≈ max ⁡ e ∈ E t r a i n R e ( f ) − r e \sum_{e\in \mathcal E_{train}}\lambda_e\mathcal R^e(f)\approx \max_{e\in \mathcal E_{train}} R^e(f)-r_e eEtrainλeRe(f)eEtrainmaxRe(f)re

这相当于说,希望predictor f f f对不同训练环境 e e e给予不同的注意力关注。(日常吐槽,前提条件,你得知道具体环境究竟是啥才行呀)
这能解决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

E t r a i n = { P t r a i n } , E a l l = { P : D f ( P t r a i n , P ) ≤ ϵ  or  W ( P t r a i n , P t e s t ) ≤ ϵ } \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 ( P t r a i n , P t e s t ) ≤ ϵ W(P^{train},P^{test})\le \epsilon W(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:在源环境 e t r a i n e_{train} etrain收集的Data有label,但另一个环境 e t e s t e_{test} etest的Data没有label,想学习一个classfier能在 e t e s t e_{test} etest上分类(记住目的)。

  • 第一步:先学习一个representation,将两个环境的data映射到特征空间,使它们的概率分布差不多,即:
    在一个feature representation下 Φ : X → H ^ \Phi:X\rightarrow \hat{\mathcal H} Φ:XH^,有:
    P e t r a i n ( Φ ( X e t r a i n ) ) = P e t e s t ( Φ ( X e t e s t ) ) 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^ e t r a i n e_{train} etrain进行分类( 因为 e t r a i n e_{train} etrain有label )

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

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

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

X 1 e ← Gaussian ⁡ ( 0 , 1 ) Y e ← X 1 e + Gaussian ⁡ ( 0 , 1 ) X 2 e ← β ( e ) Y e + 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} X1eGaussian(0,1)YeX1e+Gaussian(0,1)X2eβ(e)Ye+Gaussian(0,1)

对于两个环境有:

X e t r a i n = ( X 1 e t r a i n , X 2 e t r a i n = β ( e t r a i n ) X 1 e t r a i n + β ( e t r a i n ) ) 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))

X e t e s t = ( X 1 e t e s t , X 2 e t e s t = β ( e t e s t ) X 1 e t e s t + β ( e t e s t ) ) 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 Φ)需要满足第一步的条件 P e t r a i n ( Φ ( X e t r a i n ) ) = P e t e s t ( Φ ( X e t e s t ) ) P^{e_{train}}(\Phi(X^{e_{{train}}}))=P^{e_{test}}(\Phi(X^{e_{test}})) Petrain(Φ(Xetrain))=Petest(Φ(Xetest))

为了维持 Φ ( X e t r a i n ) 与 Φ ( X e t e s t ) \Phi(X^{e_{train}})与\Phi(X^{e_{test}}) Φ(Xetrain)Φ(Xetest)在特征空间的不变性(invariance), Φ \Phi Φ会丢弃掉因为 β ( e t r a i n ) , β ( e t e s t ) \beta(e_{train}),\beta(e_{test}) β(etrain),β(etest)而变动的 X 2 X_2 X2,因此就捕捉到了环境的不变性特征 X 1 ∼ Gaussian ( 0 , 1 ) X_1\sim \text{Gaussian}(0,1) X1Gaussian(0,1)

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

更悲剧的是,只要稍微改动一下Example1,Domain Adaptation就fail了,就不能找到问题模式 X 1 → Y → X 2 X_1\rightarrow Y\rightarrow X_2 X1YX2的cause&effect了,如下:

X 1 ← Gaussian ⁡ ( μ ( e ) , 1 ) Y ← X 1 + Gaussian ⁡ ( 0 , 1 ) X 2 ← β ( 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} X1YX2Gaussian(μ(e),1)X1+Gaussian(0,1)β(e)Y+Gaussian(0,1)

X 1 X_1 X1也加个因环境而变动的量 μ ( 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最理想的优化目标:
R O O D ( f ) = max ⁡ e ∈ E a l l R e ( f ) \mathcal R^{OOD}(f) = \max_{e\in \mathcal E_{all}}R^e(f) ROOD(f)=eEallmaxRe(f)

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

那如何解决Example4?
X 1 ← Gaussian ⁡ ( μ ( e ) , 1 ) Y ← X 1 + Gaussian ⁡ ( 0 , 1 ) X 2 ← β ( 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} X1YX2Gaussian(μ(e),1)X1+Gaussian(0,1)β(e)Y+Gaussian(0,1)

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

二、OOD的主要理论

简要背景介绍:

  • Casuality : 预测对象 Y Y Y,对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,然后希望能挖掘 E t r a i n \mathcal E_{train} Etrain E a l l \mathcal E_{all} Eall的问题结构(cause&effect, correlation, geometry),使得从 E t r a i n \mathcal E_{train} Etrain中提取的关于label invariance能更少耗损地通过”问题结构““定向泛化”到 E a l l \mathcal E_{all} Eall,或者说信息流动的更有效。

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

重要!

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

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

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

  • 条件二:Low training error:
    E Y ∼ P t r a i n ( Y ∣ Φ ( X ) = h ^ ) [ ℓ ( w ( h ^ ) , Y ) ] ≤ δ E R R ∀ 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} EYPtrain(YΦ(X)=h^)[(w(h^),Y)]δERRh^H^
    条件二意思是,在某个fixed分类器 w w w下, Φ \Phi Φ使 E t r a i n \mathcal E_{train} Etrain的经验风险小于某个范围(能比较好地分类训练集的样本)

于是就有generalization的保证:

E ( X , Y ) ∼ P test  [ ℓ ( w ( Φ ( X ) ) , Y ) ] ≤ δ E R R + C δ I N V \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. 首先得假定: E a l l \mathcal E_{all} Eall存在这样的invariance
  2. 其次, E t r a i n \mathcal E_{train} Etrain得有sufficient coverage,这样提取得到的invariance才能cover到 E a l l \mathcal E_{all} Eall上的invariance

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

通俗解释一下这两个前提:
如果 E a l l \mathcal E_{all} Eall本身就没有invariance,那这个问题就无解了。只能进行实例分析,没法general;
假设 E a l l \mathcal E_{all} Eall有invariance的话,那关键问题就是 E t r a i n \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为 e 1 , e 2 , . . . , e n e_1,e_2,...,e_n e1,e2,...,en,那每一个环境需要多少的样本才能较为准确地cover到真实 β ( e ) \beta(e) β(e)的分布呢?(强调每个环境的样本复杂度

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

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

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

  1. 对训练环境与测试环境所在空间的结构假设(使得invariance通过这个结构更容易从 E t r a i n → E a l l \mathcal E_{train}\rightarrow \mathcal E_{all} EtrainEall进行泛化)联合假设
  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从 E t r a i n → E a l l \mathcal E_{train}\rightarrow \mathcal E_{all} EtrainEall,给出了一堆假设下的定理(重在理解,推导看原文)。

2.1 如何学习一个好的Representation?

2.1.1 主要论点

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

min ⁡ Φ : X → H ^ w : H ^ → Y ∑ e ∈ E train  R e ( w ∘ Φ )  subject to  w ∈ arg ⁡ min ⁡ w ˉ : H ^ → Y ^ R e ( w ˉ ∘ Φ ) ∀ e ∈ E train  \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Φ:XH^mineEtrain Re(wΦ) subject to wwˉ:H^Y^argminRe(wˉΦ)eEtrain 

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

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

公式化该优化的目标IRMv1
min ⁡ Φ : X → Y ^ ∑ e ∈ E train  R e ( Φ ) + λ ⋅ ∥ ∇ w ∣ w = 1.0 R e ( 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} Φ:XY^mineEtrain Re(Φ)+λww=1.0Re(wΦ)2

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

但这个软约束后的优化目标只适合去捕捉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充当了 E t r a i n \mathcal E_{train} Etrain E a l l \mathcal E_{all} Eall之间shared invariance的结构使其能解决Out-of-distribution generalization的问题。
如果数据没有Causal Graph的话,我认为它们是一种包含的关系Causality < Invariance < Out-of-distribution generalization.

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

2.2.2 对训练环境 E t r a i n \mathcal E_{train} Etrain的结构假设

在这里插入图片描述

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

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

2.2.3 E t r a i n \mathcal E_{train} Etrain泛化到 E a l l \mathcal E_{all} Eall的前提假设

![2](https://img-blog.csdnimg.cn/20210422003104963.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDA1NjU3Nw==,size_16,color_FFFFFF,t_70#pic_center)

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

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

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

三、总结

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

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

  • 19
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在嵌入式医疗行业进行开发,需要掌握以下软件上的技能点: 1. 嵌入式系统开发:学习嵌入式系统的基本原理和开发方法,掌握C/C++等嵌入式编程语言,了解硬件和软件的交互方式。 2. 实时操作系统(RTOS):了解实时操作系统的原理和应用,熟悉常用的RTOS,如FreeRTOS、uC/OS等,能够进行多任务处理和调度。 3. 软件架构设计:学习软件架构设计原则,了解面向对象设计(OOD)和面向对象分析(OOA)等概念,能够设计可扩展、可维护的软件架构。 4. 数据结构与算法:掌握常用的数据结构和算法,如链表、栈、队列、排序算法等,能够进行高效的数据处理和算法优化。 5. 通信协议:熟悉常用的通信协议,如UART、SPI、I2C、CAN等,了解网络协议,如TCP/IP、UDP等,能够进行硬件和部设备的通信。 6. 医疗标准和法规:了解医疗设备相关的标准和法规,如ISO 13485、IEC 62304等,确保开发的系统符合医疗行业的要求。 7. 软件测试与验证:学习软件测试方法和技术,掌握单元测试、集成测试、系统测试等测试方法,能够进行软件的验证和调试。 8. 版本控制和协作工具:掌握版本控制工具,如Git,能够进行代码管理和团队协作。 此,还可以学习相关领域的知识,如生物医学工程、信号处理等,以便更好地理解医疗设备的工作原理和应用场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值