建设部职业资格注册网站,网站被降权如何恢复,DNF做钓鱼网站,凡科建站网站jax可微分编程的笔记(7)
第七章 优化算法
从优化理论的整体框架来看#xff0c;任何优化问题都可以被分解为 模型的建立#xff0c;损失函数的构造以及优化算法的选取这三个部分。 其中优化算法的具体形式#xff0c;又依赖于步长下降方向和终止条件 的选取。
对于多维函…jax可微分编程的笔记(7)
第七章 优化算法
从优化理论的整体框架来看任何优化问题都可以被分解为 模型的建立损失函数的构造以及优化算法的选取这三个部分。 其中优化算法的具体形式又依赖于步长下降方向和终止条件 的选取。
对于多维函数的极值问题如果参数间存在不等式形式的线性 约束我们可以使用著名的单纯形法加以求解。如果优化参数 间存在任意的非线性的不等式约束则还有增广拉格朗日乘子法 等算法可供选择。
7.1 下降算法概要
模型损失函数和优化器是优化问题的三个重要组成部分。 而下降算法是优化器的核心所在。
数学上的收敛性是算法正确的基本前提而终止条件则是 将数学讨论转化为程序代码的必要条件。
7.1.1 下降算法的数学表达
在深度学习中这里的待优化函数通常为经验风险函数或者是 带有正则项的结构风险函数。
在强化学习中人们基于环境给出的奖励来更新智能体的一系列 价值函数在物理学中由于任何实际体系都会自发地趋于能量最小 的状态这里的待优化函数同样可以是体系的能量参考第9章中 的案例在控制理论中待优化函数亦柯以是真值和设定值之间的 差距。
模型是一个含有待定参数的待优化函数。 损失函数用于判断一个模型是否能正确地刻画输入数据的规律。 优化器通过最小化损失函数确定模型中待定的参量。
7.1.2 步长的选择
选取学习率的条件有充分下降条件曲率条件沃尔夫条件 和强沃尔夫条件。
7.1.3终止条件的选择
下降算法常用的终止条件有最大迭代次数梯度大小绝对 优化量相对优化量。
上述4种可能的终止条件并不是相互独立的在实际的代码书写中 它们可以以任何合理的方式相互组合。
7.1.4 下降方向
负梯度是函数在当前的领域内下降最快的方向。 在绝大多数的情况下最速下降法和共轭梯度法会用于大型 稀疏矩阵线性方程组的迭代求解中。
7.1.5 共轭梯度法
共轭梯度法是对最速下降法的一种优化。在确定步长时 两者是一样的两者的不同之处在搜索方向的选取上。
7.2 一阶优化算法
对于一阶优化算法而言程序中只涉及对待优化函数一阶 导数的计算。算法有动量法自适应算法等。
7.2.1 动量法
当模型中的参数较多,即使尝试在每一步迭代时近似地确定 线搜索法的最优步长算法的计算代价也将显得过于高昂。 在大多数情况下如果仅根据函数f的局部性质而选取远大 于1的步长则在函数f本身的形式较为复杂时这样的优化 算法也显得过于激进出于这样的考虑在大多数描述步长的 超参数远小于1并令其取值在优化过程中尽量保持不变或者 改变较为缓慢
在上述的假设下大多数深度学习中的优化算法都能与一个 特定的动力学问题联系起来。
从数学角度来看动量法选用梯度在时间尺度上的泄漏平均值 来取代局域的梯度以执行参数的更新参数β在这里成为泄漏 平均值中的衰减因子。特别的在β0时动量法参数之间的递 推关系将退化为经典的梯度下降算法。
在概率论中如果体系未来的演化仅依赖于体系在当前时刻的 状态与体系演化的历史无关则称这样的过程具有马尔可夫性质。
例如对于中国象棋来说棋局未来走向与对弈双方达到当前局面 的走子方式无关因此中国象棋的棋局具有全局马尔可夫性质。 而对于围棋来说如果棋规要求“着子后不能使对方面临出现过的 局面”那么围棋的棋局不再具有马尔可夫性质。通常而言马尔 可夫性质对于随机过程来说是一个较强的假设。 7.2.2 自适应算法
动量法在对参数进行更新时对所有的参数采用相同的学习率 对一些常见的特征快速收敛对于不常见特征则迟迟无法收敛。 这种不平衡的问题催生出自适应次梯度法AdaGrad)
对AdaGrad而言凸优化问题上确实可以是有较好的表现的 遗憾的是实际问题中的大多数待优化函数通常是非凸的。 为了解决这个问题Geoff Hinton将指数滑动平均值引入 参数s的更新过程从而解决了学习率单调减小的问题与 相对应的优化器被称为RMSProp优化器Root Mean Square Propagation