这张图究竟是什么意思
我理解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 ∑