华为推出AI诗人“乐府”:唐诗宋词都不在话下

免责声明:本文是来自微信公众号的文章,来自微信公众的量子比特数(ID:QbitAI),作者:干出,业主转载授权发布。

理科学生是文学和艺术,可能没有文科学生这样的东西。

不信?你看看这个第一个七字四分音符:

看完之后,网友们说:

真的,押韵,意境和内涵都非常好。

不仅可以写诗,还有歌词,比如这个满江红:

而且,你也可以写藏文诗:

你能想象这是一个不懂得写诗的理工科学生的杰作吗?

但确实如此。

这些诗歌来自华为诺亚方舟实验室写的新诗“乐富”。

世界上有很多关注。

对于它的工作,有些人赞扬:

诗歌意义丰富,对作品不乏兴趣。该程序非常好,开发人员很喜欢

有些人“做事”,说:

一位歌手去了河的南边,在北方预订了几本书。莫道正红没有眼泪,他一年四季都在努力工作。我不相信这个人工智能是在没有北京大学中文系平均水平的情况下编写的。

甚至有人说,“李白会沉默,而杜甫会哭。”

当然,有些人指出了这个问题:

它非常整洁,但我觉得它们大多数都处于语法层面,而不是语义层面。略微缺乏一些灵魂。

还有一个“真理的真相”可以说出来:

人工智能很难学习辛弃疾的散文散文代码,老杜的沮丧和沮丧。问题不在于人工智能太强大,而是读者没有看到韵律诗中更复杂的技巧.

对于这些问题,华为诺亚方舟实验室的首席演讲和语义科学家刘群也在微博上回答了问题,揭示了这个人工智能背后的许多故事:

事实上,我们不懂诗歌。我们没有使用诗歌规则来训练这个系统。它完全由系统本身学习。

那么,这个人工智能是如何学习的?该论文已经发表。

与自由生成的文本不同,产生中国古代诗歌是一项挑战,通常需要正式和内容要求。

中国古代诗歌有各种形式,如五,七,五,七,满江红,西江月,水调头,以及对联,每个都有相应数量的词,押韵,和平等规定,对抗等;

内容很简单,但更难以思考:一首诗应围绕主题构建,内容必须连贯。

与大多数现有解决方案不同,华为的“Lefu”系统不需要任何手动规则或功能,也不设计任何其他神经元组件。

在整个研究中,需要做的是将训练诗序列化为格式化的文本序列作为训练数据。

然后通过对语言模型标记进行抽样,生成满足形式和内容要求的诗,例如绝句,诗句,单词和对联。

此外,他们还提出并实施了一种微调模型以产生藏文诗歌的方法。

这背后的能量来自GPT,这是OpenAI提出的预先训练的自然语言模型。核心思想是使用未标记的文本训练生成的语言模型,然后使用标记的数据根据特定任务对模型进行建模。微调。

乐府人工智能是第一个基于GPT的诗歌系统,它与谷歌的BERT密切相关。

整个GPT模型是在BERT源代码的基础上实现的。 Transformer大小的配置与BERT-Base的配置相同。还使用了标记化脚本和BERT中发布的中文词汇。

具体来说,培养诗歌生成模型的过程如下:

整个模型培训过程分为两个阶段:预培训和微调。

华为的GPT模式是通过中文新闻语料库进行预先训练的,然后通过收集公开的中国古代诗歌进行微调。

如上所示,样本诗首先被转换为格式化的序列。该序列由三个主要部分组成:格式,主题和诗歌,由标识符分隔。

在对联中,因为没有主语,句子是主语,第二个行为是主体。因此,当产生对联时,它成为给出上行链路并产生下行链路的模式,并且它也符合“配对孩子”的习惯。

整体数据集规模不小,中文预训新闻语料库有2.35亿句。微呼叫数据集有250,000绝句和律师,20,000字和700,000对对联。

在华为云上进行了预训练,使用8个NVIDIA V100(16G)GPU对4个回声进行了培训,总共花了90个小时。

微调的过程是将所有诗歌序列输入变形金刚并训练一个自回归语言模型。目标是最大化观察任何序列的概率:

微调过程不需要特别长的时间。如果训练时间太长,模型将倾向于在生成过程中直接使用语料库中的原始句子。

训练完成后,首先将要生成的诗的格式和主题转换为初始序列,然后将初始序列输入到模型中,然后通过令牌对诗歌部分的剩余字段进行解码。

在解码过程中,不使用硬约束来确保格式的正确性。相反,模型会自动将逗号和句点分配给特定位置。当令牌被识别为“EOS”时,解码过程结束。

并且,使用截断的top-k采样策略来获得不同的诗而不是捆绑搜索。具体地,每次对令牌进行采样时,首先选择具有最高top-k概率的令牌,然后从top-k Token中采样特定令牌。

他们说,即使采用截短的 top-k 抽样策略,生成的诗歌仍然是正确的形式。

——