一、分词工具 spacynltk 二、时序数据的采样 1.随机采样 随机采样是根据时间步长划分出若干子序列即样本,每个子序列长度为时间步长,batch_size决定了抽取几个样本,也就是抽取batch_size个子序列,最终得出的采样结果是batch_size*num_steps的矩阵。注意X出现次数不是batch_size,并且每个样本最多出现一次 2.相邻采样 相邻采样是根据batch_size等分序列得到batch_size个子序列,然后将子序列堆叠到一块,各子序列按照时间步长取整划分若干子子序列,由于子子序列是堆叠到一起的,类似于一个桶,也就是得到了若干个桶,每个桶就是一个样本结果,即batch_size*num_steps的矩阵 三、rnn流程 1.定义损失函数 2.定义优化函数 3.定义迭代次数,对接下来命令进行迭代循环 4.定义采样方法 5.在抽出样本后分离隐藏状态,减少计算开销 6.定义rnn模型,并带入样本进行计算输出 7.计算损失函数值 8.梯度清零,方向传播进行计算参数 9.梯度剪裁 10.优化函数进行优化,更新参数