当前位置:网站首页>深度学习网络的训练方式
深度学习网络的训练方式
2022-06-29 14:52:00 【毛毛真nice】
我们知道我们在使用深度学习网络模型时,往往是将输入值放入网络中,然后就能得出一个很好的预测值,但是你知道网络模型里面的运行规则和具体的运行过程吗?今天我们就来讲一讲深度学习网络的训练方式,解开黑匣子里的秘密。
深度学习中的所有权值和偏置都是通过最小化损失函数来训练的。通常情况下,很难通过解析方法来计算损失函数的全局最小值,不过损失函数对权值的梯度可以解析地计算出来。因此可以通过迭代数值优化的方法来最小化损失函数。这类优化算法中最简单的是梯度下降法(gradient descent)。在卷积神经网络中,损失函数对权值的梯度可以通过后向传播算法非常有效地计算。
1.卷积神经网络中的后向传播算法
后向传播算法首先计算一个叫做“误差项”的中间变量,然后将其与损失函数对权值的梯度相联系。对于输出层的每个节点,误差项为真实类别与模型预测概率之间的差异。然后误差项可以从后向向前传播,直到输入层。
尽管池化层中不包含可训练的权值,但池化层节点上的误差项也需要向前传播。
完成了每一层中误差项的计算之后,就可以方便地计算损失函数对卷积核与偏置的梯度。
2.带有动量项的小批量梯度下降法
对于批量梯度下降法,在每一次迭代时需要所有的训练样本来估计损失函数对权值的梯度。不过即使是真正的梯度方向也仅仅是损失函数局部下降最快的方向,而不是指向全局最小值的方向,所以对梯度值估计得再精确也是没有意义的。因此每一次迭代选用较少的训练样本估计梯度,增加权值更新的次数,反而有助于搜索更多的参数空间,收敛到更好的极小值。所以通常情况下,每次迭代时选用其中一部分训练样本来估计梯度,这种方法称为小批量梯度下降法(mini-batch gradient decent)。在每一个小批量中每一类训练样本的数量需要大致相等。
动量项时一种有效提高训练速度的方法。该方法通过将具有不同符号的梯度相叠加从而减少在该方向上的左右摇摆,将具有相同符号的梯度叠加从而加速该方向上的学习。在动量项方法中,不是利用当前的梯度估计值来更新权值,而是利用当前的梯度估计值更新速度参数(velocity parameter),然后采用当前的速度参数更新权值。
3.权值初始化
对于绝大多数的的深度卷积网络,权值都是通过均值为0、标准差为0.01的高斯分布来初始化,偏置都初始化为常数0.1。将权值随机初始化是非常重要的,因为如果所有的权值都初始化为同一个值,则所有的节点开始时都将输出相同的值,进行后向传播算法时将产生相同的梯度值,因此每一次迭代时所有权值的更新量也相同。一般地,如果使用ReLU非线性激活函数,那么权值应该通过均值为0、标准差为根号2/n的高斯分布初始化,其中n是每个节点的输入参数。
4.学习速率
在训练过程中逐渐降低学习速率(learning rate)通常是有利的。开始时最好使用较大的学习速率,让权值调节得更快一些。但是如果始终保持很高的学习速率,那么权值最终将会左右摇摆,无法收敛到一个更好的值。通常学习速率的起始值的数量级为0.01或者0.001,具体是能够使损失函数尽快下降的那个值。一种启发式的减小学习率的方法是在训练过程中观察验证集上的表现,如果验证集的准确率在一段时间内停止改善,则将学习率改为原来的1/10或1/2。
5.提前停止训练
当训练一个深层模型时,通常会观察到一开始验证集上的准确率随着训练的进行逐步提高,但是训练了一段时间后,准确率反而开始降低。提前停止训练(early stopping)是一种正则化方法,避免模型从欠拟合(underfitting)过渡到过拟合(overfitting)。通常的做法是每当验证集上的准确率有所提高时,就将此时的权值保留下来,当训练结束时存储使得验证集准确率最高的权值,而不是最后一次迭代得到的权值。
注:文章摘选自《合成孔径雷达图像智能解译》徐丰等著
边栏推荐
- 打造一个 API 快速开发平台,牛逼!
- Jet hydrogen technology rushes to the scientific innovation board: SAIC Group is the major shareholder to raise 1.06 billion yuan
- Chapter IX app project test (4) test tools
- PostgreSQL learning (based on rookie course)
- 真正的软件测试人员 =“半个产品+半个开发”?
- 近期工作总结
- MCS:离散随机变量——Binomial分布
- China soft ice cream market forecast and investment prospect research report (2022 Edition)
- Lumiprobe 活性染料丨环炔染料:AF488 DBCO,5 异构体
- 信息学奥赛一本通2062:电影票
猜你喜欢

Secondary pointer

墨滴排版

Lumiprobe reactive dye carboxylic acid: sulfo cyanine7.5 carboxylic acid

Lumiprobe deoxyribonucleic acid alkyne DT phosphimide

MCS:多元随机变量——多项式分布

Unity C basic review 27 - delegation example (p448)

文本预处理库spaCy的基本使用(快速入门)

MySQL的json 数组操作 json_array_append、json_array_insert

Lumiprobe 活性染料丨羧酸:Sulfo-Cyanine7.5羧酸

Chapter IX app project test (the end of this chapter)
随机推荐
wieshark抓包mysql协议简单分析
信息学奥赛一本通1003:对齐输出
Sofaregistry source code | data synchronization module analysis
Informatics Olympiad all in one 2062: movie tickets
获取Text组件内容的宽度
Research Report on research and development prospect of China's urea dioxide industry (2022 Edition)
Illustration of Ctrip quarterly report: net revenue of RMB 4.1 billion has been "halved" compared with that before the outbreak
Render follows, encapsulating a form and adding data to the table
卷积神经网络中各层的作用
LeetCode笔记:Weekly Contest 299
极化SAR地表分类
又拍云 Redis 的改进之路
Unity C # basic review 26 - first acquaintance Commission (p447)
信息学奥赛一本通2062:电影票
Biovendor free light chain( κ and λ) Chemical properties of ELISA Kit
华为软件测试笔试真题之变态逻辑推理题【二】华为爆火面试题
konva系列教程4:图形属性
How word automatically generates directories
近期工作总结
What is the relationship between synchronized and multithreading