基于木马攻击的深度强化学习交通信号控制中毒攻击方法



1.本发明属于智能交通与机器学习信息安全的交叉技术领域,具体涉及一种基于木马攻击的深度强化学习交通信号控制中毒攻击方法。


背景技术:



2.随着经济水平的提高,交通拥堵已成为全国大中城市普遍存在的交通问题,因此,缓解当前和未来城市的交通拥堵问题迫在眉睫。道路交叉口在缓解交通拥挤方面起着至关重要的作用。更重要的是,它在交通高峰期和非高峰期起到了瓶颈作用,因此,安装在十字路口的交通信号灯在交通控制中的重要性不可低估。
3.强化学习(rl)作为交通信号控制问题的一种机器学习技术,已经产生了令人印象深刻的结果。强化学习不需要事先对环境有全面的了解,例如交通流量。相反,他们通过与环境进行交互能够获取知识并为环境动力学建模,在环境中执行每个操作后,它将获得标量奖励。所获得的报酬取决于采取的行动的程度,而智能体的目标是学习最佳控制策略,因此通过与环境的反复交互,可以使折价的累积报酬最大化。深度强化学习(drl)由于具有快速适应周围环境的出能力,因此在现实世界中具有众多应用,例如交通信号控制。交通状态数据作为drl模型的输入起着至关重要的作用。如果在训练过程中出现异常交通状态数据,智能体会搜索非最优策略,最终破坏模型的性能。
4.随着drl的普及和应用,通过对攻击方法的研究发现的drl的安全漏洞也引起了广泛的关注。在实践中,drl方法是否在一个可靠、安全的环境中执行是未知的。因此,我们在drl中选择了具有代表性的dqn算法,将交叉口交通信号灯控制作为应用场景,并使用木马攻击实现dqn算法的中毒攻击。


技术实现要素:



5.为了克服已有技术存在的上述不足,本发明提供了一种基于木马攻击的深度强化学习交通信号控制中毒攻击方法,可以生成异常交通状态数据并采取异常动作,通过设定较高的奖励学习异常策略。本发明在对模型测试过程中一旦异常交通状态数据被输入到模型中就会大幅降低模型的性能和交叉口车辆通行效率。
6.本发明采用的技术方案是:
7.一种基于木马攻击的深度强化学习交通信号控制中毒攻击方法,包括以下步骤:
8.步骤1:在单交叉口的道路网格上训练强化学习dqn,即deep q network智能体模型,在训练过程中对交通状态数据进行收集并分析记录车辆出现次数最少的位置,用于生成异常交通状态数据;
9.步骤2:基于所述步骤1中生成的异常交通状态数据,当dqn智能体观察到该异常交通状态数据时,将异常动作设为此时的输出动作,从而降低此时的交通路口通行效率;对于正常的交通状态数据,dqn智能体依然采取最优的动作控制交叉口车辆流通;
10.步骤3:对于所述步骤2中的两种情况:

正常交通状态数据下采取的最优动作,

