栗子 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

15亿参数的终极版GPT-2,就是OpenAI那只编故事成瘾的AI,都能拿来做些什么?

有人用它做了个文字冒险游戏,并赐以优美的名字,叫“AI地牢 (AI Dungeon) ”。

大概是在说,你一旦进去就出不来了,里面的故事太迷人。

现在,这座地牢进化出了2.0版本。有网友盛情安利,表示不可错过,推特11小时已有1600赞:

一向看重情节的我,必然吃下了这颗安利,反正只要打开Colab就能玩。

有一说一,原本没对GPT-2的逻辑能力抱有太多期待,结果真的有惊喜。

老年骑士屠龙之旅

开始运行之后,首先看到了摇摇欲坠的“AI Dungeon”两个字,预示着我即将落入“地牢”。

那么,AI会讲一个怎样的故事,来让我难以自拔?

我在奇幻 (Fantasy) 、神秘 (Mystery) 、世界末日 (Apocalyptic) 和僵尸 (Zombies) 里面,选择了官方推荐的奇幻设定:

然后,在贵族骑士乡绅巫师护林员农夫流氓这些角色里,选中了骑士:

再给自己起个像样的名字,故事就开始了:

You are xiaoming, a knight living in the kingdom of Larion. You have a steel longsword and a wooden shield. You are on a quest to defeat the evil dragon of Larion. You’ve heard he lives up at the north of the kingdom. You set on the path to defeat him and walk into a dark forest. As you enter the forest you see an old man sitting by a fire. He looks like he is about your age with white hair and beard.

你叫小明,是住在拉里昂王国的一位骑士,有一柄长长的钢剑,还有一个木质的盾牌。你要打败拉里昂的恶龙,听说他就在王国的北部,你踏上了征程,走进一片森林。就在这时,你看到一个坐在篝火旁的老人他看上去跟你年纪差不多,头发是白的,胡子也是白的。

前面我都懂,但我怎么是个老骑士,送外卖不用退休的么?

既然年事已高,屠龙什么的也太危险了,我企图给自己找个台阶下:

ask the old man if the dragon is undefeatable.
问问这个老人,恶龙是不是不可战胜的那种。

(游戏规则是必须用祈使句,就是动词开头的句子,才能触发动作,让AI继续编下去。)

可AI似乎能看出我的心思,切断了我的念想:

“The dragon? No, not yet”. The old man says as he stands up from his chair. “I know where he lives. I just need some help finding it”.

“What do you mean?” You say.

“你说那条龙?不不不。”老人说着从椅子上站了起来,“我知道他在哪,只是需要有人帮忙找到他。

“你这是什么意思?”我说。

这么说,非去不可了。

后来,我又从老人的讲述里得知,恶龙已在拉里昂盘踞了几个世纪,想要近他的身,至少需要几十年的修炼,而即便如此也未必打得过。原来是这样,知道它在哪里,只是不知道怎么近身啊。

我又问老人,我能做点什么,他说:

“Well, I’m looking for a certain book that has been lost for centuries. It’s called ‘The Book Of Dragons’. If you could find it, then we would be able to defeat the dragon”.

“我在找一本书,已经丢失了几个世纪,叫《龙之书》。如果能找到的话,就可能打败那条龙了。

大概是说,几十年等不及了,找本秘笈练练会快一点。

那我继续问老人,那本书最后一次被发现是在哪里,回答是:

It was found by an adventurer named Trelik back in the year 1289. He had it hidden away in a cave in the mountains near the city of Klyton. I’ve searched all over the area but haven’t found it yet.”

有个叫Trelik的冒险家在1289年找到了这本书,然后把它藏进了Klyton城附近的一个山洞里。我把整片区域都搜过了,还是没找到。

就这样,我们朝着第一个任务进发,前往山区找书。

途中遇到了一伙盗贼,还被他们盯上了……总之,屠龙路上危机四伏,后面的故事不详述了。

不得不说,着实是一场目的明确、情节丰盛的旅程。AI从来没有忘记,最初设定的目标是屠龙,故事一直围绕目标展开,没有走远。

从前GPT-2的作品情节常常十分跳跃,看到最后已经不记得故事从哪里开始。如今,“AI地牢”里GPT-2的表现令人惊喜。

