使用深度学习生成奇幻角色名字:从零开始构建语言模型

使用深度学习生成奇幻角色名字

语言模型能否创造独特的奇幻角色名字?让我们从零开始构建

来源:pixabay.com

要真正掌握语言模型(LM)的复杂性并熟悉其基本原理,没有比亲自动手编写代码更好的方式了。在本文中,我将介绍如何完全从零开始构建一个循环神经网络(RNN),而不借助任何深度学习库的帮助。

Tensorflow、Keras、Pytorch等库使构建复杂的深度神经网络变得轻而易举。毫无疑问,这对于机器学习从业者来说是一个巨大的优势,然而,这种方法的巨大缺点是让网络的运行方式变得不清晰,因为它们发生在“黑盒”内。

这就是为什么今天我们将通过仅使用Numpy Python库来构建一个语言模型的原因!

理解循环神经网络和语言模型

标准的全连接神经网络不适用于自然语言处理(NLP)任务,如文本生成。主要原因有:

  • 对于NLP任务,输入和输出可能采用不同的形式和维度。
  • 标准神经网络不同时使用在网络的不同步骤中学到的特征。

人工智能在NLP领域的主要突破无疑是由循环神经网络(RNN)代表的。

RNN是一类特别适用于NLP任务和文本生成的人工神经网络。它们之所以有效,原因在于它们能够捕捉数据中的序列依赖关系。人类语言在深度上依赖于考虑上下文并将句子中的第一个词与最后一个词联系起来。请考虑以下句子:

  1. 他说:“西奥多·罗斯福是美国总统。”
  2. 他说:“泰迪熊正在打折!”

在这两个句子中,单词“泰迪”有完全不同的含义。我们人类通过考虑上下文和词语来轻松理解这一点…