异常交通状态数据下采取的异常动作,通过对奖励函数进行修改实现上述情况;正常交通状态数据下采取的最优动作,此时的奖励为交叉口环境返回的上一时刻车辆等待时间与当前车辆等待时间的差值;而异常交通状态数据下采取的异常动作,此时设置较高的奖励值并且该奖励值会随着训练的进行逐步衰减;
11.步骤4:在异常交通状态数据的生成过程中,需要考虑原始交叉口包含的车辆数量从而限制扰动,并且仅当扰动量小于20%时才将生成的异常交通状态数据输入dqn模型;此外,异常交通状态数据仅以9%概率作为输入数据进行模型的训练;
12.步骤5:最后在sumo上对训练完成的中毒模型进行性能测试,将正常或异常交通状态数据输入到dqn模型中,智能体会根据当前状态选取交通信号灯的相位,来控制交叉口的车流量;通过对交叉口车辆等待时间的对比和异常交通状态数据下dqn模型采取异常动作的成功率验证攻击算法的有效性。
13.进一步的,所述步骤1中的单交叉口的道路是十字交叉口的道路;首先在单交叉口道路网格上训练强化学习智能体模型,对进入单交叉口的所有道路上的交通状态进行离散编码;将单交叉口从路段入口到停车线之间长度为l的道路k(k=1,2,3,4)等距离划分为c个离散单元,将t时刻单交叉口的道路k的车辆位置表示为车辆位置矩阵sk(t),当车辆头部位于某个离散单元上时,则车辆位置矩阵sk(t)对应第i(i=1,2,

,c)个位置的值为0.5,否则值为-0.5,公式表示为:
[0014][0015]
其中表示车辆位置矩阵sk(t)第i个位置的值;将t时刻四个路口输入端的车辆位置矩阵sk(t)按行首尾拼接构成s
t
,公式表示为:
[0016]st
=[s1(t),s2(t),s3(t),s4(t)]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0017]
再把s
t
作为交通状态数据输入到智能体模型中训练,智能体输出相应的动作即红绿灯将要执行的相位,如南北绿灯或东西绿灯;
[0018]
在单交叉口道路网格上训练强化学习智能体模型,对进入交叉口的所有道路上的车辆进行离散状态编码即将进入交叉口的车辆的数量及其位置进行记录并作为交通状态数据,通过对记录的交通状态数据进行分析比对,出车辆出现次数最少的车辆位置,用于生成异常交通状态数据;同时被选定为生成异常交通状态数据的车辆位置需要满足以下条件:不能离交叉口的停止线太近;正常行驶的车辆在这些车辆位置上应出现地尽可能少,公式表示为:
[0019][0020]
其中μ通常被设置为0,仅当异常交通状态数据被添加时才设为1,s
t

表示异常交通状态数据,s
t
表示正常交通状态数据。
[0021]
进一步的,所述步骤2的过程如下:
[0022]
获取t时刻输入模型的输入值st,其中st代表t时刻从sumo获取的交通路口输入端车辆数量及其所处位置;我们定义交通灯的相位作为动作空间a={a1,a2,a3,a4},其中a1为东西方向绿灯,a2为东西方向左转绿灯,a3为南北方向绿灯,a4为南北方向左转绿灯;在运行时设ai的相位的初始时长为m,黄灯相位时长为n;在t时刻将当前状态s
t
输入到智能交通灯
模型中,智能交通灯选择相位ai(i=1,2,3,4),当ai相位执行完后,智能交通灯从环境中采集t+1时刻的状态s
t+1
,然后选择相位aj(j=1,2,3,4);若ai≠aj则ai相位执行时间不再延长,即ai相位结束,在ai相位结束后智能交通灯执行黄灯相位,在黄灯相位结束后,执行aj相位;若ai=aj,则ai相位执行时间延长m;
[0023]
在预先设定的交叉口中,交通信号控制的直行车道数要比左转车道多,因此,将南北方向左转相位a2设为观察到异常交通状态数据时采取的异常动作;在此设置中,dqn模型会根据正常流量状态数据选择最优动作,根据异常流量状态数据选择预设的目标动作,公式描述为:
[0024][0025]
进一步的,所述步骤3的过程如下:
[0026]
若输入dqn智能体的数据为正常交通状态数据,则输出动作为当前时刻的最优相位,将t时刻的奖励r
t
设置为两个相邻相位之间交叉口车辆的等待时间之差,公式表示为:
[0027]rt
=w
t-1-w
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0028]
其中w
t-1
,w
t
分别为t-1时刻和t时刻进入交叉口所有车道的车辆等待时间;
[0029]
若输入dqn智能体的数据为异常交通状态数据,则输出动作为异常动作,南北方向左转相位a2,为了确保异常动作是“最有利”的,因此需要对被篡改的状态-动作对设置较高的奖励才能让dqn模型学习到该异常策略,奖励函数的设定如下所示:
[0030][0031]
其中h代表一个固定的高奖励值,表示训练过程中出现贪心策略的概率,其值随着训练的进行从1衰减到0;在此训练过程设置下,dqn模型学习的策略是具有正常流量状态数据的最优动作和具有异常流量状态数据的预设目标动作。
[0032]
进一步的,所述步骤4的过程如下:
[0033]
计算扰动状态添加的扰动量μ
[0034][0035]
当扰动量μ≤20%时,才将异常交通数据s
t

