网站首页 > 技术文章 正文
对比于单层神经网络,深度学习就是在单层神经网络的基础上增加了多个隐含层。但随着神经网络的层数不断的增加,它的表现并没有很好的提高,甚至有倒退的现象发生。这个主要是因为以下二个方面的原因:
· 梯度消失
· 过度拟合
在这篇文章,主要对以上二个方面进行分析并提出解决方案。正是这些方案的提出,使得深度学习可以快速的发展。
1. 梯度消失问题
在反向传播的过程当中,成本函数输出的误差值要逐步的向输入层进行传播。在传播的过程中,神经网络对应的权重参数将依据传到本层的误差进行修正。梯度消失问题指的是输出层计算出来的误差值无法反向传播到隐藏层,使得权重参数无法进行修正。如果权重参数无法修正,则隐藏层的存在没有任何的意义。
为了解决梯度消失问题,我们把Sigmoid激活函数转变为ReLU激活函数。相对于Sigmoid函数而言,ReLU函数能够更好的向后传播误差信息。ReLU函数的定义为:
ReLU函数的图像为:
因此将ReLU函数配置Cross Entropy的成本函数可以有效的提升深度学习网络的性能。
2. 过度拟合
在深度学习网络中,由于隐含层的层数增加使得神经网络很容易陷入过拟合的状态。过拟合的表现是训练集的输入误差不断的降低,但验证集的误差却不断的提高。这是由于神经网络将训练集中的干扰也进行了学习。为了避免过拟合,在《成本函数(cost function)和学习机制》文章中指出,可以在成本函数中加入权重参数的regularization正则参数,从而降低过拟合的风险。
另外一方面,深度学习网络引入了dropout操作来降低过拟合的风险。Dropout操作是在训练过程中,对整个神经网络中的神经元随机挑选进行训练。通过这样的方式,神经网络每次训练的神经元都不一样,从而有效的降低了过拟合现象,如下图所示。
下面利用ReLU和Dropout来实现1-5的数值图像的辨识。
对于上述问题,我们利用3层隐藏层,每层20个神经元。输入层为25个神经元用于输入5*5的图像矩阵,输出层为5个神经元用于标识1-5的数字的概率。神经网络的结构如下:
ReLU神经网络MATLAB代码如下:
训练数据和程序如下:
测试结果为:
在上面主程序中加入Dropout程序(利用Sigmoid激活函数):
Dropout程序为:
Dropout的程序是选择ratio的比例置为零,其余的数值设置为1/(1-ratio)。
例如程序:
y1 = rand(6,1);
ym = Dropout(y1,0.5);% 50%的y1都设置为零,其余50%的设置为1/(1-0.5)=2;
y1 = y1.*ym;
计算程序为:
- 上一篇: 什么是深度学习神经网络? 什么叫深度神经网络
- 下一篇: 资源|贝叶斯神经网络简史 贝叶斯网络原理
猜你喜欢
- 2024-10-23 来学习一下概率论基本知识,它能防止你的模型过拟合
- 2024-10-23 神经网络综述 神经网络算法综述
- 2024-10-23 一文了解神经网络的原理 神经网络通俗易懂
- 2024-10-23 深度神经网络的可扩展定量验证 深度神经网络调参数技巧
- 2024-10-23 资源|贝叶斯神经网络简史 贝叶斯网络原理
- 2024-10-23 什么是深度学习神经网络? 什么叫深度神经网络
- 2024-10-23 什么是神经网络的激活函数? 神经网络 激活层
- 2024-10-23 科普|贝叶斯概率模型一览 贝叶斯概率公式例题
- 2024-10-23 旋极信息获得发明专利授权:“一种速变信号检测方法和装置”
- 2024-10-23 AI课堂第7讲:ML神经网络——多层感知机MLP
你 发表评论:
欢迎- 最近发表
-
- 吴谨言专访大反转!痛批耍大牌后竟翻红,六公主七连发力显真诚
- 港股2月28日物业股涨幅榜:CHINAOVSPPT涨1.72%位居首位
- 港股2月28日物业股午盘:CHINAOVSPPT涨1.72%位居首位
- 港股3月2日物业股涨幅榜:CHINAOVSPPT涨1.03%位居首位
- 港股3月2日物业股午盘:CHINAOVSPPT涨1.03%
- 天赋与心痛的背后:邓鸣贺成长悲剧引发的深刻反思
- 冯小刚女儿徐朵追星范丞丞 同框合照曝光惹人羡,回应网友尽显亲民
- “资本大佬”王冉:51岁娶小17岁童瑶,并承诺余生为娇妻保驾护航
- 港股3月2日物业股午盘:CHINAOVSPPT涨1.03%位居首位
- 「IT之家开箱」vivo S15 图赏:双镜云窗,盛夏风光
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)