【算子融合】Conv+BatchNorm+Relu

Conv+BatchNorm+Relu

本文以公式推导的形式,介绍了为啥Conv+BatchNorm+Relu会和单纯的Conv消耗的时间是一样的。

实际上,Conv+BatchNorm+Relu也可以推导成Conv的形式。

1. BatchNorm

计算均值:

μ B = 1 B ∑ i = 1 B x i \mu_B=\frac{1}{B}\sum_{i=1}^{B}{x_i} μB=B1i=1Bxi

计算方差:

σ B 2 = 1 B ∑ i = 1 B ( x i − μ B ) 2 + ϵ \sigma_B^2=\frac{1}{B}\sum_{i=1}^{B}(x_i-\mu_B)^2+\epsilon σB2=B1i=1B(xiμB)2+ϵ

批标准化(Batch Normalization,通常缩写为BN)中的一个步骤,用于标准化神经网络中的输入数据:

x i ^ = x i − μ B σ B 2 + ϵ \hat{x_i}=\frac{x_i-\mu_B}{\sqrt{\sigma_B^2+\epsilon}} xi^=σB2+ϵ xiμB

  • x i ^ \hat{x_i} xi^ 是标准化后的第 i 个输入样本的值。
  • x i x_i xi 是原始输入样本的值。
  • μ B \mu_B μB是批次(Batch)中所有样本的均值,用于计算标准差和方差。
  • σ B 2 \sigma_B^2 σB2 是批次中所有样本的方差,用于计算标准差和方差。
  • ϵ \epsilon ϵ 是一个小的常数,通常添加到分母中,以避免分母为零,确保数值稳定性。

BN层计算公式:
y = γ x i ^ + β y=\gamma\hat{x_i}+\beta y=γxi^+β

x i ^ \hat{x_i} xi^带入得:

y = γ x i − μ B σ B 2 + ϵ + β y=\gamma\frac{x_i-\mu_B}{\sqrt{\sigma_B^2+\epsilon}}+\beta y=γσB2+ϵ xiμB+β

2. Conv

卷积公式:

x i = w x i + b x_i=wx_i+b xi=wxi+b

代入下面公式:

y = γ x i − μ B σ B 2 + ϵ + β y=\gamma\frac{x_i-\mu_B}{\sqrt{\sigma_B^2+\epsilon}}+\beta y=γσB2+ϵ xiμB+β

得:

y = γ w x i + b − μ B σ B 2 + ϵ + β = γ w σ B 2 + ϵ x i + γ b − μ B σ B 2 + ϵ + β y=\gamma\frac{wx_i+b-\mu_B}{\sqrt{\sigma_B^2+\epsilon}}+\beta\\ =\gamma\frac{w}{\sqrt{\sigma_B^2+\epsilon}}x_i+\gamma\frac{b-\mu_B}{\sqrt{\sigma_B^2+\epsilon}}+\beta y=γσB2+ϵ wxi+bμB+β=γσB2+ϵ wxi+γσB2+ϵ bμB+β

3. ReLU

y = m a x ( 0 , x ) y=max(0,x) y=max(0,x) 仅仅是这个简单的计算公式,可随意进行添加。

m a x ( 0 , γ w σ B 2 + ϵ x i + γ b − μ B σ B 2 + ϵ + β ) max(0,\gamma\frac{w}{\sqrt{\sigma_B^2+\epsilon}}x_i+\gamma\frac{b-\mu_B}{\sqrt{\sigma_B^2+\epsilon}}+\beta) max(0,γσB2+ϵ wxi+γσB2+ϵ bμB+β)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫余

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值