第6章 循环神经网络
本章将介绍用于序列数据集建模的循环神经网络(Recurrent Neural Network,RNN)。本章我们将介绍:
- 建立一个基本的循环神经网络;
- 建立双向RNN模型;
- 建立一个深度RNN模型;
- 建立一个基于长短期记忆的序列模型。
6.1 建立一个基本的循环神经网络
循环神经网络用于数据集的序列建模,这些数据集的观测值之间存在高度的自相关。例如,使用历史数据集预测患者行程或预测给定句子中的下一个单词。这些问题之间的主要共性是输入长度不是常量,并且存在顺序依赖性。标准的神经网络和深度学习模型受到固定大小输入的约束,并产生固定长度的输出。例如,建立在占用数据集上的深度学习神经网络有6个输入特征和一个二项式结果。
6.1.1 做好准备
机器学习领域中的生成模型(Generative Model)被称为具有生成可观察数据值能力的模型。例如,在图像存储库上训练生成模型以生成类似的新图像。所有生成模型都旨在隐式或显式计算给定数据集上的联合分布。
1.安装并配置TensorFlow。
2.加载所需的软件包:
library(tensorflow)
6.1.2 怎么做
本节将提供建立RNN模型的步骤。
1.加载MNIST数据集:
# 从TensorFlow库加载MNIST数据集
datasets <- tf$contrib$learn$datasets
mnist <- datasets$mnist$read_data_sets("MNIST-data", one_hot =
TRUE)
2.重置图形并开启交互式会话:
# 重置图形并配置一个交互式会话
tf$reset_default_graph()
sess<-tf$InteractiveSession()
Get 深度学习实战手册(R语言版) now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.