循环神经网络(RNN)--学习笔记 RNN卷积神经网络

   2023-02-09 学习力1021
核心提示: 一、基本概念  RNN针对的数据是时序数据。RNN它解决了前馈神经网络,无法体现数据时序关系的缺点。在RNN网络中,不仅同一个隐含层的节点可以相互连接,同时隐含层的输入不仅来源于输入层的输入还包括了上一个隐含层的输出。  RNN中主要有以下几个参数:

 一、基本概念

  RNN针对的数据是时序数据。RNN它解决了前馈神经网络,无法体现数据时序关系的缺点。在RNN网络中,不仅同一个隐含层的节点可以相互连接,同时隐含层的输入不仅来源于输入层的输入还包括了上一个隐含层的输出。

循环神经网络(RNN)--学习笔记

  RNN中主要有以下几个参数:

    (1)Xt表示第t隐含层的输入层的输入, St表示第t隐含层的隐含状态,Yt表示第t隐含层的输出

    (2)U表示Xt的参数,W表示St-1的参数,V表示St的参数

    (3)St = f(UXt+WSt-1)  Yt = VSt

  RNN实现了参数共享,也就是不管哪一层它的U,W和V参数的值都是一样的,这样就大大减少了需要训练的参数个数。

二、RNN的作用

(1)主要运用于序列化数据

(2)在NLP领域中的词性标注,词向量表达以及语句合法性检查有了很好的应用

(3)典型应用场景:
  1、语言模型与文本生成:可以通过输入词向量序列来预测下一个单词可能是什么,也可以判断一个语句正确的可能性。

  2、机器翻译:将一种语言翻译成另一种语言:进而文本生成的区别在于它的输入需要完整的语句序列。

  3、语言识别

  4、图像描述生成

三、RNN的训练

(1)采用BP算法

(2)实现参数共享

(3)因为RNN的网络与与前面的若干步相关,所以它在实现BP算法的时候采用了BPTT算法。但是BPTT算法有一定的局限性,一般它不能解决依赖性超过十步的问题。并且还会存在梯度爆炸和梯度消失的问题。

四、RNN拓展和改进模型

(1)Simple RNN(SRNN)

  1、这是一个三层的神经网络

  2、有一层和隐含层对应每一个节点固定相连的上下文单元层。这个上下文单元层的权值也是固定。它记录了序列化数据前一步的状态

  3、该神经网络采用了前向传播算法

(2)Deep(Bidirectional) RNN

  1、和Bidirecrtional RNN的区别在于Deep(Bidirectional) RNN的每一步的输入由多层网络。

Bidirectional RNN:
循环神经网络(RNN)--学习笔记

 

deep(Bidirectional) RNN:

  循环神经网络(RNN)--学习笔记

 

 (3)Echo State Networks

  1、它的网络有三部分组成:输入,存储池,输出。最大的特别之处就在于他用存储池代替了RNN中的隐含层

  2、存储池里面是一些相互连接的节点单元

  3、Echo State Network的关键是训练四个参数:输入权值参数Win,存储池中的节点的连接矩阵W,输出层到存储池的反馈Wback,输入层、存储池和输出层的相互连接Wout。

  4、训练的过程用简单的线性回归

(4)GRU(Gated Recurent Unit RNN)

  1、GRU的改进主要是两个方面:序列中的不同位置处的输入数据对于当前状态的影响是不一样的,所以需要对不同位置的输入数据赋予不同的权重;其次出现的错误的原因可能是某一个或某几个位置数据的影响,因此只需要更新相应位置的数据的权重。

  2、GRU的图:

循环神经网络(RNN)--学习笔记

 

 (5)LSTM

  1、LSTM非常适合长序列依赖问题

  2、它和RNN的主要区别在于隐含层的训练方式,它采用了独特的cell结构。

  3、LSTM和GRU的比较

循环神经网络(RNN)--学习笔记

    区别在于:

      a、GRU有一个reset gate能够控制前一个的隐状态对当前状态的影响

      b、LSTM有input gate和forget gate能够控制新状态的产生,而GRU只有update gate能够控制新状态的产生。

      c、LSTM多了output gate能够调节输出的大小,而GRU则没有这个单元

(6)Clockwork RNN

  1、有三层的神经网络

  2、隐含层网络被分成若干个块,每个块内的节点数大小相等,每一个块内的节点实现了全连接。

  3、每一个块都有一个时钟周期,然后按照节点排序,时钟周期大的块内的节点能够全连接时钟周期小的块内的节点。

  4、每一次只有满足(t mod Ti) = 0的隐含层块才会执行,这样就大大降低了网络的训练难度,提高了效率。

