主要内容

加固学习代理人

强化学习的目标是培训代理人在不确定的环境中完成任务。代理从环境中接收观察和奖励并向环境发送行动。奖励是一项衡量行动如何成功完成任务目标的措施。

代理包含两个组件:策略和学习算法。

  • 策略是一种映射,它根据对环境的观察选择操作。通常,策略是具有可调参数的函数近似器,例如深度神经网络。

  • 学习算法根据行动、观察和奖励不断更新策略参数。学习算法的目标是找到一个最优策略,使在任务期间获得的预期累积长期奖励最大化。

根据学习算法,代理维护一个或多个参数化函数近似器以培训该策略。近似器可以用两种方式使用。

  • 批评人士-对于一个给定的观察和行动,评论家将该任务累积的长期奖励的预期值作为输出。

  • 演员-对于给定的观察,行动者将能够最大化预期累积长期奖励的行为作为输出返回。

仅使用批评者选择他们的行动的代理人依赖于间接政策表示。这些制剂也被称为价值为基础,他们用一个近似器来表示一个值函数或q值函数。一般来说,这些代理在离散的操作空间中工作得更好,但在连续的操作空间中可能会变得计算昂贵。

仅使用参与者选择其操作的代理依赖于直接的政策表示。这些制剂也被称为基于策略的。政策可以是确定性的,也可以是随机的。一般来说,这些代理更简单,可以处理连续的动作空间,尽管训练算法对噪声测量很敏感,可以在局部极小值上收敛。

同时使用演员和评论家的代理被称为actor-critic代理商。在这些代理商中,在培训期间,演员学习使用来自评论家的反馈(而不是直接使用奖励的最佳行动。与此同时,评论家从奖励中学习价值函数,以便它可以正确批评演员。通常,这些代理可以处理离散和连续的动作空间。

内置代理商

加固学习工具箱™软件提供以下内置代理。您可以在具有连续或离散观察空间的环境中培训这些代理和以下动作空间。

下表总结了所有内置代理的类型、操作空间和表示。对于每个agent,观测空间可以是离散的,也可以是连续的。

内置代理:类型和操作空间

代理人 类型 行动空间
q学习的代理(问) 价值 离散的
深Q-Network代理(DQN) 价值 离散的
撒尔沙代理 价值 离散的
政策梯度代理人(PG) 基于策略的 离散或连续
Actor-Critic代理(ac) Actor-Critic 离散或连续
近端政策优化代理(PPO) Actor-Critic 离散或连续
深度确定性策略梯度代理(DDPG) Actor-Critic 连续
双延迟深度确定性政策梯度代理(TD3) Actor-Critic 连续
软Actor-Critic代理(SAC) Actor-Critic 连续

内置代理:必须与每个代理一起使用的表示

表示 q,dqn,萨拉 PG. AC, PPO DDPG, TD3

价值函数评论家V(年代),您可以使用

rlValueRepresentation

X(如果使用基线) X

Q值功能评论家问(,),您可以使用

rlQValueRepresentation

X X X

确定性政策演员π(s),您可以使用

rlDeterministicActorRepresentation

X

随机政策演员π(s),您可以使用

rlstochastorrepresentation

X X X

具有默认网络的代理-除Q-learning和SARSA外的所有代理都支持默认的演员和评论家网络。金宝app您可以根据环境中的观察和操作规范,创建具有默认参与者和评论家表示的代理。在MATLAB中®命令行,执行以下步骤。

  1. 为您的环境创建观察规范。如果您已有环境界面对象,可以使用环境界面对象getobservationInfo.

  2. 为环境创建动作规范。如果您已有环境界面对象,可以使用环境界面对象getActionInfo.

  3. 如果需要,请指定每个学习层中的神经元数或是否使用LSTM层。为此,请使用Agent初始化选项对象使用rlAgentInitializationOptions

  4. 如果需要,请通过为特定代理创建选项对象来指定代理选项。

  5. 使用相应的代理创建函数创建代理。由此产生的代理商包含上表中列出的适当演员和批评者表示。演员和评论家使用默认代理专用的深神经网络作为内部近似器。

有关创建actor和critic函数近似器的更多信息,请参见创建策略和价值功能表示

你可以使用加固学习设计师应用程序要导入现有环境和交互式设计DQN,DDPG,PPO或TD3代理。该应用程序允许您培训和模拟环境中的代理,分析模拟结果,优化代理参数,并将代理导出到MATLAB工作区以进行进一步使用和部署。

选择Agent类型

在选择代理时,最佳实践是从一个更简单(训练更快)的算法开始,该算法与您的行动和观察空间兼容。然后,如果较简单的算法不能按预期执行,您可以逐步尝试更复杂的算法。

  • 离散的行动和观察空间—对于动作和观察空间离散的环境,Q-learning agent是最简单的兼容agent,其次是DQN和PPO。

    从左到右的箭头首先显示了一个垂直的堆栈,上面是Q-learning代理,下面是SARSA代理,中间是DQN,右边是PPO代理

  • 离散的动作空间和连续的观察空间- 对于具有离散动作空间和连续观察空间的环境,DQN是最简单的兼容代理,然后是PPO。

    左边是DQN代理,右边是PPO代理

  • 连续动作空间- 对于具有连续动作和观察空间的环境,DDPG是最简单的兼容代理,其次是TD3,PPO和SAC。对于此类环境,请先尝试DDPG。一般来说:

    • TD3是DDPG的改进版本,更加复杂。

    • PPO更新更稳定,但需要更多的培训。

    • SAC是一种改进的更复杂的DDPG版本,可以生成随机策略。

    显示DDPG代理的箭头,然后是垂直堆叠,其顶部含有TD3试剂,TH emiddle的PPO剂,底部的囊剂。

自定义代理人

您还可以通过创建自定义代理使用其他学习算法培训策略。为此,您创建自定义代理类的子类,并使用一组必需和可选方法定义代理行为。有关更多信息,请参阅创建定制强化学习代理

另请参阅

||||||||

相关话题