一、梯度消失和梯度爆炸

  1.参考 https://blog.csdn.net/qq_25737169/article/details/78847691

  2.概念:

在深度神经网络中,通常采用BP方法更新权重,一般采用链式求导法则求得梯度来更新,导数项包括多个因式相乘,其中有激活函数的导数和初始值等。这时如果梯度过大连乘起来就会越来越大以至于超出范围无法收敛这叫做梯度爆炸,反之如果梯度过小连乘起来就会越来越小甚至为0导致权重无法更新,此时称为梯度消失。

  3.原因:

  梯度消失和爆炸:不合适的损失函数。

  梯度爆炸:网络权值初始值太大

  4.解决方案:

  梯度消失和爆炸:预训练+微调;采用ELU(ReLU的变种)等激活函数;batchnorm(对每一层的输出规范为均值和方差一致来保证网络的稳定性,并加速收敛);

  梯度爆炸:梯度剪切;权重正则化;

  梯度消失:残差结构(短路机制可以无损地传播梯度,不会导致梯度消失)

二、BN层

  1.原理:

  直接做归一化学不到特征,加入可训练的参数做归一化

  参考 https://blog.csdn.net/qq_25737169/article/details/79048516

  2.为什么需要BN层:

  训练深度网络的时候经常发生训练困难的问题,因为,每一次参数迭代更新后,上一层网络的输出数据经过这一层网络计算后,数据的分布会发生变化,为下一层网络的学习带来困难。

  3.用处:

  加速神经网络训练,加速收敛速度及稳定性;Batchnorm是归一化的一种手段,极限来说,这种方式会减小图像之间的绝对差异,突出相对差异是归一化的一种手段,能够减少绝对差异,突出相对差异;

  不用BN时,需小心设计学习率和权重初值,有了BN可以采用大的学习率,加快训练;

  本身是一种正则的方式,可以替代其他正则方法如droupout等;

  4.方法:

  首先计算均值和方差,然后归一化,最后缩放和平移。

三、预训练

  1.目的

  规则化,防止过拟合;压缩数据,去除冗余;强化特征,减小误差;加快收敛速度。而采用ReLu则不需要进行pre-training。

四、Dropout

  1.原理

  详细参考:https://blog.csdn.net/stdcoutzyx/article/details/49022443%20和 https://blog.csdn.net/u012702874/article/details/45030991%20

  做法:深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络。

  起作用的原因:用了dropout相当于每次在原模型中找到一个更瘦的网络,最后的网络可以看做模型的集合,训练的参数却是一样多的;相当于增加了样本集。

  2.优缺点

  优点:防止过拟合

  缺点:训练时间稍长

  3.注意点

  训练的时候是用部分神经元,测试的时候没有dropout,而是全部都用,将输出结果进行缩小,即乘以训练时的1-p。

  为了使用方便,我们不在测试时再缩小输出,而在训练时直接将输出放大1/(1-p)倍。

  参考:https://www.cnblogs.com/welhzh/p/6648613.html

五、样本不均衡问题

  1.控制比例

  2.focal loss

六、难分样本

  1.控制比例时,选择训练Loss高的样本

  2.难分样本继续加入训练

七、喵喵喵

  1.不控制正负样本比例可以收敛?

  2.SSD融合和EAST融合方式比较?

八、Loss=Nan

  1.不当的Loss函数

  2.梯度爆炸

  3.输入数据问题

  4.步长大于核大小

转载于:https://www.cnblogs.com/EstherLjy/p/9329020.html

