快速了解RNN,的结构,能做哪些任务,缺点。

一、什么是RNN:

RNN(Recurrent Neural Network)即循环神经网络,用于解决训练样本输入是连续序列,且序列的长短不一的问题,比如基于时间序列的问题。

※※切记:RNN是按时间序列展开


二、RNN由哪些部分构成:

       输入输出,和 中间的循环核


快速了解RNN,的结构,能做哪些任务,缺点。_第1张图片

<1>输入:由三部分组成,【batch_size,time_step,word_dim】,就是图中X

       atch_size:批次

       time_step:时间步

        word_dim:需要处理特征的维度


<2>输出:输出有结果时间步结果隐含状态结果

时间步结果:就是图中O。

结果也是三部分【batch_size,time_step,hidden_dim】。

       batch_size:批次

       time_step:时间步

       hidden_dim:隐藏的结果的维度

隐状态结果:就是图中S

结果两部分【batch_size,hidden_dim】。

      batch_size:批次

      hidden_dim:隐藏的结果的维度


<3>循环核:

循环核,按时间步共享(time_step),里面矩阵参数也是共享的,只有隐状态S

开始初始矩阵为零面每次时间步一步一步更新。直到最后。

       W:初始化来的,

       U:初始化过来的,

       V:初始化过来的

快速了解RNN,的结构,能做哪些任务,缺点。_第2张图片

三、RNN能做哪些任务:

   <1>:RNN结构决定他能干什么:

         one-->one(一对一):多层感知器

         one-->many(一对多):图像描述

         many-->one(多对一):文本情感分析,文本分类

         many-->many(多对多,不对齐的情况下):机器翻译

         many-->many(多对多,不对齐的情况下):以帧为粒度的视频分类

※※:上面几种任务可以去搜搜

四、RNN缺陷:

  1. RNN 有短期记忆问题无法处理的输入序列
  2. 训练 RNN 需要投入极大成本

后来就引入了LSTM(长短期记忆网络)。

Python

RNN

深度学习(Deep Learning)

你可能感兴趣的:(自然语言处理,人工智能,深度学习,机器学习,rnn)