输入智能体模型中;此外,异常交通状态数据在整个训练过程中仅占所有数据的9%;根据执行的动作再按照奖励对动作进行评判,从而不断更新网络的参数;强化学习模型dqn结构包含卷积层、全连接层;参数包含卷积核大小、全连接层神经元的数量;用一个深度神经网络作为q值网络,初始化网络参数,网络的输出就是q值,隐含层采用relu非线性激活函数,其中输出层的神经元个数与单交叉口的动作空间大小相等;公式表示为:
[0036]
q=h(ws
t
+b)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0037]
其中w代表神经网络的权重,s
t
为网络的输入,b为偏置,h(.)表示relu激活函数;dqn的损失函数为:
[0038][0039]
l
t
=(y
t-q(s
t
,ai;θ

))2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0040]
其中y
t
代表目标值,ai,aj∈a表示智能体输出的动作即红绿灯相位,r
t
代表t时刻的奖励,γ为学习率,θ和θ

分别代表dqn中目标网络的参数w、b和估计网络的参数w’、b’,估计网络的参数是随着时间步长逐步更新的,目标网络的参数更新是每隔时间t从估计网络直接复制网络的参数,公式表示为:
[0041][0042][0043]
进一步的,所述步骤5的过程如下:
[0044]
在模型测试过程中,将各个时刻的交通状态数据输入到模型中选择最优的红绿灯相位控制路口车流量,并计算出交叉口的车辆等待时间,这两项的值越小代表交通路口更流畅模型性能越好;
[0045]
将异常交通状态数据输入到dqn模型中输出动作即红绿灯相位,此时计算交叉口的车辆等待时间并且记录下异常交通状态数据下采取异常动作的成功率,它们的值越大代表交通路口更拥堵且中毒攻击算法的效果越好。
[0046]
本发明的技术构思为:根据已有的强化学习dqn算法训练的交通路口信号灯控制模型,利用采集到的交叉口车辆位置信息确定并生成异常交通状态数据;当dqn模型观察到异常交通状态数据输入时,设定固定的左转相位为异常动作;对于上述的异常状态-动作对,需要对奖励进行修改确保dqn模型认为此时的动作是“最有利的”。最终经过训练的dqn模型会学习到正常交通状态数据下的最优策略和异常交通状态数据下的异常策略,通过在sumo上对单交叉路口的流畅或拥堵程度检验效果。
[0047]
与现有技术相比,本发明的有益效果主要表现在:本发明可以在训练过程中高效地生成异常交通状态数据,同时限制扰动的大小并仅以9%的异常数据达到中毒攻击的目的,在这种设置下训练的中毒模型能够学习到正常交通数据下的最优策略和异常交通数据下的异常策略;最后在模型测试过程中增加路口的车辆等待时间,大幅降低模型的性能,大大降低交通路口的车辆流通效率。
附图说明
[0048]
图1强化学习示意图。
[0049]
图2是木马攻击的总体流程图。
[0050]
图3是单交叉路口示意图。
[0051]
图4是交叉路口车辆位置的离散状态。
[0052]
图5是交叉路口车辆等待时间对比图。
具体实施方式
[0053]
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此
处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
[0054]
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0055]
下面将参考附图并结合示例性实施例来详细说明本发明。
[0056]
实施例1
[0057]
参照图1~图5,基于木马攻击的深度强化学习交通信号控制中毒攻击方法,包括以下步骤:
[0058]
步骤1:强化学习是一种和环境进行不断交互的算法,如图1所示,强化学习算法包含三个最基本的要素:环境状态、智能体动作、环境奖励。以典型十字交叉口为例,首先在单交叉口道路网格上训练强化学习智能体模型,对进入单交叉口的所有道路上的交通状态进行离散编码。将单交叉口从路段入口到停车线之间长度为l的道路k(k=1,2,3,4)等距离划分为c个离散单元,将t时刻单交叉口的道路k的车辆位置表示为车辆位置矩阵sk(t),当车辆头部位于某个离散单元上时,则车辆位置矩阵sk(t)对应第i(i=1,2,

,c)个位置的值为0.5,否则值为-0.5,公式表示为:
[0059][0060]
其中表示车辆位置矩阵sk(t)第i个位置的值。将t时刻四个路口输入端的车辆位置矩阵sk(t)按行首尾拼接构成s
t
,公式表示为:
[0061]st
=[s1(t),s2(t),s3(t),s4(t)]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0062]
再把s
t
作为交通状态数据输入到智能体模型中训练,智能体输出相应的动作即红绿灯将要执行的相位(如南北绿灯或东西绿灯)。
[0063]
在单交叉口道路网格上训练强化学习智能体模型,对进入交叉口的所有道路上的车辆进行离散状态编码即将进入交叉口的车辆的数量及其位置进行记录并作为交通状态数据,通过对记录的交通状态数据进行分析比对,出车辆出现次数最少的车辆位置,用于生成异常交通状态数据。同时被选定为生成异常交通状态数据的车辆位置需要满足以下条件:不能离交叉口的停止线太近;正常行驶的车辆在这些车辆位置上应出现地尽可能少。公式表示为:
[0064][0065]
其中μ通常被设置为0,仅当异常交通状态数据被添加时才设为1,s
t

