机器学习中的批量归一化(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
热门推荐
撬动东北乡村振兴新动能
从心理学角度剖析:爱情需要双方的辛勤经营,缺一不可
每日正能量激励早安心语(精选38句)
冬季水果市场“反转”:草莓大涨,“果中贵族”车厘子连降
股票入门知识,先搞懂这些再买股票
如何制定有关网络安全方向的学习规划
心理学:你不主动,对方也不会主动,只有这4个原因
华服当潮丨不止于红!看一针一线勾勒的瑶衣
怎么判断自己得了中耳炎
张雪峰:导弹还需要维修?真的有导弹维修专业吗?高校回应了
【游戏设计原理】规模经济:微观与宏观的平衡之道
恋爱脑,塔罗师眼中最棒的“韭菜”
Excel“神仙函数”
从古至今,在亲戚中为啥舅舅的地位最高?答案其实很简单
金融的意义是什么?金融对经济发展的作用及影响有哪些?
怎样理解《道德经》的"天地不仁以万物为刍狗"?
Safety first | 防范EGT超限事件
夜空中又多了一颗“钟南山星”!小行星名字命名你了解多少?
遗传算法在优化问题中的应用与性能分析
如何制作纸质钥匙链?
医生解读:心疼到底是什么感觉?
餐具的选择与搭配:餐桌上的艺术
成年人社交:过度炫耀自己,注定是一场灾难!
世界史上公认的十大帝王
果汁喝3天可致身体炎症水平上升?喝水“六级”金字塔请查收
惊呆了!这个方法让卫生间焕然一新
使用Docker在Windows系统上部署开源元搜索引擎SearXNG
白线疝的诊断与手术治疗
如何高效打开和使用记事本:简单技巧与多种方法分享
社科院调研“阳光起点”项目:为农村儿童早期教育提供智力支持