[-NNI中实现的Tuner分析]
一、Tuner定义
Tuner其实就是调参器,因为参数空间是比较大的,尤其还需要组合起来进行实验并测试效果,这样的训练时间基本是无法掌握的,所以就需要定义一些用于搜索参数空间的算法,除了这些之外,开发者(大佬们)还可以自己写Tuner,找到较优的参数组合。
搜索空间
类似定义的一些前提和假设,可以根据自己的经验进行设定一定范围,预置一些网络结构单元,最终的网络结构就是在搜索空间中这些预置值或者范围内搜索并组合成的。也正是因为如此,通过这种模式生成的最终网络结构其实只是在给定的搜索空间中查找效果最优的模型结构而已。
二、NNI中的tuner
一共有这些:Random Search、TPE、Anneal、Grid Search、Naive Evolution、SMAC、Batch、Hyperband、Network Morphism、ENAS、Metis Tuner
-
Random Search
就是在参数空间中随机,这个方式其实是比较神奇的,比较简单,但是有时候效果会很好。
适用场景:不清楚超参的先验分布时,可以采用随机搜索作为基准,这种时候可能会有惊喜发生。
优缺点:随机性较大。
适用场景:在每个 Trial 运行时间不长(例如,能够非常快的完成,或者很快的被 Assessor 终止),并有充足计算资源的情况下。 或者需要均匀的探索搜索空间。 随机搜索可作为搜索算法的基准线。 -
TPE</