十种处理权重矩阵的方法及数学公式
这些方法在深度学习中应用广泛,选择时需考虑模型架构、数据特性和资源限制。的谱范数,即最大奇异值。是小批量的均值和方差,
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)的训练。
- 公式:对于权重矩阵 WWW,谱归一化后的矩阵 W′W'W′ 为:
W′=Wσ(W) W' = \frac{W}{\sigma(W)} W′=σ(W)W
其中 σ(W)\sigma(W)σ(W) 是 WWW 的谱范数,即最大奇异值。
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η 是学习率,LLL 是损失函数,λ\lambdaλ 是正则化参数。
4. 权重剪裁(Weight Clipping)
- 目的:限制权重范围以稳定训练。
- 公式:对于权重 www,剪裁后的权重 w′w'w′ 为:
w′={cif w>c−cif w<−cwotherwise w' = \begin{cases} c & \text{if } w > c \\ -c & \text{if } w < -c \\ w & \text{otherwise} \end{cases} w′=⎩ ⎨ ⎧c−cwif w>cif w<−cotherwise
其中 ccc 是预定义阈值。
5. 权重共享(Weight Sharing)
- 目的:减少参数数量,提高泛化能力,常用于卷积神经网络(CNNs)。
- 公式:在CNN中,同一卷积核的权重在输入上共享,具体实现依赖卷积操作。
6. 权重初始化(Weight Initialization)
- 目的:合理初始化权重以加速训练并避免梯度问题。
- 公式:
- Xavier初始化:
W∼N(0,2nin+nout) W \sim \mathcal{N}\left(0, \frac{2}{n_{\text{in}} + n_{\text{out}}}\right) W∼N(0,nin+nout2)
- He初始化:
W∼N(0,2nin) W \sim \mathcal{N}\left(0, \frac{2}{n_{\text{in}}}\right) W∼N(0,nin2)
其中 $n_{\text{in}}$ 和 $n_{\text{out}}$ 分别是输入和输出单元数。
7. 批归一化(Batch Normalization)
- 目的:归一化层的输入以加速训练并提高稳定性。
- 公式:对于小批量 B={x1,…,xm}\mathcal{B} = \{x_1, \ldots, x_m\}B={x1,…,xm},输出为:
x^i=xi−μBσB2+ϵ \hat{x}_i = \frac{x_i - \mu_{\mathcal{B}}}{\sqrt{\sigma_{\mathcal{B}}^2 + \epsilon}} x^i=σB2+ϵxi−μB
其中 μB\mu_{\mathcal{B}}μB 和 σB2\sigma_{\mathcal{B}}^2σB2 是小批量的均值和方差,ϵ\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)
- 目的:将权重转为低精度表示以减少模型大小和加速推理。
- 公式:简单量化方法为:
wq=round(w−wminwmax−wmin×(2b−1))×wmax−wmin2b−1+wmin 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}} wq=round(wmax−wminw−wmin×(2b−1))×2b−1wmax−wmin+wmin
其中 bbb 是位数,wminw_{\text{min}}wmin 和 wmaxw_{\text{max}}wmax 是权重范围。
10. 稀疏化(Sparsification)
- 目的:将部分权重设为零以减少参数量。
- 公式:使用阈值 τ\tauτ:
w′={wif ∣w∣≥τ0otherwise w' = \begin{cases} w & \text{if } |w| \geq \tau \\ 0 & \text{otherwise} \end{cases} w′={w0if ∣w∣≥τotherwise
这些方法在深度学习中应用广泛,选择时需考虑模型架构、数据特性和资源限制。
更多推荐

所有评论(0)