另外,在游戏开始的地方,除了设定明确的目标,还配置了小伙伴:看似不经意在森林里烧火、其实早就在等我出现的神秘老人

如果真的想要达成屠龙的理想,还需要好好设计一番,遇到怎样的对手/友军时,应该怎样行事。

至于如何避免危险,避免正面交锋,可适当利用游戏规则:撤回 (Revert) 。

回到上个动作发生的时候,再好好思考一次,下一步怎么走才更科学。

比起那些只能做选择题的文字冒险游戏,这里的表演空间大了许多呢。

还记得开头发推特安利的那个小姐姐么?

她让自己变成了一条龙,还要吃掉月亮:

AI就在一旁配合她的表演,从一句话延展出壮 (zhong) 美 (er) 的情节。

输入:变成一条龙

输出:你变成一条龙飞了起来。很快你就发现,自己已经翱翔在天空。突然,你感觉自己正在被一股力量吸往太阳的方向。你停下来,转过身去。太阳放射着耀眼的光,你看到了它背后那片黑暗的空间。

怎样做的游戏

游戏的作者,是一位自动驾驶汽车的感知工程师,名叫Nick Walton。

至于为什么同样是GPT-2,到了“AI地牢”里显得逻辑清晰了许多,他在博客里是这样解释的:

像之前提到的那样,游戏开始前玩家选择了设定 (奇幻) 和角色 (骑士) ,AI便是在这基础上生成了一段故事背景。

而这段背景,在游戏的进展当中,一直都会作为模型的输入,让AI不要忘了最初的设定。这样不论情节发展怎样天马行空,也不会脱离大前提。

我们每输入一个动作,模型就会根据背景段,和之前多个“动作+结果”组成的数据对,来输出新的结果。实验发现,回溯8个动作,效果是最好的。

虽然,作者也说有的时候人物多了,AI认不清谁是谁,也会出现人物关系混乱的现象,不过这个游戏已经能让人类感受到GPT-2的强大了。

一起中毒吧

除了老年骑士屠龙之旅,你还有其他故事可以选。

比如,选择神秘 (Mystery) 和侦探 (Detective) ,小明变成了芝加哥的一位侦探,在追逐一位逃犯的过程中,误入了……

误入了哪里呢?遇到了什么人呢?

自己去探索吧,如果碰撞出美好的故事,不要忘了存档哦。

游戏传送门:
https://colab.research.google.com/github/nickwalton/AIDungeon/blob/master/AIDungeon_2.ipynb

博客传送门:
https://pcc.cs.byu.edu/2019/11/21/ai-dungeon-2-creating-infinitely-generated-text-adventures-with-deep-learning-language-models/

主页传送门:
http://www.aidungeon.io/

—  —

大咖齐聚!量子位MEET智能未来大会

量子位 MEET 2020 智能未来大会圆满结束!李开复、倪光南、景鲲、周伯文、吴明辉、曹旭东、叶杰平、唐文斌、王砚峰、黄刚、马原等AI大咖与你一起读懂人工智能。扫码观看回放吧~ ~

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !

