前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >动态图解释 RNN、LSTM和GRU

动态图解释 RNN、LSTM和GRU

作者头像
木野归郎
发布2020-08-06 09:43:30
1.6K0
发布2020-08-06 09:43:30
举报
文章被收录于专栏:share ai happinessshare ai happiness

本文将从以下两个方面介绍:

  1. 什么是RNN
  2. 为什么需要RNN
  3. 常用的RNN网络结构

RNN是什么?

循环神经网络(Recurrent Neural Network, RNN),RNN常用来处理序列式问题,以序列数据为输入来进行建模的深度学习模型,RNN是NLP中最常用的模型。双向循环神经网络(Bidirectional RNN, Bi-RNN)和长短期记忆网络(Long Short-Term Memory networks,LSTM)是RNN常见的的循环神经网络。

为什么需要RNN?

打个比方,当我们在理解一句话意思时,孤立的理解这句话的每个词是不够的,我们需要处理这些词连接起来的整个序列; 当我们处理视频的时候,我们也不能只单独的去分析每一帧,而要分析这些帧连接起来的整个序列。

单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。

输入:

我 吃 苹果 (已经分词好的句子)

输出:

我/nn 吃/v 苹果/nn(词性标注好的句子)

很明显,一个句子中,前一个单词其实对于当前单词的词性预测是有很大影响的,比如预测苹果的时候,由于前面的吃是一个动词,那么很显然苹果作为名词的概率就会远大于动词的概率,因为动词后面接名词很常见,而动词后面接动词很少见。

所以为了解决一些这样类似的问题,能够更好的处理序列的信息,RNN就诞生了。

常用的RNN网络结构有哪些?

  • vanilla RNN
  • long short-term memory (LSTM)
  • gated recurrent units (GRU)

动画展示的是在某个时刻(indexed by t)RNN cell 内部的处理,示例中input size=3,hidden units =2,batch size=1。

Vanilla RNN

  • t--time step
  • X--input
  • h--hidden state
  • length of X--dimension of input
  • length of h--no. of hidden units

LSTM

  • C--cell state

GRU

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OnlyCoding 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Vanilla RNN
  • LSTM
  • GRU
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档