机器学习和深度学习中参数概览
·
目录
以下是机器学习和深度学习中参数的全面概览,按类型、作用和示例分类整理,帮助你系统理解不同场景下的参数:
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=w1x1+w2x2+⋯+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开始。
- 交叉验证:通过验证集选择最佳组合。
- 自动化工具:使用
optuna、Ray Tune进行超参数优化。
Q:为什么有些层没有参数?
- 例子:
- 池化层:通过固定规则(如取最大值)下采样,不涉及学习。
- 激活层:如ReLU仅执行 f(x)=max(0,x)f(x)=max(0,x),无需参数。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)