计算量估计

现有卷积层输出[B,W,H,C]

结论

在这里插入图片描述

与传统BN比较

在train阶段,若不采用采样和L1norm,量化BN只占传统BN计算复杂度的35.7%,减少了64.3%
若采用了采样和L1norm,量化BN占传统BN的15%,减少了85%。

在test阶段,量化BN没有任何计算量,比传统BN绝对减少了2∗32∗B∗W∗H∗C2*32*B*W*H*C232BWHC

与BNN bn比较

在train阶段,若不采用采用和L1norm,量化BN占BNN bn计算复杂度的61%,减少了40%
若采用了采样和L1norm,量化BN占BNN bn计算复杂度的26%左右,减少了74%。
在test阶段,量化bn比BNN BN减少了2∗32∗B∗W∗H∗C2*32*B*W*H*C232BWHC

与WAGE bn比较

在train阶段,若不采用采样和L1norm,量化bn是WAGE bn的2.5倍。
若采用了采样和L1norm,量化bn与WAGEbn 基本一致。

在test阶段, 量化bn比wage BN减少了32∗B∗W∗H∗C32*B*W*H*C32BWHC

传统BN

训练阶段

在训练前向传播阶段,通过传统的BN层计算公式如下:
y=γx−μσB2+ϵ+β y = \gamma \frac {x-\mu}{\sqrt {\sigma_B^2+\epsilon}}+\betay=γσB2+ϵ xμ+β
σB2=∑(xi−μ)2n\sigma_B^2=\frac {\sum(x_i-\mu)^2}{n}σB2=n(xiμ)2
现逐个分析各个参量所应用的bit数。
对x来说,作为卷积层的输出,其所需bit数KxK_xKx与上层的Activation bit数KaK_aKa,卷积层参数W的bit数KwK_wKw,参与运算数目n相关。以resnet 第一个卷积层为例,卷积核大小7*7,上层通道数为3. 假设KwK_wKw<=8, 则A * W所需bit数Kaw&gt;=KwK_{aw}&gt;=K_wKaw>=Kw。7 * 7 * 3 个KawK_{aw}Kaw所需bit数为Kconv&gt;=Kaw+7K_{conv}&gt;=K_{aw}+7Kconv>=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值