美文网首页
RNN学习笔记(一)

RNN学习笔记(一)

作者: 南国_ | 来源:发表于2021-02-25 12:32 被阅读0次
1.RNN

 RNN是用来处理时序数据的一种网络结构,输入序列之间不再相互独立的。例如输入一句话:“今天天气不错”,每个元素之间都有依赖关系
 在RNN中,当前时刻的输出不仅包括当前时刻的输入还包括上一时刻的输出。也就是说,它的输出就依赖于当前的输入和记忆。
\color{red}{RNN的本质是:像人一样拥有记忆的能力。}

RNN的网络结构如下:

RNN网络结构.png

每个时刻的输出公式:

每个时刻的输出.png
\color{red}{总结:}
  递归神经网络之所以能拥有记忆能力,主要是通过W将以往的输入状态进行总结,并作为下次输入的辅助。可以这样理解隐状态:\color{green}{s=f(现有的输入 + 过去记忆总结)}
  RNN在时间维度上,算是深度模型。也可以增加隐层,成为和其他网络一样的结构深度上的深度模型。
2.RNN与HMM的区别
  • 网络结构不同
    HMM网络结构是:隐层 --> 输入层
    RNN网络结构是:输入层 --> 隐层
  • 隐状态表示不同
    HMM中:采用one-hot编码,稀疏型。只有一个状态是被激活的
    RNN中: 分布式表示,紧凑型。每个隐状态都是实心被激活的。
RNN与HMM的区别.png
3.语言模型
 通过一个单词,预测下一个单词,最终合成符合常理的一句话。 语音模型.png
4.RNN中的梯度问题

 RNN中使用的参数更新算法仍然是BPTT算法(BPTT:在时间维度上的BP算法),所以也会存在梯度消失和梯度爆炸的情况。

RNN中梯度问题的解决方案:

  • 梯度爆炸:Gradient Clipping,即设置梯度阈值。当梯度值大于阈值时Clipping梯度(当前梯度 or 归一化后的值)。归一化阈值的公式如下: 梯度爆炸约束.png
  • 梯度消失:采用改进后的RNN网络结构,如LSTM、GRU。

5.双向RNN

 Bidirectional RNN(双向RNN),假设当前时刻t的输出不仅和之前的序列有关,还与之后的序列有关,这种RNN结构成为双向RNN。例如:预测一个语句中缺失的词语,那么需要根据上下文进行预测。

双向RNN.png
  • 公式
    \overrightarrow{h_{t}} = RNN_{FW}\left ( \overrightarrow{h_{t-1}},x_{t} \right )=f\left ( \overrightarrow{w_{hh}}\cdot \overrightarrow{h_{t-1}}+\overrightarrow{w_{hx}}\cdot x_{t}+\overrightarrow{b_{1}}\right ) \overleftarrow{h_{t}} = RNN_{BW}\left ( \overleftarrow{h_{t-1}},x_{t} \right )=f\left ( \overleftarrow{w_{hh}}\cdot \overleftarrow{h_{t-1}}+\overleftarrow{w_{hx}}\cdot x_{t}+\overleftarrow{b_{1}}\right )

h_{t} = \left [\overrightarrow{h_{t}}, \overleftarrow{h_{t}} \right ] \therefore y^{\left ( t \right )}=g\left ( w_{hw} h_{t} +c\right )

  • 应用实例
双向RNN应用实例效果.png

相关文章

  • RNN学习笔记(一)

    1.RNN  RNN是用来处理时序数据的一种网络结构,输入序列之间不再相互独立的。例如输入一句话:“今天天气不错”...

  • 学习笔记:RNN

    RNN学习来源:刘二大人的视频[https://www.bilibili.com/video/BV1Y7411d7...

  • RNN学习笔记

    简介 RNN主要是为了解决序列问题而产生的,可以应用于很多与序列有关的场景,如语音识别、机器翻译、视频标注、自动问...

  • LSTM学习笔记(概述+数学描述+举例说明)

    这一段在学习RNN和LSTM,做一个学习笔记,免得遗忘了。 RNN会没有限制的进行更新,因此知识的更新会变得很混乱...

  • keras学习-RNN

    keras-RNN 参考《python深度学习》 关于RNN questions : 每次 RNN神经元个数代表什...

  • 7.多模态学习

    一、多模态学习应用场景: A. RNN与CNN之间的端到端学习 B. RNN与RNN 二、机器翻译 seq2seq...

  • RNN学习笔记(二):LSTM

    1.LSTM概述  LSTM(Long Short Term Memory,长短时记忆),是RNN的一种改进网络。...

  • BAT机器学习面试1000题系列(二)

    101.深度学习(CNN RNN Attention)解决大规模文本分类问题。 用深度学习(CNN RNN Att...

  • 1739:RNN、LSTM、word2vec、超参数

    每周学习十小时,这是2017年第39周的学习笔记,上周对RNN有了简单了解,这周更加深入学习,同时学习了word2...

  • 深度学习 RNN基础

    深度学习 RNN基础 目录 1、定义 2、有了CNN,为什么需要RNN? 3、RNN的主要应用领域有哪些呢? 4、...

网友评论

      本文标题:RNN学习笔记(一)

      本文链接:https://www.haomeiwen.com/subject/csuyfltx.html