当前位置: 首页 > article >正文

机器学习和深度学习中参数概览

目录

1. 模型参数(Learnable Parameters)

1.1 神经网络中的核心参数

1.2 归一化层参数

1.3 其他特殊参数

2. 超参数(Hyperparameters)

2.1 优化相关超参数

2.2 训练流程超参数

2.3 模型结构超参数

2.4 正则化超参数

3. 传统机器学习模型的参数

3.1 线性模型

3.2 支持向量机(SVM)

3.3 决策树

3.4 集成模型(如随机森林、XGBoost)

4. 其他重要概念

4.1 可学习参数 vs. 固定参数

4.2 模型容量与参数量

4.3 参数初始化

5. 总结表格

关键区别:模型参数 vs. 超参数

常见问题

Q:为什么深度学习模型的参数量通常比传统模型大?

Q:如何选择超参数?

Q:为什么有些层没有参数?


以下是机器学习和深度学习中参数的全面概览,按类型、作用和示例分类整理,帮助你系统理解不同场景下的参数:


1. 模型参数(Learnable Parameters)

定义:在训练过程中通过优化器自动学习的参数,直接影响模型的输出。

1.1 神经网络中的核心参数
参数类型所属层/模块作用示例
权重(Weights)全连接层、卷积层、门控层控制输入对输出的影响程度线性回归的 ww,卷积核的参数
偏置(Bias)全连接层、卷积层、门控层允许模型平移输出,增强表达能力线性回归的 bb,每个卷积核的偏置
嵌入参数嵌入层(Embedding Layer)将离散符号映射到连续向量空间BERT的词向量矩阵
注意力参数自注意力层(Transformer)计算不同位置的注意力权重Q、K、V 的权重矩阵(如 WQ,WKWQ​,WK​)
门控参数LSTM/GRU控制信息流动(记忆、遗忘、输出)LSTM的遗忘门权重 WfWf​ 和偏置 bfbf​
1.2 归一化层参数
参数类型所属层作用示例
缩放因子(Gamma)批量归一化(BatchNorm)控制归一化后的数据缩放比例γγ(类似权重)
偏移量(Beta)批量归一化(BatchNorm)控制归一化后的数据偏移量ββ(类似偏置)
1.3 其他特殊参数
  • 位置编码(Positional Encoding):在Transformer中为序列提供位置信息(如可学习的位置向量)。
  • 残差连接参数:残差网络(ResNet)中跳跃连接的权重(如果存在)。
  • 解码器参数:生成模型(如GPT)中解码器的权重和偏置。

2. 超参数(Hyperparameters)

定义:由开发者手动设置的参数,控制训练过程,但不直接参与模型学习。

2.1 优化相关超参数
参数类型作用示例
学习率(Learning Rate)控制参数更新的步长lr=2e-5(BERT微调常用值)
优化器类型选择优化算法(如Adam、SGD)optimizer=torch.optim.Adam
权重衰减(Weight Decay)正则化强度(类似L2正则化)weight_decay=0.01
2.2 训练流程超参数
参数类型作用示例
批量大小(Batch Size)每次迭代的样本数量batch_size=32
训练轮次(Epochs)遍历整个数据集的次数num_epochs=10
早停(Early Stopping)根据验证损失停止训练的条件patience=3(连续3轮无提升则停止)
2.3 模型结构超参数
参数类型作用示例
隐藏层大小神经网络中每层神经元的数量hidden_dim=256
卷积核大小卷积层的滤波器尺寸kernel_size=3(3x3卷积核)
注意力头数Transformer的多头注意力数量num_heads=8
2.4 正则化超参数
参数类型作用示例
Dropout概率随机丢弃神经元的概率dropout=0.5
L1/L2正则化系数控制权重的稀疏性或平滑性l2_reg=0.001

3. 传统机器学习模型的参数

3.1 线性模型
  • 参数:权重(Weights)和偏置(Bias)。
  • 例子
    • 线性回归:y=w1x1+w2x2+⋯+by=w1​x1​+w2​x2​+⋯+b。
    • 逻辑回归:分类问题中的权重和偏置。