【深度学习问题整理】相关推荐

  1. 深度学习资料整理(软件资源)

    近这两年里deep learning技术在图像识别和跟踪等方面有很大的突破,是一大研究热点,里面涉及的数学理论和应用技术很值得深入研究,这系列博客总结了深度学习的博客,原理等资料,供大家学习讨论. 一 ...

  2. 真·干货!这套深度学习教程整理走红,从理论到实践的带你系统学习 | 资源...

    铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 寒假/春节小长假给自己充电的真·干货来了. 如果你想要的是一份从理论到实践的深度学习教程清单,如果你想系统了解各类框架.基础网络与各种使用场 ...

  3. 【干货小铺】各种编程语言的深度学习库整理

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|新机器视觉 本文总结了Python.Matlab.CPP. ...

  4. 各种编程语言的深度学习库整理

    Python 1. Theano是一个python类库,用数组向量来定义和计算数学表达式.它使得在Python环境下编写深度学习算法变得简单.在它基础之上还搭建了许多类库. 1.Keras是一个简洁. ...

  5. 各种编程语言的深度学习库整理(中英版)

    本文总结了Python.Matlab.CPP.Java.JavaScript.Lua.Julia.Lisp.Haskell..NET.R等语言的深度学习库,赶紧收藏吧! Python 1. Thean ...

  6. 机器学习和深度学习资料整理

    理论入门(里面的程序有些问题,但理论讲得挺好的) https://www.zybuluo.com/hanbingtao/note/476663 tensorflow编程入门 https://githu ...

  7. 涵盖各种编程语言的深度学习库整理大全!

    Python 1. Theano是一个python类库,用数组向量来定义和计算数学表达式.它使得在Python环境下编写深度学习算法变得简单.在它基础之上还搭建了许多类库. 1.Keras是一个简洁. ...

  8. 深度学习常见问题整理

    问题列表 如何设置网络的初始值?* 梯度爆炸的解决办法*** 神经网络(MLP)的万能近似定理* 神经网络中,深度与宽度的关系,及其表示能力的差异** 在深度神经网络中,引入了隐藏层(非线性单元),放 ...

  9. 深度学习入门整理学习(二)

    深度学习入门 深度学习横跨矩阵论.概率论与数理统计.信息论.博弈论.最优化等理论,并融合机器学习.数据挖掘.大数据.人工智能等领域技术,是具有深度和广度的综合范例 数学基础 矩阵论 (1)正交矩阵 A ...

最新文章

  1. YOLOv4来了,大型调优现场,速度和准确率俱佳
  2. python Gevent – 高性能的Python并发框架
  3. 在Eclipse中写第一个hibernate小例子
  4. @angular/core里的 NgZone -使得Angular不跟踪变化
  5. sklearn中cross_validation包无法使用
  6. 干货:RabbitMQ消息队列基本原理介绍
  7. pcb板子开窗_PCB 层定义
  8. linux服务器配置试卷,2016年Linux认证模拟练习题及答案
  9. Arduino笔记-定时器中断(MsTimer2库使用)
  10. mie散射理论方程_Mie氏散射理论的实验研究
  11. hortonworks/registry配置详解
  12. cmd杀死MySQL进程命令
  13. 其实在直播平台买东西的客户最愚蠢
  14. seo排名优化工具有哪些软件开发方案?
  15. [转帖]一些不该被埋没的好歌【全版】【2】
  16. 12306订票候补是个坑_12306网上订票候补是什么意思
  17. 【JS提升】六边形的两种画法
  18. matlab if嵌套函数,MATLAB嵌套函数的应用
  19. JS+CSS竖向折叠滑动菜单代码
  20. python使用密钥加密的表述_python 利用Crypto进行RSA解密加密文件

热门文章

  1. 找区间连续值(HDU5247)
  2. 【转】你必须了解的Session的本质
  3. HttpClient超时重复提交问题
  4. 在 Delphi 下使用 DirectSound (9): 效果器初步及 IDirectSoundFXGargle8 效果器
  5. port常用和不常用端口一览表
  6. 是什么让深度学习再次崛起并超越人类?
  7. 【运维安全】- 总结
  8. 一句话,讲清楚java泛型的本质(非类型擦除)
  9. 动手使用ABAP Channel开发一些小工具,提升日常工作效率
  10. 改变按钮在iPhone下的默认风格