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 左图的路口环境对应的状态如右图所示.
   141   142   143   144   145   146   147   148   149   150   151