优化与深度学习

优化与估计

尽管优化方法可以最小化深度学习中的损失函数值,但本质上优化方法达到的目标与深度学习的目标并不相同。

  • 优化方法目标:训练集损失函数值
  • 深度学习目标:测试集损失函数值(泛化性)
    《动手学——凸优化》笔记

优化在深度学习中的挑战

  1. 局部最小值
  2. 鞍点
  3. 梯度消失

局部最小值

f(x)=xcosπx f(x) = x\cos \pi x
《动手学——凸优化》笔记

鞍点

《动手学——凸优化》笔记

A=[2fx122fx1x22fx1xn2fx2x12fx222fx2xn2fxnx12fxnx22fxn2] A=\left[\begin{array}{cccc}{\frac{\partial^{2} f}{\partial x_{1}^{2}}} & {\frac{\partial^{2} f}{\partial x_{1} \partial x_{2}}} & {\cdots} & {\frac{\partial^{2} f}{\partial x_{1} \partial x_{n}}} \\ {\frac{\partial^{2} f}{\partial x_{2} \partial x_{1}}} & {\frac{\partial^{2} f}{\partial x_{2}^{2}}} & {\cdots} & {\frac{\partial^{2} f}{\partial x_{2} \partial x_{n}}} \\ {\vdots} & {\vdots} & {\ddots} & {\vdots} \\ {\frac{\partial^{2} f}{\partial x_{n} \partial x_{1}}} & {\frac{\partial^{2} f}{\partial x_{n} \partial x_{2}}} & {\cdots} & {\frac{\partial^{2} f}{\partial x_{n}^{2}}}\end{array}\right]

在一个一阶偏导数为0的点上,若Hessian矩阵的特征值都为正数,则是局部最小值点;都为负数,为局部最大值点;有正有负,为鞍点。

例:下图,在一个方向上是局部最大值点,另一个方向上是局部最小值点。而其显然不是全局最小值,但一阶偏导数又为0,所以是一个鞍点。
《动手学——凸优化》笔记

梯度消失

函数值平稳,梯度很小,这样的函数会对梯度下降算法造成麻烦。

如图,初始点在最右边,往左移动很难移动,需要经过很长时间才会到达梯度较大的点。会让梯度下降算法进行得很缓慢。
《动手学——凸优化》笔记

凸性 (Convexity)

凸性对应到函数中就是凸函数。为什么研究凸函数——因为凸函数情境下,对算法的分析会比较简单

基础

集合的凸性

1-3 凸集合:对于集合内任意两个点,它的连线上所有的点都在集合内,则该集合是一个凸集合。
4-6 凸集合的交集仍然是凸集合。
7-8 两个凸集合的并不一定是凸集合。
《动手学——凸优化》笔记
《动手学——凸优化》笔记
《动手学——凸优化》笔记

函数的凸性

下图:是凸函数,不是凸函数,是凸函数
《动手学——凸优化》笔记

Jensen 不等式

iαif(xi)f(iαixi) and Ex[f(x)]f(Ex[x]) \sum_{i} \alpha_{i} f\left(x_{i}\right) \geq f\left(\sum_{i} \alpha_{i} x_{i}\right) \text { and } E_{x}[f(x)] \geq f\left(E_{x}[x]\right)

对于凸函数:函数值的期望>函数的期望值

凸函数的性质

  1. 无局部极小值
  2. 凸函数与凸集的关系
  3. 判定函数是凸函数的二阶充要条件

无局部最小值

反证:假设存在 xXx \in X 是局部最小值,则存在全局最小值 xXx' \in X, 使得 f(x)>f(x)f(x) > f(x'), 则对 λ(0,1]\lambda \in(0,1]:

f(x)>λf(x)+(1λ)f(x) f(x)>\lambda f(x)+(1-\lambda) f(x^{\prime})

函数值的期望≥期望的函数值
λf(x)+(1λ)f(x)f(λx+(1λ)x) \lambda f(x)+(1-\lambda) f(x^{\prime}) \geq f(\lambda x+(1-\lambda) x^{\prime})


f(x)>f(λx+(1λ)x) f(x)>f(\lambda x+(1-\lambda) x^{\prime})
与f(x)是局部最小值矛盾

凸函数与凸集的关系

(如何从凸函数导出凸集)
对于凸函数 f(x)f(x),定义集合 Sb:={xxX and f(x)b}S_{b}:=\{x | x \in X \text { and } f(x) \leq b\},则集合 SbS_b 为凸集

证明:对于点 x,xSbx,x' \in S_b, 有 f(λx+(1λ)x)λf(x)+(1λ)f(x)bf\left(\lambda x+(1-\lambda) x^{\prime}\right) \leq \lambda f(x)+(1-\lambda) f\left(x^{\prime}\right) \leq b, 故 λx+(1λ)xSb\lambda x+(1-\lambda) x^{\prime} \in S_{b}

x和x’连线上的任意一点都在这个集合内,所以说是一个凸集。

反例:下图函数对应的集合是在下面投影的高线,f(x)<b比如是两个紫色的圆,是分离开的,显然不是凸集。
《动手学——凸优化》笔记

判定函数是凸函数的二阶充要条件

f(x)0f(x)f^{''}(x) \ge 0 \Longleftrightarrow f(x) 是凸函数

必要性 (\Leftarrow):

对于凸函数:

12f(x+ϵ)+12f(xϵ)f(x+ϵ2+xϵ2)=f(x) \frac{1}{2} f(x+\epsilon)+\frac{1}{2} f(x-\epsilon) \geq f\left(\frac{x+\epsilon}{2}+\frac{x-\epsilon}{2}\right)=f(x)

对于凸函数有函数值的期望大于等于期望的函数值,

故:

f(x)=limε0f(x+ϵ)f(x)ϵf(x)f(xϵ)ϵϵ f^{\prime \prime}(x)=\lim _{\varepsilon \rightarrow 0} \frac{\frac{f(x+\epsilon) - f(x)}{\epsilon}-\frac{f(x) - f(x-\epsilon)}{\epsilon}}{\epsilon}

f(x)=limε0f(x+ϵ)+f(xϵ)2f(x)ϵ20 f^{\prime \prime}(x)=\lim _{\varepsilon \rightarrow 0} \frac{f(x+\epsilon)+f(x-\epsilon)-2 f(x)}{\epsilon^{2}} \geq 0

充分性 (\Rightarrow):

a<x<ba < x < bf(x)f(x) 上的三个点,由拉格朗日中值定理:

f(x)f(a)=(xa)f(α) for some α[a,x] and f(b)f(x)=(bx)f(β) for some β[x,b] \begin{array}{l}{f(x)-f(a)=(x-a) f^{\prime}(\alpha) \text { for some } \alpha \in[a, x] \text { and }} \\ {f(b)-f(x)=(b-x) f^{\prime}(\beta) \text { for some } \beta \in[x, b]}\end{array}

ps:拉格朗日中值定理函数上,a和x两点的斜率,等于a到x这段函数上某点的导数相等。

根据单调性,有 f(β)f(α)f^{\prime}(\beta) \geq f^{\prime}(\alpha), 故:

f(b)f(a)=f(b)f(x)+f(x)f(a)=(bx)f(β)+(xa)f(α)(ba)f(α) \begin{aligned} f(b)-f(a) &=f(b)-f(x)+f(x)-f(a) \\ &=(b-x) f^{\prime}(\beta)+(x-a) f^{\prime}(\alpha) \\ & \geq(b-a) f^{\prime}(\alpha) \end{aligned}
《动手学——凸优化》笔记

限制条件

有限制条件的函数如何完成优化的

minimizexf(x) subject to ci(x)0 for all i{1,,N} \begin{array}{l}{\underset{\mathbf{x}}{\operatorname{minimize}} f(\mathbf{x})} \\ {\text { subject to } c_{i}(\mathbf{x}) \leq 0 \text { for all } i \in\{1, \ldots, N\}}\end{array}

拉格朗日乘子法

Boyd & Vandenberghe, 2004

L(x,α)=f(x)+iαici(x) where αi0 L(\mathbf{x}, \alpha)=f(\mathbf{x})+\sum_{i} \alpha_{i} c_{i}(\mathbf{x}) \text { where } \alpha_{i} \geq 0

惩罚项

欲使 ci(x)0c_i(x) \leq 0, 将项 αici(x)\alpha_ic_i(x) 加入目标函数,如多层感知机章节中的 λ2w2\frac{\lambda}{2} ||w||^2

投影

ProjX(x)=argminxXxx2 \operatorname{Proj}_{X}(\mathbf{x})=\underset{\mathbf{x}^{\prime} \in X}{\operatorname{argmin}}\left\|\mathbf{x}-\mathbf{x}^{\prime}\right\|_{2}
《动手学——凸优化》笔记

习题

  1. 优化方法的目标是最小化_____损失函数值,深度学习的目标是最小化_______损失函数值。 a

    训练集,测试集
    训练集,训练集
    测试集,测试集
    测试集,训练集

    ________属于优化在深度学习中面临的挑战。 d

    局部最小值
    鞍点
    梯度消失
    以上都是

    以下对多维变量的鞍点描述正确的是:_______。 a

    鞍点是对所有自变量一阶偏导数都为0,且Hessian矩阵特征值有正有负的点
    鞍点是对所有自变量一阶偏导数都为0,且Hessian矩阵特征值都为0的点
    鞍点是对所有自变量一阶偏导数有正有负,且Hessian矩阵特征值都为0的点
    鞍点是对所有自变量一阶偏导数有正有负,且Hessian矩阵特征值有正有负的点

    假设A和B都是凸集合,那以下是凸集合的是:________。 a

    A和B的交集
    A和B的并集
    A和B的交集和并集都是
    A和B的交集和并集都不是

    有限制条件的优化问题可以用什么方法解决:_______。 d

    拉格朗日乘子法
    添加惩罚项
    投影法
    以上都是

相关文章: