当前位置:网站首页>深度学习网络的训练方式
深度学习网络的训练方式
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)。通常的做法是每当验证集上的准确率有所提高时,就将此时的权值保留下来,当训练结束时存储使得验证集准确率最高的权值,而不是最后一次迭代得到的权值。
注:文章摘选自《合成孔径雷达图像智能解译》徐丰等著
边栏推荐
- What should phpcms do when it sends an upgrade request to the official website when it opens the background home page?
- Lumiprobe 点击化学丨非荧光叠氮化物:叠氮化物-PEG3-OH
- MCS:离散随机变量——Hyper Geometric分布
- Heavyweight! The latest SCI impact factors were released in 2022, and the ranking of the three famous journals NCS and the top10 of domestic journals has changed (the latest impact factors in 2022 are
- Unity C# 基础复习28——带返回的委托(P449)
- 投资reits基金是靠谱吗,reits基金安全吗
- NFS configuring file mapping between two hosts
- You need to know about project procurement management
- symfony框架安全组件(security)防火墙配置
- MySQL JSON array operation JSON_ array_ append、json_ array_ insert
猜你喜欢

You need to know about project procurement management

如临现场的视觉感染力,NBA决赛直播还能这样看?

Ink drop typesetting

Analysis of constant current source circuit composed of two NPN tubes

Hi, you have a code review strategy to check

卫龙更新招股书:年营收48亿 创始人刘卫平家族色彩浓厚

For example, the visual appeal of the live broadcast of NBA Finals can be seen like this?

const用法精讲

明德扬XILINX-K7-325T/410T核心板数据手册

数字图像处理复习
随机推荐
我 35 岁,可以转行当程序员吗?
第九章 APP项目测试(4) 测试工具
Lumiprobe click chemistry - non fluorescent azide: azide-peg3-oh
Evaluation index of high concurrency software (website, server interface)
Chapter IX app project test (4) test tools
信息学奥赛一本通1194:移动路线
Is it reliable to invest in REITs funds? Is REITs funds safe
For example, the visual appeal of the live broadcast of NBA Finals can be seen like this?
I am 35 years old. Can I change my career to be a programmer?
MCS: discrete random variable - binomial distribution
华理生物冲刺科创板:年营收2.26亿 拟募资8亿
Render follows, encapsulating a form and adding data to the table
Unity C# 基础复习27——委托示例(P448)
Northwestern Polytechnic University attacked by overseas e-mail
EMC surge protection and decoupling design
Research Report on research and development prospect of China's urea dioxide industry (2022 Edition)
材质 动态自发光
LeetCode-1188. 设计有限阻塞队列
Lumiprobe 脱氧核糖核酸丨磷酸盐 CPG 1000 固体载体
使用自定义注解实现Redis分布式锁