双层优化模型【简述】
1.模型理解双层规划问题就是指这种优化问题:目标函数中的一组变量被约束为另一优化问题的最优解;更简单来说,就是一个优化问题问题的参数受限于另一个优化问题,这两个问题相互影响。2.数学定义公式定义:minθ,wθF(wθ,θ)suchthatwθ∈minwL(w,θ)min_{\theta,w_\theta}F(w_\theta,\theta) \quad such \quad that \quad
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:内部变量
解释
- 针对上述公式,我们的最终目的其实是求 F ( W θ , θ ) F(Wθ ,θ) F(Wθ,θ)的最小值,但是它其中的一个参数 w θ w_θ wθ是关于另一个问题, L ( w , θ ) L(w,θ) L(w,θ)解的函数
- 上面的目标函数 F 和 L可以通俗理解为训练网络的时候,使用的损失函数,比如说网络预测值与真实值差值的平方和
- 在机器学习中,有一类应用是通过双层规划问题来优化超参数,超参数优化问题的基本思想是在给定一个度量标准的情况下,使用验证集构建一个超参数的响应函数(eg:验证集上的平均损失)
- 在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=Φ(wt−1,θ)=wt−1−η∇L(wt−1,θ),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.参考资料
更多推荐


所有评论(0)