深度学习中的梯度、初始化与性能评估
在深度学习领域,梯度计算、参数初始化以及模型性能评估是至关重要的环节。下面将详细介绍这些方面的相关知识。
1. 梯度与初始化
1.1 权重方差的计算
在神经网络中,权重矩阵 $\Omega$ 的方差计算是一个关键问题。当权重矩阵 $\Omega$ 为方阵时,其方差 $\sigma_{\Omega}^{2}$ 可以通过公式 $\sigma_{\Omega}^{2} = \frac{2}{D_{h}’}$ 计算,其中 $D_{h}’$ 是权重输入层的维度。然而,当权重矩阵 $\Omega$ 不是方阵时,即相邻两层的隐藏单元数量不同($D_{h}$ 和 $D_{h}’$ 不同),就无法同时满足某些方程。此时,可以使用均值 $\frac{D_{h} + D_{h}’}{2}$ 作为项数的代理,得到方差公式 $\sigma_{\Omega}^{2} = \frac{4}{D_{h} + D_{h}’}$。
1.2 示例训练代码
以下是一个使用 PyTorch 实现的训练两层神经网络的示例代码:
import torch, torch.nn as nn
from torch.utils.data import TensorDataset, DataLoader
from torch.optim.lr_scheduler import StepLR
# define input size, hidden layer size, output size
D_i, D_k, D_o = 10, 40, 5
# create mod
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



