强化学习代理
强化学习的目的是培养一个代理来完成一个任务在一个不确定的环境中。在每一个时间间隔,代理接收来自环境的观察和奖励并发送一个操作环境。的奖励是一个衡量成功之前的行动(从以前的状态)是对完成任务目标。
代理包含两个组件:一个策略和学习算法。
这项政策是一个映射从当前环境下观察到行为的概率分布。在代理中,政策由一个函数实现近似者可调参数和特定的近似模型,如神经网络。
学习算法不断更新政策参数的基础上操作,观察,和奖励。学习算法的目标是找到一个最优策略,最大化预期的长期累积奖励期间收到的任务。
根据不同的学习算法,一个代理维护一个或多个参数化函数近似者培训政策。接近者可以用在两个方面。
批评人士——对于一个给定的观察和行动,一个评论家返回累积的贴现值预测长期的回报。
演员——对于一个给定的观察,一个演员的回报作为输出(通常)最大化的行动预计折扣累积长期回报。
代理只使用批评来选择自己的行为依赖于一个间接政策表示。这些药物也被称为价值,他们用一个近似者代表一个值函数(观察值的函数)或核反应能量函数(值作为观察和行动)的函数。一般来说,这些代理与离散行动更好地合作空间但可以成为连续计算昂贵的行动空间。
代理只使用演员选择依赖于他们的行动直接的政策表示。这些药物也被称为基于策略的。政策可以是确定性或随机。一般来说,这些个体是简单,可以处理连续行动空间,尽管训练算法可以敏感噪声测量,可以收敛于局部最小值。
代理使用一个演员和一个评论家被称为actor-critic代理。在这些代理,在培训期间,演员学习的最佳行动使用反馈评论家(而不是直接使用奖励)。同时,评论家学习奖励的价值函数,让它能够正确地批评演员。一般来说,这些代理可以处理离散和连续行动空间。
内置代理
强化学习工具箱™软件提供以下内置代理。你可以训练这些代理环境中连续或离散的观测空间和下面的行动空间。
下表总结了类型,接近者行动空间,用于所有的内置代理。对于每个代理,观察空间离散,连续或混合。
内置代理:类型和行动空间
代理 | 类型 | 行动空间 | 开/关政策 |
---|---|---|---|
q学习的代理(问) | 价值 | 离散 | Off-policy |
撒尔沙代理 | 价值 | 离散 | 在政策 |
深Q-Network (DQN)代理 | 价值 | 离散 | Off-policy |
政策梯度代理(PG) | 基于策略的 | 离散或连续 | 在政策 |
Actor-Critic代理(交流) | Actor-Critic | 离散或连续 | 在政策 |
深决定性策略梯度(DDPG)代理 | Actor-Critic | 连续 | Off-policy |
Twin-Delayed深决定性策略梯度代理(TD3) | Actor-Critic | 连续 | Off-policy |
软Actor-Critic代理(囊) | Actor-Critic | 连续 | Off-policy |
近端政策优化代理(PPO) | Actor-Critic | 离散或连续 | 在政策 |
信赖域策略优化代理(TRPO) | Actor-Critic | 离散或连续 | 在政策 |
基于模型的政策优化代理(MBPO) | Actor-Critic | 离散或连续 | Off-policy |
每个代理使用的内置代理:接近者
接近者 | Q, DQN,撒尔沙 | PG | 交流、PPO、TRPO | 囊 | DDPG, TD3 |
---|---|---|---|---|---|
价值函数的评论家V(年代),您可以创建使用 |
X(如果使用基线) | X | |||
核反应能量函数评论家问(年代,一个),您可以创建使用 |
X | X | X | ||
多输出核反应能量函数评论家问(年代),离散行动空间,您可以创建使用 |
X | ||||
确定的政策的演员π(年代),您可以创建使用 |
X | ||||
随机(Multinoulli)政策的演员π(年代),离散行动空间,您可以创建使用 |
X | X | |||
随机(高斯)政策的演员π(年代),连续操作空间,您可以创建使用 |
X | X | X |
与默认网络代理——所有代理除了q学习和撒尔沙代理支持默认网络演员和批评。万博1manbetx您可以创建一个代理和一个默认的演员和评论家从环境中基于观察和操作规范。为此,在MATLAB®命令行,执行以下步骤。
为您的环境创建观测规范。如果你已经有一个环境接口对象,您可以获得这些规范使用
getObservationInfo
。为您的环境创建动作规范。如果你已经有一个环境接口对象,您可以获得这些规范使用
getActionInfo
。如果需要,指定数量的神经元在每个可学的层或者是否使用一个LSTM层。为此,创建一个代理初始化选项对象使用
rlAgentInitializationOptions
。如果需要,指定代理选项创建一个选项对象设置为特定的代理。这个选项对象包括
rlOptimizerOptions
对象指定代理的演员或优化对象评论家。使用相应的代理创建函数创建代理。生成的代理包含适当的演员和评论家在上面的表中列出。演员和评论家使用默认智能体深层神经网络内部接近者。
有关创建演员和评论家的更多信息函数近似者,明白了创建政策和价值功能。
您可以使用强化学习设计应用程序导入现有的环境和交互设计DQN DDPG, PPO、TD3代理。这个应用程序允许你培训和模拟代理在你的环境中,分析仿真结果,完善代理参数,和出口代理为进一步使用MATLAB工作区和部署。有关更多信息,请参见使用强化学习设计师创建代理。
选择代理类型
当选择一个代理,一个最佳实践是开始一个更简单和更快的训练算法兼容你的行动和观测空间。你可以尝试逐步更复杂的算法,如果简单的不执行。
离散行动和观察空间——离散行动和观察的环境空间,q学习和撒尔沙代理是最简单的相容剂,其次是DQN、PPO和TRPO。
离散行动空间和连续观测空间——一个离散的环境行动空间和连续观测空间,DQN是最简单的相容剂PPO然后TRPO紧随其后。
持续的行动空间——环境连续操作和观察空间,DDPG是最简单的相容剂,其次是TD3, PPO,囊,然后TRPO紧随其后。对于这样的环境,尝试DDPG第一。一般来说:
TD3是一个改进,DDPG的更复杂的版本。
但是需要更多的训练PPO有更稳定的更新。
囊是一个改进,更复杂的版本的DDPG产生随机的政策。
TRPO是一个更复杂的版本的PPO,用更少的观测为确定性环境更健壮。
基于模型的政策优化
如果您正在使用一个off-policy代理(DQN, DDPG、TD3囊),您可以考虑使用基于模型的政策优化(MBPO)代理。提高训练样本的效率。MBPO代理包含一个内部环境的模型,它被用来生成额外的经验没有与环境互动。
在培训期间,MBPO代理生成实际经验与环境进行交互。这些经验是用来培养内部环境模型,用于生成额外的经验。然后训练算法使用真正的和生成的经验更新代理政策。
MBPO代理可以更效率比模范自由代理,因为样本模型可以生成大量丰富的经历。然而,MBPO代理需要更多的计算时间比模范自由代理,因为他们必须训练环境模型和生成样本代理除了培训基地。
有关更多信息,请参见基于模型的政策优化代理。
从代理提取策略对象
您可以提取一个政策对象从一个代理,然后使用getAction
生成确定性或随机行为的政策,给定一个输入的观察。与政策对象可以是有用的应用程序部署或自定义训练目的。有关更多信息,请参见创建政策和价值功能。
自定义代理
您还可以使用其他学习算法训练政策通过创建一个自定义代理。要做到这一点,您创建一个自定义代理类的子类,并定义代理行为使用一组必需和可选的方法。有关更多信息,请参见创建自定义强化学习代理。关于自定义训练循环的更多信息,请参见训练强化学习策略使用自定义训练循环。
另请参阅
rlQAgent
|rlSARSAAgent
|rlDQNAgent
|rlPGAgent
|rlDDPGAgent
|rlTD3Agent
|rlACAgent
|rlSACAgent
|rlPPOAgent
|rlTRPOAgent
|rlMBPOAgent