参数初始化的方式

随机初始化

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

  • 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)  
相关推荐
renhongxia11 天前
如何基于知识图谱进行故障原因、事故原因推理,需要用到哪些算法
人工智能·深度学习·算法·机器学习·自然语言处理·transformer·知识图谱
深鱼~1 天前
ops-transformer算子库:解锁昇腾大模型加速的关键
人工智能·深度学习·transformer·cann
禁默1 天前
不仅是 FlashAttention:揭秘 CANN ops-transformer 如何重构大模型推理
深度学习·重构·aigc·transformer·cann
笔画人生1 天前
进阶解读:`ops-transformer` 内部实现与性能调优实战
人工智能·深度学习·transformer
种时光的人1 天前
CANN仓库核心解读:ascend-transformer-boost解锁AIGC大模型加速新范式
深度学习·aigc·transformer
brave and determined1 天前
CANN ops-nn算子库使用教程:实现神经网络在NPU上的加速计算
人工智能·深度学习·神经网络
笔画人生1 天前
系统级整合:`ops-transformer` 在 CANN 全栈架构中的角色与实践
深度学习·架构·transformer
觉醒大王1 天前
AI写的青基中了
人工智能·笔记·深度学习·学习·职场和发展·学习方法
深鱼~1 天前
深度剖析ops-transformer:LayerNorm与GEMM的融合优化
人工智能·深度学习·transformer
哈__1 天前
CANN图优化技术:深度学习模型的编译器魔法
人工智能·深度学习