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

为什么须要循环神经网络

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

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理