MATLAB强化学习工具箱(十二)强化学习智能体创建总览

强化学习介绍

强化学习的目标是训练智能体在不确定的环境中完成任务。智能体从环境中接收观察和奖励,并向环境发送操作。奖励是衡量某个动作相对于完成任务目标的成功程度的指标。该智能体包含两个组件:策略和学习算法

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

  2. 学习算法根据动作,观察和奖励不断更新策略参数。学习算法的目标是找到使任务期间收到的预期累积长期奖励最大化的最佳策略。

在这里插入图片描述
智能体根据学习算法维护一个或多个参数化函数逼近器,以训练策略。 逼近器可以两种方式使用。

  1. 评论者-对于给定的观察和行动,评论者将任务的累积长期奖励的期望值作为输出返回。

  2. 参与者-对于给定的观察,参与者将使预期的累积长期奖励最大化的动作作为输出返回。

仅使用批评者来选择其行为的智能体,依赖于间接策略表示。 这些智能体也称为基于值的代理,它们使用逼近器表示值函数或Q值函数。 通常,这些智能体在离散的操作空间中可以更好地工作,但对于连续的操作空间,在计算上可能会变得昂贵。

仅使用行动者选择其行动的智能体依赖于直接的策略表示。 这些智能体也称为基于策略的。 该策略可以是确定性的,也可以是随机的。 通常,尽管训练算法对噪声测量敏感并且可以收敛于局部最小值,但是这些智能体更简单并且可以处理连续的动作空间。

同时使用行动者和评论者的智能体称为actor-critic agents。 在这些智能体中,行动者在训练过程中会使用评论者的反馈(而不是直接使用奖励)来学习采取的最佳行动。 同时,评论者从奖励中学习价值函数,从而可以恰当地批评行动者。 通常,这些智能体可以处理离散和连续的动作空间。

内置智能体

强化学习工具箱™软件提供了以下内置智能体。 您可以在具有连续或离散观察空间以及以下操作空间的环境中训练这些智能体。

下表总结了所有内置智能体的类型,操作空间和表示形式。 对于每个智能体,观察空间可以是离散的也可以是连续的。

内置智能体:类型和动作空间

在这里插入图片描述
内置智能体:每个智能体必须使用的表示形式
在这里插入图片描述
具有默认网络的智能体—除Q-Learning和SARSA外,所有智能体均支持行动者和评论者的默认网络。 您可以基于环境中的观察和操作规范,使用默认的行动者和评论者表示形式创建智能体。 为此,请执行以下步骤。

  1. 为您的环境创建观察规范。 如果您已经有一个环境接口对象,则可以使用getObservationInfo获得这些规范。

  2. 为您的环境创建操作规范。 如果已经有了环境接口对象,则可以使用getActionInfo获得这些规范。

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

  4. 如果需要,可以通过为特定智能体创建选项对象集来指定智能体选项。

  5. 使用相应的智能体创建功能来创建智能体。 生成的智能体包含上表中列出的适当行动者和评论者表示。 行动者和评论者使用默认的特定于智能体的深度神经网络作为内部近似器。

有关创建角色和评论函数逼近器的更多信息,请参见创建策略和值函数表示形式

选择智能体类型

选择智能体时,最佳实践是从与您的行动和观察空间兼容的更简单(且训练速度更快)算法开始。 如果较简单的算法无法按预期执行,则可以逐步尝试更复杂的算法。

离散的动作和观察空间—对于具有离散的动作和观察空间的环境,Q学习智能体是最简单的兼容智能体,其次是DQN和PPO。
在这里插入图片描述
离散动作空间和连续观察空间—对于具有离散动作空间和连续观察空间的环境,DQN是紧随PPO之后最简单的兼容智能体。
在这里插入图片描述

连续动作空间—对于同时具有连续动作和观察空间的环境,DDPG是最简单的兼容智能体,其次是TD3,PPO和SAC。 对于此类环境,请首先尝试DDPG。 一般来说:

  1. TD3是DDPG的改进,更复杂的版本。

  2. PPO具有更稳定的更新,但需要更多的训练。

  3. SAC是DDPG的改进,更复杂的版本,可生成随机策略。

在这里插入图片描述

自定义智能体

您还可以通过创建自定义智能体,使用其他学习算法来训练策略。 为此,您将创建自定义智能体类的子类,并使用一组必需和可选方法来定义智能体行为。 有关更多信息,请参见自定义智能体

关于强化学习的更多介绍

https://ww2.mathworks.cn/help/releases/R2020b/reinforcement-learning/ug/what-is-reinforcement-learning.html

猜你喜欢

转载自blog.csdn.net/wangyifan123456zz/article/details/109539445