优化与估计

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

  • 优化方法目标:训练集损失函数值
  • 深度学习目标:测试集损失函数值(泛化性)

    优化在深度学习中的挑战

  • 局部最小值

    • image.png
  • 鞍点
    • 一阶导和二阶导均为0的点
    • 一阶导为0,海塞矩阵的特征值有正有负
    • image.png
  • 梯度消失

    • image.png
    • 典型的有激活函数,RNN

      凸性 (Convexity)

      基础

      集合

      凸集:集合中任意两点的连线上的任意一点,都在集合内
  • 凸集的交集是凸集,并集不是

优化与深度学习 - 图4优化与深度学习 - 图5优化与深度学习 - 图6

函数

λf(x)+(1−λ)f(x′)≥f(λx+(1−λ)x′)

  • image.png
  • 任意两点的连线均高于两点内的函数曲线

    Jensen 不等式

    ∑iαif(xi)≥f(∑iαixi) and Ex[f(x)]≥f(Ex[x])

  • 函数值的期望>=期望的函数值

    性质

  1. 无局部极小值
  2. 与凸集的关系
  3. 二阶条件

    无局部最小值

    证明:假设存在 x∈X 是局部最小值,则存在全局最小值 x′∈X, 使得 f(x)>f(x′), 则对 λ∈(0,1]:
    f(x)>λf(x)+(1−λ)f(x′)≥f(λx+(1−λ)x′)

    与凸集的关系

    对于凸函数 f(x),定义集合 Sb:={x|x∈X and f(x)≤b},则集合 Sb 为凸集
    证明:对于点 x,x′∈Sb, 有 f(λx+(1−λ)x′)≤λf(x)+(1−λ)f(x′)≤b, 故 λx+(1−λ)x′∈Sb

    凸函数与二阶导数

    f″(x)≥0⟺f(x) 是凸函数
    必要性 (⇐):
    对于凸函数:
    12f(x+ϵ)+12f(x−ϵ)≥f(x+ϵ2+x−ϵ2)=f(x)
    故:
    f′′(x)=limε→0f(x+ϵ)−f(x)ϵ−f(x)−f(x−ϵ)ϵϵ
    f′′(x)=limε→0f(x+ϵ)+f(x−ϵ)−2f(x)ϵ2≥0
    充分性 (⇒):
    令 af(x)−f(a)=(x−a)f′(α) for some α∈[a,x] and f(b)−f(x)=(b−x)f′(β) for some β∈[x,b]
    根据单调性,有 f′(β)≥f′(α), 故:
    f(b)−f(a)=f(b)−f(x)+f(x)−f(a)=(b−x)f′(β)+(x−a)f′(α)≥(b−a)f′(α)

    限制条件

    优化与深度学习 - 图8

    拉格朗日乘子法

    Boyd & Vandenberghe, 2004
    L(x,α)=f(x)+∑iαici(x) where αi≥0

    惩罚项

    欲使 ci(x)≤0, 将项 αici(x) 加入目标函数,如多层感知机章节中的 λ2||w||2
  • SVM

    投影

    ProjX⁡(x)=argminx′∈X‖x−x′‖2
    优化与深度学习 - 图9

  • PCA