网络中出现的问题、原因以及解决措施总结
文章目录
- 问题1:梯度消失
- 问题2:梯度爆炸
- 问题3:过拟合
- 问题4:欠拟合
- 问题5:退化现象
- 引用
问题1:梯度消失
定义:网络反向传播权值越算越小到最后权值可以忽略不计了。
判断方法:随着隐藏层数目的增加,分类准确率下降。
原因:网络太深,网络权重更新不稳定造成的,本质上是因为梯度方向传播的连乘效应。
解决方案:
①使用Relu、LeakRelu、Elu等激活函数;
ReLU的作用:①解决了梯度消失、爆炸的问题②计算方便,计算速度快③加速了网络的训练
②加BN层;
BN的作用:①加速网络收敛速度 ②可以改善梯度消失问题
③使用残差网络结构;
④使用长短期记忆网络(LSTM);
⑤预训练微调。
问题2:梯度爆炸
定义:网络反向传播权值越来越大,以指数形式增长。
判断方法:随着隐藏层数目的增加,分类准确率下降。
原因:网络太深,网络权重更新不稳定造成的,本质上是因为梯度方向传播的连乘效应。
解决方案:
①梯度剪切:思想是设置一个梯度剪切阈值,然后更新梯度的时候,如果梯度超过这个阈值,那么就将其强制限制在这个范围之内。这可以防止梯度爆炸
②权重正则化:比较常见的是l1正则,和l2正则;
③使用Relu、LeakRelu、Elu等激活函数;
④加BN层;
⑤使用残差网络结构;
⑥预训练微调,权重初始化调小。
问题3:过拟合
定义:训练集准确率高(loss小)而验证集准确率低(loss大)。
判断方法:对比训练集和验证集准确率和损失,如果相差过大就有可能过拟合了。
解决方案:
①权重衰减,即L1、L2正则化;
②提前停止;
③扩大训练集样本、数据增强;
④重新选用合适的模型,减小网络容量;
⑤添加Dropout;
⑥参数共享与参数绑定;
⑦bagging:可以组合多个模型起到减少泛化误差的作用;
⑧辅助分类器:在Google Inception V1中,采用了辅助分类节点的策略,即将中间某一层的输出用作分类,并按一个较小的权重加到最终的分类结果中,这样相当于做了模型的融合,同时给网络增加了反向传播的梯度信号,提供了额外的正则化的思想;
⑨加入BN层:在Google Inception V2中所采用,是一种非常有用的正则化方法,可以让大型的卷积网络训练速度加快很多倍,同时使得收敛后分类的准确率也可以大幅度的提高;
⑩使用交叉验证方法。
问题4:欠拟合
定义:网络学习不到东西,在训练集时准确率就很差(loss高)。
解决方案:
①寻找最优的权重初始化方案;
②使用适当的激活函数,如ReLU;
③选择合适的优化器和学习率。SGD,Momentum、Adagrad、Adadelta。可以选择开始用Adadelta,快收敛时用SGD,即优化器的组合效果会更好;
④选择更深、更复杂的模型,以此来学习到更多特征。
问题5:退化现象
定义:随着网络深度的增加,准确率开始达到饱和并且在之后会迅速下降。
原因:网络过于复杂,训练不加约束。
解决方案:使用残差网络结构。
引用
[1] 如何理解和解决神经网络训练中的梯度消失和梯度爆炸_猫敷雪-CSDN博客
[2] 神经网络防止过拟合的方法 - bonelee - 博客园 (cnblogs.com)
网络中出现的问题、原因以及解决措施总结相关推荐
- 计算机总是提示网络电缆没有插,网络电缆没有插好原因与解决方法【图文教程】...
本地连接关系到局域网的互连和本机连接Internet的问题.如果本地连接出现问题,那么,局域网和互联网都将无法正常访问.那么,下面小编将为大家介绍一下网络 电缆 没有插好原因与解决方法. 本地连接的问 ...
- 基于继承类的属性模版中无法绑定的原因和解决方法
原文:基于继承类的属性模版中无法绑定的原因和解决方法 这个的晚上想学学WPF 做一个类似于ERP 左边菜单.构思一下思路 ...... 创建一个类基于Expander类. 1 public class ...
- SpringBoot 中@Autowired 注入失效原因及解决方法
SpringBoot 中@Autowired 注入失效原因及解决方法 1.原因分析 1.1 包没有被扫描到通过@Autowired注入的类所在的包路径不在Application启动类所在的包/子包路径 ...
- mysql数据库的字符集_mysql数据库中字符集乱码问题原因及解决
前言 有的时候我们在查看数据库数据时,会看到乱码.实际上,无论何种数据库只要出现乱码问题,这大多是由于数据库字符集设定的问题. 下面我们就介绍一下,数据库的字符集的设定及乱码问题的解决. mysql数 ...
- 网络中丢包的原因及类型
在本文中我会总结一些论文相关论文中关于网络中丢包的原因的论述. 网络中的丢包可以分为如下几个类型: 拥塞: 这个比较好理解, 就是交换机/路由器中多个端口向一个端口发送数据包, 最后导致数据包数量超过 ...
- python import变灰_pycharm中import呈现灰色原因的解决方法
1. 问题描述: 同目录下,当多个文件之间有相互依赖的关系的时候,import无法识别自己写的模块,PyCharm中提示No Module. 2. 解决步骤: (1). 打开File--> Se ...
- win7调取计算机慢,Win7系统打开网页慢怎么办|Win7系统打开网页很慢原因及解决措施...
Win7操作系统下用户说每次打开网页的速度很慢,等待很长一段时间才会有反应,才能完全显示整个页面,严重影响上网心情.电脑打开网页慢怎么办呢?是什么原因导致的?Win7电脑打开网页很慢该怎么解决呢?接下 ...
- 电脑风扇声音大怎么办?具体原因以及解决措施,快速解决
很多小伙伴使用台式电脑,使用的时间长了,电脑机箱里的风扇就会发出一些噪音,很影响小伙伴的整体使用体验.电脑风扇声音大怎么办?具体的原因以及解决措施有哪些?下面就跟着小编一起来看看吧. 一.电脑风扇声 ...
- 点焊机器人焊接超时_焊接机器人常见故障原因及解决措施
原标题:焊接机器人常见故障原因及解决措施 通常很多企业或者学校采购焊接机器人后,普遍认为所有的活儿都可以干,不知机器人使用好友多想前提,且也是与焊接质量的好坏是息息相关的,从刚开始对机器人的依赖性比较 ...
- win7点了计算机看不见硬盘,安装win7系统找不到硬盘的原因及解决措施
现在越来越多用户升级安装win7系统,安全.稳定.人性化深受广大用户喜爱.安装过程中难免遇到一些故障问题,有用户使用安装win7系统时找不到硬盘,怎么解决呢?首先检查一下硬盘自身有无问题以及电源线.数 ...
最新文章
- pytorch model.train() 开启batchnormalize 和 dropout model.eval() 则会关闭dropout
- dlopen dlsym dlclose加载动态链接库
- qml与HTML数据交互,GitHub - toby20130333/QtQuickHtmlBridge: 基于QtQuick的C++,qml,Html三者的Bridge交互...
- 修复 Xcode 错误 “The identity used to sign the executable is no longer valid”
- qgis oracle,用 QGIS 画矢量交通路线图
- laravel用crud之index列出产品items
- 富士康海外工厂遭黑客攻击 被勒索1804枚比特币
- PHP中获取数组中单列的值
- APACHE局域网配置域名访问
- 《软件方法》第8章 分析 之 分析类图——知识篇Part1(20211029更新)
- sqlserver 查询 oracle 语法,Oracle/SQLServer 跨库查询
- 一文详解工业相机和镜头选取
- 手动修改dns服务器设置,手动设置dns地址服务器
- Win10下安装Detectron2,超详细教程!
- 检查压缩包是否损坏_【安全知识】运动安全带检查PPE(个人防护装备)检查程序与表格...
- iphone,ipad,android图片尺寸
- 04 | 连接池:别让连接池帮了倒忙
- linux的标准输入输出
- mongo查询时区转换
- 《精彩网址大全——工商经济科学教育卷》前言
热门文章
- html对象转换为字符串,如何使用JavaScript将对象转换为字符串?
- 重邮计算机学院艺术团,毕业季 | 重庆邮电大学2019届 “邮梦青春,毕业季”文艺晚会...
- win10获得system权限(超级管理员)
- EEE(Energy Efficient Ethernet)-节能以太网
- UI设计需要使用哪些软件?推荐这5款
- 街篮中服务器维修什么时候能结束,街头篮球手游1月6日微信iOS维护公告 服务器扩容...
- Python中的*和**
- 深入解析内存原理:RAM的基本原理
- 标准盒子模型和IE盒子模型
- UIUC 云计算概念:SWIM协议笔记