机器学习08-RNN之理论篇

东阳的学习记录,坚持就是胜利!

RNN的应用场景

  1. Slot Filling(填空):eg: I would like to arrive 地 点 ‾ \underline{地点} on 时 间 ‾ \underline{时间}
  2. 在1的基础上,需要判断出发地(leave)和目的地(arrive)

考虑以上两个需求,我们可以看到,如果使用传统的神经网络,是无法解决这个问题的。如下图: 我们无法只能将Taipei的前一个单词记为other(不解释)。这就导致了,途中上句和下句是一样的输入,在传统的神经网络中,一样的输入肯定会是一样的输出,故传统方法不可行。
在这里插入图片描述

RNN原理剖析

首先看下面这张图,这是最简单的RNN。该图表明了RNN的基本原理,将上次的神经元中的数据保存起来,用到下一次中。

  • 初始化memory=0
  • input是有序的
    在这里插入图片描述
    通过储存上一次神经元中的数据,这样就保证了,对于同一个输入Taipei,在不同的句子中,得到的output是不一样的。
    在这里插入图片描述

Jordan Network

Jordan Network存的是output值,据说可以得到比较好的效果。(output时有target的,我们比较清楚memory中的是什么东西。)
在这里插入图片描述

Bidirectional RNN

结构如下图,我们可以看到每一个output的得出都是考虑了正向和反向的。
在这里插入图片描述

Long Short-term Memory (LSTM)

LSTM的结构如下图:有三个门,门什么时候关闭,什么时候开启时可以学习的。
在这里插入图片描述

逻辑图

可以看到当门的输出为0时,代表关闭。
在这里插入图片描述

一个例子如下图:

  • 当x2 = 1时,将x1加入memory中;
  • 当x2 = -1, 清空memory;
  • 当x3 = 1, 输出memory中的值。
    在这里插入图片描述
    在这里插入图片描述

4组参数的例子(4个门)

  • 对于同一个参数xt,使用不同的向量z1, z2, z3, z4…zn将其变为不同输入,输入到神经元中。
    在这里插入图片描述
总体结构

在这里插入图片描述

单个神经元的结构

在这里插入图片描述

多层LSTM结构

  • C t − 1 C_ t-1 Ct1: 上一次的memory保存的值(上一次的输出);
  • C t C_t Ct: 这一次memory保存的值
  • ht-1: 上一次的output
  • ht: 本次的output
  • x t x_t xt: 本次的输入;
    在这里插入图片描述

RNN的常见版本

  • LSTM
  • GRU
  • SimpleRNN
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东阳z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值