之前神经网络火过一段时间,但是后来又淡出了,后来又火了,尤其是到2012年真的像发水一样。

之前为什么不火了呢,因为人们发现网络浅了吧,没什么优势。网络深了吧,又会出现vanishing gradient,无法训练。

看文章也没看到有特别提到为什么现在又能训练了。

调研了一下,是因为几个原因吧。

1. 现在的网络中的激活函数变了,由原来的sigmoid变成了relu,这个从relu的分布来看,限制了误差的无限变化。

2. 计算资源变好了。原来的计算资源比较差,训练的话不能一点点调,但是学习率设置大了,会影响收敛的。现在有了GPU和高速的CPU了,可以很小的learning rate开始训练,不停的迭代,也是现实的。

3. dropout的使用。这个防止了过拟合。

lstm我觉得就是利用了类似于第一点的特性吧。通过增加lstm这个环节,让rnn的误差不至于vanishing gradient.

其实我还是没弄明白vanishing gradient的克服问题。我好像陷入了一个死胡同了,老想用理论来理解这个问题,但是出现这个问题的理论是显而易见的,可是克服这个问题的这些解决办法,好像都没有很好的理论基础吧。虽然RELU从一定程度上克服了这个问题,但是当层数很深时,还是会出现这个问题的,所以he kaiming灯提出了一种PRELU,可以训练更深的网络。

而至于LSTM,增加了各种门,但是我其实没看到哪里从理论上保证了是克服这个问题的,这个需要再看看。

cnn为什么会不存在vanishing gradient的问题的更多相关文章

  1. 梯度消失(vanishing gradient)与梯度爆炸(exploding gradient)问题

    (1)梯度不稳定问题: 什么是梯度不稳定问题:深度神经网络中的梯度不稳定性,前面层中的梯度或会消失,或会爆炸. 原因:前面层上的梯度是来自于后面层上梯度的乘乘积.当存在过多的层次时,就出现了内在本质上 ...

  2. 梯度消失(vanishing gradient)和梯度爆炸(exploding gradient)

    转自https://blog.csdn.net/guoyunfei20/article/details/78283043 神经网络中梯度不稳定的根本原因:在于前层上的梯度的计算来自于后层上梯度的乘积( ...

  3. This instability is a fundamental problem for gradient-based learning in deep neural networks. vanishing exploding gradient problem

    The unstable gradient problem: The fundamental problem here isn't so much the vanishing gradient pro ...

  4. About CNN(convolutional neural network)

    NO.1卷积神经网络基本概念 CNN是第一个被成功训练的多层深度神经网络结构,具有较强的容错.自学习及并行处理能力.最初是为识别二维图像而设计的多层感知器,局部连接和权值共享网络结构 类似于生物神经网 ...

  5. (转)Introduction to Gradient Descent Algorithm (along with variants) in Machine Learning

    Introduction Optimization is always the ultimate goal whether you are dealing with a real life probl ...

  6. 网络流量预测 国内外研究现状【见评论】——传统的ARIMA、HMM模型,目前LSTM、GRU、CNN应用较多,貌似小波平滑预处理步骤非常关键

    Time Series Anomaly Detection in Network Traffic: A Use Case for Deep Neural Networks from:https://j ...

  7. Training Deep Neural Networks

    http://handong1587.github.io/deep_learning/2015/10/09/training-dnn.html  //转载于 Training Deep Neural ...

  8. Deep Learning in a Nutshell: Core Concepts

    Deep Learning in a Nutshell: Core Concepts This post is the first in a series I’ll be writing for Pa ...

  9. (转) Deep Learning in a Nutshell: Core Concepts

    Deep Learning in a Nutshell: Core Concepts Share:   Posted on November 3, 2015by Tim Dettmers 7 Comm ...

随机推荐

  1. SQL 还原或备份失败数据库变成单个用户模式无法访问

    还原数据失败了,数据库变成单个用户模式,无法操作了,执行下面的语句就可以了 USE master GO DECLARE @SQL VARCHAR(MAX); SET @SQL='' SELECT @S ...

  2. jquery.getParams.js

    本文参照:http://www.cnblogs.com/cocos/archive/2010/05/14/1735046.html jQuery.extend({ /** * Returns get ...

  3. 转:自定义控件三部曲之动画篇——alpha、scale、translate、rotate、set的xml属性及用法

    第一篇: 一.概述 Android的animation由四种类型组成:alpha.scale.translate.rotate,对应android官方文档地址:<Animation Resour ...

  4. 硬盘和显卡的访问与控制(二)——《x86汇编语言:从实模式到保护模式》读书笔记02

    上一篇博文我们讲了如何看到实验结果,这篇博文我们着重分析源代码. 书中作者为了说明原理,约定了一种比较简单地用户程序头部格式,示意图如下(我参考原书图8-15绘制的,左边的数字表示偏移地址): 所以, ...

  5. jquery日期插件jquery.datePicker参数

    1.效果图 2.引入JS.CSS文件 jquery-ui.min.css和jquery-ui.min.js文件 Includes: core.js, widget.js, mouse.js, posi ...

  6. EntityFramework报错

    解决:未能加载文件或程序集“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089” 使用 ...

  7. 方法引用(Method reference)和构造器引用(construct reference)

    Java 8 允许你使用 :: 关键字来传递方法或者构造函数引用 方法引用语法格式有以下三种: objectName::instanceMethod ClassName::staticMethod C ...

  8. Android 关于apk 打包后的地图定位和导航失败的问题

    项目中,使用了高德地图定位,调试的debug包定位完全没有问题,但是签名打包后,却始终无法定位,发现是测试环境下的SHA1码和签名发布版的SHA1码是不同的. 所以我们需要获取发布版的SHA1码: 方 ...

  9. Android NDK 入门与实践

    NDK 是什么 NDK 全称 Native Development Kit,可以让您在 Android 应用中调用 C 或 C++ 代码的工具. NDK 好处 1.NDK 可以生成 .so 文件, 方 ...

  10. Oracle:Start with connect by prior 递归

    SELECT * from CONNECT BY {PRIOR列名1=列名2|列名1=PRIOR列名2} [START WITH]; Oracle的递归查询:     START WITH :描述开始 ...