0%

深度学习基础之循环神经网络及其变体

本节主要介绍了RNN、LSTM与BRNN

循环神经网络RNN

  • 用于处理序列模型

    image-20221208160500015
  • 数学表示符号:

    image-20221208161313985
    • $x^{(i)}$:表示第i个样本的第t个元素

    • $T_x^{(i)}$:表示第i个样本输入序列x的长度

    • $y^{(i)}$:表示第i个样本输出的第t个元素

    • $T_y^{(i)}$:表示第i个样本输出序列y的长度

  • 单词的表示:

    image-20221208161250784

  • 循环神经网络的结构与计算

    image-20221208162619154

    image-20221208162932876

    • 一般假设$a^{<0>}$为0的行向量,即:
      $$
      a^{<0>}=\mathop{0}^\rightarrow
      $$

    • $a^{<1>}、\widehat{y}^{<1>}$的计算,即:
      $$
      a^{<1>}=g_1(W_{aa}a^{<0>}+W_{ax}X^{<1>}+b_a)\
      \widehat{y}^{<1>}=g_2(W_{ya}a^{<1>}+b_y)
      $$

    • 则推导可得$a^{}、\widehat{y}^{}$的计公式:
      $$
      a^{}=g_1(W_{aa}a^{}+W_{ax}X^{}+b_a)\
      \widehat{y}^{}=g_2(W_{ya}a^{}+b_y)\
      其中,激活函数g1通常使用tanh/Relu,激活函数g2通常使用sigmoid/softmax
      $$

    • RNN的简化表示:
      $$
      a^{}=g(W_a\begin{bmatrix}
      a^{}\
      x^{}
      \end{bmatrix}+b_a)\
      其中,W_a=\begin{bmatrix}
      W_{aa} & W_{ax}
      \end{bmatrix}
      $$

      $$
      \widehat{y}^{}=g(W_ya^{}+b_y)
      $$

  • 不同类型的循环神经网络

    image-20221208174432112

  • RNN单元

    image-20221208200447733
  • 46. 49 循环神经网络RNN_哔哩哔哩_bilibili

  • 47. 50 不同类型的RNN模型_哔哩哔哩_bilibili


长短期记忆LSTM

  • 在网络结构很深(很多层)的情况下,也能保留重要信息
  • 解决了普通RNN求解过程中的梯度消失问题

$$
{\mathop c^{\sim}}^{}=tanh(W_c[a^{},x^{}]+b_c)\
其中:[a^{},x^{}]代表\begin{bmatrix}
a^{}\
x^{}
\end{bmatrix}
$$

$$
c^{}=\Gamma_u\cdot{\mathop c^{\sim}}^{}+\Gamma_f\cdot{\mathop c^{\sim}}^{}\
其中,\cdot代表对应元素相乘
$$

$$
a^{}=\Gamma_o\cdot tanh,c^{}
$$

$$
更新门:\Gamma_u=\sigma(W_u[a^{},x^{}]+b_u)\
遗忘门:\Gamma_f=\sigma(W_f[a^{},x^{}]+b_f)\
输出门:\Gamma_o=\sigma(W_o[a^{},x^{}]+b_o)
$$

image-20221208203507229

image-20221208203655582


双向循环神经网络BRNN

  • 做判断时,把后部序列信息也考虑

image-20221208204756805

欢迎来到ssy的世界