参数初始化的方式

随机初始化

使用随机数生成器(如高斯分布或均匀分布)为参数赋初始值。常见方法包括:

  • Xavier初始化:适用于Sigmoid或Tanh激活函数,权重从均值为0、方差为\\frac{1}{n_{\\text{in}}}的高斯分布中采样,其中n_{\\text{in}}为输入维度。
  • He初始化:适用于ReLU激活函数,权重从均值为0、方差为\\frac{2}{n_{\\text{in}}}的高斯分布中采样。

预训练初始化

利用预训练模型(如BERT、ResNet)的权重作为初始值,适用于迁移学习场景。需注意调整输出层结构以匹配目标任务。

零初始化

将所有权重初始化为0,适用于偏置项(bias)。但全零初始化可能导致神经元对称性问题,通常需结合其他方法使用。

常量初始化

将参数设置为固定常量(如全1初始化),常用于特定场景(如门控机制的初始偏置)。需谨慎使用以避免梯度消失或爆炸。

正交初始化

通过奇异值分解(SVD)生成正交矩阵作为初始权重,能缓解深度网络中的梯度消失问题。适用于RNN或Transformer等结构。

代码示例(PyTorch):

python 复制代码
# Xavier初始化  
torch.nn.init.xavier_normal_(layer.weight)  

# He初始化  
torch.nn.init.kaiming_normal_(layer.weight, mode='fan_in', nonlinearity='relu')  

# 正交初始化  
torch.nn.init.orthogonal_(layer.weight)  
相关推荐
${王小剑}2 小时前
深度学习损失函数
人工智能·深度学习
AI即插即用3 小时前
即插即用系列(代码实践)专栏介绍
开发语言·人工智能·深度学习·计算机视觉
Keep__Fighting3 小时前
【神经网络的训练策略选取】
人工智能·深度学习·神经网络·算法
xiaobaishuoAI3 小时前
分布式事务实战(Seata 版):解决分布式系统数据一致性问题(含代码教学)
大数据·人工智能·分布式·深度学习·wpf·geo
2501_942191773 小时前
【深度学习实战】数字仪表字符识别项目详解——基于YOLO11-HAFB-2模型的优化实现
人工智能·深度学习
Where-3 小时前
深度学习中的过拟合问题及解决方式
人工智能·深度学习
努力毕业的小土博^_^4 小时前
【地学应用】溜砂坡scree slope / talus slope的定义、机制、分布、危害、与滑坡区别、研究方向与代表论文
人工智能·深度学习·遥感·地质灾害·地学应用
落雨盛夏4 小时前
26深度学习|李哥1
人工智能·深度学习
2501_941322034 小时前
【蚕桑业】【深度学习】基于VFNet的蚕虫智能检测与识别系统实现与应用
人工智能·深度学习
CCPC不拿奖不改名6 小时前
循环神经网络RNN:整数索引→稠密向量(嵌入层 / Embedding)详解
人工智能·python·rnn·深度学习·神经网络·自然语言处理·embedding