精华内容
下载资源
问答
  • 2 循环神经网络的梯度消失问题 问题:循环神经网络为什么会出现梯度消失或者梯度爆炸?有哪些改进方案?        ~~~~~~~       循环神经...

    1 循环神经网络和卷积神经网络

    问题:处理文本数据时,循环神经网络与前馈神经网络相比有什么特点?

    2 循环神经网络的梯度消失问题

    问题:循环神经网络为什么会出现梯度消失或者梯度爆炸?有哪些改进方案?
           ~~~~~~~循环神经网络模型的求解可以采用BPTT(基于时间的反向传播)算法实现,BPTT实际是反向传播算法的简单变种。
           ~~~~~~~长短时记忆模型及其变种门控循环单元(GRU)等模型通过加入门控机制,很大程度上弥补了梯度消失所带来的损失。

    3 循环神经网络中的激活函数

    问题:在循环神经网络中能否使用ReLU作为激活函数?
           ~~~~~~~当然可以作为激活函数,但是需要对矩阵的初值做一定限制,否则十分容易引发数值问题。循环神经网络的前向传播公式
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4 长短期记忆网络(LSTM)

    问题1:LSTM是如何实现长短记忆功能的?
    在这里插入图片描述
    在这里插入图片描述
    问题2:LSTM里各模块分别使用什么激活函数,可以使用别的激活函数吗?

    5 Seq2Seq(Sequence to Sequence)

    问题1:什么是Seq2Seq模型?Seq2Seq模型有哪些优点?

    问题2:Seq2Seq模型在解码时,有哪些常用的方法?

    6 注意力机制

    问题:Seq2Seq模型引入注意力机制是为了解决什么问题?为什么选用了双向的循环神经网络模型?

    展开全文
  • 循环神经网络模型的求解可以采用BPTT(Back Propagation Through Time,基于时间反向传播)算法实现,BPTT实际上是反向传播算法简单变种。如果将循环神经网络按照时间展开成T层前馈神经网络来理解,就和普通...

    2019-08-27 15:42:00

    问题描述:循环神经网路为什么会出现梯度消失或者梯度爆炸的问题,有哪些改进方案。

    问题求解:

    循环神经网络模型的求解可以采用BPTT(Back Propagation Through Time,基于时间的反向传播)算法实现,BPTT实际上是反向传播算法的简单变种。如果将循环神经网络按照时间展开成T层的前馈神经网络来理解,就和普通的反向传播算法没有什么区别了。循环神经网络的设计初衷之一是能够捕获长距离输入之间的依赖。

    从结构上来看,循环神经网络也理应能够做到这一点。然而实践发现,使用BPTT算法学习的循环神经网络并不能成功捕捉到长距离输入之间的依赖关系,这一现象主要源于神经网络中的梯度消失。

    传统神经网络梯度可以表示成连乘的形式:

     

     

     

    由于这里是循环神经网络,所以这里的w的值是一样的,那么如果w > 1,随着输出越来越远,每层的梯度大小会呈现指数增长,导致梯度爆炸;反之,如果w < 1,随着输出越来越远,每层的梯度大小会呈现指数下降,产生梯度消失。

    对于前馈神经网络来说,梯度消失意味着无法通过加深网络层来改善网络的预测效果,因为无论如何加深网络,只有靠近输出层的若干层真正起到学习的作用。这使得循环神经网络模型很难学习到输入序列中的长距离依赖关系。

    梯度爆炸的问题可以通过梯度剪裁来缓解,即当梯度的范式大于某个给定的值时,对梯度进行等比收缩。

    梯度消失的问题相对比较棘手,需要通过模型本身进行改进。循环神经网络往往会采用GRU/LSTM网络来进行替换,很大程度上可以弥补梯度消失带来的损失。

     

    转载于:https://www.cnblogs.com/hyserendipity/p/11418914.html

    展开全文
  • 为什么选择深度学习? 这个问题很意义。机器学习算法并没有什么不足之处,那么为什么数据科学家要选择深度学习算法呢?神经网路能够提供给我们...深度学习中不同神经网络(如卷积神经网络CNN、循环神经网络...

    为什么选择深度学习?

     

    这个问题很有意义。机器学习算法并没有什么不足之处,那么为什么数据科学家要选择深度学习算法呢?神经网路能够提供给我们哪些传统机器学习提供不了的功能呢?

     

    我还常常会见到另一个问题——神经网络需要强大的计算能力,那么当问题中只是存在一些细微差别时,使用神经网络真的值得吗?问题的答案很简单——值得!

     

    深度学习中不同的神经网络(如卷积神经网络CNN、循环神经网络RNN、人工神经网络ANN)正在改变着我们与世界之间的交互方式。这些不同类型的神经网络是深度学习革命的核心,为无人机、自动驾驶汽车、语音识别等应用提供了推动力。

     

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

     

    人们自然会联想到——机器学习算法难道不能做到吗?以下是研究人员和专家们倾向于选用深度学习而非机器学习的两个关键原因:

    • 决策边界
    • 特征工程

     

    那让我来解释一下吧!

     

    • 机器学习vs.深度学习:决策边界

     

    每种机器学习算法都会学习从输入到输出的映射。换句话说,该算法会学习一个仅有几组权重的函数:

     

    Input -> f(w1,w2…..wn) -> Output

     

    在分类问题中,算法将学习将两种类别分开的函数——这被称为决策边界(Decision boundary)。决策边界能够帮助我们确定给定数据点属于正向类还是负向类。

     

    例如,在逻辑回归的情况下,学习函数就是一个试图将两种类别分开的Sigmoid函数。

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

    逻辑回归的决策边界

     

    如上图所示,逻辑回归算法要学习线性决策边界。它不能学习下图这种非线性数据的决策边界:

     

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

    非线性数据

     

    同样,一种机器学习算法是无法学习所有函数的。这就限制了算法能够解决的有关复杂关系的问题。

     

    • 机器学习vs.深度学习:特征工程

     

    特征工程是模型构建过程中的关键步骤。此过程分为两步:

     

    1. 特征提取(Feature extraction)

    2. 特征选择(Feature selection)

     

    在特征提取中,我们提取问题陈述中所需的所有特征;在特征选择中,我们选择能够提高机器学习或深度学习模型性能的重要特征。

     

    想一想图像分类问题。要从图像中手动提取特征的话,就要对该主题和领域有深入的了解。这是一个及其耗时的过程。有了深度学习,我们就可以实现特征工程自动化了!

     

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

    机器学习和深度学习间的比较

     

    既然我们已经了解了深度学习的重要性,以及它为何能超越传统的机器学习算法,那么接下来就让我们进入本文的关键部分。我们将讨论在解决深度学习问题时会用到的不同类型的神经网络。

     

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

    深度学习中不同类型的神经网络

     

    本文将重点讨论3种重要类型的神经网络,它们构成了深度学习中大多数预训练模型的基础:

     

    • 多层感知器Multi-Layer Perceptron (MLP) / 人工神经网络Artificial Neural Networks (ANN)
    • 卷积神经网络Convolution Neural Networks (CNN)
    • 循环神经网络Recurrent Neural Networks (RNN)
    •  

    下面让我们详细了解一下这几种神经网络吧!

     

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

    多层感知器(MLP)

     

    1、什么是MLP?为什么要使用MLP?

     

    单个感知器(或神经元)可以被想象成逻辑回归。多层感知器(MLP),是每一层上的一组多个感知器。因为输入仅单方向地向前处理,所以MLP也被称为前馈神经网络( Feed-Forward Neural network):

     

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

    多层感知器

     

    如图所示,MLP由三层组成——输入层、隐藏层和输出层。输入层仅接收输入,隐藏层处理输入,输出层生成结果。基本上,每一层都要训练权值。

     

    MLP可用于解决与以下几点相关的问题:

    • Tabular data 列表数据
    • Image data 图像数据
    • Text data 文本数据

     

    2、多层感知器的优势

     

    多层感知器能够学习任意非线性函数。因此,这些网络被普遍称为通用函数逼近器(Universal Function Approximator)。MLP能够学习将任何输入映射到输出的权重。

     

    通用逼近背后的主要原因之一是激活函数(activation function)。激活函数将非线性特征引入网络中,有助于网络学习输入和输出之间的复杂关系。

     

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

    感知器(点击查看动图)

     

    如图所示,每个神经元的输出都是输入加权和的激活。但是,如果没有激活函数会怎样呢?该网络仅学习线性函数,但不学习复杂关系,原因是:激活函数是多层感知器的核心!

     

    3、多层感知器面临的挑战

    •  
    • 在利用MLP解决图像分类问题时,首先要将二维图像转换成一维向量,然后再对模型进行训练。这样做有两个缺点:

    (1)随着图像尺寸的增大,可训练参数的数量会急剧增加。

     

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

    MLP:图像分类

     

    在上述情况下,如果图像的大小为224*224,那么在只有4个神经元的第一个隐藏层中的可训练参数就是602112,这可不是个小数目!

     

    (2)MLP会丢失图像的空间特征。空间特征指的是图像中像素的排列。我会在以下几节中详细讨论这一问题。

     

    • 在所有这些神经网络中,存在一个共同问题:梯度消失与爆炸(Vanishing and Exploding Gradient)。此问题与反向传播(backpropagation)算法有关。反向传播算法通过寻找梯度来更新神经网络的权值。

    反向传播

     

    因此,在非常深的神经网络(具有大量隐藏层的网络)中,梯度会随着向后传播而消失或爆炸,从而导致梯度消失与爆炸(Vanishing and Exploding Gradient)。

     

    • MLP无法捕获处理序列数据所需的输入数据中的顺序信息。

    现在,让我们来看看如何通过两种不同的架构——循环神经网络(RNN)和卷积神经网络(CNN)来克服MLP的局限性。

     

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

    循环神经网络(RNN)

     

    1、什么是RNN?为什么要使用RNN?

     

    我们先从架构角度了解一下RNN和MLP之间的区别:

     

    MLP隐藏层上的环形约束转向RNN

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

     

    如上图所示,RNN在隐藏状态上有一个循环连接,此循环约束能够确保在输入数据中捕捉到顺序信息。

     

    循环神经网络能够帮助我们解决以下相关问题:

    • 时间序列数据
    • 文本数据
    • 音频数据

     

    2、循环神经网络(RNN)的优势

    • RNN能够捕捉数据中出现的顺序信息,例如,预测时文本中单词之间的依赖关系:

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

    Many2Many Seq2Seq 模型

     

    如图所示,每个时间步长的输出(o1, o2, o3, o4)不仅取决于当前单词,还取决于先前的单词。

     

    • RNN跨不同的时间步长共享参数。这通常被称为参数共享(Parameter Sharing)。这将减少训练参数并降低计算成本。

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

    展开的RNN

     

    如上图所示,U、W、V 这3个权值矩阵是所有时间步长中共享的权值矩阵。

     

    3、循环神经网络(RNN)面临的挑战

     

    深度RNN(具有大量时间步长的RNN)也存在梯度消失和爆炸问题,这是在所有不同类型神经网络中常见的问题。

     

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

    梯度消失(RNN)

     

    如图所示,在最后一个时间步长处计算的梯度在到达初始时间步长时消失。

     

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

    卷积神经网络(CNN)

     

    1、什么是CNN?为什么要使用CNN?

     

    卷积神经网络(CNN)目前在深度学习领域非常热门。这些CNN模型被应用于不同的应用和领域,在图像和视频处理项目中尤其普遍。

     

    CNN的构建块是过滤器,也就是内核。内核的作用是利用卷积运算从输入中提取相关特征。我们可以试着了解一下使用图像作为输入数据的过滤器的重要性。将图像与过滤器进行卷积会生成一个特征图(feature map):

     

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

    卷积的输出

     

    尽管引入卷积神经网络的初衷是要解决与图像数据相关的问题,但它们在顺序输入上的表现也十分出色。

     

    2、卷积神经网络(CNN)的优势

    • CNN能够自动学习过滤器。这些过滤器有助于从输入数据中提取正确的相关特征。

     

    CNN从图像中捕捉空间特征(spatial features)。空间特征指的是像素在图像中的排列以及它们之间的关系。它们能够帮助我们准确地识别物体、物体位置、以及它与图像中其他物体的关系。

     

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

     

    在上面的图像中,我们可以通过查看特定的特征(例如眼睛、鼻子、嘴巴等)轻松识别出图像是一张人脸。我们还可以看到这些特征在图像中的排列方式。这正是CNN能够捕捉的内容。

     

    3、比较不同类型的神经网络

     

    下面,我总结了一些不同神经网络之间的区别:

     

    CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?

     

     

    在本文中,我们讨论了深度学习的重要性,并了解了不同类型的神经网络间的差异。我一直相信知识共享才是学习的最终形式,因此我也期待听到更多来自你们的不同的声音!欢迎评论区与我们分享你的看法!

     

    原文:

    https://www.analyticsvidhya.com/blog/2020/02/cnn-vs-rnn-vs-mlp-analyzing-3-types-of-neural-networks-in-deep-learning

    展开全文
  • 观后感: 看完(RNN)循环神经网络后,第一...(2)卷积神经网络中参数也很抽象,具体有哪些参数无法从模型图上得知。 (3)循环神经网络神经元输入输出到底是什么,第i个神经元输出什么怎么传到第i+1个...

    观后感:

    看完(RNN)循环神经网络后,第一个感觉是没有看懂,具体有几点

    (1)模型图很抽象,不知道输入的X、Y(即输入输出到底是什么),如果不知道输入输出具体是什么,那么根本无法对样本做标记,那么理解模型的具体算法就无从谈起。

    (2)卷积神经网络中的参数也很抽象,具体有哪些参数无法从模型图上得知。

    (3)循环神经网络中的神经元输入输出到底是什么,第i个神经元的输出的什么怎么传到第i+1个神经元

    总结:

    1.不知道参数有哪些

    2.每个神经元的输入输出是什么

    3.训练样本如何做标记

    解决办法:

    所以如果想要弄明白循环神经网络(RNN)在做什么,我们需要观看一点基础的内容,对循环神经网路有一个感性的认识,所以我看了下面这个博客(博主为 谢小小XH),附链接https://blog.csdn.net/xierhacker/article/details/73384760。我认为这篇博客对初学者弄懂循环网络非常有帮助。(但是我在看双向循环神经网络的时候还是有点不太明白,里面的一些细节,特别是初始向量这块)

    以下还有几篇文章对理解循环神经网络非常有帮助,附链接

    http://colah.github.io/posts/2015-08-Understanding-LSTMs/(LSTM)

    http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/(RNN)

     

    展开全文
  • 二 RNN(循环神经网络)2.1 RNN模型结构2.2 RNN反向传播三 RNN一些改进算法3.1 LSTM算法(Long Short Term Memory, 长短期记忆网络 )3.2 GRU算法四 基于Tensorflow基本操作和总结 一 RNN概述   前面我们叙述了...
  • 模型优化(模型复杂度,损失函数,学习率,优化器,图片增强,dropout) CNN卷积神经网络(原理,LeNet5,AlexNet,VGGNet,InceptionNet,ResNet,物品识别) RNN循环神经网络(原理,LSTM,GRU,股票预测) BP神经...
  • 第五课.语言模型

    2020-11-13 11:45:24
    第五课目录语言模型语言模型简介评价语言模型循环神经网络写作中 语言模型 语言模型简介 简单来说,语言模型用于衡量一句话是否合理,词顺序和选择哪些词也要求,给出一句话,判断这句话(词组合)出现概率: P...
  • 大数据文摘作品编译:彭湘伟...这一年,谷歌发布了Google Translate模型,并详细描述了网络结构——循环神经网络。Facebook聊天机器人,因为失控创造了自己语言被关闭。DeepMind 研究员在他们文章中展示了
  • 目录 1.简述人工神经网络定义。 2.简述神经网络架构。 3.简述误差逆传播算法。...4.大数据与深度学习之间什么样的关系?...6.目前影响力比较大的深度...10.简述循环神经网络的架构。 11.分别简述CNTK、MXNet、T...
  • 文章目录参考文章Attention 机制解析1. 为什么引入attention机制?...卷积或循环神经网络难道不能处理长距离序列吗?自注意力模型(self-Attention model)计算过程6. Attention机制应用 参考文章 目前主
  • 人工神经网络在近年来大放异彩,在图像识别、语音识别...本文将由浅入深介绍循环神经网络RNN和长短期记忆网络LSTM基本原理,并基于Pytorch实现一个简单应用例子,提供完整代码。1. 神经网络简介1.1 神经网络起源人...
  • 人工神经网络在近年来大放异彩,在图像识别、语音识别...本文将由浅入深介绍循环神经网络RNN和长短期记忆网络LSTM基本原理,并基于Pytorch实现一个简单应用例子,提供完整代码。1. 神经网络简介1.1 神经网络起源人...

空空如也

空空如也

1 2 3
收藏数 54
精华内容 21
关键字:

循环神经网络的模型有哪些