批量归一化属线性变换吗?含FCN+BN的网络是否满足可加性?
先明确前提:全连接网络的线性性
- 无偏置的全连接网络(FCN)是纯线性变换:$f_{FCN}(x) = Wx$,满足$f_{FCN}(x+y) = f_{FCN}(x) + f_{FCN}(y)$。
- 带偏置的FCN是仿射变换:$f_{FCN}(x) = Wx + b$,不满足线性可加性——因为$f_{FCN}(x+y) = W(x+y)+b = Wx+Wy+b$,而$f_{FCN}(x)+f_{FCN}(y) = Wx+b+Wy+b = Wx+Wy+2b$,两者相差一个$b$。
批量归一化(BN)的线性性分析
BN的核心计算分为两步(忽略$\epsilon$以简化):
$$\hat{z} = \frac{z - \mu}{\sigma}, \quad y = \gamma \hat{z} + \beta$$
其中$\mu$和$\sigma$是均值与标准差,$\gamma$、$\beta$是可学习参数。我们分两种场景讨论:
1. 推理阶段(使用全局统计量)
推理时BN用的是训练阶段累计的全局均值$\mu_{global}$和全局标准差$\sigma_{global}$,此时BN的变换可展开为:
$$y = \frac{\gamma}{\sigma_{global}} z + \left( \beta - \frac{\gamma \mu_{global}}{\sigma_{global}} \right)$$
这是一个仿射变换(线性变换+偏置):
- 如果$\beta=0$且$\mu_{global}=0$,同时FCN无偏置,那么整个网络是纯线性变换:$f(x) = \frac{\gamma}{\sigma_{global}} Wx$,此时满足$f(x+y)=f(x)+f(y)$。
- 只要$\beta≠0$或$\mu_{global}≠0$,或者FCN带偏置,整个网络是仿射变换,不满足线性可加性(因为存在常数偏置项)。
2. 训练阶段(使用当前批次统计量)
训练时$\mu$和$\sigma$是当前批次内所有样本的统计值,此时BN的变换依赖于整个批次的分布,而非单个样本的线性映射:
- 假设批次包含$x$、$y$、$x+y$,那么$\mu_{batch}$是这批样本经过FCN后的均值,$\sigma_{batch}$是对应的标准差。此时对$z=W(x+y)$的BN变换,与$z_x=Wx$、$z_y=Wy$的BN变换之和完全不相等。
- 这种批次依赖的特性让BN在训练阶段引入了隐式的非线性,直接破坏了线性可加性,无论FCN是否带偏置,都无法满足$f(x+y)=f(x)+f(y)$。
示例推导(训练阶段,批次仅含$x,y,x+y$):
$\mu_{batch} = \frac{Wx + Wy + W(x+y)}{3} = \frac{2W(x+y)}{3}$
$\hat{z}{x+y} = \frac{W(x+y) - \mu{batch}}{\sigma_{batch}} = \frac{W(x+y)/3}{\sigma_{batch}}$
$\hat{z}x + \hat{z}y = \frac{Wx - \mu{batch}}{\sigma{batch}} + \frac{Wy - \mu_{batch}}{\sigma_{batch}} = \frac{W(x+y) - 2\mu_{batch}}{\sigma_{batch}} = \frac{-W(x+y)/3}{\sigma_{batch}}$
显然$\hat{z}_{x+y} \neq \hat{z}_x + \hat{z}_y$,后续乘以$\gamma$加$\beta$后自然也不满足可加性。
总结
- 仅在非常受限的推理场景下满足线性可加性:FCN无偏置 + BN使用全局统计量且$\mu_{global}=0$、$\beta=0$。
- 绝大多数场景(训练阶段、FCN带偏置、BN有非零$\beta$或非零全局均值)下,网络不满足$f(x+y)=f(x)+f(y)$,BN要么通过仿射偏置,要么通过训练阶段的批次依赖特性破坏了线性可加性。
内容的提问来源于stack exchange,提问作者KBL

