深度神经网络问题以及解决方法
深度神经网络问题以及解决方法
参考博客:深度学习中的highway network、ResNet
参考博客:神经网络梯度与归一化问题总结
一份详细讲解的代码:https://iamtrask.github.io/2015/11/15/anyone-can-code-lstm/
问题一:误差信号的多层反向传播容易产生“梯度消失”、“梯度爆炸”现象
问题二:随着深度神经网络层数的增加,训练误差没有降低反而升高
当神经网络层数过深的时候,会出现“退化”的现象,即在网络层数加深时,网络的loss不降反增。对于该问题,提出了高速网络(Highway network)和残差网络(Residual Network)来解决网络层数过深的问题。
highway network
highway network 主要解决问题是:网络深度加深,梯度信息回流受阻,造成网络训练困难的问题
shortcut(或shortpath,中文“直连”或“捷径”)是CNN模型发展中出现的一种非常有效的结构, 残差连接的思想起源于中心化,在神经网络系统中,对输入数据等进行中心化转换,即将数据减去均值,被广泛验证有利于加快系统的学习速度。
1、一般一个网络, 每层网络对输入进行一个非线性映射变换
2、对于CNN网络, 定义一层网络结构如下,T 和 C 分别表示对输入的门控(0到1)和直接传送
观察到, 对于特殊的门值T
该层的雅可比变换转换为:
物理意义:假设所有的门t的均值为0.5的话,将所有原始信息一半激活、一半不变直接输入下一层, 保留了很多信息。
反向传播的时候,可以让更多的梯度信息直接回流到输入, 而不需要经过一个非线性转换。
ResNet网络
模型增加一个identity mapping(恒等映射), 将原始所需要学的函数 转换成
, 两种函数表达效果像如同, 但是
的优化会比
简单很多。图像处理中的残差向量编码 , 将一个问题分解成多个尺度直接的残差问题。
- 这个简单的加法并不会给网络增加额外的参数和计算量,同时却可以大大增加模型的训练速度、提高训练效果
- 并且当模型的层数加深时,这个简单的结构能够很好的解决退化问题。因为identity map是的梯度可以直接回流到了输入层
对于shortcut的方式:
1.使用恒等映射, 如果residual block的输入输出维度不一致, 对增加的维度用0来填充
2.在block输入输出维度一致时使用恒等映射, 不一致时使用线性投影以保证维度一致
3.对于所有的block均使用线性投影
Inception
解决深度学习 参数过多、梯度消失的问题, 解决方法就是增加网络深度和宽度的同时减少参数。
Inception网络在同一层里面使用不同的卷积模板,对不同size感受野做特征提取, 即为一种混合模型; max pooling 也具有特征提取的作用, 和卷积不同, 没有参数不会过拟合,亦可作为一个分支; 使用1*1卷积核可以起到降低特征图厚度的作用(对于使用两层堆叠的3 * 3卷积核 代替一层的5 * 5卷积核, 参数量减少了, 计算量也减少了, 层数变深了, 效果变好了)
梯度消失/梯度爆炸的问题
神经网络训练的方法是BP算法。BP算法的基础就是导数的链式法则。在CNN以及RNN网络中会明显出现梯度消失和梯度爆炸的问题
在使用sigmoid()函数作为激活函数时, 两侧饱和区域的导数很小, 随着网络的加深, 梯度反向传播到浅层网络时, 基本不能引起数值的扰动, 浅层的网络就无法学习到新的特征。解决方法:1、更换激活函数 2、使用层归一化 3、在权重初始化上下功夫 4、构建新的网络结构
激活函数
ReLU()函数, 稀疏激活, 负数端抑制状态, 正数端兴奋激活, 没有将数据压缩, 会使得数据的范围可能会很大。
Leaky ReLU()函数, 负数端不完全抑制。
sigmoid()函数
tanh()函数
批量层归一化
BN通过将输出层的数据归一化到mean = 0, var = 1的分布中, 即使均值方差相同不代表分布也相同
归一化可以解决ReLU()函数不能把数据压缩的问题; 可以使用更高的学习率, 保证每层、每维的scale保持一致, 可以加快收敛; 归一化会破坏原本学习的特征的分布, 加入两个参数来恢复原本的分布, 新添加的两个参数, 是通过训练学习的, 最后可能恢复,也可能未恢复, 这样可以增加网络的capicity,网络中就存在多种不同的分布了。covariate shift (尚未理解) 在加入BN之后可以不使用dropout, dropout是用来正则化增强网络的泛化能力, 减少过拟合, BN是用来提升精度。 过拟合一般发生在数据边缘的噪声位置, BN把它归一化操作
深度神经网络问题以及解决方法相关推荐
- 书 | Springer | 时空无监督学习:使用基于图技术和深度神经网络的现代计算机视觉方法
书名: Unsupervised Learning in Space and Time: A Modern Approach for Computer Vision using Graph-based ...
- 周志华:实验论证最好的非深度神经网络方法 !(附论文、代码)
来源:全球人工智能 本文41张PPT,建议阅读4分钟 北京时间 11月5 日到11月6日,西瓜书<机器学习>作者.南京大学机器学习与数据挖掘研究所(LAMDA)周志华教授日前在MLA 20 ...
- 周志华:最新实验表明gcForest已经是最好的非深度神经网络方法
北京时间 11月5 日到11月6日,西瓜书<机器学习>作者.南京大学机器学习与数据挖掘研究所(LAMDA)周志华教授日前在MLA 2017上的演讲:深度森林初探--讲述的关于他最新集成学习 ...
- 基于深度神经网络的高光谱影响分类方法研究---MNF+自动编码器+Softmax (准确率比较低,17年的论文)
论文地址 基于深度神经网络的高光谱影响分类方法研究 装备学院学报 遥感影像分类的问题:预处理复杂,高维特征提取困难,分类不够精确等缺陷 首先采用最大噪声分数来降低特征空间维度,然后将自动编码器与sof ...
- 积神经网络的参数优化方法——调整网络结构是关键!!!你只需不停增加层,直到测试误差不再减少....
积神经网络(CNN)的参数优化方法 from:http://blog.csdn.net/u010900574/article/details/51992156 著名: 本文是从 Michael Nie ...
- 多层感知器及常见激活函数-深度神经网络DNN及计算推导
多层感知器 在之前的博客中,我们了解到,感知器(指单层感知器)具有一定的局限--无法解决异或问题,即线性不可分的问题. 将多个单层感知器进行组合,就可以得到一个多层感知器(MLP--Multi-Lay ...
- 基于深度神经网络的火灾探测声学灭火器控制
1.文章信息 本次介绍的文章是2022年发表在Elektronika ir Elektrotechnika的一篇基于计算机视觉的火灾检测文章. 2.摘要 近年来,寻找快速.环保的灭火方法一直是一个特别 ...
- 深度神经网络压缩与加速总结
深度神经网络压缩与加速综述 1. 深度神经网络压缩与加速的任务 2. 模型压缩与加速方法 (1) 参数剪枝 (2) 参数共享 (3) 低秩分解 (4) 紧性滤波设计 (5) 知识蒸馏 3. 深度神经网 ...
- 半并行深度神经网络(SPDNN)混合架构,首次应用于单目相机的深度
摘要:近年来,深度神经网络应用于广泛的问题.在这项工作中,卷积神经网络(CNN)应用于从单个摄像机图像(单眼深度)确定深度的问题.设计八个不同的网络来执行深度估计,每个网络适合于特征级别.具有不同池大 ...
最新文章
- web developer tips (69):vs中在浏览器中查看的快捷键
- nth_element
- WSDL文件生成WEB service server端C#程序
- 华为发布MetaAAU 能耗降低30% 性能节能双提升
- luogu P2344 奶牛抗议 DP 树状数组 离散化
- 【Energy Forecasting】能源预測的发展和展望
- 成绩管理系统代码c语言,学生成绩管理系统(c语言源代码)
- 公众号 html5页面,微信公众号添加h5页面模板的操作方法是什么?
- 统计相关系数(1)——Pearson(皮尔逊)相关系数及MATLAB实现
- 联盟营销最佳实践:提高联盟计划的投资回报率
- Java 8 effectively final
- 无线路由器DNS服务器异常,fast无线路由器dns异常的解决方法
- 等待是一个过程,每一种坚守都是幸福
- 【线性代数】矩阵的初等变换与线性方程组
- python读取大文件md5校验性能优化比较
- 微信营销软件 php下载,北牧微信营销系统CMS企业版 php版免费版_北牧微信营销系统CMS企业版 php版PC版下载-东乐软件网...
- 互联网广告人--联合御寒--品牌,代理,平台,达人 多方携手御寒
- Design Compiler - DC综合的流程(三)
- Mina框架并实现Server与Client端的简单消息传递!
- session和model的区别
热门文章
- 金融信息安全实训——利用常见的网络命令获取网络信息
- TOPSIS法(优劣解距离法)介绍及 python3 实现
- 小巧的截屏软件Greenshot
- 大学生免费查题公众号_大学生查题福利公众号,免费,完全免费!
- 2021年全球飞机标记和标牌收入大约16百万美元,预计2028年达到18百万美元
- [狂顶]国内免费图片外链网站
- 差分曼彻斯特第一位判断方法
- 菜鸟教程python实例_Python 处理Cookie的菜鸟教程(一)Cookie库
- Laravel 5.2 + layui实现视频上传(+ 进度条)原创
- 别让绑架式微信投票毁了朋友圈出现:去哪里给微信刷票、微信投票群怎么收费实属无奈