循环神经网络
学习视频
循环神经网络是处理与时间序列相关的数据的,通过一个记忆体记录信息,然后通过输入和记忆体的信息共同推测出输出。核心是循环核:
循环核:参数时间共享,循环层提取时间信息
前向传播时:记忆体内存储的状态信息ht,在每个时刻都被刷新,三个参数矩阵W是固定不变的。
反向传播时:三个参数矩阵都被梯度下降算法更新。
循环核按时间步展开:
循环神经网络借助循环核提取时间特征后送入全连接网络。
循环核计算过程:
数据xt输入根据ht公式计算出ht为(-0.9,0.8,0.7)(ht中有几个数就有几个记忆体,可以使用参数自己规定,此处有三个记忆体)(参数矩阵训练时会初始化,ht初始为0),然后根据yt公式计算出结果:
按时间步展开循环核计算过程:
Embedding 一种编码方法
独热码:数据量大,过于稀疏,映射之间是独立的,没有表现出关联性
Embedding:是一种单词编码方法,用低维向量实现了编码,这种编码通过神经网络训练优化,能表达出单词间的相关性。
tf.keras.layers.Embedding(词汇表大小,编码维度)
#编码维度是你打算用几个数字表达一个单词
LSTM
LSTM解决RNN不能处理长时的信息序列,增加了门机构,来存储和筛选信息。