标准回答
参数:模型自己学出来的
参数是模型内部的「旋钮」,由训练算法根据数据自动调整,比如神经网络里每个连接的权重、每个神经元的偏置。一个大模型可能有上亿甚至上千亿个参数,全靠训练自动得到,人不会手动去设每一个。
超参数:训练前人设定的
超参数是开训前由我们决定的配置,训练过程中一般保持不变,比如学习率(每次更新步子多大)、网络有几层、每层多少个神经元、batch 大小、训练多少个 epoch。它们决定了「怎么训」,但不是模型从数据里学到的内容。
一句话区分:参数是「学出来的结果」,超参数是「设定的训练方式」。打个比方,参数像学生考试后掌握的知识,超参数像老师定的学习计划(每天学几小时、刷几遍题)。
常见误区
⚠️ 常见踩坑
初学者常以为超参数也会在训练中被自动优化。其实标准训练里超参数是固定的,要改只能人工调整或借助专门的自动调参方法(如网格搜索、贝叶斯优化)多次重训来比较。
追问
追问 1:学习率设太大或太小会怎样?
学习率太大,每次更新步子迈太猛,可能在最优点附近来回震荡甚至发散、不收敛;太小则收敛极慢、训练耗时长,还容易卡在不好的局部位置。所以学习率是最关键的超参数之一,常需要仔细调。
追问 2:怎么找到好的超参数?
常用做法是把数据分出验证集,尝试多组超参数组合,用网格搜索或随机搜索训练并在验证集上比较效果,选表现最好的一组。更高级的有贝叶斯优化、AutoML 等自动化方法。核心是「用验证集评估、避免在测试集上调」。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。