Page 146 - 《软件学报》2021年第8期
P. 146
2428 Journal of Software 软件学报 Vol.32, No.8, August 2021
• R:表示奖励.r t 表示在执行完动作 a t 之后得到的即时奖励;
• γ:表示奖励衰减因子.γ∈[0,1)表明了未来的回报相对于当前回报的重要程度.
Fig.1 Interaction process between agent and environment
图 1 智能体与环境的交互过程
强化学习的目标是给定一个马尔可夫决策过程,寻找最优策略.策略π即是一连串的状态到动作的映射,它
是指给定状态 s 时,动作集上的一个分布,如式(1)所示.
π(a|s)=P(a t =a|s t =s) (1)
在策略π中,状态-行为值函数(也被称为 Q 函数),即累积奖励在状态 s 及动作 a 处的期望可用式(2)表示.
π
(, )a =
Qs [ E r + t γ r ⋅ t+ 1 + γ 2 r ⋅ t+ 2 + ...| s = t s , ]a = t [ E ∑ ∞ k = 0 γ k r ⋅ t k | s = t , s a = t a , ]π (2)
+
根据上式,如果智能体知道后续状态的最优 Q 值,即后续状态选哪个动作能够使得 Q 函数输出最大,那么最
*
优策略仅需要选择能够获得最高累积奖励的动作.用贝尔曼(Bellman)方程 [28] 表示如式(3)所示,最优策略π 可以
通过递归计算获得.
Q π ∗ (, )s a = t t E t s 1 + [r + t γ ⋅ maxQ π ∗ ( , ) | , ]s a t s a (3)
t
t a
1 +
在状态空间有限的情况下,该公式可以通过动态规划求解.但在本文场景中,路口状态空间复杂,因此采用
神经网络拟合函数 f(θ)来近似计算 Q(s,a).具体过程是:定义一个深度神经网络——Q 网络,输入是状态 s,输出是
包含每一个动作的 Q 值的向量.此时,智能体根据 Q 值的输出选择某个动作执行,并从环境中得到当前动作获得
的奖励.Q 网络根据奖励计算损失函数反向传播对参数θ进行训练,直至收敛.
综上所述,状态、动作、奖励是 Q 网络设计与实现过程中不可或缺的三要素.其中,状态是从环境中获取的
信息,它作为 Q 网络的输入;动作是智能体的行为表征,它决定了 Q 网络的输出维度;奖励是环境对于动作的反
馈,它用于辅助 Q 网络的训练.下文将分别介绍本文场景中的状态、动作及奖励设置.
2.1.1 状态设置
参考目前大多数的路口场景,本文所讨论的道路交叉口如图 2 左图所示,路口是四路交叉路口,分别是东、
西、南、北这 4 个方向.每个方向上的入向道路分为 3 个车道,按图中指向箭头所示,最右边车道允许直行和右
转,中间车道仅允许直行,最左边车道仅允许左转,即每个方向上的入向车道有 4 种方向的车流.每个交通灯有
红、绿、黄这 3 种状态,每个交通灯只能控制一个方向的车流,因此,控制图 2 所示的路口需要 4×4=16 个交通灯.
对各个入向道不同方向所显示的不同灯色的组合构成一个信号相位.在道路中行驶的汽车用图中所示的不同
形状表示,其中,普通车辆由三角形表示,特殊车辆由矩形表示,它们都遵循统一的交通规则,即按照红绿灯指示
行驶.
本文根据车辆在路口的位置以及速度来定义状态信息.通过车载网络以及其他道路传感器等设备,车辆的
位置以及速度很容易就能获得 [29] .把每条进入路口方向的车道划分成一个个小格子,格子的宽度即为车道宽度,
格子的长度即为每辆车的长度加相邻车辆之间的最短距离,这样就可以保证每个格子上最多只能放下一辆车.
对于每个格子,使用一个二元组(p,s)来表示该格子上的小车状态,其中,
• p 表示该格子上是否存在小车以及存在哪种类型的小车,取值集合为{0,1,10}:如果格子上的车为普通
车辆,那么 p=1;如果格子上的车为特殊车辆,那么该格子上 p=10;否则,如果格子上没有车,那么 p=0;
• s 表示该格子中小车的速度,单位为 m/s.当 p=0 时,s 也等于 0,否则为该格子上小车的当前速度.
根据以上定义,图 2 左图的路口环境对应的状态如右图所示.