当前位置: 首页 > 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.dtcms.com/a/272549.html

相关文章:

  • van-tabs 自定义
  • 08-自然壁纸实战教程-视频列表-云
  • softmax公式推导
  • 深度学习中的批处理vs小批量训练
  • 大数据时代UI前端的智能化升级:基于机器学习的用户意图预测
  • MyBatis-Plus的LambdaQuery用法
  • 【音视频】HTTP协议介绍
  • 钉钉拿飞书当靶
  • 测试开发和后端开发到底怎么选?
  • 打破技术债困境:从“保持现状”到成为变革的推动者
  • VILA-M3: Enhancing Vision-Language Models with Medical Expert Knowledge
  • AI大模型平台
  • 【网络】Linux 内核优化实战 - net.ipv4.tcp_keepalive_time
  • 在虚拟机中安装Linux系统
  • EasyCVR视频汇聚平台国标接入设备TCP主动播放失败排查指南
  • 操作系统-IO多路复用
  • 深度学习核心:从基础到前沿的全面解析
  • 约束-1-约束
  • 【论文笔记】A Deep Reinforcement Learning Based Real-Time Solution Policy for the TSP
  • leetcode 226 翻转二叉树
  • openEuler 24.03 (LTS-SP1) 下安装 K8s 集群 + KubeSphere 遇到 etcd 报错的解决方案
  • Qt:按像素切割图片
  • 制胶学习分享
  • FFmpeg在Go、Python、C++、Rust实践案例
  • vue3 el-table 列汉字 排序时排除 null 或空字符串的值
  • rust cargo 编译双架构的库
  • 构建InfluxDB 3 Python插件深入实践指南
  • DDL期间TDSQL异常会话查询造成数据库主备切换
  • linux环境下安装和配置MySQL数据库
  • 关于市场主流自动化测试工具和框架的简要介绍