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

药企做网站百度指数的使用方法

药企做网站,百度指数的使用方法,手机网站微信代码,上海美术设计公司如是我闻: Batch Normalization(批归一化,简称 BN) 是 2015 年由 Ioffe 和 Szegedy 提出 的一种加速深度神经网络训练并提高稳定性的技术。 它的核心思想是:在每一层的输入进行归一化,使其均值接近 0&…

如是我闻: Batch Normalization(批归一化,简称 BN)2015 年由 Ioffe 和 Szegedy 提出 的一种加速深度神经网络训练并提高稳定性的技术。

它的核心思想是:在每一层的输入进行归一化,使其均值接近 0,方差接近 1,从而减少不同批次数据的分布变化(Internal Covariate Shift),提高训练效率,并降低对超参数的敏感性。

在这里插入图片描述


1. 为什么需要 Batch Normalization?

(1) 训练过程中数据分布会变化

  • 在深度神经网络中,每一层的输入数据并不是固定的,而是来自前一层的输出。
  • 随着训练进行,前几层的权重不断变化,导致后面层的输入数据分布发生变化(即 Internal Covariate Shift)。
  • 这种变化会让网络不断适应新的数据分布,影响收敛速度,甚至可能导致梯度消失或梯度爆炸问题

(2) 归一化输入可以加速收敛

  • 在训练神经网络时,通常对输入数据进行归一化(标准化),即让输入数据的均值为 0,方差为 1:
    x ′ = x − μ σ x' = \frac{x - \mu}{\sigma} x=σxμ
  • 但是,如果只对输入数据归一化,而不对隐藏层的输入归一化,那么后续层仍然可能受到数据分布变化的影响。

(3) Batch Normalization 解决了什么问题?

减少 Internal Covariate Shift,让每层的输入分布更加稳定。
加速收敛,使网络能够使用更大学习率进行训练。
减少梯度消失和梯度爆炸问题,提高深度网络的训练稳定性。
减少对超参数(如学习率、权重初始化)的依赖,使得网络更容易调参。
有一定的正则化效果,降低过拟合的风险。


2. Batch Normalization 的计算过程

假设当前网络有一层的输入是 x x x,Batch Normalization 计算过程如下:

(1) 计算均值和方差

对一个 batch 的数据 B = { x 1 , x 2 , . . . , x m } B = \{ x_1, x_2, ..., x_m \} B={x1,x2,...,xm},计算该 batch 的均值 μ B \mu_B μB 和方差 σ B 2 \sigma_B^2 σB2
μ B = 1 m ∑ i = 1 m x i \mu_B = \frac{1}{m} \sum_{i=1}^{m} x_i μB=m1i=1mxi
σ B 2 = 1 m ∑ i = 1 m ( x i − μ B ) 2 \sigma_B^2 = \frac{1}{m} \sum_{i=1}^{m} (x_i - \mu_B)^2 σB2=m1i=1m(xiμB)2

(2) 归一化数据

用均值和标准差对数据进行标准化:
x ^ i = x i − μ B σ B 2 + ϵ \hat{x}_i = \frac{x_i - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}} x^i=σB2+ϵ xiμB
其中 ϵ \epsilon ϵ 是一个很小的数,防止除以 0。

(3) 线性变换(可学习参数)

为了保证 BN 不会限制网络的表达能力,我们引入两个可学习参数:

  • 缩放参数 γ \gamma γ(scale):控制归一化后的分布的尺度。
  • 平移参数 β \beta β(shift):让归一化后的数据能够恢复到合适的分布。

最终输出:
y i = γ x ^ i + β y_i = \gamma \hat{x}_i + \beta yi=γx^i+β

这样,BN 既能保证数据的稳定性,又能让网络学到适当的分布。


3. Batch Normalization 在网络中的作用

