
456
|
第
16
章
子视为单词序列,而不是字符。然后,我们将展示如何使用 RNN 来构建能够执行神经
机器翻译(NMT)的编码器
-
解码器架构。为此,我们使用 TensorFlow Addons 项目提
供的 seq2seq API。
在本章的第二部分,我们将研究注意力机制。顾名思义,这些是神经网络组件,可以学
习选择输入的一部分,模型的其余部分在每个时间步长应重点关注输入部分。首先,我
们将了解如何通过注意力机制来提高基于 RNN 的编码器
-
解码器架构的性能,然后我
们将完全放弃 RNN,研究一种非常成功的仅有注意力机制的架构,称为
Transformer
。
最后,我们介绍 2018 年和 2019 年 NLP 的一些最重要的进展,包括基于 Transformers
的功能强大的语言模型,例如 GPT-2 和 BERT。
让我们从一个简单而有趣的模型入手,该模型可以像莎士比亚那样写作。
16.1 使用字符 RNN 生成莎士比亚文本
在 2015 年著名的博客文章“ The Unreasonable Effectiveness of Recurrent Neural Networks ”
中,Andrej Karpathy 展示了如何训练 RNN 来预测句子中的下一个字符。然后可以将此
Char-RNN
用于生成新颖的文本,一次生成一个字符。这是 Char-RNN 模型经过莎士比
亚全部作品训练后生成的文本的一小部分样本:
PANDARUS:
Alas, I think he shall be come approached ...