纽约大学的科学家们开发了一个非常“好奇”的人工智能系统,桌游玩得相当不错。
在开始介绍他们的研究之前,我们先了解一下AI玩的桌游——《战舰》——是个怎样的游戏。
根据NYU科学家们的描述,这是一个由传统《战舰》改编而来的两人游戏,两名玩家分别有一个6×6方格组成的棋盘,每个方格都可以翻转,默认空白面朝上,翻过来就可以看见背面的颜色,如果相邻的方格颜色相同,就构成了一艘“战舰”。每块棋盘上随机分布着3艘战舰,颜色分别是蓝色、红色、紫色,宽度是1,长度分别是2、3、4,朝向可能是水平、垂直,除了战舰之外的方块是浅灰色的,代表“水”。
玩家能看到一个如上图b和c所示,部分方格已经翻转过来的棋盘,他们的目标就是靠问问题,尽快猜出对方“战舰”的大小、方向和位置。玩家问的问题必须能用1个词来回答,比如真/假、一个数字、一种颜色、一个坐标、行数、列数。以上面的图b为例,“红色和紫色的战舰相连吗?”就是一个很好的问题。
也就是说,要玩好这个游戏,关键是问出正确的问题。
介绍完游戏,回到我们的正题:能玩好《战舰》,也就是说他们的AI能够根据眼前的局势,用自然语言问出合适的问题。这是怎么做到的?
纽约大学这项研究的灵感来自认知心理学,所用的方法和当今大部分AI都不一样。他们的研究成果形成了论文Question Asking as Program Generation,作者是纽约大学研究生Anselm Rothe、助理教授Brenden M. Lake和副教授Todd M. Gureckis,即将发表在12月的NIPS 2017上。
在这项研究中,他们开发的算法将问题看做小型程序,算法从一些样例中学习,然后基于自己学到的东西,来构建自己的问题。
二作Lake说,探索世界上的信息时,人类和机器提问的能力有着巨大的差距。
因此,他们先让人类玩这个游戏,然后记录下人类玩家所提出的问题,然后将这些问题转换成概念组件,例如“蓝色的战舰有多长?”这个问题是关于长度的,“蓝色和红色战舰相连吗?”是关于位置的。
然后,科学家们用一种简单的编程语言将这些问题编码,建立一个概率模型,来找出哪个问题能够问出最有用的信息。这种方法论让这个AI系统能高效生成帮它赢得游戏的新问题。
现在大多数AI都是靠从大量样例数据中学习,但纽约大学的这个团队用了一种更依赖人工编程的方法。这个系统生成问题的方法更加系统,却甚至能够生成出人类想不到的问题。
几位科学家正在探索他们的技术能怎样让聊天机器人等对话式系统更有效,用起来不那么痛苦。比如说用在客服系统中,这个算法有希望通过问出正确的问题,更快帮客户解决他们的问题。
Lake说,让对话系统通过提出新问题来获取更有用的情报,能够让人机交互更胜利,让系统更有用、有趣。
更让人印象深刻的是,这个玩《战舰》游戏的程序能构建出“终极问题”,包含一系列的数学计算,比如将一艘战舰的长度加上另一艘战舰长度的10倍等等。对于人类来说,这样的问题肯定想不出来,也不太好回答,但是从答案反推,就能够算出整个棋盘的情况。
哈佛大学助理教授Sam Gershman的研究方向和这几位作者类似,也是开发由认知神经科学所启发的AI系统。他说,纽约大学的这项研究对于人类如何想出好问题也有深刻的观察。“首先,要抓住混乱的问题类型,你需要某种类型的语义合成性,第二,你需要用一组条件来衡量一个问题的相对优缺点。”
Gershman还说,人类的提问策略,似乎和系统所用的比较成功的方法很相似,会仔细评估问题的复杂度,来分散使用认知资源。
机器要想变得真正智能起来,它们必须对周围的世界有好奇心。问问题就是一个好开端。
Technology Review原文:https://www.technologyreview.com/s/609507/this-inquisitive-ai-will-kick-your-butt-at-battleship/
论文地址:https://arxiv.org/abs/1711.06351
— 完 —