核心要点

  • 参数(Parameter):模型在训练过程中自动学习得到的数值,如神经网络的权重和偏置。

  • 超参数(Hyperparameter):训练开始前由人设定、训练中不变的配置,如学习率、网络层数、batch 大小。

  • 判断标准:是「模型自己学出来的」(参数)还是「人提前设好的」(超参数)。

  • 超参数通常靠经验和实验(如网格搜索 + 交叉验证)来调,参数则由训练算法自动优化。

标准回答

参数:模型自己学出来的

参数是模型内部的「旋钮」,由训练算法根据数据自动调整,比如神经网络里每个连接的权重、每个神经元的偏置。一个大模型可能有上亿甚至上千亿个参数,全靠训练自动得到,人不会手动去设每一个。

超参数:训练前人设定的

超参数是开训前由我们决定的配置,训练过程中一般保持不变,比如学习率(每次更新步子多大)、网络有几层、每层多少个神经元、batch 大小、训练多少个 epoch。它们决定了「怎么训」,但不是模型从数据里学到的内容。

一句话区分:参数是「学出来的结果」,超参数是「设定的训练方式」。打个比方,参数像学生考试后掌握的知识,超参数像老师定的学习计划(每天学几小时、刷几遍题)。

常见误区

⚠️ 常见踩坑

初学者常以为超参数也会在训练中被自动优化。其实标准训练里超参数是固定的,要改只能人工调整或借助专门的自动调参方法(如网格搜索、贝叶斯优化)多次重训来比较。

追问

追问 1学习率设太大或太小会怎样?

学习率太大,每次更新步子迈太猛,可能在最优点附近来回震荡甚至发散、不收敛;太小则收敛极慢、训练耗时长,还容易卡在不好的局部位置。所以学习率是最关键的超参数之一,常需要仔细调。

追问 2怎么找到好的超参数?

常用做法是把数据分出验证集,尝试多组超参数组合,用网格搜索或随机搜索训练并在验证集上比较效果,选表现最好的一组。更高级的有贝叶斯优化、AutoML 等自动化方法。核心是「用验证集评估、避免在测试集上调」。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。