为什么须要循环神经网络

\( CNN \)的数据表示能力曾经十分强悍了,然而世界是简单的,对于很多数据,如文本,语音,视频,机器翻译等,数据的输出程序十分重要,而卷积是不在乎文本程序的。循环神经网络的每个输出会与它之前或之后的输出存在关联。

RNN

$$h_t = \sigma(W_{ih}x_t + b_{ih} + W_{hh}h_{t-1} +b_{hh}) $$

长处是有肯定的记忆能力,然而随着递归次数的减少,会呈现权重指数级爆炸或者隐没的问题,从而难以捕获长时间的关联,并且导致\( RNN \)的收敛艰难,因而引出\( LSTM \)。

LSTM


计算过程如下,
MARKDOWN罕用公式键入语法

$$\begin{aligned}i_t &= \sigma(W_{ii}x_t + b_{ii}+W_{hi}h_{t-1}+b_{hi}) \\f_t &= \sigma(W_{if}x_t + b_{if}+W_{hf}h_{t-1}+b_{hf}) \\g_t &= \tanh(W_{ig}x_t + b_{ig}+W_{hg}h_{t-1}+b_{hg}) \\o_t &= \sigma(W_{io}x_t + b_{io}+W_{ho}h_{t-1}+b_{ho}) \\c_t &= f_t{\times}c_{t-1} + i_t{\times}g_t \\h_t &= c_t{\times}\tanh(o_t) \end{aligned}$$

\( i_t,f_t,g_t,o_t \)别离是输出门、忘记门、抉择门、和输入门。
\( LSTM \)在信息处理方面次要分为三个阶段:

  1. 忘记阶段。这个阶段次要是对上一个结点传递进来的输出进行选择性遗记,会“忘记不重要的,记住重要的”。即通过\( f_t \)的值来管制上一状态\( c_{t-1} \)中那些须要记住,哪些须要忘记。
  2. 抉择记忆阶段。这个阶段将输出\( X_t \)有抉择的进行“记忆”。哪些重要则着重记忆,哪些不重要的则缩小记录。以后单元的输出内容\( i_t \)是计算失去的,能够通过\( g_t \)进行有抉择的输入.
  3. 输入阶段。这个阶段将决定哪些会被当成以后状态的输入。次要通过\( o_t \)进行管制,并且要对\( c_t \)应用\( tanh \)函数进行缩放。

    RNN品种

    次要依据输出和输入的数量,分为五种,即为一对一,一对多,多对一,多对多,偏置多对多。这个在代码中体现,暂不赘述。