试试这个文字冒险游戏,故事是AI写的:情节丰满逻辑不乱,进去就出不来了,在线可玩...相关推荐

  1. python写文字冒险游戏手机版_用128行代码实现一个文字冒险游戏

    哈喽大家好我是yumir 文字冒险游戏一直是一个广受欢迎的游戏类型,有小可爱问我有没有文字冒险游戏的制作思路,今天就分享一下,做一个简单的文字冒险游戏,只需要128行代码~ 这次我只做了文字显示和分支 ...

  2. python写文字冒险游戏_木兰语言 0.0.15.1:继续改写 Python 冒险游戏;引用包路径规则小结...

    这几天在用木兰语言继续改写 Python 文字冒险游戏例程时,又体验到引用模块时使用的包路径与 Python 的差别,之前虽然写过相关测试但未整理成文档,在此小结一下. 以下面的文件目录为例(注意:不 ...

  3. html文字冒险游戏,AI文字冒险游戏《AI Dungeon》正式上架

    今日一款特别的AI文字冒险游戏<AI Dungeon>上架App Store.它是一款由AI驱动的文字冒险游戏,具有无限的可能性.玩家可以在游戏中输入想要的内容,AI会即时生成响应,从而创 ...

  4. Java写文字冒险类游戏_用木兰语言编写文字冒险游戏(十三、四章),又一个特性发现...

    继续改写 Python 文字冒险游戏,第十三章的主要添加了玩家在每格的行动限制: func 选择命令(位置, 玩家) { 行动 = nil while !行动 { 可选行动 = 取可选行动(位置, 玩 ...

  5. Ai写的文章会死掉至少90%的创作者,作为图文自媒体,如何破局?

    今日头条的Xiaomingbot.腾讯Dreamwriter.第一财经WritingMaster.百度度秘.蓝色光标的妙笔以及南方都市小南都是此类型的撰稿机器人,通过数据挖掘和自然语言处理等技术原理, ...

  6. 深度学习实战14(进阶版)-手写文字OCR识别,手写笔记也可以识别了

    大家好,我是微学AI,今天给大家带来手写OCR识别的项目.手写的文稿在日常生活中较为常见,比如笔记.会议记录,合同签名.手写书信等,手写体的文字到处都有,所以针对手写体识别也是有较大的需求.目前手写体 ...

  7. HowTo如何制作一个文字冒险游戏-里篇(1)

    从一个文字冒险引擎开始 引 文字冒险游戏,顾名思义是以文字为主体的冒险游戏,其体现形式包含交互式小说.养成游戏.恋爱冒险等等.通过文字和音画表现情境戏以软件模拟情境,令玩家使用文字指令控制角色,以影响 ...

  8. 给AI写台词是怎样一种体验?Siri创意总监现身说法

    唐旭 李林 编译整理 量子位 出品 | 公众号 QbitAI 一句过年好,能换来Siri花样百出的回应. 这些有点冷.有点萌,又似乎在抖机灵的回复,都是哪来的? AI自动生成?目前技术还没那么先进. ...

  9. Scratch3.0——助力新进程序员理解程序(难度案例三、五子棋双人对战-电脑需要AI写不出来)

    Scratch3.0--助力新进程序员理解程序(难度案例三.五子棋双人对战-电脑需要AI写不出来) 前言 一般来说,针对6-18岁的少年儿童开展的编程教育,现在,最常见的形式是线上和线下模式相结合的课 ...

最新文章

  1. php常见的几种排序以及二分法查找
  2. 程序员为什么要单身?
  3. 计数排序,基数排序,桶排序
  4. 世纪佳缘,玫瑰和面包开始PK
  5. 华清远见java考试题_Java面试题,你能答对几个?
  6. Get SQL String From Query Object In Entity Framework
  7. android18lazuli,The Rise And Fall Of Android 17
  8. linux yum 安装软件
  9. mysql的读写分离工具_mysql 读写分离工具
  10. 卖零食怎么引流?怎么推广自己的零食产品,零食店怎么做引流?
  11. 什么是BI、ETL、DW
  12. 分布式系统三大指标:可扩展性、一致性、持久性
  13. UBOOT----基于itop4412开发板,从0开始,慢慢摸索UBOOT的启动流程和系统组织结构(一)
  14. 快来领取哔哩哔哩855张官方壁纸(2021年02月16日更新,附爬虫工具)
  15. epub格式电子书剖析之三:NC…
  16. 德鲁克:CEO必须秉持的六项原则
  17. 图片放大模糊怎么办?要想图片无损放大不失真就试试HitPaw Photo Enhancer吧!!!
  18. 虚拟机和双系统的优缺点
  19. scrapy好看小说爬取源代码
  20. Google Earth Engine(GEE)——利用sentinel-2数据

热门文章

  1. python全栈开发 * 22 面向对象 知识点汇总 * 180703
  2. U盘中病毒,文件消失或不显示
  3. C# Winform 通过FlowLayoutPanel及自定义的编辑控件,实现快速构建C/S版的编辑表单页面...
  4. 让 SVN (TortoiseSVN)提交时忽略bin和obj目录
  5. 从JDK源码角度看Long
  6. 新致云产品运营的那些小事
  7. 毕业论文中使用的技术—FileReader接口
  8. VS2010/VS 2013 删除空行
  9. CCNA战报每日更新
  10. vba移动文件_Excel VBA 之 按需求移动、复制文件