循环神经网络(RNN)--学习笔记

 

 
反对 0举报 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 【深度学习】循环神经网络教程 循环神经网络 知乎
    【深度学习】循环神经网络教程 循环神经网络 知
    这是在公司做培训时制作的PPT,教程对循环神经网络以及其应用进行了简单地介绍,主要分为以下六个部分:Why do we need Recurrent Neural Networks?Vanilla Recurrent Neural NetworkBackpropagation Through Time (BPTT)Gradient exploding/vanishing proble
    03-08
  • 深度学习 - 循环神经网络RNN
    深度学习 - 循环神经网络RNN
    当数据是有顺序的时候,我们就可以使用RNN了,比如说话的顺序 有序列化的数据等的。   在介绍RNN之前,我有篇博客是介绍了CNN,简单提一下,在一张大的图片是上,我们有一个fliter滤波器,通过共用参数来扫描这张图片,提取出一张精髓的图片,再在这这张图片
    03-08
  • 拓端tecdat|R语言深度学习Keras循环神经网络(RNN)模型预测多输出变量时间序列
    拓端tecdat|R语言深度学习Keras循环神经网络(RN
    原文链接:http://tecdat.cn/?p=23902原文出处:拓端数据部落公众号递归神经网络被用来分析序列数据。它在隐藏单元之间建立递归连接,并在学习序列后预测输出。在本教程中,我们将简要地学习如何用R中的Keras RNN模型来拟合和预测多输出的序列数据,你也可以
    03-08
  • 循环神经网络(RNN)相关知识 rnn递归神经网络
    循环神经网络(RNN)相关知识 rnn递归神经网络
    文章目录RNN概述前向传播公式通过时间反向传播(BPTT)RNN确定序列长度方式其他RNN结构基于RNN的应用1,序列数据的分析2,序列数据的转换3,序列数据的生成RNN的不足1,从隐藏变量h角度来看2,从梯度传播角度来看RNN概述循环神经网络(RNN)是用于处理序列数据
    02-10
  • 【吴恩达deeplearning.ai】深度学习(9):循环神经网络
    【吴恩达deeplearning.ai】深度学习(9):循环神
    随深度学习技术的发展,使用循环神经网络(Recurrent Neural Network,RNN)建立的各种序列模型,使语音识别、机器翻译及自然语言理解等应用成为可能。表示与类型自然语言、音频等数据都是前后相互关联的数据,比如理解一句话要通过一整句而不是其中的几个词
    02-10
  • 学习记忆循环神经网络心得
    学习记忆循环神经网络心得
          如有缪误欢迎指正  GRU结构向前传播 心得(欢迎指正)当遗忘门等于0的时候当前信息抛弃 之前记忆前传当遗忘门等于1 的时候之前记忆抛弃 当前信息前传当遗忘门的值为0和1之间的时候 调控前传的记忆与信息的比例 QAQQ:LSTM与GRU 的区别A: LSTM
    02-10
  • 协同过滤结合循环神经网络的推荐系统——期末作业
    协同过滤结合循环神经网络的推荐系统——期末作
    Recommendation System using Collaborative Filtering and Recurrent Neural Networkauthor:Fu-ze ZhongEmail: [email protected]School of Data and Computer Science, Sun Yat-sen University, Guangzhou, China.abstractThe behavior of user in an e-c
    02-10
  • 第六讲 循环神经网络--LSTM--stock
    1 !pip install tushare2 import tushare as ts3 import numpy as np4 import tensorflow as tf5 from tensorflow.keras.layers import Dropout, Dense, LSTM6 import matplotlib.pyplot as plt7 import os8 import pandas as pd9 from sklearn.preprocessing
    02-10
  • 循环神经网络RNN 循环神经网络RNN可以处理哪些情况
    循环神经网络RNN 循环神经网络RNN可以处理哪些
    前言我们在思考和判断问题的时候,并不是总是以一个空白的状态进行思考的。我们的思考都是基于我们以前的知识或者经验,比如我们读到这篇博客的时候,考虑到这些词语或者语句表达的是什么意思,都是基于我们以前所学到的知识。也就是说我们的思想具有持续性。
    02-10
  • 循环神经网络系列(二)Tensorflow中dynamic_rnn
    循环神经网络系列(二)Tensorflow中dynamic_rn
    1.回顾上一篇博文(循环神经网络系列(一)Tensorflow中BasicRNNCell)中我们介绍了在Tensoflow中,每个RNN单元的实现,以及对应各个参数的含义。自那之后,我们就能通过Tensorflow实现一个单元的计算了。import tensorflow as tfimport numpy as npx = np.array
    02-09
点击排行