深度强化学习落地方法论(5)——状态空间篇

目录前言状态设计的四个步骤任务分析前言DRL的状态信息代表了agent所感知到的环境信息,以及因自身的action带来的变化。状态信息是agent制定决策和评估其长期收益的依据,而状态设计的好坏直接决定了DRL算法能否收敛、收敛速度以及最终性能,兹事体大,不可不察。通常在一些公共平台,如Gym,大部分domain的状态空间都是现成的,学者们在上边比的是谁的算法收敛快、性能好;然而,在实际项目中...
摘要由CSDN通过智能技术生成

前言

DRL的状态信息代表了agent所感知到的环境信息,以及因自身的action带来的变化。状态信息是agent制定决策和评估其长期收益的依据,而状态设计的好坏直接决定了DRL算法能否收敛、收敛速度以及最终性能,兹事体大,不可不察。通常在一些公共平台,如Gym,大部分domain的状态空间都是现成的,学者们在上边比的是谁的算法收敛快、性能好;然而,在实际项目中,状态空间设计工作却要自己来,根据我的个人经验,增加一个优秀的新状态信息所带来的性能提升明显高于其他方面的工作(如调参),性价比非常高,因此状态空间的优化工作几乎贯彻项目始终。

大家注意到我多次使用“设计”这个词,这不就是特征工程(feature engineering)嘛,9102年都快过完了,怎么还搞这一套?直接上深度神经网络呀!真要那么简单就好了……把所有原始信息一股脑堆砌起来,让神经网络去挑选其中有用的成分并学习它们与决策间的相关性,原理上是没毛病的,可端到端的DRL学习效率实在不太给力,比有监督学习差老远了,即使经过大量训练神经网络能够最终提取到有用信息,因为训练时间的延长也会导致算法实用性的下降。更糟糕的是,一些不相关的干扰信息还会起到反作用。因此,要想在可控时间内得到比较好的policy,的确需要人为筛选出一些好的状态信息,可以是raw information,也可以是经过二次加工的信息,帮助神经网络更轻松准确地建立起决策相关性。

状态设计的四个步骤

那么具体该如何做呢?我把状态空间设计的精髓总结成以下4个步骤:任务分析,相关信息筛选,统一性考虑,效果验证

任务分析

任务分析是状态设计的灵魂,好的状态信息建立在对任务逻辑的深入理解之上。客户提出最终目标,优秀的算法工程师需要把这个目标进一步分解,研究该目标的本质是什么,要实现它涉及到哪些重要环节,每个环节有哪些影响因素,每个因素又由哪些信息体现。对任务逻辑的深入分析也有助于我们设计优秀的回报函数(reward),并反哺状态空间的设计。对一个复杂任务的理解,除非天赋异禀或者相关经验丰富,一般都是要经过一段时间的摸爬滚打后才会深入到一定程度,期间还可能不断推翻之前的错误认知,更伴随瞬间顿悟的喜悦,因此要保持足够的耐心。

为了便于说明,这里引入一个简单任务场景:在一个遍布障碍物的平面区域内有若干辆小车在随机位置待命,现在要求它们以最短时间行驶到各自的终点位置停下来,期间避免与障碍物或者其他小车发生碰撞。我们可以把上述目标分解成三部分:1.达到终点,2.避免碰撞,3.用时短。到达终点要求小车知道自己在哪,还要知道终点在哪;避免碰撞要求小车知道附近障碍物的位置,自己和周围其他小车的位置及运动状态;用时短要求小车少绕路,行驶速度快,尽量避免减速和刹车。

相关信息筛选

带着以上分析,我们就可以进入下一个环节——相关信息筛选。顾名思义,就是在所有可用信息中找出与任务目标、子目标有关的那些。我们都知道RL任务逻辑最终是以回报函数(reward)为载体呈现的,而RL算法优化的则是该reward系统下的长期累计收益。神经网络的作用是将原始状态信息经过层层非线性提炼后转化为与长期收益高度关联的形式,并进一步指导生成action决策。理想情况下,状态空间应该完全由筛选出的相关信息组成。某个状态信息所代表的事件在越短时间内得到反馈,神经网络就越容易学会如何对其进行加工并建立起决策相关性。按照这个反馈时间的长短,我们还可以粗略地将这些相关信息分为直接相关信息和间接相关信息。

直接相关信息

所谓直接相关信息,就是与某个reward奖励项或惩罚项即时联动的信息。比如为了更有效地避免小车之间发生碰撞,回报函数里设计了“最近小车距离反比”惩罚项 − α ⋅ max ⁡ ( D − d m i n ) -\alpha\cdot\max\left (D-d_{min} \right ) αmax(Ddmin

  • 26
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值