2018年10月11日星期四

人工智能包括约束求解器吗?

  以下是翻译Optaplanner创始人Geoffrey De Smet的一篇文章《Does A.I. include constraint solvers?》。
  因为英语及中文表达习惯的差异,以该博文发表示Optaplanner官网,其描述的问题及概念具有一定的上下文关联性;因此,为了认还不太熟悉Optaplanner的同学更容易理解,令文章更符合中文母语读者的阅读习惯,我并没有完全按字面生硬直译。其中添加了一些扩展性的意译,基本上能在脱离Optaplanner官网上下文情况下,一定程序上表达到Geoffrey的意思吧,有不正之处请大家多多指点。为谢!

  人工智能的寒冬已经过去,这几年以来,人工智能技术的关注点又出现了增长。不仅仅是我们这些人工智能方面的极客,商界也因看到了其潜力,而进行了投资。为了获得资本青睐,一些研究项目也被重新塑造,贴上人工智能技术的名头。那么,约束求解器能否也使用人工智能的标签呢?

历史小知识:第5代(计算机)计划

  近20年以来,人工智能是个不太受人待见的语汇,要了解其原因,我们需要回到1982年,当时日本决定大力投资第5代计算机 - 一个人工智能平台,将要超越现有的计算机,并打破IBM的垄断。作为应对与跟进措施,其它国家也启动了类似的计划,突然间,研究经费从天而降,引致80年代的人工智能热潮。
  最终计划还是失败了。尽管获得了近10年的资助,但第5代计划的研究中,几乎没有展示出任何实用的成果。之前的一些研究,包括:大数据,智能电话和更高速的计划机,均未达到可行。其它一些研究则完全无用。
  这些研究失败以后,在上世纪90年代及2000年代初,人工智能的概念被彻底败坏了,人们都认为人工智能是不可行的。技术开发界很快结束了他们的人工智能技术名头。约束求解器则加强了与运筹学的相关性;搜索引擎只扮演了一个简单的字典搜索功能;规则引擎则侧重于决策表方面的发展。这些领域都避免提及它们与人工智能相关。而神经网络研究是个例外。

 神经网络算法:一项技术吃通天下?

  过去几年间,神经网络算法令人工智能技术再次神奇起来。神经网络算法模拟我们大脑中的神经元(其实不如你想象那样).它是一个黑盒,可以将输入数据转换成你想要的输出数据,这功能主要通过多层神经网络的加总相乘算法实现。数十年来,这类算法均存在精度过低的问题,但近期兴起的大数据,及对更好反向传播算法的发现,此情况出现了翻天覆地的变化。其中后者使用了多层神经网络,神经网络层越多,则相当于实现了一种深度学习。
  时至今日,神经网络算法已经可以进行人脸和声音识别,若与其它人工智能技术(例如:极小极大算法,泽者注:一种博弈算法 )混合使用,这些程序甚至可以击败(象棋)世界冠军,听起来非常神奇。但终究到底,这些都属于模式识别问题;若面对其它(泽者注:非模式识别)问题,这些技术是处理不了的。例如,神经网络算法无法找到一条从罗浮宫到罗马斗兽场的最快路径,无法创建一套美国公路旅行指南

人工智能的正确应用

  神经网络并不是一种普适的人工智能算法, 也不是一种约束求解器或生产规则系统。就此而言,每一类算法,只能解决人工智能领域中的一些部分问题。这也许是一件好事:不存在哪一种算法会把自己训练成天网(译者注:电影《终结者》中的人工智能防御系统),进而对人类构成威胁。
  因此,通过智能软件去解决业务问题,需要根据具体用例来选择合适的算法:
theRightAIForTheJob
借用的原文图 

  但这(译者注:神经网络的模式识别局限性)并没有阻止学者们的尝试,有很多关于使用神经网络算法去解决车辆路线规划雇员排班的研究,只是其符合度还不如约束求解算法,例如:禁忌搜索法和模拟退火法。当有15%的行驶时间节省量时,为什么要满足于1%的节省量呢(译者注:在车辆路线规划案例中,通过约束求解算法能得到15%的行驶时间节省,为什么还要退而求其次,满足于神经网络算法得到的1%节省量呢)
  相反,约束求解算法却无法解决臭名昭著的关于热狗的图像识别问题。

所有的算法都可以产生智能吗?

  尽管计算1234乘以5678的结果并不容易,但我们并不认为这个计算方法是一种人工智能。同理,那些排序算法也不是人工智能,为什么呢? 
  也许是因为这些问题都不存在误差容限,但人工智能却存在,例如:你给出一张哈仕奇的图片,有人把它识别为狼;当你给出一个TSP问题,需要画出最短旅行路线时,人们会给出不同质量的确定性的结果集
  或者那些计算和排序算法是可以被人类理解得到的,这些算法并不是一个黑盒,它可以相当容易地知道,计算机是如何把输入数据,一个指令接着一个指令地转化为输出结果。

约束求解决器的求解又是怎样的一个动作过程呢?

  从历史上看,约束求解器(如Optaplanner)明显是运筹学的一个分支领域,同时也不能排除它属于其它领域(泽者注:约束求解器不仅仅属于运筹学领域).我认为约束求解器也可以纳入人工智能领域,不仅仅是一些论文和书刊如是说,主要是因为掌握约束求解器的应用案例,本身就是已经是一个复杂问题。无论是人类的规划师排出来的解决方案,还是特定算法得出来的解,其质量者具有巨大的不确定性。若给定一个足够大的数据集(译者注:问题数据集),是不可能找到一个绝对最优解的。此外,尽管现有的一些算法已有40年历史了,但研究 人员仍在寻找并发现一些新的算法。
  你觉得呢?约束求解器是不是人工智能的其中一个分支?

 如需了解更多关于Optaplanner的应用,请发电邮致:kentbill@gmail.com

没有评论:

发表评论

OptaPlanner 7.32.0.Final版本彩蛋 - SolverManager之批量求解

上一篇介绍了OptaPlanner 7.32.0.Final版本中的SolverManager接口可以实现异步求解功能。本篇将继续介绍SolverManager的另一大特性 - 批量求解。 适用场景 在日常的规划系统中,求解一个问题,绝大多数情况下,容许运行的时间较有限...