批量归一化
批量归一化:直接改变误差表面。
特征归一化:给不同的维度,同样的数值范围,制造比较好的误差表面
Z值归一化: x ~ i r → x i r − m i σ i \tilde x_i^r \rightarrow \frac{x_i^r-m_i}{\sigma_i} x~ir→σixir−mi
考虑深度学习
对z做归一化:
- 计算平均值 μ = 1 3 ∑ i = 1 3 z i \mu=\frac13\sum_{i=1}^3z^i μ=31∑i=13zi
- 计算标准差: σ = 1 3 ∑ i = 1 3 ( z i − μ ) 2 \sigma = \sqrt{\frac13\sum_{i=1}^3(z^i-\mu)^2} σ=31∑i=13(zi−μ)2
- 进行归一化: z ~ i = z i − μ σ \tilde z^i = \frac{z^i-\mu}{\sigma} z~i=σzi−μ
做特征归一化的时候,把整个过程当做是网络的一部分。
实现的时候,使用一个批量里面的样本。
- z ^ i = γ ⊙ z ˉ i + β \hat z^i =\gamma \odot \bar z^i+ \beta z^i=γ⊙zˉi+β
归一化之后 z ˉ \bar z zˉ的平均值 一定是0。所有要加上 β \beta β 和 γ \gamma γ 调整整个输出的分布,从而调整 z ^ \hat z z^的分布。
测试时的批量归一化
推断:测试
移动平均: μ ˉ ← p μ ˉ + ( 1 − p ) μ t \bar \mu \leftarrow p\bar \mu + (1-p)\mu^t μˉ←pμˉ+(1−p)μt
内部协变量偏移
协变量偏移:训练集和预测集样本分布不一致的问题。