2018/12/25
导言
长久以来,没事翻看人工智能的书籍[1]的时候或者观看人工智能的教学视频时,开头的部分都是从搜索问题开始讲起,这一度让我很疑惑。本身对AI并不是非常理解,一直以为,人工智能应该是讲授机器如何思考的。本篇随笔通过学习几篇谷歌到的文章,来解答这个疑问。
AI的误解
首先来说,我对AI有很大的误解,这个误解导致了我在看AI的书的时候,就会产生这样的疑问。来看一下,教材[1]是如何放置搜索算法于AI的。
从图1中可以看出,搜索算法是以解决问题的一种方式提出的。从整体上来说,AI涉及范围非常广泛。就比如说,下棋这件事,最开始的时候,这个名词好像和AI没什么关系,除非非要与机器人进行下棋比赛。
我觉得,AI的核心就是在于解决问题。通过将现实世界中的问题,通过抽象的技术输入到计算机中,利用某种算法达到最终的目标,如图2。
问题的抽象
有一种问题的抽象形式非常贴合现实生活中很多随机事件的模型,“状态空间”[3]。一个解决问题的过程,就是在不断地状态转移,通过定义搜索空间,利用一定的算法,达到最终的状态。甚至梯度下降也是一种搜索的过程,如图3。搜索问题作为一种基于目标的解决问题的方案,是AI中很重要的一部分[6]。
按照我当前看了这么多的文章的理解,平时接触机器学习比较多,虽然搜索算法在这个过程中并没有起到非常重要的作用,机器学习也可以作为一种搜索框架下的算法[4]。本质上,我们很多时候都是在做决策的过程,我们需要通过各种状态,各种环境的输入,来觉得最终的动作,来实现最优的解。在这个过程中,我们需要理解问题的解空间,然后利用算法来实现,在有限的条件限制下,在求得最优解。这样来解释,就更容易说得通了。
另外一篇文章AI中的搜索算法[5],将问题的求解过程更系统化的进行了描述,可以深入了解一下;当然,为了更深入学习这部分内容,还是看书比较好[1]。
PS:其实我觉得搜索算法能称为AI中很重要的一部分,可能更当时最开始的研究有关,当初图灵提出了将下棋作为AI中的一部分,就决定了搜索算法作为一种解决方案。(个人看法)
参考文献
[1]S. J. Russell, P. Norvig, and E. Davis, Artificial intelligence: a modern approach, 3rd ed. Upper Saddle River: Prentice Hall, 2010.
[2]为什么在AI课程引论中只讲搜索算法
[3]为什么搜索在AI中这么重要
[4]“why machine learning works.”
[5]AI中的搜索算法
[6]通过搜索解决问题