当前位置:网站首页>深度学习网络的训练方式
深度学习网络的训练方式
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)。通常的做法是每当验证集上的准确率有所提高时,就将此时的权值保留下来,当训练结束时存储使得验证集准确率最高的权值,而不是最后一次迭代得到的权值。
注:文章摘选自《合成孔径雷达图像智能解译》徐丰等著
边栏推荐
- MCS: discrete random variable - binomial distribution
- Wei long updated the prospectus: the annual revenue of 4.8 billion founder liuweiping has a strong family color
- Trigonometric function corresponding to drawing circle on plane coordinate
- Sofaregistry source code | data synchronization module analysis
- EMC surge protection and decoupling design
- BioVendor游离轻链(κ和λ)Elisa 试剂盒的化学性质
- Indice d'évaluation du logiciel hautement simultané (site Web, interface côté serveur)
- 携程季报图解:净营收41亿 与疫情前相比已被“腰斩”
- 信息学奥赛一本通1003:对齐输出
- Lumiprobe deoxyribonucleic acid phosphate CpG 1000 solid carrier
猜你喜欢
Weigao blood purification sprint to Hong Kong: annual revenue of RMB 2.9 billion, net profit decreased by 12.7%
知识点:PCB线路板布线都有哪些诀窍?
Lumiprobe 点击化学丨非荧光叠氮化物:叠氮化物-PEG3-OH
Solution to the problem that the assembly drawing cannot be recognized after the storage position of SolidWorks part drawing is changed
Slow bear market, bit Store provides stable stacking products to help you cross the bull and bear
墨滴排版
PostgreSQL learning (based on rookie course)
Unity C# 基础复习28——带返回的委托(P449)
MCS:离散随机变量——Pascal分布
Intelligent diagnosis of Alzheimer's disease
随机推荐
Northwestern Polytechnic University attacked by overseas e-mail
阿尔兹海默病智能诊断
Lumiprobe reactive dye cycloalkyne dye: af488 dbco, 5 isomer
Lumiprobe 活性染料丨羧酸:Sulfo-Cyanine7.5羧酸
ROS 笔记(10)— launch 文件启动
信息学奥赛一本通1194:移动路线
mysql 备份与还原
近期工作总结
Intelligent diagnosis of Alzheimer's disease
LeetCode笔记:Weekly Contest 299
我 35 岁,可以转行当程序员吗?
[Verilog quick start of Niuke online question series] ~ shift operation and multiplication
二级指针
华理生物冲刺科创板:年营收2.26亿 拟募资8亿
Is Guangzhou futures regular? If someone asks you to log in with your own mobile phone and help open an account, is it safe?
China arsenic trioxide industry research and future forecast report (2022 Edition)
在shop工程中,实现一个菜单(增删改查)
Implementing redis distributed locks using custom annotations
I am 35 years old. Can I change my career to be a programmer?
CKS CKA ckad change terminal to remote desktop