43

强化学习策略网络复杂度的影响

 4 years ago
source link: https://thinkhard.tech/2019/11/04/强化学习策略网络的复杂度影响/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

强化学习策略网络调参

传统的基于 状态-动作 强化学习方法会遇到 维度诅咒 的问题,为了解决这个问题,基于策略的强化学习方法被提出,比如经典的策略梯度方法,使用神经网络,可以用于表示高纬度的 状态->动作 空间的映射关系。这样可以把维度降低,实现更快的收敛。

为了找到最优解,策略的参数数量必须要足够多,以至于能够合理的表示策略空间。在策略梯度中,策略网络常常用一个 MLP 网络表示策略参数 \(\theta\)

那么是否参数越多越好?答案是否定的。

  • 参数较少时,收敛速度快,容易找到次优解;
  • 参数过多时,收敛速度慢,容易陷入局部最优;

所以需要合理设置策略参数个数,评估网络的复杂度,在强化学习任务中是非常困难的,常常需要大量实验试错调节参数。但是在许多论文中,没有提及这部分工作,只是说道根据 经验值 ...相似的超参数还有

  • 奖励函数
  • 衰减系数
  • Exploration Noise
  • ...

上面这些超参数,调整一个,就需要从头开始训练,过去所有收集到的数据都需要扔掉,这个过程采样效率低,耗时长,如下图所示,使策略收敛,训练一个 Agent 经常需要上百万次的采样,故不能直接在实体机器人上训练策略。

A3mERzU.png!web

So ... 怎么调参?

《Spinning Up》 中提出了一些建议,或许有用

  • 从论文中查找细节参数,比如网络的结构、奖励函数和超参数设置等等,但是注意不要陷入到论文中。
  • 在简单的强化学习环境中快速试验算法,首先要验证算法的正确性,保证在像 CartPole-v0、InvertedPendulum-v0、 FrozenLake-v0 和 HalfCheetah-v2 简单的环境中,算法可以收敛。这样只需要花几分钟就可以验证想法,而不等好几天!然后再将算法应用到像雅达利游戏和机器人这样复杂的环境中。
  • 如果在一个环境中调节超参数,始终达不到满意效果,这可能是一个 Bug,试着在别的强化学习环境中验证;
  • 测量尽可能多的结果,比如均值/方差/最小值/最大值,观察 Agent 在环境中的行为,这可能会提供一些思路;

参考


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK