机器学习中的批量归一化(Batch Normalization)详解
创作时间:
作者:
@小白创作中心
机器学习中的批量归一化(Batch Normalization)详解
引用
CSDN
1.
https://blog.csdn.net/qq_35516428/article/details/139277713
批量归一化(Batch Normalization)是深度学习中一种常用的技术,用于加速神经网络的训练并提高模型的稳定性。本文将从概念、必要性到具体实现和优点,全面介绍这一技术。
概念简介
归一化指的是将数据缩放到一个固定范围内,通常是 [0, 1],而标准化是使得数据符合标准正态分布。归一化的作用是使不同特征具有相同的尺度,从而使模型训练更加稳定和快速,尤其是对于使用梯度下降法的算法。而标准化的作用加快模型收敛速度,提高模型的性能。
批量归一化用于加速神经网络的训练并提高模型的稳定性。它在每个批次的数据上进行标准化,通过对每层的输入进行归一化处理,使得网络中间层的激活值保持在一个较小的范围内,有助于加速模型的收敛,同时减少了梯度消失和爆炸的问题。所以批量归一化特别适合深层网络。
为什么需要归一化
例如上边这个例子,右图神经网络有两个输入,分别是从3-34和从0-1000的范围。
输入范围的巨大差异会导致在前向传播和反向传播过程中,激活函数的输出也会有很大的波动。如果激活函数是非线性的,大范围输入可能会导致梯度消失或梯度爆炸问题。
输入范围的巨大差异也会导致损失函数在不同维度上的梯度变化不一致,使得优化算法难以有效收敛。
对输入使用归一化可以缓解以上问题,但是在训练后期仍可能出现梯度消失或梯度爆炸问题。这时我们就需要使用批量归一化了。
批量归一化层
批量归一化所做的是仅标准化输入,然后将数据输入到网络中,在网络中所有层的所有输出进行标准化,也就是每层之间都有批量归一化层。它所做的就是标准化数据并做一些其他的工作,然后输出给下一层。
加入批量归一化层的优点
- 稳定和加速训练过程:归一化减少了不同层之间输入数据分布的变化。
- 减少梯度消失和爆炸问题:保持零均值和单位方差。
- 起到轻微正则化的效果:每个小批量的均值和方差略有不同,微小随机性类似于Dropout正则化。
- 降低对权重初始化的敏感性:减少了调参的难度。
- 适用于更深的神经网络:深度神经网络往往面临梯度消失或爆炸的问题。
本文原文来自CSDN
热门推荐
硬件开发人员的八大副业选择
10大建议,助力孩子抑郁症康复
星盘图:解读个人命运的秘密工具
可转债新手入门指南:六种主要玩法详解
海钓时,如何拉流钓黑鮶?
如何申请人力资源和社会保障部职业技能鉴定中心的技能鉴定?
【新手必读】电子元器件的基础知识有哪些?从零开始学电子元件
庄辉院士谈中国消除乙型肝炎:不忘 “来时路”,展望“未来路”
如何减少出汗?专业医生为您详细解答
日语学习指南:8个步骤助你快速掌握日语
支付宝逾期催收机制与应对指南
教育数字化背景下小学数学智慧课堂的构建与实施
龙门石窟:东方石刻艺术的瑰宝
高层建筑失火怎么办?这些知识请学习转发!
暴涨20厘米!三个动作教你如何提升篮球弹跳力
“尧都平阳”之谜:山西考古重大发现,又一神话成为现实
十八层地狱刑法排列顺序探究
解锁筛法密码:埃氏筛与线性筛(欧拉筛)的深度剖析
现金流量分析:企业财务健康的晴雨表
电动车事故多久报保险有效
国际合伙合同纠纷的解决途径
麻醉医生视角揭秘:手术后多久,才能喝第一口水?
压力和紧张状态下肩胛骨会变得僵硬,如何消除疼痛和酸胀感!
全国六家林则徐纪念馆同步展出《虎门销烟精神展》
福州:开假首日 民企喜获“新春大礼包”
未签订劳动合同的情况说明怎么写
现量的定义是什么?这个定义在交易中有怎样的应用?
新生儿吐奶的原因及解决办法
2024年可能再服役20万吨,大批新舰艇等待入列,海军实力再攀新高
长期白细胞升高的原因