十、循环神经网络

10.1 RNN

引入

RNN-1-1

几种形式

  • 基本形式
RNN-1-2
  • 更深
RNN-1-3
  • 两种网络设计
    1. Elman Network
    2. Jordan Network
RNN-1-4
  • 双向设计

    Bidirectional RNN

RNN-1-5

10.2 LSTM

定义

RNN-2-1
  • 函数示意图:
RNN-2-2

工作流程

单个神经元工作流程:

RNN-2-3

RNN工作流程:

RNN-2-4

训练问题

  • 很不幸,往往RNN训练过程中,反向传播的梯度是并不平滑的,很任意梯度消失或者梯度爆炸。
RNN-2-5 RNN-2-6
  • 为什么会这样?

    太多的连乘!

  • 控制方法:学习率的控制(太大则设置只能为xx,太小为xxx)

RNN-2-7

LSTM优势

  • LSTM本身可以解决上述的训练问题。
RNN-2-8

10.3 更多应用

Many to One

RNN-2-9

Many to Many (Output is shorter)

RNN-2-10

Many to Many (No Limitation)

RNN-2-11

10.4 注意力机制

定义

RNN-4-1

示例1:机器翻译

RNN-4-2 RNN-4-3

示例2:图像捕获

RNN-4-4 RNN-4-5 RNN-4-6
RNN-4-7 RNN-4-8 RNN-4-9