令人着迷的无梯度神经网络优化方法

 

令人着迷的无梯度神经网络优化方法

文章插图
 
梯度下降是机器学习中最重要的思想之一:给定一些代价函数以使其最小化 , 该算法迭代地采取最大下降斜率的步骤 , 理论上在经过足够的迭代次数后才达到最小值 。柯西(Cauchy)于1847年首次发现 , 在1944年针对非线性优化问题在Haskell Curry上得到扩展 , 梯度下降已用于从线性回归到深度神经网络的各种算法 。
虽然梯度下降及其反向传播形式的重新用途已成为机器学习的最大突破之一 , 但神经网络的优化仍然是一个尚未解决的问题 。互联网上的许多人都愿意宣称"梯度下降很烂" , 尽管可能有些遥远 , 但梯度下降确实存在许多问题 。
  • 优化程序陷入了足够深的局部最小值中 。诚然 , 有一些聪明的解决方案有时可以解决这些问题 , 例如动量 , 它可以使优化器在大山丘上行走 。随机梯度下降;或批量归一化 , 从而平滑错误空间 。但是 , 局部最小值仍然是神经网络中许多分支问题的根本原因 。

令人着迷的无梯度神经网络优化方法

文章插图
 
  • 因为优化器对本地极小值很感兴趣 , 所以即使设法摆脱它 , 也要花费很长时间 。梯度下降法通常是一种冗长的方法 , 因为它的收敛速度慢 , 即使对大数据集(如批梯度下降法)进行了调整也是如此 。
  • 梯度下降对优化器的初始化特别敏感 。例如 , 如果优化器在第二个局部最小值而不是第一个局部最小值附近初始化 , 则性能可能会好得多 , 但这都是随机确定的 。
  • ·学习率决定了优化器的信心和风险 。设置过高的学习率可能会导致它忽略全局最小值 , 而过低的学习会导致运行时间中断 。为了解决这个问题 , 学习率随着迭代衰减 , 但是在许多指示学习率的变量中选择衰减率是困难的 。
  • 梯度下降需要梯度 , 这意味着它除了无法处理不可微的函数外 , 还容易出现基于梯度的问题 , 例如消失或爆炸的梯度问题 。
当然 , 已经对梯度下降进行了广泛的研究 , 并且提出了许多建议的解决方案 , 其中一些解决方案是GD变体 , 而其他解决方案是基于网络体系结构的 。仅仅因为梯度下降被高估了并不意味着它不是当前可用的最佳解决方案 。即使使用批处理规范化来平滑错误空间或选择复杂的优化器(如Adam或Adagrad) , 这些通用知识也不是本文的重点 , 即使它们通常表现更好 。
取而代之的是 , 本文的目的是向一些晦涩难懂的确定性有趣的优化方法提供一些理所应得的信息 , 这些方法不适合基于梯度的标准方法 , 该方法与任何其他用于改善该方法性能的技术一样 。神经网络在某些情况下表现特别出色 , 而在其他情况下则表现不佳 。无论他们在特定任务上的表现如何 , 他们对于机器学习的未来都充满着魅力 , 创造力和充满希望的研究领域 。
令人着迷的无梯度神经网络优化方法

文章插图
专栏
深度学习入门系列讲解
作者:AI火箭营
168币
357人已购
查看粒子群优化PSO【令人着迷的无梯度神经网络优化方法】粒子群优化是一种基于种群的方法 , 它 定义了一组探索搜索空间并试图寻找最小值的"粒子" 。PSO相对于某个质量指标迭代地改进了候选解决方案 。它通过拥有大量潜在的解决方案("粒子")并根据简单的数学规则(例如粒子的位置和速度)移动它们来解决该问题 。每个粒子的运动都受到其认为最佳的局部位置的影响 , 但也被搜索位置(由其他粒子找到)中最知名的位置所吸引 。从理论上讲 , 该群体经过多次迭代以求出最佳解决方案 。
令人着迷的无梯度神经网络优化方法

文章插图
资料来源:维基
PSO是一个有趣的想法-与神经网络相比 , 它对初始化的敏感度要低得多 , 并且在某些发现上的粒子之间的通信可能被证明是一种搜索稀疏和大面积区域的非常有效的方法 。


推荐阅读