循环神经网络与NLP
1、序列模型
图像分类:由当前输入得到当前输出;
时间序列预测:由当前+过去输入得到当前输出。
自回归模型:保留一些对过去观测的总结,并且同时更新预测和总结。
2、数据预处理
特征编码: 数值特征与类别特征。
文本处理:按字母处理、按单词处理
3、文本预处理与词嵌入
文本预处理:
一篇文章可以被简单地看作一串单词序列,甚至是一串字符序列。 我们将解析文本的常见预处理步骤。 这些步骤通常包括:
1.将文本作为字符串加载到内存中。
2.将字符串切分为词元(如单词和字符)。
3.建立一个字典,将拆分的词元映射到数字索引。
4.将文本转换为数字索引序列,方便模型操作。
词嵌入:将独热向量映射为低维向量
原始向量: 𝑣维;映射后: 𝑑维, 𝑑 ≪ 𝑣;映射矩阵: 𝑑 × 𝑣, 根据训练数据学习得到
4、RNN模型
随着输入的增加,会产生“遗忘”问题
5、长短期记忆网络LTSM
LSTM的核心思想是通过引入“门”的概念来控制信息的流动。这些门可以学习何时让信息通过,何时阻止信息通过,从而实现对重要信息的保留和对不重要信息的遗忘。具体来说,LSTM中有三个重要的门:输入门、遗忘门和输出门。
遗忘门(Forget Gate):遗忘门决定了上一时刻的单元状态中有多少信息需要保留到当前时刻。它接收上一时刻的输出和当前时刻的输入,通过sigmoid函数得到一个介于0和1之间的值,这个值决定了上一时刻单元状态中的哪些信息需要保留。
输入门(Input Gate):输入门决定了当前时刻的输入有多少信息需要被更新到单元状态中。同样,它也接收上一时刻的输出和当前时刻的输入,通过sigmoid函数得到一个介于0和1之间的值。同时,LSTM还有一个候选单元状态(Candidate Cell State),它是对当前输入的一个非线性变换,用于更新单元状态。
单元状态更新:根据遗忘门和输入门的输出,LSTM更新单元状态。具体来说,它将上一时刻的单元状态与遗忘门的输出相乘,得到需要保留的信息;将候选单元状态与输入门的输出相乘,得到需要更新的信息;然后将两者相加,得到当前时刻的单元状态。
输出门(Output Gate):输出门决定了当前时刻的单元状态有多少信息需要输出到下一层。它接收上一时刻的输出和当前时刻的输入,通过sigmoid函数得到一个介于0和1之间的值。同时,LSTM将当前时刻的单元状态通过tanh函数进行非线性变换,然后与输出门的输出相乘,得到当前时刻的输出。
LSTM通过引入门控机制,有效解决了传统RNN在处理长序列时的梯度消失或梯度爆炸问题,使得LSTM能够捕获序列数据中的长期依赖关系。输入输出与RNN相同,参数量是RNN的4倍。
6、深度循环神经网络
深度循环神经网络是循环神经网络(RNN)的扩展,通过在RNN的基础上增加隐藏层的数量,使得模型能够捕捉更为复杂和深层次的序列数据特征。DRNN通过堆叠多个循环层来构建深度结构,每一层都接收前一层的输出作为输入,从而实现对输入序列的逐层抽象和表示。