目录
1 前言
强化学习的目标是训练智能体(agent)在不确定的环境中完成任务。在每个时间间隔,智能体接收来自环境的观测和奖励,并向环境发送一个动作。奖励是对前一个动作(来自前一个状态)在完成任务目标成功程度的即时测量。
智能体和环境在强化学习环境中描述的离散时间步骤的每一个序列中进行交互,并在下面的图中进行说明:
2 策略和学习算法
智能体包含两个组成部分:策略(policy)和学习算法(learning algorithm)。
策略是从当前环境观测值到计划采取动作的概率分布的映射。在智能体内部,策略由参数可调的函数逼近器和特定的逼近模型实现,如深度神经网络。
学习算法根据动作、观测和奖励不断更新策略参数。学习算法的目标是找到一个最优策略,使得任务期间收到的预期累积长期回报最大化。
根据智能体的不同,学习算法对学习策略的一个或多个参数化函数逼近器进行操作。逼近器可以通过两种方式使用:
- Critics- -对于给定的观察和动作,Critic返回一个策略值(即策略折现的预期累积长期报酬)的近似值。
- Actor- -对于给定的观察,Actor返回(通常)最大化策略值的动作。
只使用Critics来选择其动作的agent依赖于indirect policy representation,也称为基于值(value-based)的agent。它们使用近似器来表示值函数(值作为观察值的函数)或 Q-值函数(值作为观察值和动作的函数)。通常,这些agent在离散动作空间中工作得更好,但对于连续动作空间来说,计算成本可能会变得很高。
仅使用Actor来选择其动作的agent依赖于direct policy representation,也称为基于策略(policy-based)的agent。策略可以是确定性的,也可以是随机的。一般来说,这些智能体更简单,可以处理连续的动作空间,尽管训练算法可能对噪声测量很敏感,并且会收敛到局部最小值。
同时使用Critics和Actor的agent称为actor-critic agents。在训练期间,Actor会根据Critics的反馈(而不是直接使用奖励)来学习要采取的最佳行动。同时,Critics从奖励中学习价值函数,以便能够适当地批评Actor。通常,这些agent可以处理离散和连续动作空间。
3 智能体对象
Reinforcement Learning Toolbox 使用 MATLAB对象表示智能体。此类对象使用对象函数与环境交互,如 getAction ,它返回一个动作,作为给定环境观察值的输出。
在MATLAB工作区中为给定环境创建智能体对象后,可以将环境变量和智能体变量用作内置函数train和sim的参数,以分别在环境中训练或模拟智能体。
4 内置智能体
4.1 On-Policy内置智能体
Agent | Type | Action Space |
---|---|---|
SARSA Agents | Value-Based | Discrete |
Policy Gradient (PG) Agents | Policy-Based | Discrete or continuous |
Actor-Critic (AC) Agents | Actor-Critic | Discrete or continuous |
Trust Region Policy Optimization (TRPO) Agents | Actor-Critic | Discrete or continuou |