李宏毅机器学习——学习笔记(20) Recurrent neural network

Recurrent neural network

RNN的网络结构如图所示,不仅考虑输入层的输入,还要考虑memory中的所存储的内容。

李宏毅机器学习——学习笔记(20) Recurrent neural network_第1张图片
RNN在训练过程中会考虑input中的sequence,

李宏毅机器学习——学习笔记(20) Recurrent neural network_第2张图片
RNN分为两种形式:Elman network(将hidden layer中的输出值输入到下一次的训练中)和Jordan Network(将整个网络的输出值输入到下一次的训练中)
李宏毅机器学习——学习笔记(20) Recurrent neural network_第3张图片
Bidirectional RNN:将输入序列的顺序和逆序的输出结果同时考虑,得到最后的输出值y。
李宏毅机器学习——学习笔记(20) Recurrent neural network_第4张图片
LSTM:4个输入(输入以及三个门信号)以及一个输出
李宏毅机器学习——学习笔记(20) Recurrent neural network_第5张图片
LSTM的架构如图所示:
李宏毅机器学习——学习笔记(20) Recurrent neural network_第6张图片

LSTM中的某个ceil结构
李宏毅机器学习——学习笔记(20) Recurrent neural network_第7张图片
多个ceil相连接的方式
李宏毅机器学习——学习笔记(20) Recurrent neural network_第8张图片
Keras中支持LSTM,GRU(只有两个gate,参数较少),SimpleRNN。

RNN的实验结果呈现震荡性的结果
李宏毅机器学习——学习笔记(20) Recurrent neural network_第9张图片
梯度爆炸:RNN网络中容易出现gradient descent非常大的情况,导致训练出错。所以可以采用当gradient descent大于某个阈值时,就等于该阈值。防止参数跳出允许范围。主要原因在于w在不同的时间点都会被重复使用。
李宏毅机器学习——学习笔记(20) Recurrent neural network_第10张图片

为什么RNN使用LSTM?

  • 因为LSTM能够解决gradient vanishing的问题。
    a. memory中的值和输入是相加的
    b.每个输入产生的影响都不会消失,除非forget gate关闭。
    GRU(Gated Recurrent Unit):将forget gate 和input gate联动起来,其中一个gate开启,另外一个gate就关闭。
    李宏毅机器学习——学习笔记(20) Recurrent neural network_第11张图片
    另外两种RNN的变形:Clockwise RNN,SCRN;文献引用如图所示。
    李宏毅机器学习——学习笔记(20) Recurrent neural network_第12张图片
    RNN可以是many to one的
    李宏毅机器学习——学习笔记(20) Recurrent neural network_第13张图片
    many to many进行语音辨识
    李宏毅机器学习——学习笔记(20) Recurrent neural network_第14张图片
    Sequence-to-Sequence Auto-encoder
    李宏毅机器学习——学习笔记(20) Recurrent neural network_第15张图片
    Attention-based Model
    李宏毅机器学习——学习笔记(20) Recurrent neural network_第16张图片
    RNN和Structured Learning的区别:RNN可以是深度的,一般结果比较好

李宏毅机器学习——学习笔记(20) Recurrent neural network_第17张图片

将RNN的输出,输入到structure learning中。
李宏毅机器学习——学习笔记(20) Recurrent neural network_第18张图片

你可能感兴趣的:(机器学习)