十种处理权重矩阵的方法及数学公式
十种处理权重矩阵的方法及数学公式
1. 权重归一化(Weight Normalization)
目的 :通过分离权重向量的范数和方向来加速训练。
公式 :对于权重向量
w \mathbf{w}
w ,归一化后的权重
w ′ \mathbf{w}'
w
′ 为:
w ′
w ∥ w ∥ \mathbf{w}’ = \frac{\mathbf{w}}{|\mathbf{w}|}
w
′
=
∥
w
∥
w
其中
∥ w ∥ |\mathbf{w}|
∥
w
∥ 是
w \mathbf{w}
w 的欧几里得范数。
2. 谱归一化(Spectral Normalization)
目的 :通过控制权重矩阵的谱范数,稳定生成对抗网络(GANs)的训练。
公式 :对于权重矩阵
W W
W ,谱归一化后的矩阵
W ′ W'
W
′ 为:
W ′
W σ ( W ) W’ = \frac{W}{\sigma(W)}
W
′
=
σ
(
W
)
W
其中
σ ( W ) \sigma(W)
σ
(
W
) 是
W W
W 的谱范数,即最大奇异值。
3. 权重衰减(Weight Decay)
- 目的 :通过正则化防止过拟合。
- 公式 :权重更新时加入正则化项:
w ← w − η ( ∂ L ∂ w + λ w ) \mathbf{w} \leftarrow \mathbf{w} - \eta \left( \frac{\partial L}{\partial \mathbf{w}} + \lambda \mathbf{w} \right)
w
←
w
−
η
(
∂
w
∂
L
λ
w
)
其中
η \eta
η 是学习率,
L L
L 是损失函数,
λ \lambda
λ 是正则化参数。
4. 权重剪裁(Weight Clipping)
目的 :限制权重范围以稳定训练。
公式 :对于权重
w w
w ,剪裁后的权重
w ′ w'
w
′ 为:
w ′
{ c if w
c − c if w < − c w otherwise w’ = \begin{cases} c & \text{if } w > c \ -c & \text{if } w < -c \ w & \text{otherwise} \end{cases}
w
′
=
⎩
⎨
⎧
c
−
c
w
if
w
c
if
w
<
−
c
otherwise
其中
c c
c 是预定义阈值。
5. 权重共享(Weight Sharing)
- 目的 :减少参数数量,提高泛化能力,常用于卷积神经网络(CNNs)。
- 公式 :在CNN中,同一卷积核的权重在输入上共享,具体实现依赖卷积操作。
6. 权重初始化(Weight Initialization)
- 目的 :合理初始化权重以加速训练并避免梯度问题。
- 公式
:
- Xavier初始化 :
W ∼ N ( 0 , 2 n in + n out ) W \sim \mathcal{N}\left(0, \frac{2}{n_{\text{in}} + n_{\text{out}}}\right)
W
∼
N
(
0
,
n
in
n
out
2
)
- He初始化 :
W ∼ N ( 0 , 2 n in ) W \sim \mathcal{N}\left(0, \frac{2}{n_{\text{in}}}\right)
W
∼
N
(
0
,
n
in
2
)
其中 $n_{\text{in}}$ 和 $n_{\text{out}}$ 分别是输入和输出单元数。
7. 批归一化(Batch Normalization)
目的 :归一化层的输入以加速训练并提高稳定性。
公式 :对于小批量
B
{ x 1 , … , x m } \mathcal{B} = {x_1, \ldots, x_m}
B
=
{
x
1
,
…
,
x
m
} ,输出为:
x ^ i
x i − μ B σ B 2 + ϵ \hat{x}i = \frac{x_i - \mu{\mathcal{B}}}{\sqrt{\sigma_{\mathcal{B}}^2 + \epsilon}}
x
^
i
=
σ
B
2
ϵ
x
i
−
μ
B
其中
μ B \mu_{\mathcal{B}}
μ
B
和
σ B 2 \sigma_{\mathcal{B}}^2
σ
B
2
是小批量的均值和方差,
ϵ \epsilon
ϵ 避免除零。
8. 层归一化(Layer Normalization)
目的 :对每个样本的特征归一化,适用于RNNs等。
公式 :对于特征向量
x \mathbf{x}
x ,输出为:
x ^
x − μ σ 2 + ϵ \hat{\mathbf{x}} = \frac{\mathbf{x} - \mu}{\sqrt{\sigma^2 + \epsilon}}
x
^
=
σ
2
ϵ
x
−
μ
其中
μ \mu
μ 和
σ 2 \sigma^2
σ
2 是
x \mathbf{x}
x 的均值和方差。
9. 权重量化(Weight Quantization)
- 目的 :将权重转为低精度表示以减少模型大小和加速推理。
- 公式 :简单量化方法为:
w q
round ( w − w min w max − w min × ( 2 b − 1 ) ) × w max − w min 2 b − 1 + w min w_q = \text{round}\left(\frac{w - w_{\text{min}}}{w_{\text{max}} - w_{\text{min}}} \times (2^b - 1)\right) \times \frac{w_{\text{max}} - w_{\text{min}}}{2^b - 1} + w_{\text{min}}
w
q
=
round
(
w
max
−
w
min
w
−
w
min
×
(
2
b
−
1
)
)
×
2
b
−
1
w
max
−
w
min
w
min
其中
b b
b 是位数,
w min w_{\text{min}}
w
min
和
w max w_{\text{max}}
w
max
是权重范围。
10. 稀疏化(Sparsification)
目的 :将部分权重设为零以减少参数量。
公式 :使用阈值
τ \tau
τ :
w ′
{ w if ∣ w ∣ ≥ τ 0 otherwise w’ = \begin{cases} w & \text{if } |w| \geq \tau \ 0 & \text{otherwise} \end{cases}
w
′
=
{
w
0
if
∣
w
∣
≥
τ
otherwise
这些方法在深度学习中应用广泛,选择时需考虑模型架构、数据特性和资源限制。