最优化的小插曲。基于梯度的方法的隐性偏差

92 阅读5分钟

最优化的小插曲。基于梯度的方法的隐性偏差

具有唯一有限根的损失。


作者:Fabian Pedregosa。

类别:学习理论
#泛化 #证明 #掘金

2022年1月10日星期一

当一个优化问题有多个全局最小值时,不同的算法可以找到不同的解决方案,这种现象通常被称为优化算法的隐性偏见。在这篇文章中,我们将描述基于梯度的方法在一类回归问题上的隐性偏差,包括线性最小二乘法和Huber损失回归。

\\def\\aa{boldsymbol a} \\def\\rr{boldsymbol r} 。\\defdef\\AA{boldsymbol A}。\\DEFO DEFT HH{boldsymbol H}。\\defdefEE{mathbb E}。\\defdef II{boldsymbol I}。\\defdefCC{boldsymbol C}。\\defdefDD{boldsymbol D}。\\DefefKK{boldsymbol K}。\\defdefdefeeps{varepsilon}。\\def defortr{text{tr}}。\\defdefuu{boldsymbol u} \`defvv{boldsymbol v} \`defqq{boldsymbol q}.\\defdefyy{boldsymbol y}。\\defdefss{boldsymbol s}.\\defdefpp{boldsymbol p}。\\δdefdeflmax{L}\\lmin{ell}。\\def deforRR{mathbb{R}}。\\defdefTT{boldsymbol T}。\\defdefQQ{boldsymbol Q}。\\defdefCC{boldsymbol C}。\\defdef\\Econd{boldsymbol E}。\\declareMathOperator\*{argmin}{arg\\,min}}。\\declareMathOperator\*{argmax}{arg\\max}。\\DeclareMathOperator\*{minimize}{minimize}。\\declareMathOperator\*{dom}{mathbf{dom}}。\\DeclareMathOperator\*{{Fix}{mathbf{Fix}}。\\declareMathOperator{{prox}{mathbf{prox}}。\\declareMathOperator{span}{span}}。\\def\\defas{\\stackrel{\\text{def}}{=}}\\def\\dif{\\mathop{}\\!\\mathrm{d}}\\definecolor{colorspace}{RGB}{77,175,74}\\definecolor{colorspan}{RGB}{228,26,28}\\definecolor{colorcomplement}{RGB}{55,126,184}\\definecolorA{{color{colorspan}\\mathcal{A}}}。\\defdef\\spanAC{{color{colorcomplement}\\mathcal{A}^{perp}}。\\defdef\\ProjAC{{color{colorcomplement}P\_{mathcal{A}^{perp}}}}}

考虑优化问题,目标函数ff是一个广义线性模型,数据矩阵AinRRntimespA\\in \\RR^{n \\times p},目标向量binRRnb\\in \\RR^n。用A_1,ldots,A_nA\_1, \\ldots, A\_n表示数据矩阵的行向量,我们可以把这个问题写成:\begin{equation}\label{eq:opt}。\argmin_{x `in `RR`^p}。\left\{f(x) \defas\sum_{i=1}^n \varphi (A_i^top x, b_i) \right\}\,,\end{equation} 其中varphi(z,y)varphi(z, y)是一个可微的实值函数,验证了 "唯一有限根条件",即它在z=yz=y有一个唯一最小化器。这些损失通常用于回归,包括最小二乘法varphi(z,y)=(zy)2\\varphi(z, y) = (z - y)^2Huber损失。我们将进一步假设线性系统Ax=bA x = b欠指定的,也就是说,它允许有一个以上的解决方案。这一假设在具有全等级数据矩阵的过度参数化模型(p>np>n)中得到了验证。

这种形式的问题验证了两个关键属性,使得基于梯度的方法的偏差很容易被描述。我所说的基于梯度的方法是指任何更新由当前和过去梯度的线性组合给出的方法。这包括梯度下降法、动量梯度法、随机梯度下降法(SGD)、动量SGD、Nesterov的加速梯度法。但它不包括准牛顿方法或对角线预处理方法,如Adagrad或Adam。

特性1:迭代结果保持在数据的跨度内。第i个样本个样本varphi (A_i^\top x, b_i)的梯度与它的数据样本的梯度与它的数据样本A_i方向相同。如果我们用方向相同。如果我们用varphi'表示表示varphi相对于它的第一个参数的导数,那么我们就有:\\begin{equation}\\nabla\_x left\[\\varphi (A\_i^\\top x, b\_i)\\right\] = under\\brace{\\vphantom{\\varphi\_i'A\_i}A\_i}\_{text{vector}}。\\underbrace{varphi'(A\_i^top x, b\_i)}\[{text{scalar}\]。\\,.\\end{equation}这意味着任何基于梯度的方法产生的更新都是在向量{A_1, \ldots, A_n\}$的范围内。

因此,由样本A_1,ldots,A_nA\_1, \\ldots, A\_n产生的向量空间在这里起着至关重要的作用,这并不奇怪。为了方便起见,我们将用\begin{equation}来表示这个子空间。\A\defas textcolor{colorspan}{span\{A_1, \ldots, A_n\}}。\,.\end{equation}另一个将发挥关键作用的子空间是spanAspanA的正交补数,我们表示为spanACspanAC.我们将用红色(蓝色)表示向量空间spanAspanAspanACspanAC)及其元素。

属性2:最小化器解决线性系统Ax=bA x = b。根据varphivarphi的唯一根条件,当A\_i^\\top x = b\_i对所有ii来说都是eqrefeq:opt的全局最小者。换句话说,全局最小者是线性系统eqref{eq:opt}的全局最小者。换句话说,全局最小者是线性系统A x = b$的解,根据欠规范假设,这个集合是非空的。

