根据各种百科的解释,智能算法是指在工程实践领域中新颖的算法或理论,这样的解释并没有详细说明到底什么是智能算法。但是根据大家约定俗成,智能算法一般指处理最优化问题的元启发算法。
这一节,将根据文献及笔者知识来进行逐步介绍智能算法相关概念。
简单直观来说,最优化问题就是在一个给定环境内找到最优解的方法。例如下图,有无数局部最优点(蓝色点),如何找到最优解(红色点)就是一个最优问题。
好了首先,我们先认真了解一下什么叫最优化问题,最优化是指在一定限制条件下用一定策略使目标达到最优的方法。工程与学术界大量存在着NP-hard问题(可以简单理解为多项式时间内没有确定的解),因此需要用用一些方法来求出最优解或者近似最优解。通常包括以下几个大类的算法处理最优化问题。
- 梯度下降法:目前大量用于神经网络之中,其思想为:利用当前位置的负梯度方向搜索,该方向为最快下降位置。该方法不能保证最优解,亦不能保证速度最快。
- 牛顿法: 利用泰勒级数来寻找的解,速度最快。
- 拟牛顿法:改善牛顿法,利用正定矩阵来近似Hessian矩阵逆。
- 启发式算法:在可接受时间空间内提供近似最优解或者最优解的策略总称,一般依赖特点问题环境,在对问题环境缺乏认知情况下有较优结果。
- 元启发式算法:不针对特定环境或问题,通用式的寻优策略,基本上也就是常规理解的智能算法。
这里顺便简单谈论下为什么当下流行的神经网络不使用元启发算法作为optimizer(优化器)的原因。
- 元启发算法需要额外大量计算时间寻优,无法满足神经网络速度需求。因为在元启发算法中寻优过程是通过不断迭代构成的,每次迭代每个individual/population(个体)通过一定规则或者概率分布迫近(移动)至最优解或者近似最优解周末。经过一定数量的迭代移动后,可以达到最优或者近似最优解周末。整个过程需要多次迭代,如果神经网络使用,会大大增加搜索时间,所以不适宜。然而,梯度下降方法可以通过数学计算快速更新权重偏移。
- 元启发算法对问题维数敏感(sensitive to dimensions),问题维数增加整体运算复杂度大幅增加,不利于神经网络复杂运算环境。反观梯度下降方法,对维度不敏感(dimension free)。
但是对比梯度下降方法,元启发也有很多优势,比如梯度下降有以下问题,
- 学习速率的问题,太快会较难收敛,太慢会导致寻优太慢。
- 同时当面对复杂的搜索地形时,会出现“来回摆动”,在马鞍面(saddle)会出现梯度为0的问题。
- 对初始条件敏感,如果初始条件很好快速收敛,但是初始条件不好可能会不能收敛。
- 对比元启发算法更容易陷入局部。
尽管工业及学术界进行了大量努力,推出了动能,RMSProp,Adam等等各种方法解决问题,但是也仅仅提升部分性能,根本问题较难解决。
好了,回归正题,继续介绍智能算法,对于智能算法的分类,学术界众说纷纭,没有统一的标准,有的根据问题来分类,例如:单目标,多目标,multimodal(多模)。有的根据算法类型来分,例如:进化策略,多种群。有的根据搜寻类型,例如:local-based(局部搜索),global-based(全局搜索),hybrid(混合搜索)。本文采用Ojha's [1]的研究来进行分类。
- Single solution based algorithms(单解算法):此类算法仅运行一个目标解,其中Simulated annealing(SA模拟灭火)算法及Tabu算法为代表。
- population based algorithms(多解算法):此类算法在每一此迭代都会同时运行多个解,此类算法目前为主流,大多数流行算法都属于该类。它还有两个子类分别是:
- 进化算法:根据进化理论而来的,包括genetic algorithm(GA遗传算法),Differential evolution algorithm(DE差分算法)等。这类算法通常通过引导解进行不断的选择,交叉,变异等变化来保留较优后代解,去除较差的后代解。
- 群智能算法:模仿动物种群移动捕食等行为来进行搜索。Particle swarm optimization(PSO)和Ant colony optimization(ACO)为著名算法。这个分类产生了大量算法,但是大体都是一致的。由全局搜索(global exploration)加上局部寻优(local exploitation)构成。全局寻优时,采用不同的概率分布加上已有信息产生新的局部搜索范围,在局部寻优时,强化局部搜索以达到寻找最优解的目标。
- 其他类型:还有些算法既不属于单解也不属于单解的被划分于此类,例如harmony algorithm。
智能算法目前广泛运用于工业界问题也大量被学术界研究,著名运用包括处理0、1背包,TSP路径规划,weld beam 工程优化等。随后会逐步讲解。
参考:
[1] V. K. Ojha, A. Abraham, V. Sná?el, Metaheuristic design of feedforward neural
networks: A review of two decades of research. Engineering Applications of
Artificial Intelligence (2017), 60, 97-116.
本文暂时没有评论,来添加一个吧(●'◡'●)