数据,模型,算法共同决定深度学习模型效果

数据,模型,算法共同决定深度学习模型效果
2020/4/20 FesianXu

在文献[1]中对few-shot learning进行了很好地总结,其中提到了一个比较有意思的观点,这里和大家分享下。先抛开few-shot learning的概念,我们先从几个基本的机器学习的概念进行分析。

期望风险最小化(expected risk minimization): 假设数据分布 p ( x , y ) p(\mathbf{x},y) p(x,y)已知,其中 x \mathbf{x} x是特征, y y y是标签,在给定了特定损失函数 L ( ⋅ ) \mathcal{L}(\cdot) L()的情况下,对于某个模型假设 h ∈ H h \in \mathcal{H} hH,我们期望机器学习算法能够最小化其期望风险,期望风险定义为:
R ( h ) = ∫ L ( h ( x ) , y ) d p ( x , y ) = E [ L ( h ( x ) , y ) ] (1) R(h) = \int \mathcal{L}(h(\mathbf{x}), y) dp(\mathbf{x}, y) = \mathbb{E}[\mathcal{L}(h(\mathbf{x}), y)] \tag{1} R(h)=L(h(x),y)dp(x,y)=E[L(h(x),y)](1)
假如模型的参数集合为 θ \theta θ,那么我们的目标是:
θ = arg ⁡ min ⁡ θ R ( h ) (2) \theta = \arg \min _{\theta} R(h) \tag{2} θ=argθminR(h)(2)

经验风险最小化(empirical risk minimization): 实际上,数据分布 p ( x , y ) p(\mathbf{x},y) p(x,y)通常不可知,那么我们就不能对其进行积分了,我们一般对该分布进行采样,得到若干个具有标签的样本,我们将其数量记为 I I I,那么我们用采样结果对这个分布进行近似,因此,我们追求最小化经验风险,这里的经验(experience)的意思也就是指的是采样得到的数据集:
R I ( h ) = 1 I ∑ i = 1 I L ( h ( x i ) , y i ) (3) R_{I}(h) = \dfrac{1}{I} \sum_{i=1}^{I} \mathcal{L}(h(\mathbf{x}_i), y_i) \tag{3} RI(h)=I1i=1IL(h(xi),yi)(3)
此处的经验风险(3)就可以近似期望风险(1)的近似进行最小化了(当然,在实践中通常需要加上正则项)。

我们进行以下三种表示:
h ^ = arg ⁡ min ⁡ h R ( h ) (4) \hat{h} = \arg \min_{h} R(h) \tag{4} h^=arghminR(h)(4)

h ∗ = arg ⁡ min ⁡ h ∈ H R ( h ) (5) h^{*} = \arg \min_{h \in \mathcal{H}} R(h) \tag{5} h=arghHminR(h)(5)

h I = arg ⁡ min ⁡ h ∈ H R I ( h ) (6) h_{I} = \arg \min_{h \in \mathcal{H}} R_{I}(h) \tag{6} hI=arghHminRI(h)(6)

其中(4)表示最小化期望风险得到的理论上最优的假设 h ^ \hat{h} h^,(5)表示在指定的假设空间 h ∈ H h \in \mathcal{H} hH中最小化期望风险得到的约束最优假设 h ∗ h^{*} h,(6)表示在指定的数据量为 I I I的数据集上进行优化,并且在指定的假设空间 h ∈ H h \in \mathcal{H} hH下最小化经验风险得到的最优假设 h I h_I hI

因为我们没办法知道 p ( x , y ) p(\mathbf{x},y) p(x,y),因此我们没办法求得 h ^ \hat{h} h^,那么作为近似, h ∗ h^* h是在假定了特定假设空间时候的近似,而 h I h_I hI是在特定的数据集和特定假设空间里面的近似。进行简单的代数变换,我们有(7):
E [ R ( h I ) − R ( h ^ ) ] = E [ R ( h ∗ ) − R ( h ^ ) + R ( h I ) − R ( h ∗ ) ] = E [ R ( h ∗ ) − R ( h ^ ) ] + E [ R ( h I ) − R ( h ∗ ) ] (7) \mathbb{E}[R(h_I)-R(\hat{h})] = \mathbb{E}[R(h^*)-R(\hat{h})+R(h_I)-R(h^*)] = \\ \mathbb{E}[R(h^*)-R(\hat{h})]+\mathbb{E}[R(h_I)-R(h^*)] \tag{7} E[R(hI)R(h^)]=E[R(h)R(h^)+R(hI)R(h)]=E[R(h)R(h^)]+E[R(hI)R(h)](7)
其中用 E a p p ( H ) = E [ R ( h ∗ ) − R ( h ^ ) ] \mathcal{E}_{app}(\mathcal{H}) = \mathbb{E}[R(h^*)-R(\hat{h})] Eapp(H)=E[R(h)R(h^)] E e s t ( H , I ) = E [ R ( h I ) − R ( h ∗ ) ] \mathcal{E}_{est}(\mathcal{H}, I) = \mathbb{E}[R(h_I)-R(h^*)] Eest(H,I)=E[R(hI)R(h)] E a p p ( H ) \mathcal{E}_{app}(\mathcal{H}) Eapp(H)表征了在期望损失下,在给定的假设空间 H \mathcal{H} H下的最优假设 h ∗ h^* h能多接近最佳假设 h ^ \hat{h} h^。而 E e s t ( H , I ) \mathcal{E}_{est}(\mathcal{H, I}) Eest(H,I)表示了在给定假设空间 H \mathcal{H} H下,对经验风险进行优化,而不是对期望风险进行优化造成的影响。不失特别的,我们用 D t r a i n D_{train} Dtrain表示整个训练集,有 D t r a i n = { X , Y } , X = { x 1 , ⋯   , x n } , Y = { y 1 , ⋯   , y n } D_{train} = \{\mathbf{X}, \mathbf{Y}\}, \mathbf{X} = \{\mathbf{x}_1,\cdots,\mathbf{x}_n\}, \mathbf{Y} = \{y_1,\cdots,y_n\} Dtrain={ X,Y},X={ x1,,xn},Y={ y1,,yn}