有了这些成分,我们可以在下面的定理中描述隐含偏差的特征。

基于梯度的方法从x_0x\_0开始,收敛到与x_0x\_0距离最小的解。更确切地说,假设基于梯度的方法的迭代结果收敛于一个解\eqref{eq:opt},让x_inftydefaslim_ttoinftyx_tx\_\\infty\\defas lim\_{t\\ to \\infty} x\_{t} 表示这个极限。那么x_inftyx\_{infty}就可以解决\begin{equation}\label{eq:minimal_traveling} x_{infty} = argmin_{x\in `RR^p} 。||x - x_0|| ~text{受制于 }A x = b `,.\end{equation}

我把证明分成两部分。第一部分描述了极限迭代x_inftyx\_{infty}的特征,第二部分则表明极限迭代解决了最小距离问题。

阐述极限迭代的特征。这里的主要论点是表明极限迭代属于两个仿生空间的交点,然后计算它们的交点。根据属性2,极限迭代必须解决线性系统Ax_infty=bA x\_{infty} = b。一个经典的线性代数结果指出,这个问题的所有解都是x+textcolorcolorcomplementcx + {textcolor{colorcomplement}c}的形式,其中xxAx=bA x = b的任何解,textcolorcolorcomplementcinspanACtextcolor{colorcomplement}{c \\ in \\spanAC}。让我们取x = textcolor{colorspan}{A^\\dagger b} - 其中^\\dagger表示矩阵伪逆 - 这样我们就有\begin{equation} x_{infty} = \textcolor{colorspan}{A^\dagger b} + {\textcolor{colorcomplement}c} 。\for some }\textcolor{colorcomplement}{c\in \spanAC},。\end{equation}让PP表示对spanAspanA的正交投影。然后我们可以将初始化分解为x_0=textcolorcolorspanPx_0+textcolorcolorcomplementIPx_0x\_0 =\\textcolor{colorspan}{P x\_0}+ textcolor{colorcomplement}{(I-P)x\_0}。根据第一个属性,所有的更新都在spanAspanA中,所以极限迭代可以写成:x_{equation} = textcolor{colorcomplement}{(I - P)x_0}。+ textcolor{colorspan}{a} \,, \text{ 对于一些}textcolor{colorspan}{a\ in \spanA}\,.\end{equation}结合前面两个方程,我们有{textcolor{colorcomplement}c}={textcolor{colorcomplement}{(I-P)x\_0}textcolor{colorspan}{a}={textcolor{colorspan}{A^dagger b}。因此,我们得出了这样的特征:begin{equation}\label{eq:limit_characterization} x_{infty} = \textcolor{colorspan}{A^\dagger b} + \textcolor{colorcomplement}{(I - P)x_0},。\end{equation}

极限迭代的距离最小。让x_starx\_{\\star}表示 \eqref{eq:minimal_traveling}的解,由于这个问题的强凸性,它是唯一的。我们的目标是证明x_star=x_inftyx\_{star\\}=x\_{infty}。由于x_starx\_\\star也是线性系统Ax_star=bA x\_\\star = b的解,所以我们必须有x_starx_infty的解。inspanACx\_\\star - x\_{infty}的解。\\in \\spanAC,因此begin{align}。\|x_{star} - x_0\| &=\|textcolor{colorcomplement}{x_{star} - x_{infty}}。+ x_{infty}- x_0\| &= \|textcolor{colorcomplement}{x_{star}- x_{infty}}.+ \textcolor{colorspan}{A^\dagger b} - \textcolor{colorspan}{P x_0}。\|&= sqrt{ \|textcolor{colorcomplement}{x_{star} - x_{infty}}。\^2 + \\textcolor{colorspan}{A^\dagger b} - \textcolor{colorspan}{P x_0}\|^2 }\,,\end{align} 其中最后一个特征是由正交性决定的。由于x_starx\_\\star能使距离x_starx_0|x\_{star}-x\_0\\|最小,我们必须有textcolorcolorcomplementx_starx_infty=0textcolor{colorcomplement}{x\_{star}-x\_{infty}}=0,所以x_infty=x_starx\_infty=x\_\\star

这个定理的一个直接后果是,当初始化x_0x\_0spanAspanA中时,那么它对spanACspanAC的投影是零,因此从Eq.eqref{eq:limit_characterization}我们有textcolor{colorspan}{x\_{infty}} = \\textcolor{colorspan}{A^\\dagger b}。这对应于最小规范解,所以我们有

在与定理相同的条件下,如果x_0inspanAx\_0\\in \\spanA,那么极限迭代x_inftyx\_{infty}可以解决最小法线问题\begin{equation}\label{eq:minnorm} x_{infty} = argmin_{x\in \RR^p}||x|| ~\texttext||x||| ~text{受制于}。A x = b \,.\end{equation}

关于证明

我一直没能找到这个证明的起源。我第一次看到这个论证是在Wilson的2017年的论文中,尽管他们并没有声称这个结果的新颖性。在Gunasekar等人2018年的2.1节中也有一个类似的论证。

**2022/02/17更新。**感谢在twitter上评论的所有人,我们可以追踪到这个结果的起源!。似乎最早的参考文献之一是Herman等人1978年的这篇论文,他为Kaczmarz方法推导了一个类似的结果。

鸣谢。感Vlad NiculaeBaptiste GoujaudPaul VicolLechao Xiao对这篇文章的反馈和报告错别字,以及在twitter上发表见解和相关参考文献的所有人。也请看Mathurin Massias关于这个问题的美丽的二元论。

参考文献