DataWhale组队深度学习第六章 -- RNN

循环神经网络(RNN)

课程链接:https://datawhalechina.github.io/unusual-deep-learning/#/06.RNN


计算图

概念

计算图是一种描述计算结构的图,其元素包含节点和边。其中节点是一种值,这个值可以是标量也可以是矢量以及标量,边是对这个值进行的某种操作,即是一个函数。
盗的图-computeGraph

计算图

盗的图-computeGraphDerivative

计算图求偏导

RNN

概念

RNN 是一种人工神经网络,其是一个遵循时间序列的有向图。核心思想是:样本间存在顺序关系,每个样本和有物理联系的之前的样本存在这关联。将神经网络在时序上展开,即可找到样本之间的序列相关性

RNN结构

盗的图-RNN结构

RNN结构

其中:Xt,St,Ot 分别表示的是 t 时刻的输入、记忆和输出,U,V,W是RNN连接权重,bs,bo是RNN的偏置,σ,φ是激活函数。其中σ 通常会选择tanh 或者 sigmoid 函数,φ通常选用softmax函数。
softmax 函数:用于计算分类问题的概率。本质上是将任意实数向量压缩(映射)成另一个K维实数向量,其中向量中的每个元素取值都介于(0,1)之间。


RNN案例

  1. 词性标注
    1. 例子:
      1. 我/n,爱/v购物/n,
    2. 词嵌入: NLP中一组语言建模和特征学习技术的统称,其中来自词汇表的单词或短语被映射到实数的向量。比如
      盗的图-词嵌入映射
    3. 过程:将神经元的输出存储在内存中,然后将此值作为下一次循环的输入值,如此每次都会更新内存中存储的此值,如图:
      盗的图-我爱购物RNN过程
    4. RNN的一般结构(Elman Network)
      盗的图-RNN一般结构

长短时记忆网络

来源

在RNN中,会出现梯度消失问题,无法长时间依赖

解决办法

  1. 使用ReLU函数和门控RNN
  2. LSTM 结构
    盗的图-LSTM
    1. LSTM 依靠贯穿隐藏层的细胞状态实现隐藏单元之间的信息传递,只有少量的线性操作
    2. LSTM引入“门”机制,对细胞状态信息进行添加、删除,并以此实现长时记忆
    3. “门”机制由一个Sigmoid 激活函数层和一个向量点乘操作组成。Sigmoid层的输出控制了信息传递的比例
  3. 遗忘门
    1. LSTM通过遗忘门(forget gate)实现对细胞状态信息遗忘程度的控制,输出当前状态的遗忘权重,取决于h[t-1]和x[t]
      盗的图-遗忘门
  4. 输入门
    1. LSTM通过输入门(input gate)实现对细胞状态输入接收程度的控制,输出当前输入信息的接受权重。取决于h[t-1]和x[t]
      盗的图-输入门
  5. 输出门
    1.LSTM通过输出门(output gate)实现对细胞状态输出认可程度的控制,输出当前输出信息的认可权重,取决于h[t-1]和x[t]
    盗的图-输出门
  6. 状态更新
    1. “门”机制对细胞状态信息进行添加或删除,以此实现长程记忆。
      盗的图

其他RNN

  • Gated Recurrent Unit(FRU)
    • 是LSTM 的变种,它的细胞状态与隐状态合并,在计算当前时刻新信息的方法和LSTM有 所不同;GRU只包含重置门和更新门
  • Peephole LSTM
    • 让门层也接受细胞状态的输入,同时考虑隐层信息的输入。
  • Bi-directional RNN(双向RNN)
    • Bi-directional RNN(双向RNN)假设当前t的输出不仅仅和之前的序列有关,并且还与之后的序列有关

RNN主要应用

  • 语言模型:根据已有单词预测下一个单词
  • 问答系统
  • 自动作曲
  • 机器翻译:语言之间的翻译
  • 图像描述:将图像描述成语言
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值