经典DL论文研读(part1)--Understanding the difficulty of training deep feedforward neural networks
学习笔记,仅供参考,有错必纠
文章目录
- Understanding the difficulty of training deep feedforward neural networks
- Abstract
- Deep Neural Networks
- Experimental Setting and Datasets
- Online Learning on an Infinite Dataset Shapeset-3*2
- Finite Datasets
- Experimental Setting
- Effect of Activation Functions and Saturation During Training
- Experiments with the Sigmoid
- Experiments with the Hyperbolic tangent
- Studying Gradients and their Propagation
- 对比
- Error Curves and Conclusions
- 参考文献(本博客)
Understanding the difficulty of training deep feedforward neural networks
Abstract
基于随机初始化的标准梯度下降法在深度神经网络中表现的不好.
由于随机初始化的均值问题,sigmoid激活函数并不适合深度神经网络,其top隐藏层(最接近输出层的隐藏层)会出现饱和的状态.
- 饱和状态
当x的数值处于两个红框框住的状态时,sigmoid函数的梯度几乎为0,参数的变化率非常小,此时就是处于sigmoid函数的【饱和状态】.
注意,当x值为0时,函数接近于线性变化,函数只能做出近似线性的表达,则对非线性的情况不能很好的拟合,此时效果也不是很好. 当x的数值处于绿色框的范围内时,会有较好的效果.
Deep Neural Networks
略
Experimental Setting and Datasets
在本章中,将介绍多个实验中使用的数据集,以及实验设置.
Online Learning on an Infinite Dataset Shapeset-3*2
该数据集可以随机生成包含3种形状(triangle, parallelogram, ellipse)的无限多的图片,其中每张图片中随机包含2种图形.
Finite Datasets
- MNIST digits
MNIST数据集中包含50000张训练图片,10000张测试图片,其中每张图片为28*28像素的灰度图.
- CIFAR-10
CIFAR-10数据集中包含50000张训练图片,10000张测试图片,其中每张图片为32*32像素的彩色图像. 这个数据集中包含10个种类的物体( airplane, automobile, bird, cat, deer, dog, frog, horse, ship, or truck).
- Small-ImageNet
Small-ImageNet数据集中包含90000张训练图片,10000张测试图片,其中每张图片为37*37像素的灰度图像. 这个数据集中包含10个种类的物体( eptiles, vehicles, birds, mammals, fish, furniture, instruments, tools, flowers and fruits).
Experimental Setting
- 激活函数
本次实验使用了3种激活函数: sigmoid函数, 双曲正切函数以及softsign函数.
双曲正切函数以及softsign函数的曲线图如下所示. 直观来看softsign函数更加平滑,非线性区域更广.
- 网络层数
对于Shapeset-3*2数据集来说,神经网络最好的深度为5层,但对于sigmoid激活函数来说,最好的层数为4层.
- 初始化
偏置的初始化为0,每层权重WijW_{ij}Wij的初始化为:
注意,n为前一个隐藏层神经元的个数.
Effect of Activation Functions and Saturation During Training
Experiments with the Sigmoid
以Sigmoid为激活函数有4个隐藏层的神经网络的结果如下图所示. 纵坐标为激活函数值,横坐标为训练的周期数,实线为激活函数均值. 可以看到第四层(top 层)激活函数的值很快下降到0附近,则此时模型处于饱和状态,所有隐藏层的权值几乎没有调整. 直至训练到100个周期之后,top层才摆脱饱和状态,此时,其他隐藏层的权值才进行快速学习优化.
需要注意的是,基于Sigmoid激活函数的神经网络如果层数为5,则无法摆脱饱和状态.
文章认为出现这种饱和状态的原因,是使用了传统的随机初始化. 缓解这种饱和状态的方法是使用预训练模型[1],具体方法为:首先使用无监督的方法得到BP网络中的初始化权值,然后再对BP神经网络进行微调,得到效果更好的模型.
Experiments with the Hyperbolic tangent
下图中的上半部分使用的是双曲正切函数,下半部分使用softsign函数.
基于双曲正切激活函数模型的lay1很快进入饱和状态,随着训练的增加,其他隐藏层也逐渐进入饱和状态.
基于softsign函数模型的隐藏层在经过多次训练后,都没有进入饱和状态.
下图的上半部分使用的是双曲正切函数,下半部分使用softsign函数.
基于双曲正切激活函数模型的激活函数值大多处于0, 1, -1的状态下. 这表明,这些隐藏层多处于饱和状或者只能描绘线性的情况.
基于softsign函数模型的激活函数值,除了lay5的激活函数值处于0状态下比较多,其他隐藏层的值都在[-0.8, -0.6] 或 [0.6, 0.8]的范围内,这说明基于该激活函数的隐藏层没有出现饱和状态,且模型具有较好的学习性能.
Studying Gradients and their Propagation
本文提出了一种新的初始化方法,即标准初始化:
对比
- 激活函数值
下图中上半部分使用的是普通初始化,下半部分使用的是新的标准化方法. 可以看到,普通初始化方法得到的激活函数值多在0附近,而新的初始化方法所产生的激活函数值分布较广,则对模型的学习训练有较好的结果.
- 梯度
Error Curves and Conclusions
结论:
参考文献(本博客)
[1]
经典DL论文研读(part1)--Understanding the difficulty of training deep feedforward neural networks相关推荐
- 论文解析-《Understanding the difficulty of training deep feedforward neural networks》
这篇论文详细解析了深度网络中参数xavier初始化方法,这里做一下读书笔记,同时记录一下自己的理解. 1 引言 经典前馈神经网络其实很早就有了(Remelhart et al.,1986),近年来对深 ...
- Paper之DL之BP:《Understanding the difficulty of training deep feedforward neural networks》
Paper之DL之BP:<Understanding the difficulty of training deep feedforward neural networks> 目录 原文解 ...
- Paper:Xavier参数初始化之《Understanding the difficulty of training deep feedforward neural networks》的翻译与解读
Paper:Xavier参数初始化之<Understanding the difficulty of training deep feedforward neural networks>的 ...
- 【Deep Learning】笔记:Understanding the difficulty of training deep feedforward neural networks
这几天读了这篇论文,在这里将大致内容写在这里. Abstract 介绍这篇论文的主要内容就是尝试更好的理解为什么使用"标准随机初始化"来计算使用标准梯度下降的网络效果通常来讲都不是 ...
- Understanding the difficulty of training deep feedforward neural networks
1.作者 Xavier Glorot Yoshua Bengio这就是非常出名的Xavier初始化的作者 蒙特利尔大学 加拿大 2.文章目的 本篇文章的主题在于 1.理解为什么随机初始化在很深的神经 ...
- 经典DL论文研读(part4)--ImageNet Classification with Deep Convolutional Neural Networks
学习笔记,仅供参考,有错必纠 文章目录 ImageNet Classification with Deep Convolutional Neural Networks 摘要 Introduction ...
- 【论文解读】Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks
Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks 论文地址:http://cadlab.c ...
- 经典DL论文研读(part3)--Improving neural networks by preventing co-adaptation of feature detectors
学习笔记,仅供参考,有错必纠 文章目录 Improving neural networks by preventing co-adaptation of feature detectors Abstr ...
- 经典DL论文研读(part2)--Deep Sparse Rectifier Neural Networks
学习笔记,仅供参考,有错必纠 文章目录 Deep Sparse Rectifier Neural Networks Abstract Introduction Background Deep Rect ...
最新文章
- 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】
- python3 使用 socket.gethostbyname 报错 getaddrinfo failed 解决方法
- mysql 查询 字段是否为空
- 一小时学会Ansible自动化运维
- 朴素的UNIX之-Linux CFS一个注释
- c#winform选择文件,文件夹,打开指定目录方法
- Qt4 在x86和arm平台上的一些配置
- 太空战机c语言源码,funcode编写的太空战机
- MedicineCare-可行性分析
- 我的博客今天启用了量子统计
- 感应电机的矢量控制策略【Ⅰ】
- 克隆硬盘后进不去系统_Windows 10克隆后ssd硬盘不能引导启动
- 索骥馆-DIY硬盘之《新手3周学通硬盘芯片级维修》扫描版[PDF]
- iDrac6 虚拟控制台 连接失败
- ICMPv6与NDP
- 【GD32L233C-START】1、初识GD32L233C-START板卡
- convert函数用法小结---转载
- hive导出数据的7种方式
- 卖不动的江某白,还能靠什么打动年轻人?
- 基追踪算法 matlab,什么是基追踪算法?基于改进基追踪方法的信号去噪 - 全文
热门文章
- 多进程fork()函数
- 数据结构:线性数据结构(3)-deques(栈,队列,deques, 列表)
- xampp php连接mysql数据库_关于PHP xampp连接数据库之后查询失败,数据库连接成功,表中也有数据...
- 炸金花 php算法,php 炸金花牌型 和 比牌 规则
- java 存储cookie_java设置cookie,存储和读取 | 学步园
- 我所了解的Chrome
- python全栈_007_Python3格式化输出
- Coding and Paper Letter(三十九)
- Concurrent包工具类使用
- Vue组件实现tips的总结