乐趣区

关于深度学习:循环神经网络

为什么须要循环神经网络

\(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 品种

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

退出移动版