双层优化模型【简述】

1.模型理解
  • 双层规划问题就是指这种优化问题:目标函数中的一组变量被约束为另一优化问题的最优解;更简单来说,就是一个优化问题问题的参数受限于另一个优化问题,这两个问题相互影响。
2.数学定义

公式定义:
m i n θ , w θ F ( w θ , θ ) s u c h t h a t w θ ∈ m i n w L ( w , θ ) min_{\theta,w_\theta}F(w_\theta,\theta) \quad such \quad that \quad w_\theta \in min_wL(w,\theta) minθ,wθF(wθ,θ)suchthatwθminwL(w,θ)
其中

  • F ( w θ , θ ) F(w_\theta,\theta) F(wθ,θ):外部优化问题的目标函数
  • L ( w , θ ) L(w,\theta) L(w,θ):内部优化问题的目标函数
  • θ \theta θ:外部变量/超参数
  • w:内部变量

解释

  1. 针对上述公式,我们的最终目的其实是求 F ( W θ , θ ) F(Wθ ,θ) F(Wθ,θ)的最小值,但是它其中的一个参数 w θ w_θ wθ是关于另一个问题, L ( w , θ ) L(w,θ) L(w,θ)解的函数
  2. 上面的目标函数 F 和 L可以通俗理解为训练网络的时候,使用的损失函数,比如说网络预测值与真实值差值的平方和
  3. 在机器学习中,有一类应用是通过双层规划问题来优化超参数,超参数优化问题的基本思想是在给定一个度量标准的情况下,使用验证集构建一个超参数的响应函数(eg:验证集上的平均损失)
  4. 在2的这种情况下,一般外部目标函数 F ( W θ , θ ) F(Wθ ,θ) F(Wθ,θ)是基于验证集的,而内部目标函数 L ( w , θ ) L(w,θ) L(w,θ)是基于训练集的。这样设置的一个直观的解释是:内部目标函数通过采用训练集样本不断优化内部变量,也就是不断优化网络各层的参数w;而外部目标函数则通过验证集样本不断优化外部变量,也就是优化超参数。
3.一种求解思路

求解双层规划问题是比较困难的,因为内部优化问题一般是很难找到其闭合解(也成为解析解,即存在严格的公式,给定 x 就能求出 y )。一种求解双层规划问题的思路是:

  • 固定外层超参数,优化内层参数:将内部优化问题的求解看做是一个迭代优化的过程,使用梯度下降或者各类变体算法近似求解内层目标函数的解,及使用下列公式进行多次梯度下降优化w,假设经过T次梯度下降后,得到内层优化问题的近似解 W θ , T Wθ, T Wθ,T

    W t = Φ ( w t − 1 , θ ) = w t − 1 − η ∇ L ( w t − 1 , θ ) , t = 1 , 2 , 3 , . . . . , T W_t=\Phi(w_{t-1},\theta)=w_{t-1}-\eta \nabla L(w_{t-1},\theta),t=1,2,3,....,T Wt=Φ(wt1,θ)=wt1ηL(wt1,θ),t=1,2,3,....,T

  • 固定内层超参数,优化外层超参数:在获得内层近似解之后,针对外层也采用梯度下降优化超参数,计算外层目标函数对超参数θ的导数(公式3所示),然后更新超参数(公式4所示)

    ∇ θ F ( w θ , θ ) = α w F ( w θ , T , θ ) ∇ θ w θ , T + α θ F ( w θ , T , θ ) ( 3 ) θ = θ − η o u t e r ∇ θ F ( w θ , T , θ ) ( 4 ) \nabla_{\theta}F(w_\theta,\theta)=\alpha_wF(w_\theta,T,\theta)\nabla_{\theta w_\theta,T}+\alpha_\theta F(w_\theta,T,\theta) (3) \\\theta=\theta-\eta_{outer}\nabla_\theta F(w_\theta,T,\theta) (4) θF(wθ,θ)=αwF(wθ,T,θ)θwθ,T+αθF(wθ,T,θ)(3)θ=θηouterθF(wθ,T,θ)(4)

  • 上述两个过程一般会进行多次迭代,具体在不同的应用中可以设置不同的循环停止条件,例如根据early stopping,或者根据训练误差和验证误差的关系

4.参考资料

机器学习中的双层规划问题

你可能感兴趣的:(机器学习)