深度学习——keras训练RNN模型
RNN原理:(Recurrent Neural Networks)循环神经网络。它在隐藏层的各个神经元之间是有相互作用的,能够处理那些输入之间前后有关联的问题。在 RNN 中,前一时刻的输出会和下一时刻的输入一起传递下去,相当于一个随时间推移的数据流。和前馈神经网络不同的是,RNN 可以接收序列化的数据作为输入,也可以返回序列化值作为输出,对时间序列上的变化进行建模。由于样本出现的时间顺序对于自然语言处理、语音识别、手写体识别等应用非常重要,故RNN模型在该领域内广泛被认可。
训练代码详解:
思路整理:我们使用RNN对datasets.mnist数据进行分类,将图像28×28的分辨率理解为一个(信息行数×时间节点)序列数据,建立RNN_cell分类训练,并计算误差、精度。
- 导入相关模块(module):
import numpy as np
np.random.seed(1337) # for reproducibility
from keras.datasets import mnist
from keras.utils import np_utils
from keras.models import Sequential
from keras.layers import SimpleRNN, Activation, Dense
from keras.optimizers import Adam
- 参数初始化: