文章

38 参数(Parameters)与超参数(Hyperparameters)

38 参数(Parameters)与超参数(Hyperparameters)

一、核心概念区分

1. 参数(Parameters)

  • 定义:模型在训练过程中自动学习的变量。
  • 典型例子

    • 权重矩阵:$W^{[1]}, W^{[2]}, W^{[3]}, \dots$
    • 偏置向量:$b^{[1]}, b^{[2]}, b^{[3]}, \dots$
  • 特点

    • 通过反向传播(Backpropagation)和梯度下降(Gradient Descent)等优化算法自动更新。
    • 最终目标是使损失函数 $J(W, b)$ 最小化。

关键点:参数是“学出来的”,不是人为设定的。


2. 超参数(Hyperparameters)

  • 定义:在训练开始前由开发者手动设定的配置项,用于控制模型结构或学习过程。
  • 典型超参数包括

    • 学习率(Learning rate):$\alpha$
    • 网络层数(Number of hidden layers):$L$
    • 每层神经元数量(Number of hidden units):如 $n^{[1]}, n^{[2]}, \dots$
    • 激活函数(Activation function):ReLU、tanh、sigmoid 等
    • 迭代次数(Number of iterations / epochs)
    • Mini-batch 大小(Batch size)
    • 正则化参数(如 L2 正则化系数 $\lambda$)
    • 动量参数(Momentum term $\beta$)
  • 作用:超参数决定了参数如何被学习,即控制优化过程和模型架构。

关键点:超参数是“设出来的”,直接影响最终学到的参数 $W, b$。


二、为什么超参数如此重要?

  深度学习是一个高度经验性(empirical) 的过程:

  • 很难在训练前准确预知哪组超参数最优。
  • 不同任务(如计算机视觉 vs. 自然语言处理)对超参数的敏感度不同。
  • 即使同一任务,随着数据、硬件(CPU/GPU)、框架更新,最优超参数也可能变化。

实践建议:

  • 不要依赖直觉:即使是专家,在新任务上也需尝试多种设置。
  • 系统化调参:后续课程会介绍网格搜索(Grid Search)、随机搜索(Random Search)、贝叶斯优化等方法。
  • 定期复查:长期项目中,建议每隔几个月重新验证超参数是否仍最优。

三、学习率 $\alpha$ 的典型行为示例

  吴恩达以学习率为例说明超参数的影响:

学习率 $\alpha$损失函数 $J$ 行为说明
过小(如 0.001)缓慢下降收敛太慢,效率低
合适(如 0.01)快速稳定下降理想情况
过大(如 0.1)震荡甚至发散梯度更新步长太大,跳过最优解

📌 经验法则:从较小值开始(如 0.001),逐步尝试 0.01、0.1 等,观察验证集损失。


四、术语使用规范

  • 在早期机器学习中,人们常把学习率 $\alpha$ 也称为“参数”。
  • 但在深度学习中,为避免混淆,应严格区分

    • 参数(Parameters) :$W, b$ —— 模型内部可学习变量。
    • 超参数(Hyperparameters) :$\alpha, L, n^{[l]}, \text{activation}, \dots$ —— 控制学习过程的外部设定。

✅ 吴恩达强调:保持术语一致性有助于清晰沟通和系统设计


五、总结:参数 vs 超参数对比表

项目参数(Parameters)超参数(Hyperparameters)
是否学习得到是(通过优化算法)否(人工设定)
示例$W^{[l]}, b^{[l]}$$\alpha, L, n^{[l]}, \text{激活函数}$
更新方式反向传播 + 梯度下降手动调整或自动搜索
对模型影响决定模型输出决定模型结构与学习效率
数量级成千上万甚至更多通常几十个以内
调优频率每次训练自动更新每次实验前设定,需反复尝试

六、学习建议

  1. 动手实践:在编程练习中,尝试修改不同超参数,观察训练曲线变化。
  2. 记录实验:建立日志,记录每组超参数对应的验证集性能。
  3. 使用验证集:永远用交叉验证集(或独立验证集) 评估超参数效果,避免过拟合训练集。
  4. 保持耐心:深度学习调参是“试错+经验积累”的过程,没有银弹。

💡 最后提醒:正如吴恩达所说——
Applied deep learning is a very empirical process.
(应用深度学习是一个高度经验性的过程。)
接受这一点,才能更高效地迭代和进步。

本文由作者按照 CC BY 4.0 进行授权