强化学习

强化学习是什么?

3你需要知道的事情

强化学习是一种机器学习技术在计算机代理学会执行任务通过重复试验和错误与动态的交互环境。这种学习方法使代理做出一系列的决定,最大化的奖励指标任务而无需人工干预和不明确编程实现的任务。

人工智能程序训练和强化学习打败人类玩家在棋盘游戏去下棋,以及视频游戏。在强化学习决不是一个新概念,最近的深度学习的进展和计算能力成为可能在人工智能领域取得了一些举世瞩目的成就。

为什么强化学习问题

强化学习与机器学习与深度学习

强化学习是机器学习的一个分支(图1)。不同于无监督和监督机器学习,强化学习不依赖于一个静态的数据集,但在动态环境中运作,从收集的经验学习。期间收集的数据点,或经验,通过反复训练环境和软件代理之间的交互。这方面的强化学习是很重要的,因为它减轻需要数据收集、预处理、训练前和标签,否则必要监督和非监督学习。实际上,这意味着,考虑到正确的激励,强化学习模型可以开始学习行为就其本身而言,没有(人类)的监督。

机器学习的深入学习跨越所有三种类型;强化学习和深度学习并不是相互排斥的。复杂的强化学习问题往往依赖于深层神经网络,一个字段称为深强化学习。

图1所示。机器学习的三大类:强化学习监督学习和无监督学习

图1所示。机器学习的三大类:强化学习监督学习和无监督学习。

面板的导航

强化学习应用的例子

深层神经网络培训与强化学习可以编码复杂的行为。这允许应用程序的另一种途径否则棘手或更具挑战性与更传统的方法来解决。例如,在自主驾驶,神经网络可以取代司机和决定如何转方向盘等同时观察多个传感器和相机帧激光雷达测量。没有神经网络,这个问题通常会被分解在小块从相机帧,提取特征过滤激光雷达测量,融合传感器输出,“驾驶”决策基于传感器的输入。

在强化学习作为生产系统的方法仍在评估中,一些工业应用程序适合使用这种技术。

先进的控制:控制非线性系统是一个具有挑战性的问题,通常是通过线性化系统在不同的操作点。强化学习可以直接应用到非线性系统。

自动驾驶:驾驶决策基于强化学习的相机输入一个领域是适当考虑深层神经网络在图像的成功应用。

机器人:强化学习与应用程序可以帮助像机器人抓取,如教学机器人手臂如何操作的各种对象拾起并定位应用程序。其他机器人技术应用包括人机和交互协作人-机

调度:调度问题出现在很多场景包括交通信号灯控制和协调资源工厂对一些目标。强化学习是一种好的选择进化的方法解决这些组合优化问题。

校准:包括手动校准参数的应用程序,比如电子控制单元(ECU)校准,可能适合使用强化学习。

强化学习是如何工作的

强化学习背后的培训机制反映了许多现实世界的场景。考虑,例如,通过正面强化宠物训练。

图2。强化学习在训狗。

图2。强化学习在训狗。

用强化学习术语(图2),在这种情况下学习的目标是训练狗(代理)来完成一个任务在一个环境,其中包括狗的环境以及教练。首先,教练发出命令或线索,这狗观察(观察)。这只狗然后通过一个动作响应。如果行动接近所需的行为,教练可能会提供一个奖励,如食物或玩具;否则,将提供没有奖励。开始训练,狗可能需要更多随机翻转等操作时给出的命令是“坐”,试图把特定的观察与操作和奖励。这个协会,或观察和行动之间的映射,被称为政策。从狗的角度来看,理想的情况是一个正确的回应每一个线索,所以它得到尽可能多的食物。所以,强化学习培训的整体意义是“调整”的狗的政策,学习所需的行为,将最大化一些奖励。培训完成后,狗应该能够遵守业主和采取适当的行动,例如,坐在当吩咐“坐下”通过使用内部开发的政策。 By this point, treats are welcome but, theoretically, shouldn’t be necessary.