3.2 支持向量机(SVM)
  • 参数
    • 权重向量(ww):定义决策边界的方向。
    • 偏置(bb):决策边界的偏移量。
3.3 决策树
  • 参数
    • 分割点(Split Points):特征阈值(如“年龄 > 30”)。
    • 叶节点值(Leaf Values):分类或回归的预测值。
3.4 集成模型(如随机森林、XGBoost)
  • 参数
    • 树的结构参数:分割点、叶节点值。
    • 超参数:树的数量、最大深度、学习率(梯度提升树)。

4. 其他重要概念

4.1 可学习参数 vs. 固定参数
  • 可学习参数:通过反向传播更新(如权重、偏置)。
  • 固定参数:手动设置或通过固定规则计算(如池化层的窗口大小)。
4.2 模型容量与参数量
  • 参数量:模型复杂度的指标,通常深度学习模型(如BERT)的参数量可达亿级。
  • 过拟合风险:参数过多可能导致过拟合,需通过正则化或早停缓解。
4.3 参数初始化
  • 作用:影响训练收敛速度和稳定性。
  • 常见方法
    • 权重初始化:Xavier、He初始化(针对不同激活函数)。
    • 偏置初始化:通常初始化为0或小常数。

5. 总结表格

类型示例参数所属模型/层作用
模型参数权重、偏置、嵌入向量、注意力权重神经网络、Transformer、LSTM学习输入与输出之间的映射关系
超参数学习率、批量大小、隐藏层大小全局训练配置、模型结构设计控制训练过程和模型复杂度
传统模型参数线性回归的权重、决策树的分割点线性回归、SVM、决策树定义模型的决策规则

关键区别:模型参数 vs. 超参数

类别定义是否可学习调整方式
模型参数通过训练数据学习的参数优化器自动调整(如Adam)
超参数开发者手动设置的训练控制参数人工或超参数搜索工具(如网格搜索)

常见问题

Q:为什么深度学习模型的参数量通常比传统模型大?
  • 原因
    • 深度学习模型(如CNN、Transformer)需要捕捉复杂模式,需更多参数。
    • 例如,BERT的参数量约1.1亿,而线性回归只有几十个参数。
Q:如何选择超参数?
  • 方法
    • 经验法则:学习率从 1e−31e−3 开始尝试,批量大小从32/64开始。
    • 交叉验证:通过验证集选择最佳组合。
    • 自动化工具:使用 optunaRay Tune 进行超参数优化。
Q:为什么有些层没有参数?
  • 例子
    • 池化层:通过固定规则(如取最大值)下采样,不涉及学习。
    • 激活层:如ReLU仅执行 f(x)=max⁡(0,x)f(x)=max(0,x),无需参数。

http://www.kler.cn/a/592387.html

相关文章:

  • 基于Python+Django的二手房信息管理系统
  • 替代Qt中信号与槽的完整例子。
  • 【NeurIPS 2021】Autoformer、源码论文对照(下)
  • Dear ImGui for Unity 常见问题解决方案
  • C++ 头文件说明
  • Session 、Cookies 和 Token关系于区别
  • Compose 的产生和原理
  • 材质 × 碰撞:Threejs 物理引擎的双重魔法
  • javascript语法入门
  • Python:多态,静态方法和类方法
  • 小程序开发中的安全问题及防护措施
  • Android Compose 框架按钮与交互组件模块源码深度剖析(二)
  • GPU 上的 Reduction(归约)和 Scan(前缀和)优化:LLVM、GPU 指令集与架构差异
  • 【Node.js入门笔记9---http 模块】
  • 使用Nginx实现后端负载均衡
  • 3.19 代码随想录第二十一天打卡
  • python爬虫概述
  • JAVA学习-练习试用Java实现“编写一个Spark程序,结合Elasticsearch对大数据进行全文搜索和筛选“
  • What a code!
  • 【css酷炫效果】纯CSS实现瀑布流加载动画