我们不难发现,整个深度模型算法的效果,最后取决于假设空间 H \mathcal{H} H和训练集中数据量 I I I。换句话说,为了减少总损失,我们可以从以下几种角度进行考虑:

  1. 数据,也就是 D t r a i n D_{train} Dtrain

  2. 模型,其决定了假设空间 H \mathcal{H} H

  3. 算法,如何在指定的假设空间 H \mathcal{H} H中去搜索最佳假设以拟合 D t r a i n D_{train} Dtrain

通常来说,如果 D t r a i n D_{train} Dtrain数据量很大,那么我们就有充足的监督信息,在指定的假设空间 h ∈ H h \in \mathcal{H} hH中,最小化 h I h_I hI得到的 R ( h I ) R(h_I) R(hI)就可以提供对 R ( h ∗ ) R(h^*) R(h)的一个良好近似。然而,在few-shot learning (FSL)中,某些类别的样本数特别少,不足以支撑起对良好假设的一个近似。其经验风险项 R I ( h ) R_{I}(h) RI(h)和期望风险项 R ( h ) R(h) R(h)可能有着很大的距离,从而导致假设 h I h_I hI过拟合。事实上,这个是在FSL中的核心问题,即是 经验风险最小假设 h I h_I hI变得不再可靠。整个过程如Fig 1所示,左图有着充足的样本,因此其经验风险最小假设 h I h_I hI h ∗ h^* h相当接近,在 H \mathcal{H} H设计合理的情况下,可以更好地近似 h ^ \hat{h} h^。而右图则不同, h I h_I hI h ∗ h^* h都比较远,跟别说和 h ^ \hat{h} h^了。

fsl_sufficient_samples

Fig 1. 样本充足和样本缺乏,在学习过程中结果的示意图。

为了解决在数据量缺少的情况下的不可靠的经验风险问题,也就是FSL问题,我们必须要引入先验知识,考虑到从数据,模型,算法这三个角度分别引入先验知识,现有的FSL工作可以被分为以下几种:

  1. 数据。在这类型方法中,我们利用先验知识去对 D t r a i n D_{train} Dtrain进行数据增广(data augment),从数据量 I I I提高到 I ~ \widetilde{I} I ,通常 I ~ > > I \widetilde{I} >> I I >>I。随后标准的机器学习算法就可以在已经增广过后的数据集上进行。因此,我们可以得到更为精确的假设 h I ~ h_{\widetilde{I}} hI 。如Fig 2 (a)所示。
  2. 模型。这类型方法通过先验知识去约束了假设空间 H \mathcal{H} H 的复杂度,得到了各位窄小的假设空间 H ~ \widetilde{\mathcal{H}} H 。如Fig 2 (b) 所示。灰色区域已经通过先验知识给排除掉了,因此模型不会考虑往这些方向进行更新,因此,往往需要更少的数据就可以达到更为可靠的经验风险假设。
  3. 算法。这类型的方法考虑使用先验知识,指导如何对 θ \theta θ进行搜索。先验知识可以通过提供一个好的参数初始化,或者指导参数的更新步,进而影响参数搜索策略。对于后者来说,其导致的搜索更新步由先验知识和经验风险最小项共同决定。

data_model_algo

Fig 2. 分别从数据,模型和算法三个角度去引入先验知识。

Reference

[1]. Wang Y, Yao Q, Kwok J, et al. Generalizing from a few examples: A survey on few-shot learning[M]//arXiv: 1904.05046. 2019.

猜你喜欢

转载自blog.csdn.net/LoseInVain/article/details/105644994