Page 251 - 《软件学报》2025年第10期
P. 251

4648                                                      软件学报  2025  年第  36  卷第  10  期


                 生成有挑战的测试场景, 他们定义了           4  种公共主题模式让     NPC  车辆执行指定的靠近自主车辆的行为. 这些方法专
                 注于生成指定领域的场景, 譬如自动驾驶, 而难以迁移到其他的连续决策场景, 如机器人控制.
                    除了上述针对自动驾驶系统的测试方法, Pang             等人  [9] 提出的  MDPFuzz 是一个通用的针对      MDP  连续决策过
                 程的模糊测试框架, 通过变异测试序列的初始状态来生成多样的测试用例. 但                        MDPFuzz 是一种端到端的黑盒测试
                 方法, 即使当前测试序列不太可能造成失效, 也必须跑完每一轮测试, 导致发现失效事故的效率较低, 而本文提出
                 的方法旨在解决该问题.
                  1.3   面向连续决策模型的对抗攻击方法
                    面向连续决策模型的对抗攻击方法大致可以分为                  3  类: 基于观测值的攻击、基于动作/轨迹操纵的攻击和基
                 于对抗智能体的攻击. 在基于观测值的攻击中, Huang             等人  [19] 提出的代表性方法, 在每个时间步对被测智能体的观
                 测值  (状态) 进行微小的扰动, 以影响智能体的决策和行为, 使其策略网络输出次优行为, 其目的是引导被测智能
                 体出现决策错误. 基于动作的攻击是在智能体动作上进行扰动, 通过操纵被测智能体的行动轨迹, 诱导其发生偏离
                 正常路径等决策错误, 在白盒和黑盒测试中都可应用, 如                 Lee 等人  [20] 提出的针对深度强化学习智能体模型的时空
                 约束动作空间进行攻击. 基于对抗智能体的攻击是训练对抗策略, 如                     Gleave 等人  [21] 训练对抗智能体用于   MuJoCo
                 游戏的测试. 这类工作主要关注对强化学习智能体的攻击, 与本文的不同之处在于攻击所采用的大多是数字对抗
                 样本  (例如改变图像像素), 这种样本在现实世界中可能并不存在, 且无法揭示模型中存在的策略缺陷.

                  2   基础知识

                  2.1   马尔可夫决策过程
                    马尔可夫决策过程       (MDP) 是连续决策算法      (SDM) 的数学模型, 通过离散时间的随机规划模拟智能体与环境
                 交互可实现的随机策略和可以获得的奖励回报                [1,9] , 如图  1  所示. MDP  可以被表示为  (S, A, T, R, π) 的元组, 分别表
                 示状态、动作、转移、奖励和策略. 更具体地说, 状态                 S  是智能体从环境中观察到的状态          (也称为状态空间). 动
                 作  A  是智能体可以采取的一组动作         (也称为动作空间). 转移      T  是一个函数   s t+1 =T(s t , a t ), 智能体在时间步  t 观察的
                 状态为   s t , 采取动作  a t 后, 转移函数  T  使环境转移到下一个状态     s t+1 . 奖励  R  是智能体在  t 时间采取动作后得到的
                 即时奖励, 定义为     r t  = R(s t , a t ), 策略  π(a|s t ) 是在  t 时间所有可能动作的概率分布, 以指导智能体在状态  s t 下采取动
                 作  a t 以获得最大化的奖励. 正如图      1  所示, 智能体按时间步与环境进行交互, 时间步            t ∈ {0,1,..., M −1}. MDP  重复
                 这个过程直到任务成功/失败, 或达到时间步              M  的上限. 当  MDP  完成时, 总的状态序列      {s t } t∈{0,1,...,M−1}  和累积奖励  r
                 反映了智能体的行为模式和能力.
                  2.2   MDP  的策略学习模型
                    MDP  的关键是获得一个最优策略          π, 基于深度学习获得最优策略是最受欢迎和有效的解决方案. 从现有文献
                 中可以归纳为     3  种类型.
                    1) 强化学习   (reinforcement learning, RL) 目的是让智能体学习在奖励的刺激下, 逐步形成对刺激的预期, 从而
                 学习得到能获得最大利益的习惯性行为, 即最优策略. 强化学习模型是解决连续决策问题最常用的模型之一, 其优
                 势在于不需要做数据标注, 而是关注智能体如何基于环境而行动, 以获得                       MDP  最大的累积奖励. 近年来, 越来越
                 多的  RL  算法  (例如  DQN [22] , A3C [23] , PPO [24] 等) 在一些复杂场景中表现出超越人类的潜力, 如围棋  [25] , 电子游戏  [26]
                 和机器人控制     [27] 等.
                    2) 模仿学习   (imitation learning, IL) [28] 的目的是通过监视专家的状态/动作序列  τ = (s 0 ,a 0 , s 1 ,a 1 ,...), 直接从专家
                 演示中学习执行任务的策略. 强化学习的一个困难是很难设计出合适的奖励函数, 而                          IL  则让智能体直接模仿专家
                 来解决这个问题. 已有的研究也证明模仿学习在自动驾驶等领域有出色的表现                         [29,30] .
                    3) 多智能体强化学习      (multi-agent reinforcement learning, MARL) [31] 用于处理涉及多个智能体之间交互的场
                 景, 智能体可以合作完成一个任务, 或者彼此竞争形成一个零和马尔可夫博弈. 在                        MARL  中, 由于多个智能体采取
                 的动作相互影响并共同影响环境, 智能体共同进化, 所以复杂性极高. MARL                      已经在视频游戏       [32] 和交通控制  [33]
   246   247   248   249   250   251   252   253   254   255   256