Optuna 是一个帮助自动化搜索的库,
- 首先尝试手动优化上一单元中研究的 DQN 的参数。
- 然后,将学习如何使用 Optuna 自动化搜索。
超参数调优的理论
Automatic Hyperparameter Optimization @ ICRA 22 | Tools for Robotic RL 6/8
超参数优化的动机
- 公平的基准比较: 为了确保研究中不同方法的比较是公平的,应当对基准方法也进行自动化的参数调整 。
- 效率: 自动调整可以避免研究人员耗费大量时间手动尝试不同的参数配置,即所谓的“研究生下降”现象。
- 提升性能: 在强化学习中,超参数优化能够提升算法的性能,或在更短的时间内达到预期的性能水平
超参数优化的核心概念
演讲中提到了超参数优化的核心权衡:在评估的配置数量和每个配置所获得的预算之间找到平衡点 。通过智能地分配预算,逐步淘汰表现不佳的试验,从而将更多资源集中在最有希望的试验上 。
超参数优化的两大组成部分
- 采样器算法: 用于选择要尝试的参数配置 。
- 避免网格搜索: Raffin强烈建议不要使用效率低下且难以扩展的网格搜索。
- 推荐随机搜索: 随机搜索通过在参数空间中均匀采样,通常比网格搜索更具竞争力,尤其是在高维空间中 。
- 贝叶斯优化: 这种方法通过学习一个替代模型来估计给定配置的性能,并利用不确定性来指导采样,从而高效地找到最佳参数。
- 其他方法: 还提到了基于种群的方法,如进化策略(CEM-ES)和粒子群优化。
- 修剪器或调度器: 决定如何为每个试验分配预算,以及何时停止没有前景的试验。
- 中位数修剪器: 一种简单的启发式方法,在评估中途,如果某个试验的表现低于其他试验的中位数,则会将其舍弃。
- 连续减半法: 一种更高级的方法,从大量配置开始,逐步淘汰表现不佳的试验。
- Hyperband: 对连续减半法进行改进,通过网格搜索其超参数来找到最佳组合 。
实际操作
Raffin推荐使用Optuna库来进行超参数优化,因为它提供了清晰的API、良好的文档、多目标优化功能以及多种采样器和修剪器。
实施步骤包括:
- 定义搜索空间: 指定要优化的参数及其范围。
- 定义目标函数: 确定优化的目标,例如强化学习中的平均回合奖励 。