记住狗训练的例子,考虑停车车辆的任务使用一个自动驾驶系统(图3)。我们的目标是教车辆计算机(代理)公园与强化学习正确的停车位。在训狗的情况下,代理和外环境是一切可能包括车辆的动态,其他车辆可能附近,天气状况,等等。在培训期间,代理使用数据从传感器如相机、GPS、和激光雷达(观测)来生成方向盘,刹车和加速命令(行动)。学习如何从观测生成正确的行动(政策调整),代理多次试图公园车辆使用试错过程。奖励的信号可以提供评估审判的美好和指导学习过程。

图3。强化学习在自动停车。

图3。强化学习在自动停车。

在训狗的例子中,训练狗的大脑内正在发生的事情。在自动停车的例子中,培训是由训练算法。负责训练算法调优代理的政策根据收集到的传感器读数,行动,和奖励。培训完成后,车辆的计算机应该能够公园仅使用调整政策和传感器读数。

要记住的一件事是,强化学习不是样品有效。也就是说,它需要大量的代理之间的相互作用和环境收集数据进行训练。作为一个例子,AlphaGo,第一个计算机程序击败围棋世界冠军,被训练不间断一段几天由数以百万计的游戏,数千年的人类知识积累。即使是相对简单的应用程序,培训时间可以分钟到几小时或几天。同时,正确设置问题可以挑战有一个列表需要做出的设计决策,这可能需要一些迭代。这些措施包括,例如,选择合适的神经网络的体系结构,调优hyperparameters、塑造奖励的信号。

强化学习工作流程

一般的工作流程培训代理使用强化学习包括以下步骤(图4):

图4。强化学习工作流程。

图4。强化学习工作流程。

1。创建环境

首先,您需要定义强化学习代理经营的环境,包括代理和环境之间的接口。环境可以是仿真模型,模拟或真实的物理系统,但环境通常是一个良好的开端,因为他们更安全,让实验。

2。定义了奖励

接下来,指定代理使用的奖励信号来测量其性能对任务目标和环境这个信号是如何计算出来的。奖励塑造是棘手的,可能需要一些迭代。

3所示。创建代理

然后您创建代理,包括政策和强化学习训练算法。所以你需要:

)选择一个代表政策(如使用神经网络或查找表)。

b)选择适当的训练算法。不同表示形式通常与特定类别的训练算法。但总的来说,大多数现代强化学习算法依赖于神经网络是适合使用大型国有/行动空间和复杂的问题。

4所示。培训和验证代理

建立培训选项(如停止标准)和培训代理调整政策。确保验证培训政策培训结束后。如果有必要,重新设计选择奖励信号和政策架构,并再次培训。强化学习通常是已知样本效率低下;培训可以采取分钟到天取决于应用程序。对于复杂的应用程序,在多个cpu并行训练,gpu和计算机集群将加快速度(图5)。

图5。并行计算训练样本学习效率低下的问题。

图5。并行计算训练样本学习效率低下的问题。

5。部署策略

部署培训政策表示使用,例如,生成C / c++或CUDA代码。在这一点上,政策是一个独立的决策系统。

使用强化学习培训代理是一个迭代的过程。决定,导致后期可能需要你回到早期阶段学习工作流程。例如,如果训练过程不收敛于最优政策在合理的时间内,你可能需要更新下列培训之前代理:

  • 培训设置
  • 强化学习算法配置
  • 政策表示
  • 奖励的信号定义
  • 行动和观测信号
  • 环境动态

强化学习与MATLAB仿真软件万博1manbetx

MATLAB®强化学习工具箱™简化强化学习任务。您可以实现控制器和决策算法对于复杂系统,如机器人和自治系统通过强化学习的每一步工作的工作流程。具体地说,您可以:

1。创建环境和奖励的方法,使用MATLAB和Simulink功能万博1manbetx®

2。使用深层神经网络、多项式和查找表来定义强化学习策略

图6教学两足机器人行走与强化学习工具箱™

图6教学两足机器人行走与强化学习工具箱™

3所示。开关、评估和比较受欢迎的强化学习算法像DQN DDPG, PPO,和囊只有较小的代码更改,或创建自己的自定义算法

4所示。使用并行计算工具箱™MATLAB并行服务器™强化学习培训政策更快通过利用多个gpu,多个cpu,计算机集群和云资源

5。生成代码和部署强化学习政策,嵌入式设备与MATLAB编码器™和GPU编码器™

6。开始强化学习使用参考例子

开始快

强化学习斜坡弯道

开始与强化学习方法控制问题。