人工智能的目标是最优化:在复杂环境和多体交互中做出最优决策。

最优化理论研究的问题是给定的目标函数的最大值(最小值)是否存在,并找到令目标函数取到最大值(最小值)的数值。 如果把给定的目标函数看成连绵的山脉,最优化的过程就是判断顶峰的位置并找到到达顶峰路径的过程。 大多数最优化问题都可以通过使目标函数$f(x)$最小化解决,最大化问题则可以通过最小化$−f(x)$实现。 在人工智能和深度学习的应用场景下,只要目标函数的取值足够小,就可以把这个值当作全局最小值使用,作为对性能和复杂度的折中。

根据约束条件的不同,最优化问题可以分为无约束优化约束优化两类。无约束优化对自变量 x 的取值没有限制,约束优化则把 x 的取值限制在特定的集合内,也就是满足一定的约束条件。

线性规划就是一类典型的约束优化,其解决的问题通常是在有限的成本约束下取得最大的收益。约束优化问题通常比无约束优化问题更加复杂,但通过拉格朗日乘子的引入可以将含有$n$个变量和$k$个约束条件的问题转化为含有$(n+k)$个变量的无约束优化问题。

求解无约束优化问题最常用的方法是梯度下降法。直观地说,梯度下降法就是沿着目标函数值下降最快的方向寻找最小值,就像爬山时要沿着坡度最陡的路径寻找山顶一样。在数学上,梯度的方向是目标函数导数的反方向。

如果将二阶导数引入优化过程,得到的典型方法就是牛顿法。在牛顿法中,目标函数首先被泰勒展开,写成二阶近似的形式(相比之下,梯度下降法只保留了目标函数的一阶近似)。此时再对二阶近似后的目标函数求导,并令其导数等于 0,得到的向量表示的就是下降最快的方向。相比于梯度下降法,牛顿法的收敛速度更快。

不管是利用一阶导数的梯度下降法,还是利用二阶导数的牛顿法,其寻找最小值点的基本思想都是先确定方向,再确定步长,因而统称为线性搜索方法

还有一类算法,其寻找最小值点的基本思路是先确定步长,以步长为参数划定一个区域,再在这个区域内寻找最快下降的方向。这类算法被称为置信域方法

相对于传统的基于数学理论的最优化方法,启发式算法显得返璞归真。启发式算法的核心思想就是大自然中”优胜劣汰”的生存法则,并在算法的实现中添加了选择和突变等经验因素。

启发式算法的核心思想就是大自然中”优胜劣汰”的生存法则,并在算法的实现中添加了选择和突变等经验因素。事实上,搜索越多并不意味着智能越高,智能高的表现恰恰是能够善用启发式策略,不用经过大量搜索也能解决问题。启发式算法的实例包括模拟生物进化规律的遗传算法、模拟统计物理中固体结晶过程的模拟退火算法、模拟低等动物产生集群智能的蚁群算法等。


宝贝


乌托邦

xl

Stay hungry, Stay foolish.