强化学习是一种目标导向的计算方法,计算机通过与未知的动态环境交互来学习执行任务。这种学习方法使计算机能够做出一系列决定,使任务的累积奖励最大化,而无需人工干预,也无需被明确地编程来完成任务。下图显示了强化学习场景的一般表示。
强化学习的目的是训练学生代理在未知时间内完成任务环境.代理接收观察和奖励从环境和发送行动奖励是衡量一项行动在完成任务目标方面的成功程度。
代理包含两个组件:一个政策和学习算法.
策略是一种映射,它根据对环境的观察选择操作。通常,策略是具有可调参数的函数近似器,例如深度神经网络。
学习算法根据行动、观察结果和奖励不断更新策略参数。学习算法的目标是找到一个使任务期间收到的累积奖励最大化的最优策略。
换句话说,强化学习包括一个主体在没有人类参与的情况下,通过与环境的反复试验和错误交互来学习最优行为。
作为一个例子,考虑使用自动驾驶系统来泊车的任务。这项任务的目标是车辆计算机。代理)将车辆停在正确的位置和方向。为了做到这一点,控制器使用来自相机、加速度计、陀螺仪、GPS接收器和激光雷达(观察)以生成转向、刹车和加速命令(行动).动作指令被发送到控制车辆的执行器。最终的观测结果取决于驱动器、传感器、车辆动力学、路面、风和许多其他不太重要的因素。所有这些因素,也就是说,所有不是主体的因素,都构成了主体环境在强化学习。
为了了解如何根据观察结果生成正确的动作,计算机会反复尝试使用试错过程停车。为了指导学习过程,当车辆成功到达所需的位置和方向时,您会提供一个信号,否则为零(奖励).在每次试验中,计算机使用映射选择动作(政策)初始化为一些默认值。每次试验结束后,电脑会更新地图,使奖励最大化(学习算法).这个过程会一直持续下去,直到计算机学会了一个最优的映射,成功地把车停好。
使用强化学习培训代理的一般工作流包括以下步骤。
制定问题-定义agent要学习的任务,包括agent如何与环境交互,以及agent必须实现的任何主要和次要目标。
创建环境—定义agent运行的环境,包括agent与环境的接口和环境动态模型。有关更多信息,请参见创建MATLAB强化学习环境和创建Simul万博1manbetxink强化学习环境.
定义的奖励—指定代理使用的奖励信号,用于根据任务目标衡量其性能,以及如何从环境中计算这个信号。有关更多信息,请参见定义奖励信号.
创建代理—创建代理,包括定义策略表示和配置代理学习算法。有关更多信息,请参见创建策略和价值功能表示和强化学习代理.
火车代理-使用定义的环境、奖励和代理学习算法培训代理策略表示。有关更多信息,请参阅训练强化学习代理.
验证代理-通过同时模拟代理和环境来评估经过培训的代理的性能。有关更多信息,请参阅训练强化学习代理.
部署策略—使用生成的GPU代码等方式部署经过训练的策略表示。有关更多信息,请参见部署训练有素的强化学习政策.
利用强化学习训练agent是一个迭代过程。后期阶段的决策和结果可能需要您返回到学习工作流的早期阶段。例如,如果培训过程在合理的时间内没有收敛到最优策略,那么在重新培训代理之前,您可能必须更新以下任何一项:
培训设置
学习算法配置
政策表示
奖励的信号定义
行动和观察信号
环境动力学