时间序列表示
波形
[ b, 100, 1 ] :b条线,100个时刻,每个时刻有一个价格。

图片
[b, 28, 28] :b副图,共28个时刻,每个时刻取28个像素点。

文字
序列表示:[b, seq_len, feature_len]
b个句子,seq_len每个句子单词数,feature_len每个单词的维度。
可以根据需要调整b的位置:

[words, word vec]

具有的特性:
1.矩阵形式
2.高维
3.可表示并可计算相关性
4.可进行训练
Word embedding
二维的embedding:

Embedding layer:
初始化一个语料库,里面有10个单词,若要表示的词在里面就可以对应序号取出向量。


其他常用的embedding方法:

循环神经网络
RNN

假设上图,会出现两个问题:一是网络参数量过大,二是没有考虑到句子整体语义。所以,按照权值共享的思想,有下图的循环神经网络。


一个序列的当前输出与前面的输出也是有关的。具体体现在后面层数的输入值要加入前面层的输出值,即隐藏层之间不再是不相连的而是有连接的。
RNN layer使用

单层RNN:


多层RNN:


最常用的,不用自己管理 RNN Layer:

梯度离散和梯度爆炸
Whh的k次方,Whh大于1趋近于无穷大梯度爆炸,Whh小于1趋近于0梯度离散。
梯度爆炸
当神经网络很深时,梯度呈指数级增长,最后到输入时,梯度将会非常大,我们会得到一个非常大的权重更新,这就是梯度爆炸的问题,在循环神经网络中最为常见。

如上图,如果出现loss值急剧增大的现象,就可能是梯度爆炸问题。

方法:
梯度裁剪:
把沿梯度下降方向的步长限制在一个范围之内,计算出来的梯度的步长的范数大于这个阈值的话,就以这个范数为基准做归一化,使这个新的的梯度的范数等于这个阈值就行了。
梯度检查:
梯度计算很不稳定,使用梯度检查来检查梯度计算是否出了错误。通过解析的梯度值与计算得到的梯度值进行对比计算相对误差,如果这个误差小于一个很小的下限值,那么就没什么问题。
梯度离散
解决:LSTM
本文探讨了循环神经网络RNN在处理时间序列数据如波形、图片和文本中的应用,重点讲解了Wordembedding的二维表示方法。文章揭示了RNN中的梯度爆炸和梯度离散问题,并介绍了应对策略,如梯度裁剪和LSTM。
754

被折叠的 条评论
为什么被折叠?