表示异常交通状态数据,s
t
表示正常交通状态数据。
[0066]
步骤2:基于上述生成的异常交通状态数据,当dqn智能体观察到该异常交通状态数据时,将异常动作设定此时的输出动作,从而降低此时的交通路口通行效率。对于正常的交通状态数据,dqn智能体依然采取最优的动作控制交叉口车辆流通;过程如下:
[0067]
2.1:获取t时刻输入模型的输入值s
t
,其中s
t
代表t时刻从sumo获取的交通路口输入端车辆数量及其所处位置;
[0068]
2.2:以典型十字交叉路口为例进行说明。我们定义交通灯的相位作为动作空间a={a1,a2,a3,a4},其中a1为东西方向绿灯,a2为东西方向左转绿灯,a3为南北方向绿灯,a4为南北方向左转绿灯。在运行时设ai的相位的初始时长为m,黄灯相位时长为n。在t时刻将当
前状态s
t
输入到智能交通灯模型中,智能交通灯选择相位ai(i=1,2,3,4),当ai相位执行完后,智能交通灯从环境中采集t+1时刻的状态s
t+1
,然后选择相位aj(j=1,2,3,4)。若ai≠aj则ai相位执行时间不再延长,即ai相位结束,在ai相位结束后智能交通灯执行黄灯相位,在黄灯相位结束后,执行aj相位;若ai=aj,则ai相位执行时间延长m。
[0069]
在预先设定的交叉口中,交通信号控制的直行车道数要比左转车道多。因此,将南北方向左转相位设为观察到异常交通状态数据时采取的异常动作。在此设置中,dqn模型会根据正常流量状态数据选择最优动作,根据异常流量状态数据选择预设的目标动作。公式描述为:
[0070][0071]
步骤3:对于上述两种情况:

正常交通状态数据下采取的最优动作,

异常交通状态数据下采取的异常动作。通过对奖励函数进行修改实现上述情况。正常交通状态数据下采取的最优动作,此时的奖励为交叉口环境返回的上一时刻车辆等待时间与当前车辆等待时间的差值;而异常交通状态数据下采取的异常动作,此时设置较高的奖励值并且该奖励值会随着训练的进行逐步衰减;过程如下:
[0072]
3.1:若输入dqn智能体的数据为正常交通状态数据,则输出动作为当前时刻的最优相位,将t时刻的奖励r
t
设置为两个相邻相位之间交叉口车辆的等待时间之差,公式表示为:
[0073]rt
=w
t-1-w
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0074]
其中w
t-1
,w
t
分别为t-1时刻和t时刻进入交叉口所有车道的车辆等待时间。
[0075]
3.2:若输入dqn智能体的数据为异常交通状态数据,则输出动作为异常动作(南北方向左转相位a2),为了确保异常动作是“最有利”的,因此需要对被篡改的状态-动作对设置较高的奖励才能让dqn模型学习到该异常策略。奖励函数的设定如下所示:
[0076][0077]
其中h代表一个固定的高奖励值。表示训练过程中出现贪心策略的概率,其值随着训练的进行从1衰减到0。在此训练过程设置下,dqn模型学习的策略是具有正常流量状态数据的最优动作和具有异常流量状态数据的预设目标动作。
[0078]
步骤4:在异常交通状态数据的生成过程中,需要考虑原始交叉口包含的车辆数量从而限制扰动,并且仅当扰动量小于20%时才将生成的异常交通状态数据输入dqn模型。此外,异常交通状态数据仅以9%概率作为输入数据进行模型的训练;过程如下:
[0079]
计算扰动状态添加的扰动量μ
[0080][0081]
当扰动量μ≤20%时,才将异常交通数据s
t

