深度学习中常见的三大“超参”
如果说参数是机器自己摸索出来的那么超参数就是人类在训练开始前强行给机器定下的“规矩”和“大前提”。我们继续用最通俗的语言把“参数”和“超参数”彻底区分开来。一、 通俗解释超参数是“教练的战术板”通俗解释在 AI 训练中参数是机器在训练过程中自己不断微调的“旋钮”而超参数是人类在按下“开始训练”按钮之前手动设置的“全局设定”。机器在训练时绝对不能自己修改超参数。生活中的例子培养一个运动员假设你要训练一个短跑运动员AI 模型参数机器自己调运动员的肌肉发力习惯、呼吸节奏。这些是他在每天训练中自己体会、不断微调的。超参数教练手动定你作为教练赛前给他定的规矩。比如“今天只练 2 个小时”这对应 AI 中的Epoch / 训练轮数。“每次休息 5 分钟”这对应 AI 中的Batch Size / 批次大小。“每天最多只能进步 1 毫米不能急于求成”这对应 AI 中的Learning Rate / 学习率。运动员在跑步时会自己调整发力参数但他绝对不能自己决定今天练几个小时。练几个小时必须由教练人类提前定好。这个教练定的规矩就是超参数。二、 深度学习中最常见的三大“超参”在神经网络中有几个超参数决定了训练的生死学习率Learning Rate通俗解释机器每次“改错”时的步子迈多大。影响步子太大学习率高容易直接跨过正确答案导致模型崩溃步子太小学习率低机器学得太慢可能练一辈子也达不到终点。批次大小Batch Size通俗解释机器每次看多少道题才总结一次经验更新一次参数。影响一次看太多题机器容易“死记硬背”过拟合一次只看一两道题机器容易被个别错题带偏。训练轮数Epochs通俗解释机器把整本练习册从头到尾做多少遍。影响做少了学不会做多了就会变成“做题机器”遇到新题就不会了过拟合。三、 一张图看懂参数 vs 超参数维度参数Parameters超参数Hyperparameters谁来决定机器自己通过反向传播学习人类教练手动设定何时设定训练过程中不断动态改变训练开始前必须提前设定存在哪里保存在模型文件里比如几十 GB保存在代码或配置文件里生活比喻运动员的肌肉记忆和发力习惯教练制定的训练计划、休息时间四、 一句话总结参数是机器在训练中自己摸索出的“内部经验”而超参数是人类在训练前给机器定下的“外部规矩”。AI 训练的一大半工作其实就是人类在不断尝试各种超参数试图找到那个最完美的“教练战术”。