- Artificial Neural Network Tutorial
- Artificial Neural Network - Home
- Basic Concepts
- Building Blocks
- Learning & Adaptation
- Supervised Learning
- Unsupervised Learning
- Learning Vector Quantization
- Adaptive Resonance Theory
- Kohonen Self-Organizing Feature Maps
- Associate Memory Network
- Hopfield Networks
- Boltzmann Machine
- Brain-State-in-a-Box Network
- Optimization Using Hopfield Network
- Other Optimization Techniques
- Genetic Algorithm
- Applications of Neural Networks
- Artificial Neural Network Resources
- Quick Guide
- Useful Resources
- Discussion
其他优化技术
迭代梯度下降技术
梯度下降,也称为最速下降,是一种寻找函数局部最小值的迭代优化算法。在最小化函数的同时,我们关心的是要最小化的成本或错误(记住旅行商问题)。它广泛用于深度学习,在多种情况下都很有用。这里要记住的一点是我们关心的是局部优化而不是全局优化。
主要工作思路
我们可以通过以下步骤来理解梯度下降的主要工作思想 -
首先,从对解决方案的初步猜测开始。
然后,求该点函数的梯度。
随后,通过在梯度的负方向上步进解决方案来重复该过程。
按照上述步骤,算法最终会在梯度为零的地方收敛。
数学概念
假设我们有一个函数f(x),并且我们试图找到该函数的最小值。以下是查找f(x)最小值的步骤。
首先,为 x$ 提供一些初始值 $x_{0}
现在取函数的梯度 $\nabla f$ ,直觉上梯度将给出x处曲线的斜率,其方向将指向函数的增加,找出使其最小化的最佳方向。
现在更改 x 如下 -
$$x_{n\:+\:1}\:=\:x_{n}\:-\:\theta \nabla f(x_{n})$$
这里,θ > 0是迫使算法进行小跳跃的训练率(步长)。
估计步长
实际上,错误的步长θ可能无法收敛,因此仔细选择步长θ非常重要。选择步长时必须记住以下几点
不要选择太大的步长,否则会产生负面影响,即会发散而不是收敛。
不要选择太小的步长,否则需要很长时间才能收敛。
关于选择步长的一些选项 -
一种选择是选择固定步长。
另一种选择是为每次迭代选择不同的步长。
模拟退火
模拟退火 (SA) 的基本概念源自固体退火。在退火过程中,如果我们将金属加热到其熔点以上并冷却,那么结构性能将取决于冷却速率。我们也可以说SA模拟了退火的冶金过程。
在人工神经网络中的使用
SA 是一种随机计算方法,受退火类比启发,用于逼近给定函数的全局优化。我们可以使用SA来训练前馈神经网络。
算法
步骤 1 - 生成随机解决方案。
步骤 2 - 使用一些成本函数计算其成本。
步骤 3 - 生成随机相邻解决方案。
步骤 4 - 通过相同的成本函数计算新的解决方案成本。
步骤 5 - 将新解决方案与旧解决方案的成本进行比较,如下所示 -
如果新解决方案的成本<旧解决方案的成本,则转向新解决方案。
步骤 6 - 测试停止条件,这可能是达到的最大迭代次数或获得可接受的解决方案。