Tensorflow2.0 入门与实战学习笔记(十四)-RNN循环卷积网络

目录

0 前言:

理论知识

1 RNN模型结构

1.1 RNN结构

1.2 具体图

1.3 计算过程

1.4 RNN的总括图

2 RNN的反向传播

3 Tensorflow2.0 RNN循环卷积网络

3.1 LSTM 网络

3.1.1 LSTM网络的简单实现

3.1.2 LSTM 网络的变体GRU

3.2Keras的实现

3.3 实现代码例子

4 具体实现代码

4.1 航空公司评论情绪预测

4.1.1 数据处理

4.1.2 训练模型

4.1.3 结果分析

4.1.4 算法改进-双向 RNN

4.2 北京空气污染序列预测

4.2.1 数据处理

4.2.2 训练模型前的准备

4.2.3 基础模型

4.2.4 简单的LSTM

4.2.5 优化LSTM模型

4.2.6 预测

参考资料


0 前言:

关于自然语言处理,那么RNN是跑不了的,学习TF2.0的时候,学习笔记上没有对这部分知识进行详解,这部分的学习也花费了比较长的时间。

理论知识

1 RNN模型结构

他们都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。

简单的了解

https://zhuanlan.zhihu.com/p/30844905

1.1 RNN结构

1.2 具体图

1.3 计算过程

1.4 RNN的总括图

2 RNN的反向传播

https://blog.csdn.net/qq_32241189/article/details/80461635

具体的计算可以参考一下这一篇博文,关键之处在于,对于反向传播的时候,是如何更重新W,U,V

同时理解,是如何S是如何进行记忆的

 注意: 1. 这里的W,U,V在每个时刻都是相等的(权重共享).

             2. 隐藏状态可以理解为:  S=f(现有的输入+过去记忆总结) 

3 Tensorflow2.0 RNN循环卷积网络

3.1 LSTM 网络

Long Short Term网络般就叫做LSTM是一种RNN特殊的类型,可以学习长期依赖信息。在很多问题,LSTM 都取得相当巨大的成功,并得到了广 泛的使用, 它是RNN事实上的标准。

3.1.1 LSTM网络的简单实现

LSTM通过门]对通过的信息进行控制: i 门]是一种让信息选择式通过的方法。LSTM通过门可以让信息不通过、完全通过、通过一部份

LSTM如果理解不够,可以参考这篇博客进行逐步理解:

https://blog.csdn.net/shijing_0214/article/details/52081301

3.1.2 LSTM 网络的变体GRU

GRU门限循环单元。 它将忘记门和输入门合并成为一个单一的更新门, 同时合并了数据单元状态和隐藏状态, 使得模型结构比之于LSTM更为简单.

与LSTM相比,GRU结构更加简单,它有一个更新门,更新门决定了内部状态与输入state状态的融合比例(结合前面状态的多少),简单的说,GRU与LSTM网络相比,建构简单,计算少,效果相当。

3.2Keras的实现

  • Keras支持RNN各种变体:
  • layers.LSTM

注意

TF2.0的LSTM的输入是由一定格式

序列的输入格式

batch,序列长度,每一个输入的维度

举个简单的例子(后面实现的航空公司的例子)

第一维:batch

第二维度:比如航空公司的第二维评论长度

第三维度:是单词对应的向量话表示batch * 长度(特征)

3.3 实现代码例子

  • 单变量序列 -- 航空公司的评论情绪的预测

  • 多变量序列 --  (天气预报,选定一个序列,前面三天的天气去预测)天气预报

4 具体实现代码

仅仅贴部分代码作为分析

4.1 航空公司评论情绪预测

4.1.1 数据处理

4.1.2 训练模型

4.1.3 结果分析

存在过拟合

使用循环 dropout 抑制过拟合

4.1.4 算法改进-双向 RNN

我们看到之前训练的准确度在93%,我们如果需要在进一步优化,就像双向链表一样,RNN也有双向

4.2 北京空气污染序列预测

4.2.1 数据处理

数据说明:

处理日期

由于特征cbwd是对象因此我们采用读热编码的方式

最后我们得到我们的需要的数据

4.2.2 训练模型前的准备

标准化

注意:

我们只需要对训练数据进行标准化,而不用对结果进行标准化

输出变成二维的输出(batch,最后的输出)

4.2.3 基础模型

4.2.4 简单的LSTM

结果得到的比较好的下降

进一步分析LSTM:

4.2.5 优化LSTM模型

训练效果良好

4.2.6 预测

 

步骤:

  • 保存模型
  • 加载模型
  • 测试数据

在预测的核实后,我们需要保障预测的数据的与测试的数据行数一致(一一对应)

参考资料

猜你喜欢

转载自blog.csdn.net/qq_37457202/article/details/108183601