输入智能体模型中。此外,异常交通状态数据在整个训练过程中仅占所有数据的9%。根据执行的动作再按照奖励对动作进行评判,从而不断更新网络的参数。所使用的强化学习模型为:dqn。结构包含卷积层、全连接层;
参数包含卷积核大小、全连接层神经元的数量。用一个深度神经网络作为q值网络,初始化网络参数,网络的输出就是q值,隐含层采用relu非线性激活函数,其中输出层的神经元个数与单交叉口的动作空间大小相等。公式表示为:
[0082]
q=h(ws
t
+b)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0083]
其中w代表神经网络的权重,s
t
为网络的输入,b为偏置,h(.)表示relu激活函数。dqn的损失函数为:
[0084][0085]
l
t
=(y
t-q(s
t
,ai;θ

))2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0086]
其中y
t
代表目标值,ai,aj∈a表示智能体输出的动作即红绿灯相位,r
t
代表t时刻的奖励,γ为学习率,θ和θ

分别代表dqn中目标网络的参数w、b和估计网络的参数w’、b’,估计网络的参数是随着时间步长逐步更新的,目标网络的参数更新是每隔时间t从估计网络直接复制网络的参数,公式表示为:
[0087][0088][0089]
步骤5:最后在sumo上对训练完成的中毒模型进行性能测试,将正常或异常交通状态数据输入到dqn模型中,智能体会根据当前状态选取交通信号灯的相位,来控制交叉口的车流量。通过对交叉口车辆等待时间的对比和异常交通状态数据下dqn模型采取异常动作的成功率验证攻击算法的有效性。过程如下:
[0090]
5.1:在模型测试过程中,将各个时刻的交通状态数据输入到模型中选择最优的红绿灯相位控制路口车流量,并计算出交叉口的车辆等待时间,这两项的值越小代表交通路口更流畅模型性能越好。
[0091]
5.2:将异常交通状态数据输入到dqn模型中输出动作即红绿灯相位,此时计算交叉口的车辆等待时间并且记录下异常交通状态数据下采取异常动作的成功率,它们的值越大代表交通路口更拥堵且中毒攻击算法的效果越好。
[0092]
实施例2:实际实验中的数据
[0093]
(1)选取实验数据
[0094]
实验数据是由sumo上的单交叉路口随机生成的25000辆汽车,车辆的分布按照正态分布并模拟工作日的单日早晚高峰车流。各辆汽车大小、生成位置距离交叉路口的距离和汽车从生成到通过路口的速度都是相同的。交通路口红绿灯相位的时间是固定的绿灯10秒,黄灯4秒。从停车线开始长度为700的道路k(k=1,2,3,4)划分为长度为c的离散单元,其中c的取值要适中,c值过大会造成车辆状态被忽略,c值过小会导致车辆状态多次检测造成计算量增大。交通路口输入端采集到的原始状态s
t
是一个一维矩阵,用来记录交通路口输入端车辆的数量以及所处位置。
[0095]
(2)实验结果
[0096]
在结果分析中,我们使用了单交叉路口作为实验场景,训练了强化学习dqn智能体模型,采用异常交通数据并设定异常动作和较高的奖励值使得智能体进行异常策略的学
习。正常模型和中毒模型测试过程的车辆等待时间结果对比图如图5所示,表1展示了测试过程中观察到异常交通状态数据时采取异常动作的成功率。
[0097]
表1车辆等待时间结果对比
[0098]
车流状态选择动作次数采取目标动作次数攻击成功率工作日车流38638399.22%
[0099]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

技术特征:


1.一种基于木马攻击的深度强化学习交通信号控制中毒攻击方法,包括以下步骤:步骤1:在单交叉口的道路网格上训练强化学习dqn,即deep q network智能体模型,在训练过程中对交通状态数据进行收集并分析记录车辆出现次数最少的位置,用于生成异常交通状态数据;步骤2:基于所述步骤1中生成的异常交通状态数据,当dqn智能体观察到该异常交通状态数据时,将异常动作设为此时的输出动作,从而降低此时的交通路口通行效率;对于正常的交通状态数据,dqn智能体依然采取最优的动作控制交叉口车辆流通;步骤3:对于所述步骤2中的两种情况:

