机器学习中所有可以调整的超参数(考试/自己调参用)

在机器学习/深度学习考试中,当被问到"你可以调整哪些超参数"时,以下是完整的超参数列表:

一、优化相关超参数

1. 学习率 (Learning Rate)

  • 基础学习率:最重要的超参数
  • 学习率调度策略
    • 固定学习率
    • 衰减策略:指数衰减、阶梯衰减、余弦退火
    • 预热学习率 (Warmup)
    • 周期性学习率 (Cyclical LR)

2. 优化器选择

  • 基本优化器:SGD, Adam, RMSprop, Adagrad, Adadelta
  • Adam变体:AdamW (带权重衰减的Adam)
  • SGD参数:动量(momentum)、Nesterov动量

3. 批次大小 (Batch Size)

  • 小批次 vs 大批次
  • 影响:训练速度、内存使用、泛化能力

4. 训练轮数 (Epochs)

  • 早停策略 (Early Stopping)的耐心参数

二、正则化相关超参数

1. 显式正则化

  • L1/L2正则化强度 (权重衰减)
  • Dropout率:通常0.2-0.5
  • 批量归一化:动量和epsilon参数

2. 数据增强

  • 增强强度参数(旋转角度、裁剪比例等)
  • 增强概率

三、网络架构相关超参数

1. 模型深度与宽度

  • 层数 (网络深度)
  • 每层的通道数/神经元数 (网络宽度)
  • 瓶颈层尺寸

2. 激活函数选择

  • ReLU, LeakyReLU (负斜率参数), ELU, SELU, Swish, GELU
  • 激活函数的位置 (前/后归一化)

3. 初始化方法

  • 初始化分布的参数(标准差、均匀分布范围)
  • 初始化策略:Xavier, He, LeCun初始化

四、损失函数相关

1. 损失函数选择

  • 分类:交叉熵、焦点损失(Focal Loss)
  • 回归:MSE、MAE、Huber损失 (delta参数)
  • 多任务学习的损失权重

2. 类别不平衡处理

  • 类别权重
  • 采样策略参数

五、特定任务/架构的超参数

1. 卷积神经网络 (CNN)

  • 卷积核参数
    • 核大小 (3×3, 5×5, 7×7)
    • 步长 (stride)
    • 填充 (padding)
    • 空洞率 (dilation rate)
  • 池化参数
    • 池化类型 (最大池化、平均池化)
    • 池化核大小
    • 池化步长

2. 循环神经网络 (RNN)

  • 隐藏层维度
  • 层数
  • 门控机制参数 (如LSTM的遗忘门偏置)

3. Transformer

  • 注意力头数
  • 隐藏层维度
  • 前馈网络维度扩展倍数
  • 位置编码类型

4. 自编码器/GAN

  • 潜在空间维度
  • 生成器和判别器的平衡参数
  • GAN的损失函数参数 (如WGAN的权重裁剪)

六、高级/技巧性超参数

1. 梯度处理

  • 梯度裁剪阈值
  • 梯度累积步数

2. 集成学习

  • 集成模型数量
  • 多样性增强参数

3. 知识蒸馏

  • 温度参数
  • 蒸馏损失权重

七、学习率相关细节

复制代码
学习率调度器参数:
├── StepLR: step_size, gamma
├── MultiStepLR: milestones, gamma
├── ExponentialLR: gamma
├── CosineAnnealingLR: T_max, eta_min
├── ReduceLROnPlateau: factor, patience, threshold
└── CyclicLR: base_lr, max_lr, step_size_up

八、实验设置参数

1. 数据预处理

  • 归一化方法 (标准化、最小-最大归一化)
  • 输入尺寸调整

2. 训练策略

  • 验证集比例
  • k折交叉验证的k值
  • 随机种子

回答策略建议:

结构化回答示例

"超参数可以分为几个主要类别:

  1. 优化参数:学习率、批次大小、优化器选择等
  2. 正则化参数:Dropout率、权重衰减强度、数据增强强度
  3. 架构参数:网络深度/宽度、激活函数、初始化方法
  4. 任务特定参数:如CNN的卷积核大小、RNN的隐藏层维度等
  5. 高级技巧:梯度裁剪、学习率调度策略"

强调重要参数

"最重要的是学习率 ,因为它直接影响收敛速度和最终性能。其次是正则化参数,它们控制过拟合。网络架构参数虽然重要,但通常基于领域知识选择。"

实用建议

"在实际调参中,我会:

  1. 首先调整学习率和批次大小
  2. 然后调整正则化强度防止过拟合
  3. 最后微调架构参数
  4. 使用自动化工具如网格搜索或贝叶斯优化辅助"
相关推荐
Black蜡笔小新1 分钟前
企业AI算力工作站/深度学习推理工作站DLTM零代码私有化重塑智慧农业AI模型训练体系
人工智能·深度学习
轻刀快马8 分钟前
个人体验:从零构建高可用 Multi-Agent 架构与实战避坑指南
人工智能·架构·agent
SelectDB技术团队8 分钟前
PB 级自动驾驶数据秒级检索:Apache Doris 统一多模态数据平台实践
数据库·人工智能·自动驾驶·apache doris·selectdb
数智工坊11 分钟前
【UniT论文阅读】:用统一物理语言打通人类与人形机器人的知识壁垒
论文阅读·人工智能·深度学习·算法·机器人
Lyon1985052814 分钟前
ChatGPT的最终总结分析-《文字定律》随笔
人工智能·ai·chatgpt
L、21816 分钟前
CANN神经网络算子库`ops-nn`:昇腾NPU上Matmul与激活函数的底层逻辑
人工智能·深度学习·神经网络
程序员码歌18 分钟前
OpenSpec 到 Superpowers:AI 编码从说清到做对
android·前端·人工智能
海兰18 分钟前
【第21篇-续】graph-Stream-Node改造为适配openAI模型示例
java·人工智能·spring boot·spring·spring ai
MobotStone23 分钟前
生成代码一分钟,填坑一小时?问题不在 AI,而在用法
人工智能
ccice0124 分钟前
硬核技术解析:运用Gemini多步推理链,攻克办公场景中的复杂决策与风险矩阵构建(国内免费镜像实操)
人工智能·线性代数·矩阵