TianciSays

这人很任性,他想说啥就说啥。微信公众号TIANCI SAYS。

深度学习算法真的能理解人类语言吗?自然语言生成程序OpenAI GPT-2的上手体验

發布於

# 太长不读

深度学习算法研发公司OpenAI在去年初公布了可直接读写自然语言的深度学习程序GPT-2。OpenAI在GitHub上公布了完整的GPT-2供所有人下载尝试。经过亲自尝试,我发现GPT-2确实表现惊人,但它理解自然语言的逻辑与人类的理解方式有着本质的不同。想要下载亲自尝试的话可尝试我写的GPT-2获取安装与使用教程


#1

如果你看过2013年的人工智能科幻电影《她》,你一定记得那个斯嘉丽配音,知性又体贴的人工智能女友萨曼莎。电影初期有个桥段,男主角面对十多篇需要校对的稿件十分头疼,于是他带上无线耳机寻求萨曼莎的帮助。稿件交给萨曼莎后,她二话不说一下子就完成了所有校对,不仅做的快还做的非常好。

剧情中的人工智能操作系统萨曼莎瞬间帮西奥多完成了文章校对工作

但毕竟《她》是个科幻电影,完美的人工智能女友萨曼莎也还没有出现(

😒)。在现实世界中,如何让计算机直接处理人类的自然语言一直是一个很难的挑战。剧情中萨曼莎所完成的文章校对工作,不仅需要用到对自然语言的理解能力,还需要知道如何使用最佳的措辞。而对于传统的程序来讲,要处理模棱两可的人类语言简直是不可能完成的任务。而美国的深度学习研发公司OpenAI在去年二月份时发布的GPT-2成了新的希望。未来的“萨曼莎”也许不能安抚你破碎的心,但她很快就能帮你写文章了。

OpenAI在2019年初公布了他们最新的深度学习研究成果——GPT-2。根据OpenAI公布的论文,GPT-2可以直接处理自然语言,做阅读理解题,缩写长篇文章等任务都已经做到了人类的平均水平。除了理解自然语言,GPT-2也能自己写文章,而写出的下文已经达到了以假乱真的程度。

下面这篇题为“科学家发现了独角兽”的假新闻报道是GPT-2的杰作之一(中文为谷歌翻译):

文中提到的theAndes Mountains是南美的一片山脉,而GPT-2生成的文章中所提到的拉巴斯大学(University of La Paz)中的拉巴斯就是南美玻利维亚的一个真实城市,而教授的名字也是南美人的名字


#2

去年GPT-2刚公布的时候,我就听说了这篇新闻报道。整篇报道读起来完全不像是机器写的,如果不是新闻标题说明了这是算法生成,我肯定不会怀疑这文章不是人写的。但我当时看过新闻后,扭头就没再研究它。

碰巧的是,这个月月初我在看一个UCL和DeepMind合办的深度学习公开课,其中有一课就提到了GPT-2,于是我就顺手搜索了一下。我读了OpenAI在公布GPT-2时发布的Blog,发现OpenAI早在去年11月份就在GitHub上上传了完整的GPT-2模型和用于生成文章的程序。

然后我就立刻打开了YouTube,输入关键字GPT-2 tutorial,回车搜索!果不其然油管上早就有不少如何安装使用GPT-2的教程了。虽然这些教程说的也不是很清楚,但是我一边翻看多个教程,一边参考GPT-2的开发者文档,花了一下午时间终于安装好了GPT-2。

亲自上手调试GPT-2真的是有特别有意思的一件事。OpenAI提供了两种使用GPT-2的方式,一种是无条件生成文章,内容完全随机,写什么全凭GPT-2心情。另一种是有条件生成,就是说GPT-2会以你的输入为前提,写出相应的下文。

前一种没太大意思,毕竟你没法掌控它的输出,我基本没怎么玩。但后一种方法,打开了无限种试验的可能。输入的内容没有限制,这就很有意思了,我试验了不少输入,下面是一些比较有意思的发现。

GPT-2“不懂”中文,但多少知道几句话

既然什么都能输入,那我肯定要试试中文输入了。不出所料,美国生的GPT-2不怎么懂汉语,写出来的东西完全是在胡言乱语。这也不难理解,训练GPT-2所用的数据库是以英文为基础的,中文并不在GPT-2的训练数据中。

GPT-2根据中文输入生成的中文……文章?

但有意思的是,如果你仔细看你就会发现,汉字词的出现并非像乱码一样是完全随机的。虽然整体来看上文不接下文,但字里行间都是正常的词语,说明它不是完全随机的。我查阅了GPT-2的论文,其中提到训练用的数据库,是通过网络爬虫搜集来的四千五百万网页链接组成的,这其中可能包含了一小小部分的中文内容。说明GPT-2并非不能在汉语环境应用,目前只是缺乏足够的训练而已。

