目录
如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~
0. 前言
循环神经网络 RNN(Recurrent Neural Network)是一类专门用于处理序列数据的神经网络。
标准的神经网络无法适应不同长度的输入和输出, 没有共享参数,无法泛化文本不同位置的同个词。
RNN 在几个时间步内共享参数,使得模型可以扩展到不同长度的序列样本进行泛化,不需要分别学习句子每个位置的规则。
RNN 减少参数付出的代价是优化参数困难。
用一个识别是否是人名的例子,初始定义符号如下:
- 输入
:“Harry Potter and Hermione Granger invented a new spell.”
- 输出
:“110110000”
表示
中第
个输入,例如
表示 Harry
表示
中第
个输出,例如
表示 1
表示
的长度
表示
的长度
- 当
时,
也表示序列长度
对于自然语言处理(Natural Language Processing),构建一个词汇表,对于一个输入 ,
中的每一个单词都构建一个 one-hot 向量,向量长度是词汇表的长度,单词的对应位置为 1 ,其余位置为 0 。
1. RNN 计算图
对于一个输入 ,从左至右将每一个单词依次输入到神经网络中(相当于第