RNN循环神经网络


前言

  • 用于处理序列数据的神经网络
    语音,视频,文字
  • 应用领域
    自然语言处理NLP
    机器翻译
    语音识别
    图像描述生成

提示:以下是本篇文章正文内容,下面案例可供参考

一、基本结构

在这里插入图片描述

RNN公式在这里插入图片描述

RNN特点

  • 权值共享,图中的W全是相同的,U和V也一样。
  • 每一个输入值都只与它本身的那条路线建立连接,不会和别的神经元连接

RNN种类

  • 一对一结构
  • 普通神经网络
    在这里插入图片描述
    在这里插入图片描述
  • 多对多
  • 词性标注

在这里插入图片描述

  • 一对多
  • 音乐生成和文章生成
    在这里插入图片描述
  • SeqToSeq
  • 机器翻译
    在这里插入图片描述

双向RNN网络(BRNN)

He is Tom Wody,one human
He is Tom cat,one animal。

在这里插入图片描述

  • 公式

在这里插入图片描述

堆叠循环神经网络

在这里插入图片描述

在这里插入图片描述

传统RNN缺点

记忆时间短

梯度消失和梯度爆炸

  • 我爱北京天安门,____上太阳升
  • 我昨天上学迟到了,老师批评了____,
  • 我出生在美国,父母都是亚洲人,我爱好篮球,我能说一口流利的______

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

长短时记忆网络 LSTM

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

LSTM的变种

Peephole LSTM

在这里插入图片描述

门控循环单元 GRU

在这里插入图片描述

门控循环单元 GRU

  • 更新门:遗忘门和输入门合并,决定了哪些信息丢失输入哪些信息保留,捕捉长期依赖关系
  • 重置门:将记忆单元和隐藏层合并,决定了过去的信息有多少保留下来,捕捉短期依赖关系
    在这里插入图片描述

三、示例代码

https://github.com/anglersking/simple_deep_learning/tree/master/RNN