GPT-2“知道”新闻要有来源链接才可信

七月初的时候爆出一个疼讯大老爷硬刚国民女神老干妈的瓜,大家在网上玩梗玩的不亦乐乎,我就以此为背景,编了一个很扯的假新闻,题为《特大新闻:老干妈核爆疼讯总部》,输入进GPT-2看它能写出什么花样来。

GPT-2在生成新闻文章时会编造假的来源链接

GPT-2生成出的文章并没有什么逻辑,毕竟GPT-2可能也不太了解谁是老干妈谁是疼讯。但让我震惊的是,在文章的最后,它竟然给出了新闻的来源网页链接!What?!难道GPT-2会查网页写参考吗?!我立刻点开了其中一个链接,果然是404,这些链接是GPT-2参照URL的普遍格式生成的假链接。

要知道GPT-2是通过“非监督学习(Unsupervised Learning)”训练出来的,也就是说没人告诉过GPT-2网页链接的格式是什么,一般链接会在什么类型的文章中出现,所有的这些完全是GPT-2通过“翻阅”45,000,000个网页内容学习总结出的规律。太让人惊讶了。

GPT-2有总结规律的能力,但却无法理解规律

我在输入文本中的每个字母间都加了一个空格

好吧,我承认这是有些为难GPT-2了。人看懂这句话并不是什么难事,虽然第一眼没法理解,但我们很快就能发现其中的规律——每个字母间都有一个空格。了解了规律后,我们很快就能读懂这句话。但我把这句话输入到GPT-2里后,我好像把它玩坏了。

输出的文章完全被打乱

首先,GPT-2立刻总结出了输入文字的规律——每个字母间有空格,所以它的所有输出几乎都是按照这个规律写的,每个字母间都加了空格。但是就内容而言,GPT-2已经不知道该怎么写了,尽管它总结出了规律,但它读不懂这一整句话。虽然生成的文字间可以看出几个单词,但完全组不成一句话。说明它只看出了规律,但却不理解。

UCL和DeepMind合办的公开课中就提到过GPT-2的工作原理。本质上说,GPT-2写东西,并不是像人一样脑子里抱着一个想法,然后把它写出来。GPT-2写东西,实际上是在不断地猜下一个词的概率。它其实不知道自己在写什么,它只知道下一个词这么写最符合它从数据库中学习到的规律。

GPT-2的理解是线性的,而人的理解是立体的。每个字母间插入的空格,打乱了GPT-2的理解能力。但人却能通过总结规律的方式,轻松的理解内容。说明GPT-2和人类处理文字的方式——或者说目的——有着本质的不同,就很有意思。


#3

在合理的使用下,GPT-2的出现绝对打开了无数种可能性的大门。从有建设性意义的角度讲,GPT-2(或者类似于GPT-2的深度学习程序)已经得到了善用。

我爱猪肉炖粉条!

比方说,当你使用谷歌搜索搜索一个问题的时候,谷歌会理解你的问题,并且总结出你可能需要的答案。这项工作就不止是关键词检索可以做到的了,谷歌搜索不仅要读懂你的问题,并且读懂你可能需要的答案,把你需要的部分总结并展示给你。这是传统程序想都不敢想的任务。

但从恶意利用的角度讲,虽然在完全认真的情况下,我们依稀可以识别出计算机生成的痕迹,但GPT-2所带来的可能性,是可以以极低的运算量大批量生成近乎逼真的文章,而人又不可能时刻保持百分之百的集中。当网络上充斥着无数机器生成的文章,谁又能一直保持警惕判断一个微博、一个评论、一个回复是不是真人写的呢?


#4

你觉得在你的工作领域,GPT-2可以得到什么样的应用?又或许,你的工作会不会最终完全被GPT-2所取代?欢迎留言讨论。如果你想亲自上手尝试一下GPT-2,可以在公众号内尝试我写的GPT-2获取下载与使用教程


#了解更多

为什么说GPT-2强,它强在哪里?带来的潜在危险又有哪些?——Computerphile(YouTube)

来自OpenAI开发者的想法,GPT-2 Blogs —— OpenAI

GPT-3,GPT-2的能力远非极限


原文在7月26号发布于我的微信公众号TIANCI SAYS,欢迎关注!


喜歡我的文章嗎?
別忘了給點支持與讚賞,讓我知道創作的路上有你陪伴。

CC BY-NC-ND 2.0 版權聲明
2

看不過癮?

一鍵登入,即可加入全球最優質中文創作社區