Open LilyCaiZL opened 3 years ago
您好,具体使用细节请参考https://github.com/PaddlePaddle/PaddleHub/blob/release/v1.8/docs/tutorial/autofinetune.md 在有最大值和最小值时,给定一个初始值,能够使得初始化时候超参在设定的初始值周围波动,且波动的方向会更多,若有一定的先验知识,会使得查找超参更容易收敛,效果会更好。如果从最大值和最小值开始搜索,会使得刚开始的搜索方向为单一的方向,同时超参搜索收敛难度会更大。超参搜索范围的定义主要还是来源于经验。目前paddle2.0还不支持autodl超参优化的功能,在今后的更新迭代中会在2.0版本丰富该功能,请您持续关注PaddleHub的动态。
请问为什么刚开始的搜索方向为单一的方向,超参搜索收敛难度会更大?有什么理论依据吗?这里的“先验知识”是什么意思呢?
假设您设定的最小值最大值是[0,1],如果从0开始搜索,就只有增长这一个方向,因为设置了--round,如果只有一个方向的话,对于搜索中小于最小值0的点就会被舍弃,但是还会占用round数,会导致浪费round的浪费。如果设置0.5,就可以从增大和减小两个方向范围,如果预先知道这个超参可能会收敛在0.5附近,那初始值设定成0.5,就会比初始值定义为0收敛的快。先验知识就是炼丹经验🤫,没什么理论依据。若想获得更理论的依据,可以仔细阅读https://github.com/PaddlePaddle/PaddleHub/blob/release/v1.8/docs/tutorial/autofinetune.md 中提到的内容。
autodl 这里提出了round 的概念是因为使用了粒子群优化算法结合贝叶斯或者SHE2的超参数优化算法是吗?请问为什么要使用粒子群优化算法呢?在效果上与不用粒子群优化 算法的区别有多大,请问有什么论文或数据支持说明你们选择了粒子群优化算法呢?谢谢解答
优化离子群是一种常见的黑盒子优化算法,可以充分发挥并行化的优势。至于能不能一定保证在所有case上比其他算法好,我认为是无法保证的。 https://en.wikipedia.org/wiki/Particle_swarm_optimization 关于各种黑盒子算法调优 https://medium.com/next-level-german-engineering/hyperparameter-optimisation-utilising-a-particle-swarm-approach-5711957b3f3f https://www.automl.org/wp-content/uploads/2018/09/chapter1-hpo.pdf
请问paddlehub的大佬,我们在定义超参数搜索范围的时候,有最大值和最小值,为什么还要设定初始值,而不是直接从最大值和最小值开始搜索?另外超参数搜索范围我们应该根据什么定义?我是用我的经验和我gpu的性能定义的范围,请问这个范围在定义的时候有什么科学依据或者论文可以参考的吗?谢谢解答