1.摘要
一般而言,序列模型与循环网络(recurrent networks)关系紧密(由于RNN的循环自回归结构能较好地表达出时间序列)。而传统的卷积网络(convolutional networks)由于卷积核大小的限制,对于长时间的依赖信息不能较好地抓取。
但是,研究发现,一些特殊的卷积神经网络模型在音频合成、机器翻译等任务上效果比递归神经网络更好。那么,对于一个新的任务,怎么选取网络结构呢?
本文使用大量数据集对模型进行评估,发现简单的卷积结构在数据集的表现优于典型的循环网络(如LSTMs),并且表现出更长的有效记忆(effective memory)。
本文得到结论:循环网络和序列模型之间的关联应该被重新考虑;卷积网络是序列模型任务的自然出发点(natural starting point)。
2.知识补充
2.1时间序列
对于输入的序列,希望预测每一时刻对应的输出
;从而产生映射
,其中
是对应值,需要满足因果约束:
仅由
决定,而不由
决定。
学习目标:找到网络f,使得实际输出与预测之间的损失函数最小
2.2神经网络概述
基本神经网络包含:输入层、隐含层、输出层。各层之间使用权值连接,激活函数控制输出,神经网络通过学习得到各层之间的权值。
2.3 经典循环网络(RNN,LSTM,GRU)
2.3.1 RNN循环神经网络(Recurrent Neural Network)
区别于原始全连接神经网络图(如下)中,每一层之间都是相互独立的;同一层内的每个节点又是相互独立的。即每次输入与前面的输入是无关的,不能较好地处理序列信息。

RNN是用于处理序列数据的神经网络。基本结构图如下
而循环神经网络,如果忽略隐藏层中的w,则与全连接神经网络结构是一致的,RNN只是在此基础上加入了一个循环的结构。循环层W按时间线展开后,得到如下输入与权重:
U是输入层到隐藏层的权重矩阵,V是隐藏层到输出层的权重矩阵,W是上一时刻的隐藏层的值传入到下一时刻的隐藏层时的权重矩阵。
Xt是t时刻的输入,是一个(x0,x1,x2…xn)的向量;St是t时刻的隐藏层的值;Ot是t时刻RNN网络的输出。网络在t时刻接受了输入Xt之后,隐藏层的值是St,输出的值是Ot。
但是St并不单单只是由Xt决定,还与t-1时刻的隐藏层的值St-1有关。所以在RNN网络中特有的循环操作是:
每个时刻t计算对应隐藏层的值,并且将该隐藏层的值传到下一时刻,实现了信息传递。
注意:在同一层隐藏层中,存在参数共享:即不同时刻的W,V,U对应的值都分别相等。
可能原因:X{t-1},X{t},X{t+1}表示不同时刻的输入,但是组合在一起形成一个矩阵、同时输入网络的,然后这个矩阵再通过权重矩阵U的变化。
RNN的激活函数通常是非线性的,例如,tanh or ReLU 函数。利弊分析:
tanh函数的导数始终小于1,把众多小于1的数连乘,会出现梯度消失的情况,但tanh比sigmoid函数梯度较大,收敛速度更快且引起梯度消失更慢。
ReLU函数能解决梯度消失,但是会引入梯度爆炸;但设定合适的阈值可以解决这个问题。
RNN的缺陷:当相关信息与需要信息的位置之间的距离非常大时,RNN变得无法连接相关信息。





最低0.47元/天 解锁文章
214

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



