设为书签 Ctrl+D将本页面保存为书签,全面了解最新资讯,方便快捷。 您也可下载桌面快捷方式。点击下载 | 新浪科技 | 新浪首页 | 新浪导航

这个基于算法的读心小游戏,准确度会让你大吃一惊

2019-02-14 09:08:36    创事记 微博 作者: 硅星人   
机器学习现在也能读心了,AI算命还会远么(误机器学习现在也能读心了,AI算命还会远么(误

  欢迎关注“创事记”的微信订阅号:sinachuangshiji

  文/光谱

  来源:硅星人(ID:guixingren123)

  平时硅星人比较喜欢玩各种桌游。即便人不够,也可以玩成语接龙啊,猜东西之类的游戏。

  其中有一种文字游戏,大家一定玩过:你心里想一个东西,我来问你问题,你只能回答是或者否,最后我猜出你想的是什么东西。这个游戏一直不知道叫什么名字,因为经常限定18个问题内猜出来,所以也叫十八猜。

  这两天我在Reddit上发现,有人用机器学习的方法也开发了这样一个游戏。你来想,电脑来猜。而且还挺准,不少犄角旮旯的东西都能猜出来……

  这个游戏叫做 Incredicat。网址是 https://incredicat.com/home

  游戏里,AI扮演了一只小猫。它面对着一片海洋,海里有不断浮起和沉下的方块,看起来还挺有意境的。

  游戏的规则也很简单,你先心里想一个东西。它可以是日常工作生活中的物体,比如工具、食物或者交通工具,也可以是太空中的天体,基本上任何东西都可以。

  然后按下开始游戏的按钮:

  游戏会问你30个问题,你只需要回答肯定或者否定。如果你觉得这个问题无关,或者不太确定,游戏也提供了“不知道”、“没准”和“不大可能”另外三个选项。

  我想到的物体是“平角短裤”。前面几轮问题比较宽泛,主要是问人造与否、可否食用、颜色形状材质等等。在第十轮时,AI问到了“是不是服装”的问题。然后又经过了十几轮,最终问到了“穿着是否为了隐私”。然后在第26轮猜到了正确答案。

  我又想到了“瑜伽裤”,这次AI却不灵光了,先是在第15轮猜了“裙子”,第20轮猜了“裤子”,25轮猜到了“平角短裤”。结果30个问题问完了,仍然没有猜到。

  也可能瑜伽裤在裤子的门类里,太具体了?我决定用“避孕套”来考考它……

  前几个问题都很宽泛,但是出人意料,到了第十轮AI已经把“橡胶手环”作为最有可能的备选答案了(下图)——这两个东西的材质和形状都是一样的。

  结果这个问题刚问完,AI读条就读了至少半分钟,才给出了下一个问题“是否可以食用”。

  到了第13个问题,“避孕套”的可能性突然增高了。在第15轮,AI果然准确地猜出了答案……

  我还发现这个AI有些很有趣的地方。

  比方说,一般选手玩这个游戏主要坚持二分法,也就是将可能的答案尽量分成两个概率相等的区间,非是即否,在一个问题答案的子集里找下一个问题的答案,这样能够在最快速度内缩小正确答案的范围。

  然而AI的提问序列并不一定是这样的,具体来说就是一个问题的答案并不一定是前一个问题答案的子集。它经常已经给正确答案比较高的可能性了,下一个问题突然蹦到一个完全无关的门类或者区间里去了。比方说,刚回答了物体可食用,AI的下一个问题却问我“是否为家具”……

  但这样似乎并没有造成可观的影响,因为它可能是在用统计学的方法做排除,之后(只要还有问题剩余)都还会跳回来,此时它赋予正确答案的可能性更高了,会直接给出答案。

  有一次我想的是“黑洞”。AI已经非常确定是黑洞,又转而问我这个东西有没有多种颜色和形状,是否需要很多人运行,然后排除掉了“ArianaGrande”这个答案(我真不知道这两个答案有什么相似的……)。

  最有趣的还是这个AI如何猜谜的机制,其实你可以从画面中方块的变化一窥端倪。下图中,从“存在于宇宙”到“星球”再到天体的尺寸,AI不断地缩小了答案的范围,并且可能性越高的答案对应的方块越高,最高的答案呈现绿色。

另一个我觉得很有趣的地方时,第一个问题永远都是“这个东西是否为人造?”。另一个我觉得很有趣的地方时,第一个问题永远都是“这个东西是否为人造?”。

  但如果从一上来开始,所有的问题你都点不知道,那么这个AI会完全无法确定一个答案池,所以它面前就完全没有方块:

  这意味着1)你可以让它浪费提问机会2)你可以继续观察在这样的情况下,它的提问策略会不会有什么可以察觉出来的变化。

  我观察到它会重复提出问过的问题,毕竟人可以浪费回答,也有可能提供错误的答案。在我一通错答浪费了15个机会之后,它还是在10个问题以内成功猜出了“巨石阵”的答案。

  这个小游戏Incredicat的制作者是Reddit网友@twm7。遗憾的是,他只是在机器学习的板块发了一个很短的帖子,并没有留言继续介绍猜测的策略,以及更多游戏的机制。

  在过去,做这种猜谜的软件非常稀少,最有名的可能就是Akinator,采用的是决策树的机制。不过Akinator答题的范围有很大的限制,仅限虚构或真实的“知名人物”,比如文艺作品里的形象或者真实存在的政客、球星等。

  相比之下,Incredicat的答题范围大得多,而且它是一个在不断增长中的数据库。如果它没有猜出用户的答案,用户可以把物体的名字输进去,然后随意给几个描述,相当于成了一个众包的数据库(Akinator也有这样的设定)。

  从Incredicat视觉界面所透露出的线索来看,这个程序的主要机制应该也是决策树。Reddit网友猜测,它的背后可能是大量的决策树拼接而成的一个机器学习系统。

  虽然没有透露更多信息,游戏的作者倒是把一个知识图谱放在了网页上,点击左上角的菜单,再选择GRAPH就能看到了:

  这个知识图当中的每一个节点都是一个问题,与其他相关问题之间的连接,标有一个数字。硅星人斗胆猜测,这可能是向下一个问题转移的决策权重,比如在“是否为珠宝”这个问题上,相连的问题“是否用于时尚”的数值高达50,而“是否为矿物”的数值也有20。

  但这个机制也有个bug,在于问题之间的权重连接并不一定体现两个问题在真实世界里的逻辑关联。这或许是由训练数据不足所导致的。

  体现在游戏过程中,我看到在连续好几轮里AI都把我的正确答案当做可能性最高的答案,然而突然蹦出一个诡异的提问,把正确答案带偏了。

  还有一种状态是,我遭遇了好几次,就是第一个问题“是否为人造”不管怎么选,之后游戏都会卡死,第二个问题加载不出来。

  可能是这个游戏被更多人玩了,它在学习较短时间内输入的大量数据后,需要重新训练才能回到接近之前的状态。这让我想起之前一个视频,用神经网络迭代算法训练汽车,目标是不撞墙并通过赛道,可以看到需要大量的迭代才能得到一个正常的结果。可能Incredicat现在也处于这样的一个阶段吧。

  我们都知道现在的AI很厉害,能跟人辩论,能下围棋,也能在星际里把人虐翻。可以说,过去被认为计算机无法企及的游戏和竞赛,现在已经不是人类独占的高地了。

  在读心这件事上,AI其实已经做得非常好了。像Incredicat这样的游戏,并不一定需要最前沿的神经网络。利用决策树等相关的机器学习方法,加入一些回溯算法,应该可以比较有效地开发出来。

  Google做得微信小程序“猜画小歌”也是一个类似的游戏,用户随便画上几笔,它就能猜出画的是什么东西。

  它的背后是Google训练的循环神经网络。通过学习上千万份用户上传的手绘草稿(包括笔划和顺序),机器掌握了物体可能对应的形状。即便用户画的像鬼画符,AI也能猜出它是什么——毕竟它学习的素材,可能比用户画的糟糕多了……

  在你看来,Incredicat使用的是一种怎样的机制?还知道哪些游戏可以像这样,被AI改进?有没有开发过类似的小项目?欢迎留言跟我们分享。 

文章关键词: 网络文化

分享到:
保存   |   打印   |   关闭