Recurrent Neural Network,又称为递归神经网络,常用于NLP自然语言处理领域
针对一些有明显的上下文特征的序列化输入,RNN赋予了网络记忆能力。
工程中常用的是LSTM,它基于RNN
典型的RNN结构
隐藏层之间的节点不再是无连接的
并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出
RNN详解
RNN中的每次循环被称为一个时间步(time step)。在每个时间步,RNN接收一个输入向量,并根据当前输入和前一个时间步的隐藏状态计算出当前时间步的隐藏状态和输出(2输入1输出)。这个隐藏状态会被传递到下一个时间步,从而使RNN能够处理序列数据并捕捉时序信息。
在序列数据中,每个时间步代表了序列中的一个位置或一个时间点。RNN通过循环连接,使得隐藏状态能够在不同的时间步之间传递,从而能够对整个序列进行建模。
在自然语言处理(NLP)中,一个时间步可以对应一个单词或一个字符。例如,对于一个句子“Hello, how are you?”,可以将每个单词作为一个时间步输入到RNN中进行处理。
在训练RNN时,通常会将整个序列输入到RNN中,并使用BPTT算法(Backpropagation Through Time)来计算梯度并更新参数。每个时间步都会参与梯度计算和参数更新,以最小化损失函数并优化RNN的性能。
RNN在每个时间步的隐藏状态是RNN模型中的关键部分,它在循环神经网络中负责存储和传递序列数据的信息。
在每个时间步,R