宝石流云|梯度下降算法被高估了!了解有趣的无梯度神经网络优化方法
全文共3284字 , 预计学习时长9分钟
图源:unsplash
梯度下降算法于1847年因柯西(Cauchy)而问世 , Haskell Curry在1944年进一步将其阐述为非线性优化问题 。 到现在 , 梯度下降已用于从线性回归到深度神经网络的所有算法 。
在机器学习中 , 梯度下降法是最为重要的概念之一 。 给定一些要最小化的代价函数 , 该算法会以迭代方式采取最大向下斜率步骤 , 理论上经过足够的迭代次数后 , 便会得到一个最小值 。
如今 , 梯度下降及其反向传播形式的再次利用已成为机器学习最伟大的突破之一 , 但是 , 神经网络的优化仍未解决 。 网上有许多人尽其所能 , 极力宣称“梯度下降很糟糕” , 虽然可能有些言过其实 , 但梯度下降算法确实存在许多问题 。
· 优化器容易出现局部极小值问题 。 诚然 , 可以帮助优化器越过大坡的动量、随机梯度下降法 , 还有消除误差空间的批归一化都是很巧妙的解决方法 , 但局部极小值问题仍然是神经网络许多分支问题的根源 。
· 由于优化器深受局部极小值驱使 , 即便它极力摆脱后者 , 也要用很长时间 。 因收敛速度慢 , 梯度下降法通常十分冗长 , 即使是适应像批量梯度下降这样的大数据集之后也是如此 。
· 学习率决定优化器的可靠程度和风险度 。 学习率设置过高可能会导致优化器忽略全局最小值 , 而过低则会导致运行时崩溃 。 解决此问题需要设置随着衰减而变化的学习率 , 但是在决定学习率的许多其他变量中选择衰减率很困难 。
· 梯度下降对优化器的初始化尤为敏感 。 例如 , 优化器在第二个局部最小值而非第一个局部最小值附近进行初始化 , 则优化器的性能可能会更优 , 但这都是随机决定的 。
· 梯度下降需要梯度 , 这意味着除了无法处理不可微函数之外 , 还容易出现诸如梯度消失或梯度爆炸等梯度问题 。
当然 , 梯度下降已受到广泛研究 , 且有许多解决方案——其中一些是梯度下降变体 , 另一些基于网络架构——在某些情况下起作用 。 不能仅因为梯度下降被高估就意味着它不是现阶段可用的最佳解决方案 。 不过 , 使用批归一化来消除误差空间或选择复杂的优化器(如Adam或Adagrad)等并不是本文的重点 , 即使它们通常表现更好 。
相反 , 本文想要对更为模糊和确定的一些有趣优化方法进行一些有价值的说明 , 这些方法不符合基于梯度的标准要求 , 就像其他用于提高神经网络性能的技术一样 , 在特定任务中效果显著 , 但在其他时候效果不行 。 然而 , 不论这些方法在某个特定任务上的表现如何 , 它们都令人着迷 , 创造性十足 , 且是未来机器学习一个前景广阔的研究领域 。
粒子群优化粒子群优化(PSO)是一种基于群组的方法:定义一组探索搜索空间的“粒子” , 试图求解最小值 。 PSO基于一定的质量度量迭代地改进候选解 , 根据简单的数学规则移动一群潜在的解(“粒子”) , 如粒子的位置和速度 , 以此来解决问题 。
每个粒子的运动都会受到局部位置的影响 , 此局部位置是粒子本身找到的最优位置 , 但也会被搜索位置中最优越的位置(被其他粒子发现)吸引 。 理论上 , 粒子群经过数次迭代移动找到最佳解决方案 。
相较于神经网络 , PSO对初始化不那么敏感 , 且粒子间基于某些研究结果的通信交流证明它对搜索稀疏区和大面积区非常有效 。
推荐阅读
- 地牢|迷你世界如何获得远古宝石?地牢宝箱几率获取,这点很关键!
- 王者荣耀|王者S20辅助梯度排行:国服瑶独占一梯度,T1张飞成最值练习
- 青年|射手梯度排名更新,又一无解T0诞生,张大仙我愿称他为射手巅峰
- 宝石流云|迈入芯片强国吗?,中国光刻机明年可以达到世界较为先进的水平
- 宝石流云|麒麟9000断供在即,华为开发者大会憋大招,不止鸿蒙、HMS
- 宝石流云|被高估的一款vivo!双模5G+奥利奥四摄+4500mAh,沦为千元机
- 绝地养鸡王|魔兽怀旧服:双开恢复宝石成坏事,争执不断,第二件该如何拍?
- 宝宝游戏|搭配20级宝石,属性炸了!,梦幻西游手游:200级无级别装备
- 宝石流云|程序员:常用的 Iterator 中的迭代器模式
- 宝石流云|光影魔术手:免费、简单、易用、好用的图片处理软件
