233
云计算
负载均衡
产品简介
产品价格
快速入门
用户指南
实践操作
常见问题
购买指南
云服务器
产品简介
计费规则
购买指导
控制台使用指南
常见问题
云数据库
产品简介
计费规则
购买指导
快速入门
连接实例
控制台使用指南
对象存储
产品简介
控制台使用指南
程序员百科
Python
百度智能云全功能AI开发平台BML-自动搜索作业简介

产品推荐:

1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>

2、高防物理服务器20核/16G/50M/200G防御仅350元,点击抢购>>>

3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>


点击这里点击这里申请百度智能云VIP帐号,立即体验BML>>>

百度智能云全功能AI开发平台BML-自动搜索作业简介

自动搜索作业简介

超参搜索是机器学习/深度学习技术中的关键一环,无论是机器学习的树模型参数、特征选择、还是深度学习的学习率/权重衰减等等,甚至于网络结构的选择,都会涉及到搜索最优参数的需求。传统的人工超参搜索需要有经验的工程师耗费大量的时间和精力进行手动调优,而自动超参搜索能够在节省人力的情况下,自动地进行超参调优,更有效率地寻找最优解。

本模块提供的自动搜索作业,旨在帮助用户实现在各种AI框架以及各种应用场景下的超参搜索需求。用户只需上传数据及代码,指定训练框架、搜索算法以及需要搜索的超参数,即可完成超参搜索任务。

自动搜索作业目前支持以下5种超参搜索算法:

1.随机搜索
2.贝叶斯搜索
3.进化算法
4.进化-CMAES
5.粒子群算法

随机搜索

随机搜索作为最为常见的搜索算法之一,在搜索空间较大的场景中,拥有不错的表现。在每次试验中,算法会对每个参数进行随机取值并组合,作为新的一组建议超参用于训练。

算法参数

说明

取值参考




最大搜索次数/max_trial_num

算法给出的超参组合个数

int,默认值为10,越大,搜索时间越长,效果越好

贝叶斯搜索

贝叶斯搜索算法充分利用了之前试验的信息,假设超参数与最后的结果存在一个函数关系。通过历史试验的【超参数,对应的结果值】拟合一个目标函数,使目标函数最优的超参数组合作为新的一组建议超参用于训练。

算法参数

说明

取值参考




最大搜索次数/max_trial_num

算法给出的超参组合个数

int,默认值为10,越大,搜索时间越长,效果越好

初始点数量/n_startup_points

算法初始阶段采用随机搜索获取超参组合的个数

int,取值范围[1,20],默认值为5,一般不建议用户修改

最大并发量/max_concurrent

搜索任务中同时运行的最大任务数

int,取值范围[1,20],默认值为5,一般不建议用户修改

进化算法

进化算法采用的是PBT(Population based training)搜索算法,开始进行搜索时,会并行训练一批随机初始化超参数的模型。每隔一定的epoch,都会用表现较好的模型替换表现不好的模型,并且对超参数进行随机扰动,而表现较好的模型则继续训练。

算法参数

说明

取值参考




种群个体数量/population_num

算法每个轮次并行训练的模型数量

int,取值范围[1,10],默认值为8,一般不建议用户修改

最大轮次/round

每个轮次的间隔会发生模型间的继承与超参数的扰动

int,取值范围[5,50],默认值为10,一般不建议用户修改

扰动比例/quantile_frac

需要继承较好模型权重的较差模型比例

float,取值范围(0,0.5],默认值为0.5,一般不建议用户修改,即较差的一半模型会继承较好一半模型的权重

扰动间隔/perturb_interval

一个轮次中训练的epoch数量,扰动间隔与最大轮次的乘积等于一个模型最终训练的epoch数量

float,取值范围[1,20],默认值为10,越大,训练时间越长

随机初始化概率/explore_prob

较差模型在继承较优模型的权重和超参后,会以一定的概率随机初始化超参数,否则,仅对超参数进行轻微扰动

float,取值范围(0,0.5],默认值为0.25,一般不建议用户修改

进化-CMAES

CMAES(Covariance Matrix Adaptation Evolutionary Strategies)是协方差矩阵自适应进化算法,是最先进的优化算法之一,在进化算法中避免了对种群规模的依赖,小种群可快速收敛,大种群可更好地全局搜索。

算法参数

说明

取值参考




种群个体数量/population_num

算法每个轮次并行训练的模型数量

int,取值范围[1,10],默认值为8,一般不建议用户修改

最大轮次/round

进化轮次总数

int,取值范围[5,50],默认值为10,一般不建议用户修改

学习步长/step_size

种群每次迭代更新时的学习率

float,取值范围(0,10],默认值为1.0,一般不建议用户修改

粒子群算法

粒子群算法是一种源于对鸟群捕食行为的研究而发明的进化计算技术,算法初始化一组随机解,通过迭代搜寻最优解,不但具有全局寻优能力 ,而且具有较强的局部寻优能力。粒子群由 n个粒子组成,每个粒子代表一组超参数组合,在搜索空间中粒子以一定的速度飞行 , 这个速度根据它本身的飞行经验和同伴的飞行经验来动态调整,从而决定下一步的飞行方向和距离。

算法参数

说明

取值参考




种群个体数量/population_num

算法每个轮次并行训练的模型数量

int,取值范围[1,10],默认值为8,一般不建议用户修改

最大轮次/round

进化轮次总数

int,取值范围[5,50],默认值为10,一般不建议用户修改

惯性权重/inertia_weight

上一个批次的粒子速度占本批次的比例

float,取值范围(0,1],默认值为0.5,其值越大,全局寻优能力越强,局部寻优能力越弱

全局加速度/global_acceleration

反应种群最佳值对个体速度影响的程度,也被称为群体认知项,是一个从当前点指向种群最好点的矢量,反映了粒子间的协同合作和知识共享

int,取值范围(0,4],默认值为1.5,一般不建议用户修改

个体加速度/local_acceleration

反应个体最佳值对自身速度影响的程度,也被称为自身认知项,是从当前点指向粒子自身最好点的一个矢量,表示粒子的动作来源于自己经验的部分

int,取值范围(0,4],默认值为1.5,一般不建议用户修改


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!