批量归一化--改变有些参数改变可能梯度很平滑,有些参数改变可能梯度很陡峭
有些参数改变可能梯度很平滑,有些参数改变可能梯度很陡峭
怎么改变这个,使每个参数改变尽可能梯度都一样呢

特征归一化
对于每个维度i:均值:(\(m_i\))标准差:(\(\sigma_i\))
\(\widetilde{x}_i^r \leftarrow \frac{x_i^r - m_i}{\sigma_i}\)
所有维度的均值为 0,方差均为 1
一般来说,特征归一化使梯度下降收敛更快。
分析与介绍
-
名称:特征归一化
-
原理
- 对每个特征维度i,计算该维度的均值(\(m_i\))和标准差(\(sigma_i\))。
- 通过公式\(\widetilde{x}_i^r \leftarrow \frac{x_i^r - m_i}{\sigma_i}\)对特征进行变换,使得每个特征维度的均值为 0,方差为 1。
-
作用:使梯度下降算法在训练模型时收敛更快,提升模型训练效率,是数据预处理和深度学习模型优化中的重要技术手段,为后续批量归一化等技术的提出奠定了基础。

在 \(Sigmoid\) 前后进行归一化对结果影响不大

计算过程

只要其中一个改变,\(\mu\) 和\(\sigma\)都会改变,导致后边的都很跟着变,一个\(Batch\)都会改变

加上\(\beta\) 和 \(\gamma\)防止\(z\)的平均为 0

在Test中没有\(\mu\) 和\(\sigma\)怎么办呢
在train的时候,每个\(Batch\)的\(\mu\)都会拿出来,根据下面的公式计算出均值代替


浙公网安备 33010602011771号