您现在的位置是:首页 >学无止境 >用于OOD预测的稳定学习网站首页学无止境
用于OOD预测的稳定学习
当测试数据和训练数据共享相似的分布时,基于深度神经网络的方法取得了惊人的性能,但在其他情况下可能会失败。因此,消除训练和测试数据之间分布变化的影响对于构建有前景的深度模型至关重要。作者考虑了一个更具挑战性的情况。通过训练样本的学习来消除特征之间的依赖关系,从而解决OOD问题,这有助于深度模型摆脱虚假的相关性,进而更多地关注判别特征和标签之间的真实联系。
来自:Deep stable learning for out-of-distribution generalization
- 图1:当大多数训练图像包含水中的狗时,ResNet-18和StableNet生成的显著性图的可视化。
- 显著性图的亮度指示模型对输入图像的特定区域的关注程度(即,较亮的区域比较暗的区域对预测起着更关键的作用)。由于虚假的相关性,ResNet18模型倾向于同时关注狗和水,而StableNet主要关注狗。
- 图2:StableNet的总体架构。LSWD是指去相关的学习样本加权。最终损失用于优化分类网络。
作者通过对样本进行全局加权来直接解除每个输入样本的所有特征相关性,从而消除相关和不相关特征之间的统计相关性,从而解决分布偏移问题。StableNet利用随机傅立叶特征(RFF)和样本加权的特性,消除了特征之间的线性和非线性依赖关系。
该文要解决的问题,就是如何在深度学习网络中找到一组样本权重,使得所有变量之间都可以做到互相独立,即任意选取一个变量为目标变量,目标变量的分布不随其它变量的值的改变而改变。
令 X ⊂ R m X Xsub mathbb{R}^{m_X} X⊂RmX表示原始像素的空间, Y ⊂ R m Y Ysub mathbb{R}^{m_Y} Y⊂RmY表示输出空间, Z ⊂ R m Z Zsubmathbb{R}^{m_Z} Z⊂RmZ为表征空间。 f : X → Z f:X ightarrow Z f:X→Z为表征函数, g : Z → Y g:Z ightarrow Y g:Z→Y为预测函数。假设有 n n n个样本, X i X_{i} Xi和 y i y_{i} yi表示第 i i i个样本, Z i : j Z_{i:j} Zi:j表示第 i i i个样本的第 j j j个变量。 w ∈ R n winmathbb{R}^{n} w∈Rn表示样本权重, u u u和 v v v为随机傅里叶特征映射函数。
为了消除任何一对特征 Z : , i Z_{:,i} Z:,i和 Z : , j Z_{:,j} Z:,j之间的相关性,作者引入了假设检验来衡量随机变量之间的独立性。假设有两个一维随机变量 A , B A,B A,B( A , B A,B A,B代表 Z : , i Z_{:,i} Z:,i和 Z : , j Z_{:,j} Z:,j以简化描述),分别从 A A A和 B B B的分布中采样 ( A 1 , A 2 , . . . , A n ) (A_{1},A_{2},...,A_{n}) (A1,A2,...,An)和 ( B 1 , B 2 , . . . , B n ) (B_{1},B_{2},...,B_{n}) (B1,B2,...,Bn),主要问题是这两个变量基于样本的相关性是如何的。
正定核的一个重要性质是能够产生一个内积空间的特征映射,使得在该映射下的内积运算等价于在输入空间中进行的核函数计算。
RKHS是正定核函数所对应的函数空间,它是一个希尔伯特空间(Hilbert Space),具有一些特殊的性质。在RKHS中,核函数起到了一个重要的作用,它定义了内积运算和范数,从而形成了一个完备的函数空间。
考虑在随机变量 A A A的域上有可测量的正定核 k A k_{A} kA,相应的RKHS由 H A H_{A} HA表示, k B , H B k_{B},H_{B} kB,HB同样被定义,交叉-协方差操作 Σ A B Sigma_{AB} ΣAB为: E A B [ h A ( A ) h B ( B ) ] − E A [ h A ( A ) ] E B [ h B ( B ) ] mathbb{E}_{AB}[h_{A}(A)h_{B}(B)]-mathbb{E}_{A}[h_{A}(A)]mathbb{E}_{B}[h_{B}(B)] EAB[hA(A)hB(B)]−EA[hA(A)]EB[hB(B)]其中, h A ∈ H A , h B ∈ H B h_{A}in H_{A},h_{B}in H_{B} hA∈HA,hB∈HB。然后,独立性可以由以下命题确定: Σ A B = 0 ↔ A ⊥ B Sigma_{AB}=0leftrightarrow Aot B ΣAB=0↔A⊥B。
深度网络的各维特征间存在复杂的依赖关系,仅去除变量间的线形相关性并不足以完全消除无关特征与标签之间的虚假关联,所以一个直接的想法就是通过kernel(核方法)映射到高维空间,但是经过kernel映射后原始特征的特征图维度被扩大到无穷维,使得各维变量间的相关性无法计算。
鉴于随机傅立叶特征(Random Fourier Feature, RFF)在近似核函数以及衡量特征独立性方面的性质,采用RFF将原始特征映射到高维空间中(可以理解为在样本维度进行扩充),消除新特征间的线形相关性即可保证原始特征严格独立。
RFF的函数空间为 H R F F H_{RFF} HRFF: H R F F = { h : x → 2 c o s ( w x + ϕ ) ∣ w ∼ N ( 0 , 1 ) , ϕ ∼ U n i f o r m ( 0 , 2 π ) } H_{RFF}=left{h:x ightarrowsqrt{2}cos(wx+phi)|wsim N(0,1),phisim Uniform(0,2pi) ight} HRFF={h:x→2cos(wx+ϕ)∣w∼N(0,1),ϕ∼Uniform(0,2π)}使用 w w w做样本加权,且 ∑ i = 1 n w i = n sum_{i=1}^{n}w_{i}=n ∑i=1nwi=n。加权后,变量 A A A和 B B B的交叉协方差为: Σ ^ A B ; w = 1 n − 1 ∑ i = 1 n [ ( w i u ( A i ) − 1 n ∑ j = 1 n w j u ( A j ) ) T ⋅ ( w i v ( B i ) − 1 n ∑ j = 1 n w j v ( B j ) ) ] u ( A ) = ( u 1 ( A ) , . . . , u n A ( A ) ) , u j ( A ) ∈ H R F F v ( B ) = ( v 1 ( B ) , . . . , v n B ( B ) ) , v j ( B ) ∈ H R F F widehat{Sigma}_{AB;w}=frac{1}{n-1}sum_{i=1}^{n}[(w_{i}u(A_{i})-frac{1}{n}sum_{j=1}^{n}w_{j}u(A_{j}))^{T}cdot (w_{i}v(B_{i})-frac{1}{n}sum_{j=1}^{n}w_{j}v(B_{j}))]\ u(A)=(u_{1}(A),...,u_{n_{A}}(A)),u_{j}(A)in H_{RFF}\v(B)=(v_{1}(B),...,v_{n_{B}}(B)),v_{j}(B)in H_{RFF} Σ AB;w=n−11i=1∑n[(wiu(Ai)−n1j=1∑nwju(Aj))T⋅(wiv(Bi)−n1j=1∑nwjv(Bj))]u(A)=(u1(A),...,unA(A)),uj(A)∈HRFFv(B)=(v1(B),...,vnB(B)),vj(B)∈HRFFStableNet的目标是独立任何一对特征: w ∗ = a r g m i n w ∈ Δ n ∑ 1 ≤ i ≤ j ≤ m Z ∣ ∣ Σ ^ Z : , i Z : , j ; w ∣ ∣ F 2 w^{*}=argmin_{winDelta_{n}}sum_{1leq ileq jleq m_{Z}}||widehat{Sigma}_{Z_{:,i}Z_{:,j};w}||_{F}^{2} w∗=argminw∈Δn1≤i≤j≤mZ∑∣∣Σ Z:,iZ:,j;w∣∣F2其中, Δ n = { w ∈ R n ∣ ∑ i = 1 n w i = n } Delta_{n}=left{win R^{n}|sum_{i=1}^{n}w_{i}=n ight} Δn={w∈Rn∣∑i=1nwi=n}因此,用最优 w ∗ w^* w∗对训练样本进行加权可以最大限度地减轻特征之间的依赖性。
算法迭代优化样本权重 w w w、表示函数 f f f和预测函数 g g g,如下所示: f ( t + 1 ) , g ( t + 1 ) = a r g m i n f , g ∑ i = 1 n w i ( t ) L ( g ( f ( X i ) ) , y i ) w ( t + 1 ) = a r g m i n w ∈ Δ n ∑ 1 ≤ i ≤ j ≤ m Z ∣ ∣ Σ ^ Z : , i ( t + 1 ) Z : , j ( t + 1 ) ; w ∣ ∣ F 2 f^{(t+1)},g^{(t+1)}=argmin_{f,g}sum_{i=1}^{n}w^{(t)}_{i}L(g(f(X_{i})),y_{i})\ w^{(t+1)}=argmin_{winDelta_{n}}sum_{1leq ileq jleq m_{Z}}||widehat{Sigma}_{Z_{:,i}^{(t+1)}Z_{:,j}^{(t+1)};w}||_{F}^{2} f(t+1),g(t+1)=argminf,gi=1∑nwi(t)L(g(f(Xi)),yi)w(t+1)=argminw∈Δn1≤i≤j≤mZ∑∣∣Σ Z:,i(t+1)Z:,j(t+1);w∣∣F2其中, Z ( t + 1 ) = f ( t + 1 ) ( X ) Z^{(t+1)}=f^{(t+1)}(X) Z(t+1)=f(t+1)(X), L L L表示交叉熵损失, t t t为时间步,初始 w ( 0 ) = ( 1 , 1 , . . . , 1 ) T w^{(0)}=(1,1,...,1)^{T} w(0)=(1,1,...,1)T。
上述公式要求在训练过程中为每个训练样本都学习一个特定的权重,但在实践中,尤其对于深度学习任务,要想利用全部样本全局地学习样本权重需要巨大的计算和存储开销。此外,使用SGD对网络进行优化时,每轮迭代中仅有部分样本对模型可见,因此无法获取全部样本。
作者提出一种存储、重加载样本特征与样本权重的方法,在每个训练迭代的结束融合并保存当前的样本特征与权重,在下一个训练迭代开始时重加载,作为训练数据的全局先验知识优化新一轮的样本权重。
对于每个batch,用于优化样本权重的特征生成如下: Z O = C o n c a t ( Z G 1 , Z G 2 , . . . , Z G k , Z L ) w O = C o n c a t ( w G 1 , w G 2 , . . . , w G k , w L ) Z_{O}=Concat(Z_{G_{1}},Z_{G_{2}},...,Z_{G_{k}},Z_{L})\ w_{O}=Concat(w_{G_{1}},w_{G_{2}},...,w_{G_{k}},w_{L}) ZO=Concat(ZG1,ZG2,...,ZGk,ZL)wO=Concat(wG1,wG2,...,wGk,wL)这里,符号 Z O Z_{O} ZO和 w O w_{O} wO分别表示用于优化新样本权重的特征和权重, Z G 1 , Z G 2 , . . . , Z G k Z_{G_{1}},Z_{G_{2}},...,Z_{G_{k}} ZG1,ZG2,...,ZGk和 w G 1 , w G 2 , . . . , w G k w_{G_{1}},w_{G_{2}},...,w_{G_{k}} wG1,wG2,...,wGk分别为全局特征和权重,其在每个批次结束时更新并且表示整个训练数据集的全局信息。 Z L Z_L ZL和 w L w_L wL是当前batch中的特征和权重,表示局部信息。
用于合并上式中的所有特征的操作是沿着样本的级联,比如,如果batch size为 B B B, Z O Z_{O} ZO为矩阵,size是 ( ( k + 1 ) B ) × m Z ((k+1)B) imes m_{Z} ((k+1)B)×mZ, w O w_{O} wO是 ( ( k + 1 ) B ) ((k+1)B) ((k+1)B)维的向量,在对每个batch训练时,保持 w G i w_{G_{i}} wGi固定,只有 w L w_{L} wL是可学习的。在每次迭代训练结束时,融合全局信息 ( Z G i , w G i ) (Z_{G_{i}},w_{G_{i}}) (ZGi,wGi)和局部信息 ( Z L , w L ) (Z_{L},w_{L}) (ZL,wL): Z G i ′ = α i Z G i + ( 1 − α i ) Z L w G i ′ = α i w G i + ( 1 − α i ) w L Z'_{G_{i}}=alpha_{i} Z_{G_{i}}+(1-alpha_{i})Z_{L}\w'_{G_{i}}=alpha_{i} w_{G_{i}}+(1-alpha_{i})w_{L} ZGi′=αiZGi+(1−αi)ZLwGi′=αiwGi+(1−αi)wL对于每组全局信息 ( Z G i , w G i ) (Z_{G_{i}},w_{G_{i}}) (ZGi,wGi),我们使用 k k k个不同的平滑参数以考虑long-term memory( α i alpha_{i} αi较大),和short-term memory( α i alpha_{i} αi较小), k k k表示预测特征是原始特征的 k k k倍。然后,用 ( Z G i ′ , w G i ′ ) (Z'_{G_{i}},w'_{G_{i}}) (ZGi′,wGi′)代替所有 ( Z G i , w G i ) (Z_{G_{i}},w_{G_{i}}) (ZGi,wGi)作为下一batch。
在推理阶段,预测模型直接进行预测,而不需要计算任何样本权重。