BN 层通常可以添加到 全连接层或卷积层之后,ReLU 之前

  • 在全连接网络(MLP)中
    z = W x + b z = Wx + b z=Wx+b 之后,加入 Batch Normalization:
    z ^ = z − μ B σ B 2 + ϵ \hat{z} = \frac{z - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}} z^=σB2+ϵ zμB
    然后乘以 γ \gamma γ 并加上 β \beta β
    y = γ z ^ + β y = \gamma \hat{z} + \beta y=γz^+β
    最后再经过激活函数(如 ReLU)。

  • 在 CNN 里,对每个通道的特征图进行归一化:
    μ B = 1 m ⋅ h ⋅ w ∑ i = 1 m ∑ j = 1 h ∑ k = 1 w x i , j , k \mu_B = \frac{1}{m \cdot h \cdot w} \sum_{i=1}^{m} \sum_{j=1}^{h} \sum_{k=1}^{w} x_{i, j, k} μB=mhw1i=1mj=1hk=1wxi,j,k
    其中 m m m 是 batch 大小, h , w h, w h,w 是特征图的高度和宽度。


4. Batch Normalization 的优缺点

✅ 优点

  1. 加速训练(可以使用更大学习率)。
  2. 减少梯度消失/梯度爆炸问题
  3. 提高网络的泛化能力,有一定的正则化效果(但不完全等同于 Dropout)。
  4. 降低对权重初始化的敏感性

❌ 缺点

  1. 对小 batch 不友好(因为均值和方差计算会不稳定)。
  2. 在 RNN 里效果不好(时间序列数据的统计特性不同)。
  3. 推理时计算均值和方差会增加计算量

6. BN 和其他归一化方法的对比

归一化方法应用场景归一化维度适用于 RNN?
Batch NormalizationCNN, MLP在 batch 维度计算均值和方差
Layer NormalizationRNN, Transformer在特征维度归一化(不依赖 batch)
Instance Normalization风格迁移在每个样本的特征图上归一化
Group Normalization小 batch CNN在多个通道分组归一化

7. 总的来说

  • Batch Normalization(BN)是深度学习中的一个重要归一化技术,它的目标是减少 Internal Covariate Shift,提高训练速度和稳定性
  • 核心步骤
    1. 计算 batch 均值和方差。
    2. 归一化数据,使其均值 0,方差 1。
    3. 使用可学习参数 γ \gamma γ β \beta β 进行缩放和平移。
  • BN 主要作用
    • 加速收敛,可以使用更大学习率。
    • 减少梯度消失/梯度爆炸问题,提高稳定性。
    • 有一定的正则化作用,降低过拟合
  • 缺点
    • 小 batch 训练效果较差
    • 在 RNN 里效果不好

以上

http://www.yayakq.cn/news/878924/

相关文章:

  • 上海正规网站建设耗材河南建设网站制作
  • 娄底网站建设设计济宁网站建设 悍诺
  • 物流企业网站源码电子商务网站建设可运用的技术
  • 免费图片素材网站推荐哪里有网站推广软件
  • 织梦网站访问量统计代码实训做网站收获
  • 衡阳做网站的新闻列表做的最好的网站
  • 开一个个人网站多少钱网站建设中行为的名词解释
  • 温州网站制作网站亚当学院网站建设视频教程
  • 网站建设灬金手指科杰软件技术就业前景怎么样
  • 衡水做网站多少钱网站外链应该怎么做
  • 网站建设和管理是教什么开源商城系统排行
  • 十堰营销型网站建设网站设计项目总结
  • 长沙网站建设 鼎誉广州注册公司营业执照
  • 项目立项流程图无锡seo公司
  • 邢台做网站服务商移动商城网站建设
  • win7 iis默认网站设置营销型企业网站有哪些类型
  • 免费网站建设大全Pdf书籍网站建设
  • frp可以做网站吗工业企业网络推广
  • 成立网站建设公司要求网络营销公司怎么找
  • 石狮app网站开发哪家好免费申请自己的网站
  • 营销型网站开发公司郑州建设网站公司
  • 做网站带源码软件用织梦做的网站好还是cms
  • 企业网站建设结论三维动画设计制作公司
  • 可以做用户画像的网站微商怎么做推广
  • 大型网站的空间哪个网站可以做投资回测
  • 漳平网站建设开发公司资质需要什么证书
  • 德州 网站建设wordpress登陆页
  • 网站添加百度地图合肥做网站可以吗
  • 广州网站建设中心四川建设网官网证书查询入口
  • 网站建设策划实训总结深圳品牌网站制作多少钱