文章目录
前言
前文介绍了如何用神经网络解决计算机识别数字化的文字背后的逻辑,本文针对CNN提出更高级的RNN。
一、RNN优点是什么,为什么要介绍RNN?
RNN相比CNN有哪些优势?
-
CNN是通过获取局部关系来发掘顺序关系的,而且不能很好的处理可变长度的文本。
-
从长远的角度来分析时序更长的关系,只能采用RNN附带的优点:记忆功能来解决问题了。
RNN捕获当序列中某些词条出现时,其他词条相应会出现的模式。 -
缺点:当网络时刻变深,梯度消失或者梯度爆炸:误差信号会随着梯度的每一次计算消散或增长。
二、RNN步骤
1.倒入模块
2.数据处理模块
3.数据分词和向量化
4.目标变量解压缩
5.加载和准备数据
6.初始化网络参数
7.加载测试数据和训练数据
8.初始化一个空的Keras网络
9.添加一个循环层
不需要使用填充和截断
10.dropout层
反向传播的误差之后将在输出的合适点随时间反向传播。
三、超参数
maxlen:序列的最大长度:单个样本的长度决定了误差需要多长时间内反向传播。
word2vec的模型维度:word2vec模型决定,充分表示数据集的值。
batch_size:数量变大会减少反向传播次数。更大的批量增加了在局部极小值处停顿下来的可能。
epochs:易于测试和调优。
num_neurons:隐藏层的复杂度
总结
这一章同样介绍使用神经网络对自然语言序列问题进行有效建模。——日后实践