一、循环神经网络简介
循环神经网络挖掘数据中的时序信息以及语义信息的深度表达能力,在语音识别、语言模型、机器翻译以及时序分析等方面实现了突破。
1、循环神经网络简介
循环神经网络的主要用途是处理和预测序列数据。循环神经网络的来源就是为了刻画一个序列当前的输出与之前信息的关系。从网络结构上,循环神经网络会记忆之前的信息,并利用之前的信息影响后面结点的输出。也就是说,循环神经网络的隐藏层之间的结点是有连接的,隐藏层的输入不仅包括输入层的输出,还包括上一时刻隐藏层的输出。
下图是一个典型的循环神经网络。循环神经网络的主体结构A的输入除了来自输入层xtxt,还有一个循环的边来提供上一时刻的隐藏状态ht−1ht−1。在每一时刻,循环神经网络的模块A在读取了xtxt和ht−1ht−1之后会生成新的隐藏状态htht,并产生本时刻的输出otot。循环神经网络当前的状态htht是根据上一时刻的状态ht−1ht−1和当前的输入xtxt共同决定的。
在时刻t,状态htht浓缩了前面序列x0,x1x0,x1,…,xt−1xt−1的信息,用于作为输出