这张图究竟是什么意思

我理解BN folding是只有在推理的时候才使用的技术,训练的时候不会用到bn folding。但是C.7这个图上说这是training graph, folding,这是怎么回事?
我当时和同事想了很多种可能,最后想到这会不会是在感知量化训练的过程中用到的结构,对于一个具有BN层结构的网络,如果我们需要既要对它进行量化又要对它进行训练,那这个网络应该是什么结构呢?很可能就是这种结构。

我们在这个结构上forward一下最后的表达式嘛。最后在ReLU6前,加号之后的结构就是∑ωγσx+β−γμσ\sum\frac{\omega\gamma}{\sigma}x + \beta - \frac{\gamma\mu}{\sigma}∑σωγx+β−σγμ 这个和BN fold的结果是一样的。
这个时候你就会想到了,计算图前面的某些参数还能不加变化的和后面参数进行组合。比如这张图里面ωγ/σ\omega \gamma / \sigmaωγ/σ这个节点里面的ω\omegaω就是一开始紫色节点原封不动拿过来的,而其中的σ\sigmaσ是卷积的结果也就是∑ωx\sum\omega x∑

本文探讨了在神经网络量化过程中,BN折叠(BN folding)在训练图中的应用。通常BN折叠用于推理阶段,但作者提出可能在量化感知训练中发挥作用。通过分析,得出在ReLU6前的加法操作与BN折叠后的形式相同,揭示了如何在保持参数学习能力的同时进行网络量化。该结构在ResNet等具有快捷连接的网络中常见,其正向传播和反向传播都体现了BN折叠的优势。
最低0.47元/天 解锁文章
6万+

被折叠的 条评论
为什么被折叠?



