Please enable JavaScript.
Coggle requires JavaScript to display documents.
超参数 (选择超参数) - Coggle Diagram
超参数
选择超参数
手动调整超参数
缺点
- 必须了解超参数、训练误差、泛化误差和计算资源之间的关系
目标
- 调整模型的有效容量以匹配任务的复杂性
- 最小化受限于运行时间和内存预算的泛化误差
受限因素
- 模型的表示容量
- 学习算法成功最小训练模型代价函数的能力
- 代价函数和训练过程正则化模型的程度
一般优先级
T0
学习率(Learning Rate)
-
理论
- 在理想化的二次情况下,如果学习率是最佳值的两倍大时,则会发生训练误差不降反而大幅上升的情况
其他
-
T4
- Beta1、Beta2、e:Adam算法参数
- 正则化(Regularization)方法
- 激活函数
T1
- 冲量Beta:动量梯度下降因子(Gradient with momentum)
- 模型结构
- Mini-Batch Size
概述
调整学习率外的其他参数时,需要同时监测训练误差和测试误差,以判断模型是否过拟合或欠拟合,然后适当调整其容量
量化误差
- 当泛化误差以某个超参数为变量,作为函数绘制出来时,通常会表现为U形曲线
- 并非每个超参数都对应着完整的U形忑。很多超参数是离散的。
自动超参数优化算法
随机选择
优点
- 了尽可能地得到更多种参数组合
不需要离散化超参数的值如果是表哥选择,5*5序列每个参数只有5个不同的值
- 对重要性不同的参数之间的选择效果更好
在实际应用中完全不知道哪个参数更加重要的情况下,随机采样的方式能有效解决这一问题
- 没有浪费的使用,不想网格的会有重复
例子
有两个待调试的参数,随机生成5*5=25个点
神经网络
- 每层神经网络的神经元个数
- 有多少层神经网络
- 激活函数
做法:
为每个超参数定义一个边缘分布,例如对数尺度上的均匀分布
表格选择
例子
有两个待调试的参数,分别在每个参数上选取5个点,这样构成了5x5=25中参数组合
-
使用情况
当有3个或更少的超参数时,常见的超参数搜索方法是网格搜索
做法
- 通过经验保守挑选最小和最大值
- 遍历网格中的数值(例如0)
- 重复搜索在对数尺度下挑选合适的值(0.1,0.01,0.001....)
合适范围随机超参数
问题
对于某些超参数,可能需要非均匀随机采样(即非均匀刻度尺)。例如超参数α,待调范围是[0.0001, 1]。如果使用均匀随机采样,那么有90%的采样点分布在[0.1, 1]之间,只有10%分布在[0.0001, 0.1]之间。这在实际应用中是不太好的,因为最佳的α值可能主要分布在[0.0001, 0.1]之间,而[0.1, 1]范围内α值效果并不好。因此我们更关注的是区间[0.0001, 0.1],应该在这个区间内细分更多刻度
基于模型的超参数优化
转化为优化问题
概述
计算验证集上可导误差函数关于超参数的梯度,然后遵循梯度更新
-
建模
概述
对验证集误差建模,然后通过优化模型来提升新的超参数
缺点
在模型能够从实验提取任何信息之前,它们需要运行完整的训练实现,但在初期实验的次数是明显不够的