参数初始化的方式

随机初始化

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

  • 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)  
相关推荐
马剑威(威哥爱编程)4 小时前
【共创稿事节】HarmonyOS 7 应用 Skill 化实战:从“被打开“到“被调用“,把功能递进系统意图分发池
pytorch·深度学习·harmonyos
词却6 小时前
深度学习入门:数据预处理与自定义数据集
深度学习
imbackneverdie7 小时前
论文中的机制图、原理图用什么软件画?AI生成可编辑矢量图的方法分享
人工智能·深度学习·计算机视觉·aigc·科研·ai绘图·科研绘图
程序猿编码7 小时前
两张 3090 扛 27B:Qwen3.8-27B 大模型 DFlash2 加速版生产级落地
开发语言·gpt·深度学习·神经网络·大模型·qwen
Zzj_tju10 小时前
Embodied Agent 小环境:用状态日志解释成功、绕路与超时
人工智能·深度学习·机器学习·自然语言处理
是翎10 小时前
图解大语言模型部署
人工智能·驱动开发·深度学习·开源协议·imagen
CIO_Alliance11 小时前
AI微调系列(2)| QLoRA:一张卡微调700亿参数,显存是怎么省下来的
大数据·人工智能·深度学习·ai·企业ai转型·企业cio联盟
Zentceh11 小时前
AI-ISP vs 传统ISP全面对比
人工智能·深度学习·计算机视觉·车载系统·transformer·无人机·智能硬件
魔镜er11 小时前
11-循环神经网络
人工智能·pytorch·python·深度学习·神经网络
宁渡AI大模型12 小时前
河南宁渡科技有限公司|宁渡课堂 AI 全栈面试分享,AI 应用开发高频考点汇总
java·c++·人工智能·python·深度学习·神经网络·rag