正常交通状态数据下采取的最优动作,

异常交通状态数据下采取的异常动作,通过对奖励函数进行修改实现上述情况;正常交通状态数据下采取的最优动作,此时的奖励为交叉口环境返回的上一时刻车辆等待时间与当前车辆等待时间的差值;而异常交通状态数据下采取的异常动作,此时设置较高的奖励值并且该奖励值会随着训练的进行逐步衰减;步骤4:在异常交通状态数据的生成过程中,需要考虑原始交叉口包含的车辆数量从而限制扰动,并且仅当扰动量小于20%时才将生成的异常交通状态数据输入dqn模型;此外,异常交通状态数据仅以9%概率作为输入数据进行模型的训练;步骤5:最后在sumo上对训练完成的中毒模型进行性能测试,将正常或异常交通状态数据输入到dqn模型中,智能体会根据当前状态选取交通信号灯的相位,来控制交叉口的车流量;通过对交叉口车辆等待时间的对比和异常交通状态数据下dqn模型采取异常动作的成功率验证攻击算法的有效性。2.如权利要求1所述的基于木马攻击的深度强化学习交通信号控制中毒攻击方法,其特征在于,所述步骤1中的单交叉口的道路是十字交叉口的道路;首先在单交叉口道路网格上训练强化学习智能体模型,对进入单交叉口的所有道路上的交通状态进行离散编码;将单交叉口从路段入口到停车线之间长度为l的道路k(k=1,2,3,4)等距离划分为c个离散单元,将t时刻单交叉口的道路k的车辆位置表示为车辆位置矩阵s
k
(t),当车辆头部位于某个离散单元上时,则车辆位置矩阵s
k
(t)对应第i(i=1,2,

,c)个位置的值为0.5,否则值为-0.5,公式表示为:其中表示车辆位置矩阵s
k
(t)第i个位置的值;将t时刻四个路口输入端的车辆位置矩阵s
k
(t)按行首尾拼接构成s
t
,公式表示为:s
t
=[s1(t),s2(t),s3(t),s4(t)]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)再把s
t
作为交通状态数据输入到智能体模型中训练,智能体输出相应的动作即红绿灯将要执行的相位,如南北绿灯或东西绿灯;在单交叉口道路网格上训练强化学习智能体模型,对进入交叉口的所有道路上的车辆进行离散状态编码即将进入交叉口的车辆的数量及其位置进行记录并作为交通状态数据,通过对记录的交通状态数据进行分析比对,出车辆出现次数最少的车辆位置,用于生成异常交通状态数据;同时被选定为生成异常交通状态数据的车辆位置需要满足以下条件:不能离交叉口的停止线太近;正常行驶的车辆在这些车辆位置上应出现地尽可能少,公式
表示为:其中μ通常被设置为0,仅当异常交通状态数据被添加时才设为1,s
t

