当前位置: 首页 > news >正文

BatchNorm解决梯度消失/爆炸

协变量偏移(Covarite Shift):在机器学习中,指训练数据的分布和测试数据的分布不一致。模型在一种分布上学习,却要在另一种分布上预测,效果自然会变差。
内部协变量偏移(Internal Covarite Shift):在深度神经网络中,对于网络中的任何一层,它的输入是前面所有层的输出。在训练过程中,训练参数在不断改变,这导致这一层的输入分布也在不断改变。


这就会导致网络层需要不断适应数据的分布,就会极大的拖慢网络学习的速度。
同时对于像sigmoid,tanhsigmoid,tanhsigmoid,tanh这样的激活函数,如果当前层的输入整体偏移到数值很大或很小的区域,激活函数的输出就会进入’饱和区’。在这些区域中,激活函数的值趋近于0,从而导致出现梯度消失。Internal covarite shift很容易使得数据分布漂移到饱和区内。
故BatchNrom的核心思想就是:在每一层网络的输入处,强行将数据的分布稳定下来,使其保持在一个固定的、表现较好的分布上(比如均值为0,方差为1)。
但是强迫把数据都变成标准正态分布可能会破坏网络学习到的特征分布。例如对于sigmoidsigmoidsigmoid函数,如果输入总是在0附近,那么它基本等同于一个线性函数,大大降低了网络的表达能力。
为了解决这个问题,BatchNrom引入了两个可学习的参数:缩放因子γ\gammaγ和平移因子β\betaβ:yi=γxi+βiy_i=\gamma x_i+\beta_iyi=γxi+βi
它们允许网络学习适合该输出的最佳分布
在这里插入图片描述

http://www.xdnf.cn/news/1097353.html

相关文章:

  • 三维旋转沿轴分解
  • MySQL断开连接后无法正常启动解决记录
  • (鱼书)深度学习入门2:手搓感知机
  • 华锐云空间展销编辑器:开启数字化展示新时代​
  • MBSE工具+架构建模:从效率提升到质量赋能
  • C++中的左值、右值与std::move()
  • 什么是Apache Ignite的affinity(亲和性)
  • 【科研绘图系列】R语言绘制相关系数图
  • Qt cannot find C:\WINDOWS\TEMP\cctVBBgu: Invalid argument
  • 【WEB】Polar靶场 Day8 详细笔记
  • 目标检测流程图绘制
  • Java多线程:核心技术与实战指南
  • CPT203-Software Engineering: Software Testing软件测试
  • centos7 安装jenkins
  • 【Python】基于Python提取图片验证码
  • Linux面试问题-软件测试
  • Uniapp中的uni.scss
  • JavaScript
  • 2025.07.09华为机考真题解析-第一题100分
  • 快速合并多个CAD图形为单一PDF文档的方法
  • MinerU将PDF转成md文件,并分拣图片
  • UEditor 对接 秀米 手机编辑器流程与问题
  • LVGL学习笔记-----进度条控件(lv_bar)
  • [特殊字符] LLM(大型语言模型):智能时代的语言引擎与通用推理基座
  • WWDC 25 风云再起:SwiftUI 7 Charts 心法从 2D 到 3D 的华丽蜕变
  • 【AI智能体】智能音视频-通过关键词打断语音对话
  • 《【第八篇-图片总结篇】Python图片处理自动化:终极工厂!从裁剪压缩到智能加水印,打造你的视觉内容生产流水线!》
  • 华为昇腾NPU与NVIDIA CUDA生态兼容层开发实录:手写算子自动转换工具链(AST级代码迁移方案)
  • 盲盒一番赏小程序技术实现方案:高并发与防作弊的平衡之道
  • IoT 小程序:如何破解设备互联的碎片化困局?