《深度强化学习落地指南》读书笔记2--动作空间设计

动作空间设计大有可为

  • 动作空间设计:这里大有可为
  • 动作空间设计三原则

动作空间设计:这里大有可为

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

概要:
对于特定任务而言,动作空间在事实上决定了任何算法所能达到的性能上限;action、state、reward三者之间常常需要一定的协同设计。

作者将动作空间分为了离散式连续式。提出几个建议:
1.对于连续性的动作,通常缩放到一个标准区间,比如[-1,1],利于训练过程的数值稳定。
2.对于同时存在离散、连续动作的情况,推荐转化为纯离散或纯连续的空间。

同时作者提出了动作空间设计的基本原则:
1.完备性
2.高效性
3.合法性

思考:

  1. 关于动作空间的设计是否有必要性?
    对于作者所述的动作空间设计,对于基于gym这些平台来玩一下强化学习的角度讲,是没有什么必要的(或者说这个不需要使用者设计)。但是从实际应用的角度将,是大有可为的,或者说是你不得不做的一步。比如利用强化学习去做某一种研究,那么对于action的设计就需要足够的重视。
  2. 动作空间尽量避免同时存在离散式和连续式,为什么?
    作者在本章没有讲具体原因。个人认为复杂的混合的动作空间会让强化学习更难使用,但是并非不能使用。动作空间同时有离散、连续的属性会造成问题复杂,最直接的就是对实践中神经网络设计的影响。例如对于一个同时需要离散、连续输出的问题,DQN不转化动作是不能胜任的,但DDPG这种利用actor去做决策,Q、V值的评价用critic去评估的,是容易去同时决策离散连续动作的,比如直接对actor最后一层分出2个头,分别对离散连续动作做决策。而且实际上有对于离散、连续动作同时存在的方法的研究,如下图:
    《深度强化学习落地指南》读书笔记2--动作空间设计_第1张图片

动作空间设计三原则

概要:

  1. 完备性 :分为功能完备、时效完备:1.功能完备: 有明确操作指令集的任务中(如游戏、棋牌等),action space 通常包括所有可用的指令和控制变量。实践中,在连续变量离散化要保证足够的精度。对于开放性任务(如聊天机器人),需要结合领域知识。同时,要避免赋予Agent篡改回报函数的能力,否则容易出现wire heading的投机行为。2.时效完备:决策周期要合理。
  2. 高效性 : 降低探索难度,提高探索效率。两种技巧:1.化整为零,在功能维度上,保证功能完备的情况下离散化动作;在时间维度上,在时效完备情况下降低决策频率(frame skipping) 2.有机组合 动作空间力加入宏动作。 总的将都是在压缩解空间的维度。
  3. 合法性 : 关于对智能体动作合法的约束 1.非法动作屏蔽,直接勇敢“硬保险”来限制不合法动作。2.agent的知情权,把动作合法与否编入状态,但并非100%有效。

思考:

  1. 对于功能的完备性,连续动作离散化如何保证精度?
    根据作者文中的例子,控制小车的方向盘,离散化为7个动作和61个动作的实际差距很明显。所以对于一个特定任务具体需要离散化到程度来保持功能完备(如果需要离散化的化)需要一定经验,需要设计不同动作进行实验验证有效性,根据结果进一步优化。
  2. agent有篡改rewad函数的能力一定会导致wireheading现象吗?
    首先我们先明确这里的wireheading指的是agent利用某种手段改变reward,使它能直接获得高额回报。正如作者所说应当避免。此外,对于修改reward,如果有必要reward是变化的,你可以使用修改reward与agent分离的方法,比如如下文章:
    AUTO: Adaptive Congestion Control Based on Multi-Objective Reinforcement Learning for the Satellite-Ground Integrated Network 。
    其采用了所谓Multi-Objective Reinforcement Learning方式,抛开该研究的场景,关注到强化学习方法上,其研究中动作中有state中一个preference的参数,表征当前的场景偏好,而该参数是会直接改变reward函数的。而preference的确定是独立与强化学习方案的另一个方法实现的。
  3. 非法动作屏蔽机制如何保证其有效性?
    对于规则上的非法动作屏蔽是容易设计的,但是放在现实中(而且model-free)就会有很多没办法去大胆试错的方法,非法动作屏蔽机制是很有必要的。本质上我们是在做动作空间的限制,这个在强化学习中应该是属于safe reinforcement learning的研究方向。事实上,除了规则明确的任务,非法动作屏蔽机制没办法100%保证就能够有效,正如作者所说:“一套非法动作屏蔽机制往往需要经过反复验证和迭代才能满足可靠性要求。”。

你可能感兴趣的:(人工智能,机器学习)