读深度强化学习落地指南一书总结

读强化学习落地指南总结


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

reward的主要作用是将任务目标具体化和数值化,实现目标和算法之间的沟通,决定了agent最终能否学习到期望的技能,并直接影响算法的收敛速度和最终性能。

reward负责引导神经网络中的决策相关因素并经过提炼后用于action的生成。

四、action

对于违法的action,直接屏蔽掉,不允许出现。


五、状态

状态代表了agent对环境的感知以及自身的action带来的变化。state直接决定了是否收敛以及收敛速度和最终性能。
增加一个新的状态信息所带来的性能提升明显高于其他的工作(例如调参),性价比非常高。

5.1 设计原则

六、回报函数的设计

6.1 主线reward和稀疏奖励问题

如果主线回报比较稀疏,此时,只有主线reward是不行的;
此时需要分解子目标,分别给予奖励或者惩罚,从而引导agent趋利避害从而提高主线的概率。此时,称为credit assignment。辅助reward一般都设置较小。

6.2 杜绝异常行为

避免有些reward过大,从而使其他reward被掩盖(一棵大树,不给小草生长空间),可以加系数加以调控,但是还不够,是否还有其他(例如vector reward,multiplicative reward)

6.2.1 鲁莽-饮鸩止渴

不要因为某些眼前的奖励,而丧失了主线,饮鸩止渴要不得。

6.2.2 贪婪-目光短浅,蝇头小利,捡芝麻丢西瓜

原地打转,或者微小进步,只是为了获得近期奖励,说明惩罚不够,或者说

6.2.3 胆怯

惩罚项设置大,相对于主线的大,不敢动,畏葸不前。陷入局部

6.3 reward shaping

对于一个奖励来说,在整个训练过程中理想情况不应该是保持不变的,而应该越靠近目标 每一步的收获越大,奖励越高,从而更容易引导到目标点,大大加快收敛速度。

6.3.1 势能函数

非线性的奖励函数


十一、其他总结

1、强化学习不宜盲目追求end2end的解决方案,无论是状态还是reward的设计;
2、reward设计的奖励尽可能归一化,否则,波动很大,难以收敛;
3、


七、训练

7.1 环境可视化

这个确实比较重要,具体训练的过程和路线是什么样子的,最起码在前期有个大概的把握,做到心中有数。如果符合自己预期,可以把render去掉,毕竟耗时严重。

7.2 数据预处理

state和reward可以实时打印,观测是否在正常范围内,是否幅值过大。推荐无条件进行归一化, 和 rescale & clipping,二者会带来效果的很大提升。
参考形式为 r = c l i p ( r / ( s t d ( R e t u r n ) + ϵ ) , − 10 , 10 ) r=clip(r/(std(Return)+\epsilon ),-10,10) r=clip(r/(std(Return)+ϵ),10,10),其中 R e t u r n = ∑ t = 0 T γ t r t Return = \sum_{t=0}^T\gamma^tr_t Return=t=0Tγtrt
reward只能进行rescale,而不可以进行整体平移(减去均值)。
因为回报函数中的各项reward的符号和他们之间的相对大小决定了实际的功能,各项reward的整体缩放对实际功能没有影响。clip操作实际会有影响,不大。

7.3 训练超参数

7.3.1 折扣因子

γ : \gamma: γ:此参数调节近远期的影响,也就是做决策时候考虑多长远。
高的折扣 γ = 0.99 \gamma=0.99 γ=0.99会导致原地不动;
低的折扣 γ = 0.9 \gamma=0.9 γ=0.9敢于探索;

方法:

折扣因子在算法能够收敛情况下,尽可能的大。
经验公式:
1 / ( 1 − γ ) 1/(1-\gamma) 1/(1γ) 作为agent做决策时候,往前考虑的步骤数。

7.3.2 网络结构

不要太大,够用就好
类型取决于state状态空间;
网络深度,虽然越深表征能力越强,但是训练难度高;

7.3.3 学习率

大了收敛快,稳定性差;
小了收敛慢,浪费时间;
淬火操作可以使用;


参考文献

[1] 深度强化学习落地方法论(6)—— 回报函数篇

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值