优化与深度学习
优化与估计
尽管优化方法可以最小化深度学习中的损失函数值,但本质上优化方法达到的目标与深度学习的目标并不相同。
- 优化方法目标:训练集损失函数值
- 深度学习目标:测试集损失函数值(泛化性)
优化在深度学习中的挑战
- 局部最小值
- 鞍点
- 梯度消失
局部最小值
f
(
x
)
=
x
cos
π
x
f(x) = x\cos \pi x
f(x)=xcosπx
鞍点
A = [ ∂ 2 f ∂ x 1 2 ∂ 2 f ∂ x 1 ∂ x 2 ⋯ ∂ 2 f ∂ x 1 ∂ x n ∂ 2 f ∂ x 2 ∂ x 1 ∂ 2 f ∂ x 2 2 ⋯ ∂ 2 f ∂ x 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ 2 f ∂ x n ∂ x 1 ∂ 2 f ∂ x n ∂ x 2 ⋯ ∂ 2 f ∂ x n 2 ] 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] A=⎣⎢⎢⎢⎢⎢⎡∂x12∂2f∂x2∂x1∂2f⋮∂xn∂x1∂2f∂x1∂x2∂2f∂x22∂2f⋮∂xn∂x2∂2f⋯⋯⋱⋯∂x1∂xn∂2f∂x2∂xn∂2f⋮∂xn2∂2f⎦⎥⎥⎥⎥⎥⎤
在一个一阶偏导数为0的点上,若Hessian矩阵的特征值都为正数,则是局部最小值点;都为负数,为局部最大值点;有正有负,为鞍点。
例:下图,在一个方向上是局部最大值点,另一个方向上是局部最小值点。而其显然不是全局最小值,但一阶偏导数又为0,所以是一个鞍点。
梯度消失
函数值平稳,梯度很小,这样的函数会对梯度下降算法造成麻烦。
如图,初始点在最右边,往左移动很难移动,需要经过很长时间才会到达梯度较大的点。会让梯度下降算法进行得很缓慢。
凸性 (Convexity)
凸性对应到函数中就是凸函数。为什么研究凸函数——因为凸函数情境下,对算法的分析会比较简单
基础
集合的凸性
1-3 凸集合:对于集合内任意两个点,它的连线上所有的点都在集合内,则该集合是一个凸集合。
4-6 凸集合的交集仍然是凸集合。
7-8 两个凸集合的并不一定是凸集合。
函数的凸性
下图:是凸函数,不是凸函数,是凸函数
Jensen 不等式
∑ i α i f ( x i ) ≥ f ( ∑ i α i x i ) and E x [ f ( x ) ] ≥ f ( E x [ 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) i∑αif(xi)≥f(i∑αixi) and Ex[f(x)]≥f(Ex[x])
对于凸函数:函数值的期望>函数的期望值
凸函数的性质
- 无局部极小值
- 凸函数与凸集的关系
- 判定函数是凸函数的二阶充要条件
无局部最小值
反证:假设存在 x ∈ X x \in X x∈X 是局部最小值,则存在全局最小值 x ′ ∈ X x' \in X x′∈X, 使得 f ( x ) > f ( x ′ ) f(x) > f(x') f(x)>f(x′), 则对 λ ∈ ( 0 , 1 ] \lambda \in(0,1] λ∈(0,1]:
f ( x ) > λ f ( x ) + ( 1 − λ ) f ( x ′ ) f(x)>\lambda f(x)+(1-\lambda) f(x^{\prime}) f(x)>λf(x)+(1−λ)f(x′)
函数值的期望≥期望的函数值
λ
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)+(1−λ)f(x′)≥f(λx+(1−λ)x′)
则
f
(
x
)
>
f
(
λ
x
+
(
1
−
λ
)
x
′
)
f(x)>f(\lambda x+(1-\lambda) x^{\prime})
f(x)>f(λx+(1−λ)x′)
与f(x)是局部最小值矛盾
凸函数与凸集的关系
(如何从凸函数导出凸集)
对于凸函数
f
(
x
)
f(x)
f(x),定义集合
S
b
:
=
{
x
∣
x
∈
X
and
f
(
x
)
≤
b
}
S_{b}:=\{x | x \in X \text { and } f(x) \leq b\}
Sb:={x∣x∈X and f(x)≤b},则集合
S
b
S_b
Sb 为凸集
证明:对于点 x , x ′ ∈ S b x,x' \in S_b x,x′∈Sb, 有 f ( λ x + ( 1 − λ ) x ′ ) ≤ λ f ( x ) + ( 1 − λ ) f ( x ′ ) ≤ b f\left(\lambda x+(1-\lambda) x^{\prime}\right) \leq \lambda f(x)+(1-\lambda) f\left(x^{\prime}\right) \leq b f(λx+(1−λ)x′)≤λf(x)+(1−λ)f(x′)≤b, 故 λ x + ( 1 − λ ) x ′ ∈ S b \lambda x+(1-\lambda) x^{\prime} \in S_{b} λx+(1−λ)x′∈Sb
x和x’连线上的任意一点都在这个集合内,所以说是一个凸集。
反例:下图函数对应的集合是在下面投影的高线,f(x)<b比如是两个紫色的圆,是分离开的,显然不是凸集。
判定函数是凸函数的二阶充要条件
f ′ ′ ( x ) ≥ 0 ⟺ f ( x ) f^{''}(x) \ge 0 \Longleftrightarrow f(x) f′′(x)≥0⟺f(x) 是凸函数
必要性 ( ⇐ \Leftarrow ⇐):
对于凸函数:
1 2 f ( x + ϵ ) + 1 2 f ( 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) 21f(x+ϵ)+21f(x−ϵ)≥f(2x+ϵ+2x−ϵ)=f(x)
对于凸函数有函数值的期望大于等于期望的函数值,
故:
f ′ ′ ( x ) = lim ε → 0 f ( 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)=ε→0limϵϵf(x+ϵ)−f(x)−ϵf(x)−f(x−ϵ)
f ′ ′ ( x ) = lim ε → 0 f ( x + ϵ ) + f ( x − ϵ ) − 2 f ( x ) ϵ 2 ≥ 0 f^{\prime \prime}(x)=\lim _{\varepsilon \rightarrow 0} \frac{f(x+\epsilon)+f(x-\epsilon)-2 f(x)}{\epsilon^{2}} \geq 0 f′′(x)=ε→0limϵ2f(x+ϵ)+f(x−ϵ)−2f(x)≥0
充分性 ( ⇒ \Rightarrow ⇒):
令 a < x < b a < x < b a<x<b 为 f ( x ) f(x) f(x) 上的三个点,由拉格朗日中值定理:
f ( x ) − f ( a ) = ( x − a ) f ′ ( α ) for some α ∈ [ a , x ] and f ( b ) − f ( x ) = ( b − x ) 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} f(x)−f(a)=(x−a)f′(α) for some α∈[a,x] and f(b)−f(x)=(b−x)f′(β) for some β∈[x,b]
ps:拉格朗日中值定理函数上,a和x两点的斜率,等于a到x这段函数上某点的导数相等。
根据单调性,有 f ′ ( β ) ≥ f ′ ( α ) f^{\prime}(\beta) \geq f^{\prime}(\alpha) f′(β)≥f′(α), 故:
f
(
b
)
−
f
(
a
)
=
f
(
b
)
−
f
(
x
)
+
f
(
x
)
−
f
(
a
)
=
(
b
−
x
)
f
′
(
β
)
+
(
x
−
a
)
f
′
(
α
)
≥
(
b
−
a
)
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}
f(b)−f(a)=f(b)−f(x)+f(x)−f(a)=(b−x)f′(β)+(x−a)f′(α)≥(b−a)f′(α)
限制条件
有限制条件的函数如何完成优化的
minimize x f ( x ) subject to c i ( 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} xminimizef(x) subject to ci(x)≤0 for all i∈{1,…,N}
拉格朗日乘子法
L ( x , α ) = f ( x ) + ∑ i α i c i ( x ) where α i ≥ 0 L(\mathbf{x}, \alpha)=f(\mathbf{x})+\sum_{i} \alpha_{i} c_{i}(\mathbf{x}) \text { where } \alpha_{i} \geq 0 L(x,α)=f(x)+i∑αici(x) where αi≥0
惩罚项
欲使 c i ( x ) ≤ 0 c_i(x) \leq 0 ci(x)≤0, 将项 α i c i ( x ) \alpha_ic_i(x) αici(x) 加入目标函数,如多层感知机章节中的 λ 2 ∣ ∣ w ∣ ∣ 2 \frac{\lambda}{2} ||w||^2 2λ∣∣w∣∣2
投影
Proj
X
(
x
)
=
argmin
x
′
∈
X
∥
x
−
x
′
∥
2
\operatorname{Proj}_{X}(\mathbf{x})=\underset{\mathbf{x}^{\prime} \in X}{\operatorname{argmin}}\left\|\mathbf{x}-\mathbf{x}^{\prime}\right\|_{2}
ProjX(x)=x′∈Xargmin∥x−x′∥2
习题
-
优化方法的目标是最小化_____损失函数值,深度学习的目标是最小化_______损失函数值。 a
训练集,测试集
训练集,训练集
测试集,测试集
测试集,训练集________属于优化在深度学习中面临的挑战。 d
局部最小值
鞍点
梯度消失
以上都是以下对多维变量的鞍点描述正确的是:_______。 a
鞍点是对所有自变量一阶偏导数都为0,且Hessian矩阵特征值有正有负的点
鞍点是对所有自变量一阶偏导数都为0,且Hessian矩阵特征值都为0的点
鞍点是对所有自变量一阶偏导数有正有负,且Hessian矩阵特征值都为0的点
鞍点是对所有自变量一阶偏导数有正有负,且Hessian矩阵特征值有正有负的点假设A和B都是凸集合,那以下是凸集合的是:________。 a
A和B的交集
A和B的并集
A和B的交集和并集都是
A和B的交集和并集都不是有限制条件的优化问题可以用什么方法解决:_______。 d
拉格朗日乘子法
添加惩罚项
投影法
以上都是