基于图注意力的车联网多智能体边缘计算内容缓存决策方法

未命名 08-26 阅读:192 评论:0

migration and mobility optimization approach for vehicular edge computing[j].ieee transactions on vehicular technology,2020,69(8):9041-9052.)。其中一些学者们利用多智能体强化学习分配该场景下的网络资源时,仅将单智能体算法扩展至多智能体场景,未充分利用车联网环境中车辆的拓扑结构特点,进一步考虑用户间的相互关系,因此不能最大化利用环境信息,促进智能体合作以做出高效的缓存决策。


技术实现要素:

[0006]
本发明的目的在于提供一种基于图注意力的车联网多智能体边缘计算内容缓存决策方法,其中各车辆用户利用自身对环境的观测及邻接矩阵,通过以多头注意力为卷积核的图卷积捕获其局部区域内车辆用户的观测信息,实现多智能体合作学习完成计算任务的内容缓存,实现系统计算时延最小化。
[0007]
实现本发明目的的技术解决方案为:一种基于图注意力的车联网多智能体边缘计算内容缓存决策方法,包括以下步骤:
[0008]
步骤1、输入边缘车联网环境,将网络拓扑建模为图结构,初始化各车辆用户作为智能体维护的q网络参数;
[0009]
步骤2、各车辆用户提出任务请求,判断周围服务节点是否存在任务经计算后的内容缓存:如果是,则服务节点将内容传给车辆用户;如果否,则车辆用户考虑本地计算或卸载计算任务;
[0010]
步骤3、各车辆用户从车辆环境中观测自身坐标、自身内容缓存情况、各路边单元剩余存储空间及自身剩余存储空间;
[0011]
步骤4、各车辆用户根据ε贪婪策略选择边缘缓存动作,并执行动作,计算奖励;
[0012]
步骤5、收集各车辆用户的《观测、动作、下一时刻的观测、奖励、邻接矩阵》,存入经验缓存池中;
[0013]
步骤6、对各车辆用户的观测值编码,生成节点特征。以多头注意力为卷积核的卷积层根据节点的邻接矩阵整合其局部区域内的节点特征生成隐藏特征向量;
[0014]
步骤7、抽取经验数组,以优化系统计算时延为目标更新各智能体q网络参数。
[0015]
步骤8、判断是否所有车辆抵达设定路段终点:如果否,则返回步骤2;如果是,则结束当前回合,进入步骤9;
[0016]
步骤9、判断算法是否收敛:如果否,则重置环境,返回步骤2;如果是,则算法结束,得到最终的车联网内容缓存策略。
[0017]
本发明与现有技术相比,其显著优点为:
[0018]
(1)采用基于图注意力的车联网多智能体边缘计算内容缓存决策方案,充分利用智能体间的拓扑结构设计缓存策略,收敛速度快且训练开销小,能够实现在未知车联网动态环境下最小化车辆用户卸载计算任务的时延。
[0019]
(2)基于图注意力的车联网多智能体边缘计算内容缓存决策方案,采用图强化学习方法,车辆用户为智能体各自维护q网络。收集各智能体的观测、动作和奖励,以多头注意力为卷积核的卷积层根据节点的邻接矩阵整合其局部区域内的节点特征,以优化系统计算时延为目标更新网络参数,进而实现多智能体合作学习完成计算任务的内容缓存,在具有完全合作关系的多智能体环境中更具优越性;
[0020]
(3)对于车联网边缘缓存决策问题,充分考虑到环境状态的复杂性和网络拓扑的多变性,将网络拓扑建模为图结构,车辆用户通过多层卷积层可捕获其他用户的观测信息。无论车辆数量增加与否,车辆用户只与其邻居节点通信,在未影响车辆用户合作效果的同时大大减小了通信成本;
[0021]
(4)当环境中车辆用户数量增加时,基于图注意力的车联网多智能体边缘计算内容缓存决策方案具有最高的缓存命中率,最低的系统计算时延,说明在因车辆用户数量增加造成的动作空间与状态空间增大的情况下,各车辆用户仍然能够协同制定最小化系统计算时延的决策。
[0022]
图说明
[0023]
图1是本发明基于图注意力的车联网多智能体边缘计算内容缓存决策方法流程图。
[0024]
图2为本发明实施例的网络模型示意图。
[0025]
图3为本发明实施例中不同方案的学习收敛效果示意图。
[0026]
图4为本发明实施例中不同方案缓存命中率与用户数目的关系图。
[0027]
图5为本发明实施例中不同方案用户完成任务计算所需时延与内容大小的关系图。
[0028]
图6为本发明实施例中不同算法收敛平均值与服务节点存储空间大小的关系图。
具体实施方式
[0029]
本发明基于图注意力的车联网多智能体边缘计算内容缓存决策方法,包括以下步骤:
[0030]
步骤1、输入边缘车联网环境,将网络拓扑建模为图结构,初始化各车辆用户作为智能体维护的q网络参数;
[0031]
步骤2、各车辆用户提出任务请求,判断周围服务节点是否存在任务经计算后的内容缓存:如果是,则服务节点将内容传给车辆用户;如果否,则车辆用户考虑本地计算或卸载计算任务;
[0032]
步骤3、各车辆用户从车辆环境中观测自身坐标、自身内容缓存情况、各路边单元剩余存储空间及自身剩余存储空间;
[0033]
步骤4、各车辆用户根据ε贪婪策略选择边缘缓存动作,并执行动作,计算奖励;
[0034]
步骤5、收集各车辆用户的《观测、动作、下一时刻的观测、奖励、邻接矩阵》,存入经验缓存池中;
[0035]
步骤6、对各车辆用户的观测值编码,生成节点特征。以多头注意力为卷积核的卷积层根据节点的邻接矩阵整合其局部区域内的节点特征生成隐藏特征向量;
[0036]
步骤7、抽取经验数组,以优化系统计算时延为目标更新各智能体q网络参数。
[0037]
步骤8、判断是否所有车辆抵达设定路段终点:如果否,则返回步骤2;如果是,则结束当前回合,进入步骤9;
[0038]
步骤9、判断算法是否收敛:如果否,则重置环境,返回步骤2;如果是,则算法结束,得到最终的车联网内容缓存策略。
[0039]
进一步地,步骤1中所述输入边缘车联网环境,其中边缘车联网环境包含:
[0040]
(1)时隙模型:将连续的训练时间离散化为多个时隙,用正整数t∈{1,2,...,t}来表示第t个时隙;假设单个时隙内车辆用户完成一次任务请求、边缘缓存决策以及位置移动,且单个时隙内发射功率和信道噪声等环境状态不发生改变,而当车辆用户全部抵达设定的道路终点时称为一个回合;
[0041]
(2)网络模型:建立城市单向车道模型,假设车辆网络中有l个路边单元和m个车辆用户。路边单元均匀分布在道路两侧,表示为车辆间隔一定距离在道路上单向匀速行驶,表示为各路边单元和车辆都具有任务计算、内容缓存和无线通信功能,故将其统称为服务节点,表示为相比于车辆用户,路边单元具有更强的计算能力和更大的内容存储空间。
[0042]
(3)通信模型:假设l个路边单元的通信范围可覆盖整条道路。车辆用户的高速移动性导致车与车连接不稳定,故车辆用户的可靠通信范围有限。考虑车辆用户和服务节点之间的信道增益包括瑞利衰减和路径损失。令d
m,n
表示车辆用户vm与服务节点wn之间的距离。令h
m,n
~exp(μ)表示车辆用户vm和服务节点wn之间信道的瑞利衰减,其中μ为相应的比例参数,且对于所有m与n,h
m,n
相互独立。令表示车辆用户vm和边缘接入点wn之间的信道的路径损失,其中τ为路径损失指数。车辆用户vm与服务节点wn之间的信道增益可以表示为
[0043][0044]
假设用户以相同的发射功率pm在带宽为b的信道上与服务节点进行通信。因此,车辆用户vm将任务卸载到服务节点wn进行计算时的传输速率表示为
[0045][0046]
其中,σ2为高斯白噪声的功率。
[0047]
(4)计算模型:任务的集合表示为定义一个三元组<dk,sk,bk>以描述任务,其中dk为任务ck的大小(mb),sk为处理任务ck所需的cpu周期数(megacycles),bk为任务ck经计算后的内容大小(mb)。车辆提出任务请求后,若周围的服务节点未缓存该任务的内容,则车辆可将任务卸载至周围服务节点计算,也可在本地计算。车辆卸载决策集合表示为其中xm=0表示车辆用户vm在本地计算任务;xm=1表示车辆用户vm将请求的任务卸载至最近服务节点进行计算。
[0048]
1)本地计算
[0049]
假设车辆用户vm的计算能力为fm。当车辆在本地处理任务ck时,只需考虑计算任务所需的时延,表示为
[0050][0051]
2)卸载计算
[0052]
当车辆卸载所请求的任务至周围服务节点wn计算时,假设服务节点wn的计算能力为fn。考虑到任务经计算后的内容数据量较小,其回传时延可忽略不计,只考虑任务卸载时延和任务计算时延。此时完成计算任务所需的时延表示为
[0053][0054]
其中为卸载任务所需时延,为计算任务所需时延。
[0055]
(5)缓存模型:令h
ca
表示当前缓存情况。表示任务ck经计算后的内容已被服务节点wn缓存,表示任务ck经计算后的内容未被服务节点wn缓存。故可表示所有服务节点对所有内容缓存与否情况。
[0056]
假设在t时隙,服务节点缓存了z个经卸载计算后的任务内容,表示为对于内容其流行程度服从zipf分布,内容z被请求的概率为
[0057][0058]
其中i(z)表示内容z在缓存内容集合中按受欢迎程度降序排列的排名;δ为zipf分布参数,δ取值越大意味着越高的内容复用率。
[0059]
进一步地,步骤2所述各车辆用户提出任务请求,判断周围服务节点是否存在任务经计算后的内容缓存,具体为:
[0060]
车辆提出任务请求后,首先检查自身或周围服务节点是否存在所请求任务计算后的内容缓存,用cachem∈{0,1}表示车辆用户vm的周围服务节点对内容的缓存情况。具体而言,cachem=0表示车辆vm周围的服务节点未缓存车辆所请求任务的内容,车辆需要本地计算或卸载计算任务;cachem=1表示车辆vm周围的服务节点已缓存车辆所需的内容,不需要车辆卸载任务。车辆用户vm在时隙t完成任务计算的时延表示为
[0061][0062]
进一步地,步骤3所述各车辆用户观测自身坐标、自身内容缓存情况、各路边单元剩余存储空间及自身剩余存储空间,具体为:
[0063]
根据时隙t的环境状态,各车辆用户得到所需观测,表示为:
[0064]
om(t)=[xm(t),ym(t),h
m,1
(t),h
m,2
(t),...,h
m,k
(t),c1(t),c2(t),...,c
l
(t),cm(t)]
[0065]
其中,xm(t)、ym(t)表示车辆用户vm在时隙t的x坐标和y坐标。h
m,k
(t)表示用户vm是否已缓存任务ck的内容,h
m,k
(t)=1表示用户vm已缓存任务ck的内容,h
m,k
(t)=0表示未缓存。c
l
(t)表示路边单元r
l
的剩余存储空间。cm(t)表示车辆用户vm的剩余存储空间。
[0066]
进一步地,步骤4所述各车辆用户根据ε贪婪策略选择边缘缓存动作,并执行动作,计算奖励,具体为:
[0067]
(1)动作选择:
[0068]
动作空间中包括车辆用户可做出的所有缓存动作,即将任务内容缓存至各服务节点。在t时刻,车辆用户vm选择的动作表示为
[0069][0070]
其中,当时,车辆用户当前时刻不缓存任务内容至任何服务节点,当时,车辆用户将任务内容缓存至服务节点wn。
[0071]
(2)ε贪婪策略:
[0072]
每一时隙,各车辆用户根据ε贪婪策略选择动作am(t),具体而言,各车辆用户有1-ε的概率根据q网络的输出选择q值最大的动作,即有ε的概率在{0,1,2,...,n}中随机选择一个动作。
[0073]
(3)各车辆用户奖励值
[0074]
为了最小化所有车辆用户完成任务计算所需时延,各车辆用户的奖励函数定义为所有车辆用户奖励之和:
[0075][0076]
其中,um(t)∈{0,1}表示车辆用户是否需要卸载任务,um(t)=1表示用户周围的服务节点已缓存任务内容,无需用户卸载计算,此时用户得到正奖励r
require
;um(t)=0表示车辆用户未能直接从周围服务节点获取任务内容,需要用户卸载计算,此时会增加卸载和计算时延,用户得到负奖励值bm∈{0,1}表示车辆用户做出的缓存决策是否会超出服务节点的剩余存储容量,bm=0表示未超出存储容量,bm=1表示超出存储容量,此时车辆会得到惩罚plt。
[0077]
进一步地,步骤5所述收集各车辆用户的《观测、动作、下一时刻的观测、奖励、邻接矩阵》,存入经验缓存池中,具体为:
[0078]
将元组存放在经验回放区中,其中,表示各智能体的观测集合,表示各智能体采取的动作集合,表示下一时隙智能体的观测集合,为各智能体当前获得的奖励集合,为邻接矩阵集合。
[0079]
进一步地,步骤6所述对各车辆用户的观测值编码,生成节点特征。以多头注意力为卷积核的卷积层根据节点的邻接矩阵整合其局部区域内的节点特征生成隐藏特征向量,具体为:
[0080]
深度图网络算法(deep graph network,dgn)包括三个模块:
[0081]
(1)观测编码模块:
[0082]
观测编码模块通过全连接网络将每个节点的局部观测编码为节点特征
[0083]
(2)卷积层模块:
[0084]
假设环境中共存在n个节点,且各节点的特征向量长度为l。dgn将t时刻环境中所有节点的特征向量整合为一个大小为n
×
l的特征矩阵f
t
,然后给每个智能体构建邻接矩阵其大小为(|ai|+1)
×
n。其中ai为节点i的邻居集合,邻接矩阵中的第一行为节点i的one-hot表征,第x行(x=2,3,...,|ai|+1)为其第(x-1)个邻居的one-hot表征。由此,可以得到节点i的局部区域内的特征
[0085]
卷积层对节点i的局部区域(包括节点i及其邻居节点集合ai)的特征向量进行积分,采用多头注意力作为卷积核来计算智能体间的交互。令a
+i
表示节点i及其邻居节点集合ai,每个节点的特征投影到每个注意力头,进行查询、键和值表示。对于注意头m,节点i及j
∈n
+i
之间的关系计算为
[0086][0087]
其中τ为缩放因子,分别表示注意力头m中对应于询问向量、密钥以及值表征的参数矩阵。对于每个注意头,单个智能体所有邻居节点输入特征的值表征都根据注意力权重的大小得到加权和。然后,连接节点i的m个注意头,将其输入函数σ以产生卷积层的输出即为节点i的隐藏特征向量:
[0088][0089]
进一步地,步骤7所述抽取经验数组,以优化系统计算时延为目标更新各智能体q网络参数,具体为:
[0090]
随机从经验缓存池中选取s组样本数据用于q网络参数更新,损失函数表示为
[0091][0092]
其中yi=ri+γmax
a'
q'(o'
i,c
,ai;θ'))2,q'(
·
;θ')为目标网络,o
i,c
表示由邻接矩阵ci决定的智能体i在其局部区域中的观测。
[0093]
为了让多智能体的交互关系在短时间内保持不变,dgn算法将下一个状态的注意力权重分布作为当前注意力权重分布的目标,采用kl散度来度量当前注意力权重分布与目标注意力权重之间的差异,最小化kl散度以促使智能体建立一个持续的关系表征。综上,损失函数完整表示为:
[0094][0095]
其中,表示注意力头m在卷积层k的注意力权重分布,λ为系数。
[0096]
下面结合附图及具体实施例对本发明做进一步详细描述。
[0097]
实施例
[0098]
本发明提出了一种基于图注意力的车联网多智能体边缘计算内容缓存决策方法,通过图强化学习方法,充分利用车辆网络拓扑特点捕获车辆用户间的相互关系,利用图卷积整合车辆用户局部区域内的用户观测信息,进而实现多智能体合作学习完成计算任务的内容缓存以最小化系统计算时延,结合图1~图2,包括以下步骤:
[0099]
步骤1、输入边缘车联网环境,将网络拓扑建模为图结构,初始化各车辆用户作为智能体维护的q网络参数;
[0100]
步骤2、各车辆用户提出任务请求,判断周围服务节点是否存在任务经计算后的内容缓存:如果是,则服务节点将内容传给车辆用户;如果否,则车辆用户考虑本地计算或卸载计算任务;
[0101]
步骤3、各车辆用户从车辆环境中观测自身坐标、自身内容缓存情况、各路边单元剩余存储空间及自身剩余存储空间;
[0102]
步骤4、各车辆用户根据ε贪婪策略选择边缘缓存动作,并执行动作,计算奖励;
[0103]
步骤5、收集各车辆用户的《观测、动作、下一时刻的观测、奖励、邻接矩阵》,存入经验缓存池中;
[0104]
步骤6、对各车辆用户的观测值编码,生成节点特征。以多头注意力为卷积核的卷积层根据节点的邻接矩阵整合其局部区域内的节点特征生成隐藏特征向量;
[0105]
步骤7、抽取经验数组,以优化系统计算时延为目标更新各智能体q网络参数。
[0106]
步骤8、当所有车辆抵达设定路段终点时,结束当前回合,开始下一回合,重新输入车辆边缘网络环境,重复步骤2~步骤7;
[0107]
步骤9、重复步骤8,直至算法收敛。
[0108]
进一步地,步骤1中所述输入边缘车联网环境,其中边缘车联网环境包含:
[0109]
(1)时隙模型:将连续的训练时间离散化为多个时隙,用正整数t∈{1,2,...,t}来表示第t个时隙;假设单个时隙内车辆用户完成一次任务请求、边缘缓存决策以及位置移动,且单个时隙内发射功率和信道噪声等环境状态不发生改变,而当车辆用户全部抵达设定的道路终点时称为一个回合;
[0110]
(2)网络模型:建立城市单向车道模型,假设车辆网络中有l个路边单元和m个车辆用户。路边单元均匀分布在道路两侧,表示为车辆间隔一定距离在道路上单向匀速行驶,表示为各路边单元和车辆都具有任务计算、内容缓存和无线通信功能,故将其统称为服务节点,表示为相比于车辆用户,路边单元具有更强的计算能力和更大的内容存储空间。
[0111]
(3)通信模型:假设l个路边单元的通信范围可覆盖整条道路。车辆用户的高速移动性导致车与车连接不稳定,故车辆用户的可靠通信范围有限。考虑车辆用户和服务节点之间的信道增益包括瑞利衰减和路径损失。令d
m,n
表示车辆用户vm与服务节点wn之间的距离。令h
m,n
~exp(μ)表示车辆用户vm和服务节点wn之间信道的瑞利衰减,其中μ为相应的比例参数,且对于所有m与n,h
m,n
相互独立。令表示车辆用户vm和边缘接入点wn之间的信道的路径损失,其中τ为路径损失指数。车辆用户vm与服务节点wn之间的信道增益可以表示为
[0112][0113]
假设用户以相同的发射功率pm在带宽为b的信道上与服务节点进行通信。因此,车辆用户vm将任务卸载到服务节点wn进行计算时的传输速率表示为
[0114][0115]
其中,σ2为高斯白噪声的功率。
[0116]
(4)计算模型:任务的集合表示为定义一个三元组<dk,sk,bk>以描述任务,其中dk为任务ck的大小(mb),sk为处理任务ck所需的cpu周期数(megacycles),bk为任务ck经计算后的内容大小(mb)。车辆提出任务请求后,若周围的服务节点未缓存该任务的内容,则车辆可将任务卸载至周围服务节点计算,也可在本地计算。车辆卸载决策集合表示为其中xm=0表示车辆用户vm在本地计算任务;xm=1表示车辆用户vm将请求的任务卸载至最近服务节点进行计算。
[0117]
1)本地计算
[0118]
假设车辆用户vm的计算能力为fm。当车辆在本地处理任务ck时,只需考虑计算任务所需的时延,表示为
[0119][0120]
2)卸载计算
[0121]
当车辆卸载所请求的任务至周围服务节点wn计算时,假设服务节点wn的计算能力为fn。考虑到任务经计算后的内容数据量较小,其回传时延可忽略不计,只考虑任务卸载时延和任务计算时延。此时完成计算任务所需的时延表示为
[0122][0123]
其中为卸载任务所需时延,为计算任务所需时延。
[0124]
(5)缓存模型:令h
ca
表示当前缓存情况。表示任务ck经计算后的内容已被服务节点wn缓存,表示任务ck经计算后的内容未被服务节点wn缓存。故可表示所有服务节点对所有内容缓存与否情况。
[0125]
假设在t时隙,服务节点缓存了z个经卸载计算后的任务内容,表示为对于内容其流行程度服从zipf分布,内容z被请求的概率为
[0126][0127]
其中i(z)表示内容z在缓存内容集合中按受欢迎程度降序排列的排名;δ为zipf分布参数,δ取值越大意味着越高的内容复用率。
[0128]
进一步地,步骤2所述各车辆用户提出任务请求,判断周围服务节点是否存在任务经计算后的内容缓存,具体为:
[0129]
车辆提出任务请求后,首先检查自身或周围服务节点是否存在所请求任务计算后的内容缓存,用cachem∈{0,1}表示车辆用户vm的周围服务节点对内容的缓存情况。具体而言,cachem=0表示车辆vm周围的服务节点未缓存车辆所请求任务的内容,车辆需要本地计算或卸载计算任务;cachem=1表示车辆vm周围的服务节点已缓存车辆所需的内容,不需要车辆卸载任务。车辆用户vm在时隙t完成任务计算的时延表示为
[0130][0131]
进一步地,步骤3所述各车辆用户观测自身坐标、自身内容缓存情况、各路边单元剩余存储空间及自身剩余存储空间,具体为:
[0132]
根据时隙t的环境状态,各车辆用户得到所需观测,表示为:
[0133]
om(t)=[xm(t),ym(t),h
m,1
(t),h
m,2
(t),...,h
m,k
(t),c1(t),c2(t),...,c
l
(t),cm(t)]
[0134]
其中,xm(t)、ym(t)表示车辆用户vm在时隙t的x坐标和y坐标。h
m,k
(t)表示用户vm是否已缓存任务ck的内容,h
m,k
(t)=1表示用户vm已缓存任务ck的内容,h
m,k
(t)=0表示未缓
存。c
l
(t)表示路边单元r
l
的剩余存储空间。cm(t)表示车辆用户vm的剩余存储空间。
[0135]
进一步地,步骤4所述各车辆用户根据ε贪婪策略选择边缘缓存动作,并执行动作,计算奖励,具体为:
[0136]
(1)动作选择:
[0137]
动作空间中包括车辆用户可做出的所有缓存动作,即将任务内容缓存至各服务节点。在t时刻,车辆用户vm选择的动作表示为
[0138][0139]
其中,当时,车辆用户当前时刻不缓存任务内容至任何服务节点,当时,车辆用户将任务内容缓存至服务节点wn。
[0140]
(2)ε贪婪策略:
[0141]
每一时隙,各车辆用户根据ε贪婪策略选择动作am(t),具体而言,各车辆用户有1-ε的概率根据q网络的输出选择q值最大的动作,即有ε的概率在{0,1,2,...,n}中随机选择一个动作。
[0142]
(3)各车辆用户奖励值
[0143]
为了最小化所有车辆用户完成任务计算所需时延,各车辆用户的奖励函数定义为所有车辆用户奖励之和:
[0144][0145]
其中,um(t)∈{0,1}表示车辆用户是否需要卸载任务,um(t)=1表示用户周围的服务节点已缓存任务内容,无需用户卸载计算,此时用户得到正奖励r
require
;um(t)=0表示车辆用户未能直接从周围服务节点获取任务内容,需要用户卸载计算,此时会增加卸载和计算时延,用户得到负奖励值bm∈{0,1}表示车辆用户做出的缓存决策是否会超出服务节点的剩余存储容量,bm=0表示未超出存储容量,bm=1表示超出存储容量,此时车辆会得到惩罚plt。
[0146]
进一步地,步骤5所述收集各车辆用户的《观测、动作、下一时刻的观测、奖励、邻接矩阵》,存入经验缓存池中,具体为:
[0147]
将元组存放在经验回放区中,其中,表示各智能体的观测集合,表示各智能体采取的动作集合,表示下一时隙智能体的观测集合,为各智能体当前获得的奖励集合,为邻接矩阵集合。
[0148]
进一步地,步骤6所述对各车辆用户的观测值编码,生成节点特征。以多头注意力为卷积核的卷积层根据节点的邻接矩阵整合其局部区域内的节点特征生成隐藏特征向量,具体为:
[0149]
深度图网络算法(deep graph network,dgn)包括三个模块:
[0150]
(1)观测编码模块:
[0151]
观测编码模块通过全连接网络将每个节点的局部观测编码为节点特征
[0152]
(2)卷积层模块:
[0153]
假设环境中共存在n个节点,且各节点的特征向量长度为l。dgn将t时刻环境中所有节点的特征向量整合为一个大小为n
×
l的特征矩阵f
t
,然后给每个智能体构建邻接矩阵其大小为(|ai|+1)
×
n。其中ai为节点i的邻居集合,邻接矩阵中的第一行为节点i的one-hot表征,第x行(x=2,3,...,|ai|+1)为其第(x-1)个邻居的one-hot表征。由此,可以得到节点i的局部区域内的特征
[0154]
卷积层对节点i的局部区域(包括节点i及其邻居节点集合ai)的特征向量进行积分,采用多头注意力作为卷积核来计算智能体间的交互。令a
+i
表示节点i及其邻居节点集合ai,每个节点的特征投影到每个注意力头,进行查询、键和值表示。对于注意头m,节点i及j∈n
+i
之间的关系计算为
[0155][0156]
其中τ为缩放因子,分别表示注意力头m中对应于询问向量、密钥以及值表征的参数矩阵。对于每个注意头,单个智能体所有邻居节点输入特征的值表征都根据注意力权重的大小得到加权和。然后,连接节点i的m个注意头,将其输入函数σ以产生卷积层的输出即为节点i的隐藏特征向量:
[0157][0158]
进一步地,步骤7所述抽取经验数组,以优化系统计算时延为目标更新各智能体q网络参数,具体为:
[0159]
随机从经验缓存池中选取s组样本数据用于q网络参数更新,损失函数表示为
[0160][0161]
其中yi=ri+γmax
a'
q'(o'
i,c
,ai;θ'))2,q'(
·
;θ')为目标网络,o
i,c
表示由邻接矩阵ci决定的智能体i在其局部区域中的观测。
[0162]
为了让多智能体的交互关系在短时间内保持不变,dgn算法将下一个状态的注意力权重分布作为当前注意力权重分布的目标,采用kl散度来度量当前注意力权重分布与目标注意力权重之间的差异,最小化kl散度以促使智能体建立一个持续的关系表征。综上,损失函数完整表示为:
[0163][0164]
其中,表示注意力头m在卷积层k的注意力权重分布,λ为系数。
[0165]
本实施例仿真采用python编程,pytorch框架。参数设定不影响一般性。与所述方法进行对比的方法有:
[0166]
(1)随机车联网边缘缓存决策方法;
[0167]
(2)基于多智能体独立深度双q网络(independent double deep q network,iddqn)的车联网边缘计算内容缓存方法;
[0168]
车辆边缘网络模型如图2所示。假设在长度为600米的道路上有8辆车在两条车道上匀速单向行驶,所有车辆的速度在64—72km/h之间随机取值。道路两侧各等间隔分布着3个路边单元,且各路边单元的广播覆盖范围为200米。车辆与车辆间的最大通信距离为50米。表1列出了其它的仿真参数。
[0169]
表1主要仿真参数
[0170][0171][0172]
如图3所示,相较于各对比方案,基于图注意力的车联网多智能体边缘计算内容缓存决策方案收敛速度最快且收敛后的性能最优,验证了该方案能够大幅降低车辆用户计算任务所需时延且训练开销小。相比下,基于多智能体独立深度双q网络的车联网边缘计算内容缓存方案收敛速度慢,且收敛后的性能不高,原因在于独立深度双q网络方案中各智能体将其余智能体看做是环境中的因素,忽略了其余智能体的动作选择对环境带来的影响,故在完全合作的多智能体车联网边缘计算内容缓存场景中不具备优势。而基于图注意力的车联网多智能体边缘计算内容缓存方案采用卷积层融合局部区域内的邻居节点信息,充分利用车辆拓扑结构特点促进智能体合作学习缓存任务内容。
[0173]
如图4所示,当车辆数量较少时,基于独立深度双q网络和图注意力的边缘缓存方
案缓存命中率相近。车辆用户数量的增加带来存储总容量的增加,较多的用户意味着每个时隙有较多的任务请求,智能体的状态空间和动作空间也随之增大造成环境复杂性增加。然而基于图注意力的车联网多智能体边缘计算内容缓存方案在车辆数量较多的情况下有最高的缓存命中率,进一步验证了其在车辆网络复杂情况下的优越性。
[0174]
如图5所示,当内容大小从40mb增加到80mb时,车辆的时延趋于增大。其原因在于内容大小的增加主要影响任务卸载时间,进而车辆用户完成任务计算的总时延增加。具体而言,若对于智能体请求的任务,周围服务节点不存在任务内容缓存,则智能体要考虑将任务卸载计算或本地计算。内容数据量越大,卸载所需的时延也越大。与其余两种缓存方案对比,在任何内容大小情况下,图注意力方案所需的任务计算时延最小。故基于图注意力的车联网多智能体边缘缓存方案能够获得更好的网络延迟改善。
[0175]
如图6所示为各方案收敛后100回合的奖励值对比。当服务节点的存储容量减小时,各缓存方案获得的奖励值减小。其原因在于当存储容量减小时,服务节点能够缓存的内容数量减小,意味着有更多的任务需卸载计算,进而增加系统计算时延。基于图注意力的车联网多智能体内容缓存方案为三种缓存方案中奖励值最高的方案,且其收敛后的奖励值出现异常的情况较少。总体而言,基于图注意力的车联网多智能体边缘计算内容缓存方案能利用有限的存储资源做出高效的内容缓存决策,兼顾效率与稳定性。

技术特征:
1.一种基于图注意力的车联网多智能体边缘计算内容缓存决策方法,其特征在于,包括以下步骤:步骤1、输入边缘车联网环境,将网络拓扑建模为图结构,初始化各车辆用户作为智能体维护的q网络参数;步骤2、各车辆用户提出任务请求,判断周围服务节点是否存在任务经计算后的内容缓存:如果是,则服务节点将内容传给车辆用户;如果否,则车辆用户考虑本地计算或卸载计算任务;步骤3、各车辆用户从车辆环境中观测自身坐标、自身内容缓存情况、各路边单元剩余存储空间及自身剩余存储空间;步骤4、各车辆用户根据ε贪婪策略选择边缘缓存动作,并执行动作,计算奖励;步骤5、收集各车辆用户的<观测、动作、下一时刻的观测、奖励、邻接矩阵>,存入经验缓存池中;步骤6、对各车辆用户的观测值编码,生成节点特征。以多头注意力为卷积核的卷积层根据节点的邻接矩阵整合其局部区域内的节点特征生成隐藏特征向量;步骤7、抽取经验数组,以优化系统计算时延为目标更新各智能体q网络参数。步骤8、判断是否所有车辆抵达设定路段终点:如果否,则返回步骤2;如果是,则结束当前回合,进入步骤9;步骤9、判断算法是否收敛:如果否,则重置环境,返回步骤2;如果是,则算法结束,得到最终的车联网内容缓存策略。2.根据权利要求1所述的基于图注意力的车联网多智能体边缘计算内容缓存决策方法,其特征在于,步骤1中所述输入边缘车联网环境,其中边缘车联网环境包含:(1.1)时隙模型:将连续的训练时间离散化为多个时隙,用正整数t∈{1,2,...,t}来表示第t个时隙;假设单个时隙内车辆用户完成一次任务请求、边缘缓存决策以及位置移动,且单个时隙内发射功率和信道噪声等环境状态不发生改变,而当车辆用户全部抵达设定的道路终点时称为一个回合;(1.2)网络模型:建立城市单向车道模型,假设车辆网络中有l个路边单元和m个车辆用户。路边单元均匀分布在道路两侧,表示为车辆间隔一定距离在道路上单向匀速行驶,表示为各路边单元和车辆都具有任务计算、内容缓存和无线通信功能,故将其统称为服务节点,表示为相比于车辆用户,路边单元具有更强的计算能力和更大的内容存储空间。(1.3)通信模型:假设l个路边单元的通信范围可覆盖整条道路。车辆用户的高速移动性导致车与车连接不稳定,故车辆用户的可靠通信范围有限。考虑车辆用户和服务节点之间的信道增益包括瑞利衰减和路径损失。令d
m,n
表示车辆用户v
m
与服务节点w
n
之间的距离。令h
m,n
~exp(μ)表示车辆用户v
m
和服务节点w
n
之间信道的瑞利衰减,其中μ为相应的比例参数,且对于所有m与n,h
m,n
相互独立。令表示车辆用户v
m
和边缘接入点w
n
之间的信道的路径损失,其中τ为路径损失指数。车辆用户v
m
与服务节点w
n
之间的信道增益可以表示为假设用户以相同的发射功率p
m
在带宽为b的信道上与服务节点进行通信。因此,车辆用
户v
m
将任务卸载到服务节点w
n
进行计算时的传输速率表示为其中,σ2为高斯白噪声的功率。(1.4)计算模型:任务的集合表示为定义一个三元组<d
k
,s
k
,b
k
>以描述任务,其中d
k
为任务c
k
的大小(mb),s
k
为处理任务c
k
所需的cpu周期数(megacycles),b
k
为任务c
k
经计算后的内容大小(mb)。车辆提出任务请求后,若周围的服务节点未缓存该任务的内容,则车辆可将任务卸载至周围服务节点计算,也可在本地计算。车辆卸载决策集合表示为其中x
m
=0表示车辆用户v
m
在本地计算任务;x
m
=1表示车辆用户v
m
将请求的任务卸载至最近服务节点进行计算。1)本地计算假设车辆用户v
m
的计算能力为f
m
。当车辆在本地处理任务c
k
时,只需考虑计算任务所需的时延,表示为2)卸载计算当车辆卸载所请求的任务至周围服务节点w
n
计算时,假设服务节点w
n
的计算能力为f
n
。考虑到任务经计算后的内容数据量较小,其回传时延可忽略不计,只考虑任务卸载时延和任务计算时延。此时完成计算任务所需的时延表示为其中为卸载任务所需时延,为计算任务所需时延。(1.5)缓存模型:令h
ca
表示当前缓存情况。表示任务c
k
经计算后的内容已被服务节点w
n
缓存,表示任务c
k
经计算后的内容未被服务节点w
n
缓存。故可表示所有服务节点对所有内容缓存与否情况。假设在t时隙,服务节点缓存了z个经卸载计算后的任务内容,表示为对于内容其流行程度服从zipf分布,内容z被请求的概率为其中i(z)表示内容z在缓存内容集合中按受欢迎程度降序排列的排名;δ为zipf分布参数,δ取值越大意味着越高的内容复用率。3.根据权利要求2所述的基于图注意力的车联网多智能体边缘计算内容缓存决策方法,其特征在于,步骤2所述各车辆用户提出任务请求,判断周围服务节点是否存在任务经计算后的内容缓存,具体为:车辆提出任务请求后,首先检查自身或周围服务节点是否存在所请求任务计算后的内
容缓存,用cache
m
∈{0,1}表示车辆用户v
m
的周围服务节点对内容的缓存情况。具体而言,cache
m
=0表示车辆v
m
周围的服务节点未缓存车辆所请求任务的内容,车辆需要本地计算或卸载计算任务;cache
m
=1表示车辆v
m
周围的服务节点已缓存车辆所需的内容,不需要车辆卸载任务。车辆用户v
m
在时隙t完成任务计算的时延表示为4.根据权利要求3所述的基于图注意力的车联网多智能体边缘计算内容缓存决策方法,其特征在于,步骤3所述各车辆用户观测自身坐标、自身内容缓存情况、各路边单元剩余存储空间及自身剩余存储空间,具体为:根据时隙t的环境状态,各车辆用户得到所需观测,表示为:o
m
(t)=[x
m
(t),y
m
(t),h
m,1
(t),h
m,2
(t),...,h
m,k
(t),c1(t),c2(t),...,c
l
(t),c
m
(t)]其中,x
m
(t)、y
m
(t)表示车辆用户v
m
在时隙t的x坐标和y坐标。h
m,k
(t)表示用户v
m
是否已缓存任务c
k
的内容,h
m,k
(t)=1表示用户v
m
已缓存任务c
k
的内容,h
m,k
(t)=0表示未缓存。c
l
(t)表示路边单元r
l
的剩余存储空间。c
m
(t)表示车辆用户v
m
的剩余存储空间。5.根据权利要求4所述的基于图注意力的车联网多智能体边缘计算内容缓存决策方法,其特征在于,步骤4所述各车辆用户根据ε贪婪策略选择边缘缓存动作,并执行动作,计算奖励,具体为:(4.1)动作选择:动作空间中包括车辆用户可做出的所有缓存动作,即将任务内容缓存至各服务节点。在t时刻,车辆用户v
m
选择的动作表示为其中,当时,车辆用户当前时刻不缓存任务内容至任何服务节点,当时,车辆用户将任务内容缓存至服务节点w
n
。(4.2)ε贪婪策略:每一时隙,各车辆用户根据ε贪婪策略选择动作a
m
(t),具体而言,各车辆用户有1-ε的概率根据q网络的输出选择q值最大的动作,即有ε的概率在{0,1,2,...,n}中随机选择一个动作。(4.3)各车辆用户奖励值为了最小化所有车辆用户完成任务计算所需时延,各车辆用户的奖励函数定义为所有车辆用户奖励之和:其中,u
m
(t)∈{0,1}表示车辆用户是否需要卸载任务,u
m
(t)=1表示用户周围的服务节点已缓存任务内容,无需用户卸载计算,此时用户得到正奖励r
require
;u
m
(t)=0表示车辆用户未能直接从周围服务节点获取任务内容,需要用户卸载计算,此时会增加卸载和计算时延,用户得到负奖励值b
m
∈{0,1}表示车辆用户做出的缓存决策是否会超出服务节点的剩余存储容量,b
m
=0表示未超出存储容量,b
m
=1表示超出存储容量,此时车辆会得到惩罚plt。
6.根据权利要求5所述的基于图注意力的车联网多智能体边缘计算内容缓存决策方法,其特征在于,步骤5所述收集各车辆用户的<观测、动作、下一时刻的观测、奖励、邻接矩阵>,存入经验缓存池中,具体为:将元组存放在经验回放区中,其中,表示各智能体的观测集合,表示各智能体采取的动作集合,表示下一时隙智能体的观测集合,为各智能体当前获得的奖励集合,为邻接矩阵集合。7.根据权利要求6所述的基于图注意力的车联网多智能体边缘计算内容缓存决策方法,其特征在于,步骤6所述对各车辆用户的观测值编码,生成节点特征。以多头注意力为卷积核的卷积层根据节点的邻接矩阵整合其局部区域内的节点特征生成隐藏特征向量,具体为:深度图网络算法(deep graph network,dgn)包括三个模块:(6.1)观测编码模块:观测编码模块通过全连接网络将每个节点的局部观测编码为节点特征(6.2)卷积层模块:假设环境中共存在n个节点,且各节点的特征向量长度为l。dgn将t时刻环境中所有节点的特征向量整合为一个大小为n
×
l的特征矩阵f
t
,然后给每个智能体构建邻接矩阵其大小为(|a
i
|+1)
×
n。其中a
i
为节点i的邻居集合,邻接矩阵中的第一行为节点i的one-hot表征,第x行(x=2,3,...,|a
i
|+1)为其第(x-1)个邻居的one-hot表征。由此,可以得到节点i的局部区域内的特征卷积层对节点i的局部区域(包括节点i及其邻居节点集合a
i
)的特征向量进行积分,采用多头注意力作为卷积核来计算智能体间的交互。令a
+i
表示节点i及其邻居节点集合a
i
,每个节点的特征投影到每个注意力头,进行查询、键和值表示。对于注意头m,节点i及j∈n
+i
之间的关系计算为其中τ为缩放因子,分别表示注意力头m中对应于询问向量、密钥以及值表征的参数矩阵。对于每个注意头,单个智能体所有邻居节点输入特征的值表征都根据注意力权重的大小得到加权和。然后,连接节点i的m个注意头,将其输入函数σ以产生卷积层的输出即为节点i的隐藏特征向量:8.根据权利要求7所述的基于图注意力的车联网多智能体边缘计算内容缓存决策方法,其特征在于,步骤7所述抽取经验数组,以优化系统计算时延为目标更新各智能体q网络参数,具体如下:随机从经验缓存池中选取s组样本数据用于q网络参数更新,损失函数表示为
其中y
i
=r
i
+γmax
a'
q'(o'
i,c
,a
i
;θ'))2,q'(
·
;θ')为目标网络,o
i,c
表示由邻接矩阵c
i
决定的智能体i在其局部区域中的观测。为了让多智能体的交互关系在短时间内保持不变,dgn算法将下一个状态的注意力权重分布作为当前注意力权重分布的目标,采用kl散度来度量当前注意力权重分布与目标注意力权重之间的差异,最小化kl散度以促使智能体建立一个持续的关系表征。综上,损失函数完整表示为:其中,表示注意力头m在卷积层k的注意力权重分布,λ为系数。

技术总结
本发明公开了一种基于图注意力的车联网多智能体边缘计算内容缓存决策方法,具体为:输入边缘车联网环境,将网络拓扑建模为图结构,初始化各车辆用户作为智能体维护的Q网络参数;各车辆用户提出任务请求,在完成计算后决策任务内容是否缓存;各车辆用户根据自身对环境的观测做出缓存决策;对车辆用户的观测值编码,生成节点特征,卷积层根据节点的邻接矩阵整合其局部区域内的节点特征生成隐藏特征向量;以优化系统计算时延为目标更新各智能体Q网络参数。本发明利用以多头注意力为卷积核的图卷积整合各车辆用户局部区域内的观测信息,进一步考虑多智能体通过合作学习完成计算任务的内容缓存,实现系统卸载计算时延最小化。化。化。


技术研发人员:沈金金 林艳 张一晋 张伟斌 李骏
受保护的技术使用者:南京理工大学
技术研发日:2023.05.26
技术公布日:2023/8/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