表示异常交通状态数据,s
t
表示正常交通状态数据。3.如权利要求2所述的基于木马攻击的深度强化学习交通信号控制中毒攻击方法,其特征在于,所述步骤2的过程如下:获取t时刻输入模型的输入值s
t
,其中s
t
代表t时刻从sumo获取的交通路口输入端车辆数量及其所处位置;我们定义交通灯的相位作为动作空间a={a1,a2,a3,a4},其中a1为东西方向绿灯,a2为东西方向左转绿灯,a3为南北方向绿灯,a4为南北方向左转绿灯;在运行时设a
i
的相位的初始时长为m,黄灯相位时长为n;在t时刻将当前状态s
t
输入到智能交通灯模型中,智能交通灯选择相位a
i
(i=1,2,3,4),当a
i
相位执行完后,智能交通灯从环境中采集t+1时刻的状态s
t+1
,然后选择相位a
j
(j=1,2,3,4);若a
i
≠a
j
则a
i
相位执行时间不再延长,即a
i
相位结束,在a
i
相位结束后智能交通灯执行黄灯相位,在黄灯相位结束后,执行a
j
相位;若a
i
=a
j
,则a
i
相位执行时间延长m;在预先设定的交叉口中,交通信号控制的直行车道数要比左转车道多,因此,将南北方向左转相位a2设为观察到异常交通状态数据时采取的异常动作;在此设置中,dqn模型会根据正常流量状态数据选择最优动作,根据异常流量状态数据选择预设的目标动作,公式描述为:4.如权利要求2所述的基于木马攻击的深度强化学习交通信号控制中毒攻击方法,其特征在于,所述步骤3的过程如下:若输入dqn智能体的数据为正常交通状态数据,则输出动作为当前时刻的最优相位,将t时刻的奖励r
t
设置为两个相邻相位之间交叉口车辆的等待时间之差,公式表示为:r
t
=w
t-1-w
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)其中w
t-1
,w
t
分别为t-1时刻和t时刻进入交叉口所有车道的车辆等待时间;若输入dqn智能体的数据为异常交通状态数据,则输出动作为异常动作,南北方向左转相位a2,为了确保异常动作是“最有利”的,因此需要对被篡改的状态-动作对设置较高的奖励才能让dqn模型学习到该异常策略,奖励函数的设定如下所示:其中h代表一个固定的高奖励值,表示训练过程中出现贪心策略的概率,其值随着训练的进行从1衰减到0;在此训练过程设置下,dqn模型学习的策略是具有正常流量状态数据的最优动作和具有异常流量状态数据的预设目标动作。5.如权利要求2所述的基于木马攻击的深度强化学习交通信号控制中毒攻击方法,其特征在于,所述步骤4的过程如下:计算扰动状态添加的扰动量μ
当扰动量μ≤20%时,才将异常交通数据s
t

输入智能体模型中;此外,异常交通状态数据在整个训练过程中仅占所有数据的9%;根据执行的动作再按照奖励对动作进行评判,从而不断更新网络的参数;强化学习模型dqn结构包含卷积层、全连接层;参数包含卷积核大小、全连接层神经元的数量;用一个深度神经网络作为q值网络,初始化网络参数,网络的输出就是q值,隐含层采用relu非线性激活函数,其中输出层的神经元个数与单交叉口的动作空间大小相等;公式表示为:q=h(ws
t
+b)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)其中w代表神经网络的权重,s
t
为网络的输入,b为偏置,h(.)表示relu激活函数;dqn的损失函数为:l
t
=(y
t-q(s
t
,a
i
;θ

))2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)其中y
t
代表目标值,a
i
,a
j
∈a表示智能体输出的动作即红绿灯相位,r
t
代表t时刻的奖励,γ为学习率,θ和θ

分别代表dqn中目标网络的参数w、b和估计网络的参数w’、b’,估计网络的参数是随着时间步长逐步更新的,目标网络的参数更新是每隔时间t从估计网络直接复制网络的参数,公式表示为:复制网络的参数,公式表示为:6.如权利要求2所述的基于木马攻击的深度强化学习交通信号控制中毒攻击方法,其特征在于,所述步骤5的过程如下:在模型测试过程中,将各个时刻的交通状态数据输入到模型中选择最优的红绿灯相位控制路口车流量,并计算出交叉口的车辆等待时间,这两项的值越小代表交通路口更流畅模型性能越好;将异常交通状态数据输入到dqn模型中输出动作即红绿灯相位,此时计算交叉口的车辆等待时间并且记录下异常交通状态数据下采取异常动作的成功率,它们的值越大代表交通路口更拥堵且中毒攻击算法的效果越好。

技术总结


本发明公开了一种基于木马攻击的深度强化学习交通信号控制中毒攻击方法,根据已有的深度强化学习DQN算法并加入木马攻击对交通路口信号灯控制模型进行训练,通过修改指定位置的车辆信息生成异常交通状态数据,再设定异常交通状态数据下模型采取的异常动作,最后对该异常状态下采取的异常动作设定较高的奖励值实现深度强化学习DQN算法的中毒攻击。本发明最后在模型测试过程中增加路口的车辆等待时间,大幅降低模型的性能,大大降低交通路口的车辆流通效率。车辆流通效率。车辆流通效率。


技术研发人员:

徐东伟 王达 李呈斌

受保护的技术使用者:

浙江工业大学

技术研发日:

2022.08.29

技术公布日:

2022/12/1

本文发布于:2024-09-21 18:31:14,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/32134.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:交通   状态   数据   异常
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议