联系我们

AI 101

深度学习中的RNN和LSTM是什么?

mm

更新

 on

许多最令人印象深刻的进步 自然语言处理 AI聊天机器人由 递归神经网络(RNN)长短期记忆(LSTM)networks. 神经网络 和LSTM 是一种特殊的神经网络架构,能够处理顺序数据,按时间顺序排序的数据。 LSTM 是 神经网络 的本质改进版本,能够解释更长的数据序列。让我们看一下RNN和LSTMS的结构以及它们如何支持创建复杂的自然语言处理系统。

什么是前馈神经网络?

因此,在讨论长短期记忆(LSTM)和卷积神经网络(CNN)的工作方式之前,我们应该先讨论一下神经网络的格式。

神经网络旨在检查数据并学习相关模式,以便可以将这些模式应用于其他数据,并对新数据进行分类。神经网络分为三个部分:输入层,隐藏层(或多个隐藏层)和输出层。

输入层是将数据输入到神经网络的层,而隐藏层是学习数据中的模式的层。数据集中的隐藏层通过“权重”和“偏见”连接到输入和输出层,这只是数据点如何相互关联的假设。在训练过程中会调整这些权重。在网络训练时,将模型对训练数据(输出值)的猜测与实际训练标签进行比较。在训练过程中,网络应该(希望)在预测数据点之间的关系时更加准确,从而可以准确地对新数据点进行分类。深度神经网络是在中间/隐藏层中具有更多层的网络。模型拥有的隐藏层越多,神经元/节点越多,模型就可以更好地识别数据中的模式。

像我上面描述的那样,常规的前馈神经网络通常被称为“密集神经网络”。这些密集的神经网络与专门解释不同类型数据的不同网络体系结构相结合。

什么是RNN(递归神经网络)?

递归神经网络采用前馈神经网络的一般原理,并使其能够通过以下方式处理顺序数据: 给模型一个内部记忆。 神经网络 名称的“循环”部分来自输入和输出循环的事实。生成网络的输出后,将复制输出并将其作为输入返回到网络。做出决定时,不仅会分析当前的输入和输出,还会考虑先前的输入。换句话说,如果网络的初始输入是X而输出是H,则H和X1(数据序列中的下一个输入)都将馈入网络以进行下一轮学习。这样,数据的上下文(先前的输入)在网络训练时得以保留。

这种架构的结果是RNN能够处理顺序数据。但是,RNN存在两个问题。 神经网络 遭受 消失梯度和爆炸梯度问题。

神经网络 可以解释的序列长度相当有限,尤其是与LSTM相比。

什么是LSTM(长短期内存网络)?

长短期记忆网络可以被认为是RNN的扩展,再次应用了保留输入上下文的概念。但是,LSTM已以几种重要方式进行了修改,使它们可以使用高级方法解释过去的数据。对LSTM所做的更改处理了消失的梯度问题,并使LSTM可以考虑更长的输入序列。

LSTM 模型由 三个不同的组件或门 。 有一个 输入门,输出门和忘记门。与RNN一样,LSTM在修改模型的内存和输入权重时会考虑前一时间步长的输入。输入门决定哪些值很重要,应让模型通过。在输入门中使用了一个S型函数,该函数确定哪些值要通过循环网络传递。零将丢弃该值,而1将保留它。这里也使用TanH函数,该函数确定输入值对模型的重要性,范围从-1到1。

在考虑了当前输入和存储器状态之后,输出门决定将哪些值压入下一时间步。在输出门中,将对这些值进行分析并为它们指定从-1到1的重要性。这会在继续进行下一个时间步计算之前对数据进行调节。最后,忘记门的工作是丢弃模型认为不必要的信息,以决定输入值的性质。遗忘门在值上使用S型函数,输出介于0(忽略此)和1(保留此)之间的数字。

LSTM 神经网络由可以解释顺序单词数据的特殊LSTM层和紧密连接的两者组成,如上所述。一旦数据通过LSTM层,它将进入密集连接的层。

专门从事以下工作的Blogger和程序员 机器学习 深度学习 话题。 Daniel希望帮助他人将AI的力量用于社会公益。