跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
LED灯珠捷比信 · 专业器件主题站

RNN在自然语言处理中的应用

本文摘自“深度学习简介:PyTorch”。本书从介绍人工智能开始,了解机器学习和深度学习的基本理论,并学习如何使用PyTorch框架构建模型。对于人类而言,他们之前所见的事物会在他们的脑海中留下记忆,尽管记忆会在此后慢慢消失,但是只要提醒他们,人们通常就可以恢复他们的记忆。在神经网络的研究中,使模型充满内存的研究很早就开始了。 Saratha Sathasivam于1982年提出了Hopfield网络,但是由于其实施的困难,提出时并没有很好的应用场景,因此逐渐被人们遗忘。深度学习的兴起使人们再次开始研究递归神经网络,并在序列问题和自然语言处理领域取得了巨大的成功。本文将从递归神经网络的基本结构开始,介绍RNN在自然语言处理中的应用及其PyTorch实现。递归神经网络上一章介绍了卷积神经网络。卷积神经网络等效于人类视觉,但是它没有记忆能力,因此它只能处理特定的视觉任务,并且无法基于先前的记忆进行处理。新任务。那么互联网是否需要存储空间?显然,在某些问题上很有必要,例如推断电影中下一个时间点的场景。目前,仅依靠当前场景还不够。它需要取决于以前的情节。对于不仅取决于当前情况而且取决于过去情况的问题,传统的神经网络结构不能很好地处理它,因此基于内存的网络模型是必不可少的。循环神经网络的建议是基于记忆模型的思想。期望网络可以记住之前出现的特征并根据这些特征推断出后续结果,并且由于名称循环神经网络,整个网络结构继续流通。循环神经网络的基本结构循环神经网络的基本结构特别简单,即网络的输出存储在存储单元中,并且该存储单元与下一个输入一起进入神经网络。以一个简单的两层网络为例,并将其扩展为基于它的循环神经网络的结构,我们在图1中进行了简要表示。可以看出,当输入网络时,它将与存储单元作为输入。网络不仅输出结果,还将结果保存在存储单元中。图1是具有一个输入的最简单的递归神经网络的示意图。更改输入顺序的顺序将更改网络的输出结果。这是因为存储单元的存在会在两个序列的顺序更改后更改存储单元中的元素,因此会影响最终的输出结果。图1将数据点传输到网络中图1是序列中的数据点到网络中的示意图,那么整个序列如何传输到网络中?只需依次将序列中的每个数据点馈入网络,如图2所示。图2将整个序列输入到网络中无论序列有多长,它都可以连续输入到网络中,并获得最终结果。您可能会在这里看到,读者会有一些疑问。图2中的每个网络都是独立的权重吗?对于此问题,首先考虑如果序列不同,则图2中的网格数将不同。对于网络结构,参数的数量不太可能会改变。实际上,这里再次使用了参数共享的概念,这意味着尽管上面有三个网格,但它们实际上是相同的网格,并且网络的输出取决于输入和存储单元,可以用图1表示。 5.5。如图5.5所示,左侧是循环神经网络的实际网络流,右侧是展开它的结果。您可以看到网络具有循环结构,这也是循环神经网络名称的由来。同时,根据循环神经网络的结构,可以看出它在处理序列类型数据方面具有天然优势,因为网络本身是一个序列结构,这也是所有循环中最重要的结构神经网络。图3网络的输入和存储单元环路神经网络也可以具有深层网络层结构,如图4所示。图4深层网络结构表明,