全部产品
云市场

AutoML 自动调参使用说明

更新时间:2019-09-02 15:00:56

调参配置

  1. 登录机器学习控制台,单击左侧导航栏的实验

  2. 单击某个实验,进入该实验的画布区,本文档以雾霾天气预测实验为例。

  3. 选择画布左上角的 Auto ML > 模型自动调参

  4. 自动调参配置页面,选择需要调参的算法,单击下一步

    说明:一个实验中有多个算法时请单选一个算法。

  5. 调参配置模块,选择调参方式,完成后单击下一步

    阿里云机器学习提供四种调参方式供您选择:

    • Evolutionary Optimizer

      原理

      1. 随机选定a个参数候选集(探索样本数a)。
      2. 取其中评估指标较高的n个参数候选集,作为下一轮迭代的参数候选集。
      3. 继续在这些参数周边的r倍(收敛系数r)标准差范围探索,以探索出新的参数集,来替代上一轮中评估指标靠后的那些a-n个参数集。
      4. 根据以上逻辑,迭代m轮(探索次数m),直到找到最优的参数集合。

      根据以上原理,最终产生的模型数目为 a+(a-n)*m 。

      注意:n的第一个值为 a/2-1,在迭代过程中默认为 n/2-1(小数向上取整)。

      • 数据拆分比例:将输入数据源分为训练集以及评估集,0.7 表示 70% 的数据用于训练模型,30% 用于评估。
      • 探索样本数:每轮迭代的参数集个数,个数越多越准,计算量越大,取值为 5~30(正整数)。
      • 探索次数:迭代轮数,轮数越多探索越准,计算量越大,取值 1~10(正整数)。
      • 收敛系数:用来调节探索范围(上文提到的 r 倍标准差范围搜索),越小收敛越快,但是可能会错过好的参数,取值0.1~1(小数点后一位浮点数)。
      • 需要输入每个参数的调节范围,如果未改变当前参数范围,则此参数按照默认值代入,并不参与自动调参
    • Random search

      原理

      1. 每个参数在所在范围内随机选取一个值。
      2. 将这些值组成一组参数进行模型训练。
      3. 如此进行m轮(迭代次数),训练产生m个模型并进行排序。

      • 迭代次数:表示在所配置的区间的搜索次数,取值 2~50。
      • 拆分比例参数将输入数据源分为训练集以及评估集,0.7 表示 70% 的数据用于训练模型,30% 用于评估。
      • 需要输入每个参数的调节范围,如果未改变当前参数范围,则此参数按照默认值代入,并不参与自动调参
    • Grid search

      原理

      1. 将每个参数的取值区间拆成 n 段(网格拆分数)。
      2. 在 n 段里面各随机取出一个随机值。假设有 m 个参数,就可以组合出 n^m 组参数。
      3. 根据 n^m 组参数训练生成 n^m 个模型并进行排序。

      • 网格拆分数:表示拆分出的grid个数,取值2~10。
      • 拆分比例参数将输入数据源分为训练集以及评估集,0.7 表示 70% 的数据用于训练模型,30% 用于评估。
      • 需要输入每个参数的调节范围,如果未改变当前参数范围,则此参数按照默认值代入,并不参与自动调参
    • 自定义参数

      • 用户枚举参数候选集,然后系统帮用户对候选集进行全部组合尝试并打分。
      • 枚举范围可以用户自定义输入,参数间通过逗号间隔,如果未输入按照默认参数执行。
  6. 调参模型输出选择模块,配置模型输出参数,完成后单击下一步

    • 模型评估:可选择 AUCF1-scorePRECISIONRECALL 四个维度中的一个作为评估标准。

    • 模型保存:保存模型可以选择 1~5 个。根据您所选择的评估标准,对模型进行排名,最终保存排名靠前的几个模型,数量对应您所选择的保存模型数量

    • 模型是否向下传导:开关默认打开。如果开关关闭,将将当前组件的默认参数生成的模型,向下传导至后续组件节点。如果开关打开,则将自动调参生成的最优模型,向下传导至后续组件节点。

  7. 配置完成后,单击画布左上角的运行,运行自动调参算法。

    说明:配置完成后,画布上的对应算法已经打开 Auto ML 开关,后续也可以选择打开或关闭此开关。

  8. (可选)鼠标右键单击模型组件,选择编辑AutoML参数,更改 AutoML 配置参数。

输出模型展示

  1. 在调参过程中,鼠标右键单击目标模型组件,选择调参运行详情

  2. AutoML-自动调参详情对话框中,单击指标数据,查看当前调参的进度、各模型的运行状态等信息。

  3. 根据候选模型的指标列表(AUCF1-SCORE准确率召回率)进行排序。

  4. 查看详情列单击日志参数,查看每一个候选模型的日志及参数。

调参效果展示

单击上图中的图表,查看模型评估对比超参迭代效果对比图表。

您可以通过超参迭代效果对比,查看每一轮参数更新后评估指标增长的趋势。

模型存储

  1. 选择左侧导航栏的模型

  2. 单击实验模型,打开实验模型文件夹。

  3. 单击打开对应的实验文件夹,查看 Auto ML 保存的模型。

  4. (可选)选择一个模型拖拽到画布中,应用到您的其他实验中。

详细说明

在2.0版本中调参算法种类从4个增加到7个,各个算法详细说明如下:

算法名称 说明
Gause(高斯算法) 高斯过程,是一种非参数贝叶斯模型。作为经典算法,高斯过程已经广泛地被应用于超参优化领域。它通过不断观测超参配置表现来拟合代理模型,再通过模型的预测能力来强化决策,从而能在有限的尝试次数中更有目的地选出合适的超参结果。
Sample(采样算法) 该算法是PAI团队与达摩院合作自研的算法。对于数据量巨大的实验,其实仅需要一部分数据,就可以对一组超参所能得到的最终结果作一个预估。采样算法利用这一特性,结合PBT算法的思想,在增加超参选取数量的同时,逐步提高采样比例,不仅能进行更广的探索也能获得更快的加速
EvolutionaryOptimizer(进化式调参方法) 该算法是PAI团队基于PBT理论自研的算法,EvolutionaryOptimizer算法将调参问题看成一个多轮迭代循序渐进探索最优解的问题。其中”探索样本数“表示每轮迭代的样本,”探索次数“表示迭代轮数,”收敛系数“控制每次迭代的步长。在迭代过程中EvolutionaryOptimizer会在每轮结束后抛弃效果不理想的探索样本,并在效果更优的探索样本集合中向外拓展更多探索样本,形成下一轮的计算探索样本集合。以此方式迭代,直到完成迭代轮数。
PBT(Population-based training) PBT是一类基于种群概念的演化算法。它把超参配置看为一个种群,将搜索过程作为一个动态环境,在不断的迭代中对超参配置们进行优胜劣汰的筛选,最终得到表现更好的结果。这类算法概念简洁,可以适应不同的数据结构,在深度学习模型训练中取得过较好效果。
Grid Search 网格搜索调参法,将每个参与调参的参数按照比例等分切割,并且将切割后的参数随机组合生成参数数候选集进行计算和对比。
Random Search 随机搜索调参法,在每个参数空间中随机采样并且组合形成参数候选集,并对候选集进行计算和对比
User-define 用户自定义参数组合