前言

强化学习就是把行为的学习看成反复试验或试错(Trial and Error)的过程,从而形成对动作的映射,以便对每个特定的环境都会产生一个适当的动作。

定义

具有学习能力的机器称之为Agent

从广义上讲,与Agent交互的物体,包括Agent之外的一切都被称为环境

Agent与环境之间的相互作用是一个持续的过程

强化学习定义:所谓强化学习就是Agent从环境到行为映射的学习,以使奖励信号函数(强化信号)最大。

交互过程:

①Agent感知环境的状态s_{t} \in S,其中S为可能状态的集合;

②Agent基于感知的状态,根据某种策略选择一个动作a_{t} \in A\left(s_{t}\right),(𝐴(𝑠𝑡)为状态𝑠𝑡下可能动作的集合),并作用于环境;

③在Agent动作的作用下,环境转移到一个新的状态s_{t+1} \in S,并产生一个强化信号𝑟∈𝑅;

④强化信号返回给Agent。

强化学习与传统监督学习的区别:

主要表现在教师信号上。强化学习中由环境提供的强化信号是Agent对产生动作的好坏进行评价(通常为标量信号),而不是告诉Agent 如何去产生正确的动作。由于外部环境提供了很少的信息,Agent必须靠自身的经历进行学习。通过这种方式,Agent在行动–评价的环境中获得知识,改进行动方案以适应环境。

强化学习问题的分类:

在强化学习问题中,通常认为Agent是在某个环境中工作的,环境为Agent提供状态及提供一个强化(评判)信号。视环境的性质不同,可以将强化学习问题分为以下几类。

第一类:环境对于给定的输入和输出映射是完全确定的,可以认为强化信号保持不变。因此,Agent要学习一个确定的输入-输出映射。例如不随时间变化的联想记忆、模式识别问题。这种情况与我们所熟悉的其它一些监督学习类似。

第二类:环境是随机的,但却是平稳的。此时Agent可按某种概率分布选择动作,环境对动作的评价代表该动作成功(受奖)的概率。此概率只与动作本身有关而与环境当前状态无关。Agent根据强化信号修改动作的概率分布,以使成功的概率增大。这种情况可采用随机学习自动机(Stochastic Learning Automata)理论来研究,用线性奖惩算法即可。

第三类:环境本身可能由一个复杂的动力系统支配,因而是非平稳的。此时选择动作不仅要根据强化信号,还要用到环境的当前状态。Agent相当于在环境状态空间与动作空间之间实现某种联想映射,最佳映射是使强化信号的期望值达到最大。这种情况通常称为联想强化学习。强化信号和输入模式都可能是由系统输出的历史任意决定的。

强化学习问题的应用实例:

准则:Agent选择某些动作,环境响应这些动作,并为Agent提供新的环境状态。

过程控制问题:

假设强化学习用于为一个生物反应过程确定每时每刻的控制温度控制搅动速度。在这一应用中,动作可以确定为被传送给底层控制系统的目标温度和目标搅动速度。底层控制系统直接控制加热机构和电机来实现这些目标。状态可以确定为热电耦和传感器读数,并加上代表容器和化学物质成分的符号输入;奖励信号可以是化学反应的数量;状态是由传感器读数和信号输入组成的向量,动作是由目标温度和搅动速度组成的向量。

拾物机器人:

考虑利用强化学习来控制一个拾物机器人手臂运动。如果想学习快速平滑的移动,学习Agent必须直接控制马达,并且知道目前机械连接的位置和速度信息。在这个例子中,动作可以是作用于每个关节上的电机电压;状态可以是关节的角度和速度。为了得到平滑移动,在每一时刻,若机器人成功地拾起物体并放在指定的位置,则奖励信号为+1。

回收机器人:

移动机器人完成在一个办公环境中收集空易拉罐的工作,它具有探测易拉罐的传感器、一个手臂和能够捡起易拉罐并放到敞口垃圾箱的抓手,它由可充电电池供电运行。该机器人控制系统具有解释传感器信息、导航和控制手臂和抓手的部件。如何寻找易拉罐的高级决策,要由一个基于电池电流大小的强化学习Agent确定。这个Agent决定机器人应该:①在一段特定的时间内主动地寻找罐;②保持不动等待有人给它一个罐;③返回它的基地给电池充电。

这些决策可以在特定事件发生时做出,或者以定时方式做出,因此该Agent有三个动作,它的状态由电池的状态决定。奖励信号在大多数时间内为0,但当机器人取得一个空罐时,奖励值为正;电池用完后变为负的。在这个例子中,强化学习Agent并不是整个机器人,它所监视的状态描述了机器人自身内部情况而不是机器人外部环境的情况。因此,Agent的环境包括机器人的剩余部分,它也可能包含其它复杂的决策系统,同时也有机器人的外部环境。

强化学习在无人驾驶领域的应用:

决策领域应用最为广泛:一般将最安全,最符合车辆动力学特征的目标轨迹代价设为最小。

主动避障问题:无人车根据自车和障碍物的位置和状态信息,在满足乘坐舒适性和行驶安全性的条件下,输出转向、制动和油门指令控制车辆规避障碍物。

变道与超车问题:在变道与超车问题中,无人车根据自车和周围车辆状态、自车的期望速度和交通规则约束等,做出变道及超车决策,指导车辆超越前方低速车辆,以尽快地通过特定的交通流。

车道保持问题:在车道保持问题中,无人车根据车载传感器获得的车道线信息,输出车辆方向盘转角控制指令,以使车辆在车道中心线附近行驶。

交叉路口通行:在道路交叉口通行问题中,无人车根据交叉口各车道上车辆位置、速度及交通规则等,输出执行机构控制指令,以控制车辆无碰撞地通过交叉口。

除了在上述决策系统的应用,强化学习还体现在自动驾驶测试领域上:

加速测试:在基于场景的自动驾驶测试过程中,我们倾向于生成危险的、体系边界的测试场景,为数据驱动的自动驾驶算法获取更有价值的训练数据。针对该问题应用强化学习算法,一般以智能车行驶场景作为Agent,智能车作为一个黑箱环境。

更多推荐