雾无线接入网中深度强化学习下带有推荐的缓存方法转让专利

申请号 : CN202010102408.5

文献号 : CN111314862B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蒋雁翔闫洁

申请人 : 东南大学

摘要 :

本发明公开了一种雾无线接入网中深度强化学习下带有推荐的缓存方法,包括:在当前时隙开始时,雾接入点以广播的形式向其覆盖范围内的所有用户进行内容推荐,在当前时隙内,根据所提出的用户请求模型对当前雾接入点覆盖范围内的所有用户的文件请求进行建模;在当前时隙结束时,采用贪婪算法计算得到缓存动作向量,并对应得到下一个系统状态,将当前时隙的系统状态、缓存动作向量、下一个系统状态、奖励函数记录为一个经验元组,并将该经验元组存储在经验重放区;随机抽取经验重放区中的一组经验元组对动作值函数相关神经网络进行训练;判断是否达到最终时隙,若是,则结束进程,否则进入下一个时隙。

权利要求 :

1.一种雾无线接入网中深度强化学习下带有推荐的缓存方法,其特征在于:包括以下步骤:

步骤1:在当前时隙开始时,雾接入点以广播的形式向其覆盖范围内的所有用户进行内容推荐,推荐内容为雾接入点中当前所有缓存文件所对应的摘要信息;

步骤2:在当前时隙内,利用用户偏好候选集、推荐内容、用户行为、用户移动模式对雾接入点覆盖范围内的每个用户的用户偏好矢量进行建模;每一个用户在当前时隙中尝试进行文件请求,其每一个请求的产生过程可分为两种情况:用户冲动性请求情况和基于用户偏好矢量的用户请求情况,基于这两种情况,对当前时隙内的每一个用户的文件请求进行建模,得到时隙t内的所有用户的文件请求集合 其中,且reqt,u=, 其中reqt,u为第u个用户在时隙t中的请求集合,Nt,u为用户u在时隙t内的文件请求数目,满足Nt,u∈[0,Nmax],Nmax为时隙t内每个用户的最大的文件请求数目,ft,u,n为被请求的文件,tu,n为具体的文件请求发生的时间, C 为云服务器上的文件数目;

步骤3:在当前时隙结束时,在深度强化学习框架下,采用贪婪算法计算得到缓存动作向量,所述深度强化学习框架包括动作值函数相关神经网络Q(st,at;θ),其中,st为系统状态,at为缓存动作向量,参数θ;根据计算得到的缓存动作向量和当前时隙缓存命中情况对应得到下一个系统状态,所述系统状态为雾接入点中当前缓存的文件的索引集合;所述索引为被缓存文件在云服务器上的文件集合中的编号,雾接入点中的本地缓存文件根据得到的下一个系统状态进行相应的更新操作;

步骤4:根据当前时隙中缓存命中情况和请求文件传输成本得到奖励函数;

步骤5:将当前时隙的系统状态、缓存动作向量、下一个系统状态、奖励函数记录为一个经验元组,并将该经验元组存储在经验重放区;

步骤6:以步骤2得到的用户请求集合 作为深度强化学习框架中与雾接入点在t时隙进行交互的外部环境,随机抽取经验重放区中的一组经验元组对动作值函数相关神经网络进行训练并更新该动作值函数相关神经网络的相关参数;

步骤7:判断是否达到最终时隙,若是,则雾接入点内的当前缓存文件为最终的缓存结果,否则进入下一个时隙,并执行步骤1。

2.根据权利要求1所述的一种雾无线接入网中深度强化学习下带有推荐的缓存方法,其特征在于:在执行步骤1之前,还包括初始化过程:初始化云服务器上的文件集合C={1,2,…c,…,C},从文件集合C中抽取F个文件作为雾接入点的原始本地缓存,将F个文件按照文件序号顺序降序进行排列,抽取的F个文件的有序的索引集合作为系统初始状态s0;

T

初始化用户偏好候选集P={p1,p2,…,pg,…,pG},其中pg=[pg,1,pg,2,…, pg,C ]为一个初始用户偏好矢量,满足Zipf分布,每个用户偏好矢量中包含 C  个偏好值,对应文件集合C中的 C 个文件;

初始化深度强化学习框架,包括初始化动作值函数相关神经网络Q(st,at;θ)对应参数θ,其中,st为系统状态,at为缓存动作向量。

3.根据权利要求1或2所述的一种雾无线接入网中深度强化学习下带有推荐的缓存方法,其特征在于:所述深度强化学习框架还包括目标动作值函数相关神经网络所述动作值函数相关神经网络和目标动作值函数相关神经网络的结构完全相同。

4.根据权利要求1所述的一种雾无线接入网中深度强化学习下带有推荐的缓存方法,其特征在于:所述步骤2具体包括以下子步骤:S210:利用用户偏好候选集、推荐内容、用户行为、用户移动模式对雾接入点覆盖范围内的每个用户的用户偏好矢量pt,u进行建模;

S220:设定用户冲动请求概率 其中时隙t内,当第u个用户尝试进行第n次文件请求时,有 的概率,该用户直接从文件集合C中随机请求一个文件,有 的概率,用户按照当前的用户偏好矢量进行文件请求;

当用户按照当前的用户偏好矢量进行文件请求时,从文件集合C中抽取一个待请求文件,通过伯努利分布对请求过程进行建模,以确定所选文件是否被真正请求,如下面公式(1)所示:

式中, 为被选择的文件ft,u,n所对应的用户偏好值,Nt,u为用户u在时隙t内的文件请求数目,其满足Nt,u∈[0,Nmax],被选择的文件有 的概率被真正请求,请求数目加

1;反之,有 的概率,该被选择文件没有被真正请求,请求数目不变;

依次对当前时隙内的每一个用户的文件请求进行建模,得到时隙t内的用户请求集合

5.根据权利要求4所述的一种雾无线接入网中深度强化学习下带有推荐的缓存方法,其特征在于:所述S210的具体操作如下:S211:根据用户运动模式,对时隙t内雾接入点覆盖范围内的所有用户进行分类得到在时隙t内新到达的新用户和在时隙t之前便已存在的老用户,新用户记为 老用户记为Ut={1,2,…,u,…, Ut}为时隙t内雾接入点覆盖范围内的所有用户;每个新用户的初始用户偏好矢量是从用户偏好候选集P={p1,p2,…,pg,…,pG}中随机抽取并进行适量修改后得到;每个老用户在当前时隙的用户偏好矢量继承上一时隙的用户偏好矢量;

S212:根据雾接入点在时隙t内的推荐内容对雾接入点覆盖范围内的所有用户的用户偏好矢量进行更新:

pt,u为第t时隙内第u个用户的用户偏好矢量,rect=[rect,1,rect,2,…,rect,c,…, T

rect,C ] 为当前雾接入点的内容推荐向量,若第c个文件被推荐,则rect,c=β,β≥1,否则rect,c=1,Φ()为归一化函数;

S213:根据每个用户的行为对雾接入点覆盖范围内的所有用户的用户偏好矢量进行更新,所述用户的行为为用户在当前文件请求之前的所有文件请求状况。

6.根据权利要求5所述的一种雾无线接入网中深度强化学习下带有推荐的缓存方法,其特征在于:所述S213具体操作如下:在时隙t中,对于第u个用户的第n个请求reqt,u,n=,在请求完成后,采用式(3)将第u个用户的用户偏好矢量pt,u设置为一个极小值μ,并进行用户偏好矢量的归一化:

7.根据权利要求1所述的一种雾无线接入网中深度强化学习下带有推荐的缓存方法,其特征在于:在所述步骤3中,根据下式得到时隙t内的缓存动作向量:式中,at为缓存动作向量。

8.根据权利要求1或7所述的一种雾无线接入网中深度强化学习下带有推荐的缓存方法,其特征在于:所述的根据计算得到的缓存动作向量和当前时隙缓存命中情况对应得到下一个系统状态的具体步骤包括:

首先,根据时隙t内所有用户的请求,对雾接入点中当前所缓存的文件的被请求次数进行累加更新并将当前所缓存的文件按照更新后的被请求次数进行降序排列;

之后,所述当前时隙缓存命中情况分为当前时隙内所有用户的文件请求都能从当前雾接入点直接获得和存在无法从雾接入点中获得的被请求文件,定义判决变量m(t),当存在无法从雾接入点中获得的被请求文件时,判决变量m(t)=1,且将该被请求文件填充至集合M中;当当前时隙内所有用户的文件请求都能从当前雾接入点直接获得时,判决变量m(t)=

0,且集合 在每个时隙开始时,需对集合M进行清空;

所述缓存动作向量at和判决变量m(t)共同决定下一个系统状态:若at=0,则下一个系统状态为雾接入点中进行降序排列后的所有缓存文件所对应的索引;

若at=1且m(t)=0,则下一个系统状态为雾接入点中进行降序排列后的所有缓存文件所对应的索引;

若at=1且m(t)=1,则从集合M中随机抽取一个文件来替换当前雾接入点缓存空间中位于末尾处的文件,新更新的文件的被请求次数默认为0,取降序排列和替换操作后的所有缓存文件的索引为下一个系统状态。

9.根据权利要求8所述的一种雾无线接入网中深度强化学习下带有推荐的缓存方法,其特征在于:

所述步骤4中的奖励函数表示时隙t内雾接入点所能获得的净利润,表示为:其中,rt为奖励函数,θt()用以判断被请求文件ft,u,n是否在时隙t内被缓存在雾接入点中,若被缓存在雾接入点中,则θt(ft,u,n)=1,否则θt(ft,u,n)=0,s表示用户直接从邻近雾接入点中获取被请求文件ft,u,n的传输成本,b表示从云服务器中获取被请求文件ft,u,n的传输成本,b‑s表示雾接入点从云服务器中进行一个文件的更新所消耗的传输成本,η表示用户进行一次请求所要花费的费用。

10.根据权利要求3所述的一种雾无线接入网中深度强化学习下带有推荐的缓存方法,其特征在于:

每隔K个时隙,目标动作值函数相关神经网络 的参数θ复制动作值函数相关神经网络Q(st,at;θ)的参数θ进行延时更新。

11.根据权利要求10所述的一种雾无线接入网中深度强化学习下带有推荐的缓存方法,其特征在于:所述步骤6具体包括以下步骤:T

随机抽取经验重放区中的一组经验元组[sj,aj,rj,s′j] 对动作值函数相关神经网络Q(st,at;θ)进行训练:

式中,γ为折扣因子,第j时隙的系统状态sj、动作向量aj、下一系统状态s′j、奖励函数rj;

2

执行一个梯度下降的步骤(yj‑Q(sj,aj;θ)) 更新参数θ。

说明书 :

雾无线接入网中深度强化学习下带有推荐的缓存方法

技术领域

[0001] 本发明属于移动通信系统中的边缘缓存技术领域,尤其涉及一种雾无线接入网中深度强化学习下带有推荐的缓存方法。

背景技术

[0002] 智能设备和移动应用服务的快速发展给无线网络带来了巨大的流量压力。雾无线接入网通过将受欢迎的文件放置在离用户较近的位置,可以有效地提高无线网络的性能,
因此越来越受到研究人员和工程技术人员的关注。在雾无线接入网中,雾无线接入点是配
备有限缓存和计算资源的边缘设备。由于波动的用户请求和有限的存储限制,每个雾无线
接入点需要确定以什么方式在什么时间缓存什么内容,以获得更高的缓存效率。
[0003] 现有的一些缓存方案,假设内容的受欢迎程度是预先知道的,这是不现实的。而考虑到用户请求受内容推荐的影响,用户请求的不确定性和预测的难度均会有所下降,且如
果能使雾接入点持续缓存热点内容,从而实现逼近理想缓存策略的缓存命中率,提高净利
润,从而最大程度降低回传负载和通信时延。

发明内容

[0004] 本发明的目的:本发明针对现有技术存在的问题,提供一种雾无线接入网中深度强化学习下带有推荐的缓存方法,本发明动态地确定雾无线接入网中的雾接入点的缓存决
策,从而使雾接入点的长期净利润最大化,且缓存命中率高。
[0005] 技术方案:一种雾无线接入网中深度强化学习下带有推荐的缓存方法,包括以下步骤:
[0006] 步骤1:在当前时隙开始时,雾接入点以广播的形式向其覆盖范围内的所有用户进行内容推荐,推荐内容为雾接入点中当前所有缓存文件所对应的摘要信息;
[0007] 步骤2:在当前时隙内,利用用户偏好候选集、推荐内容、用户行为、用户移动模式对雾接入点覆盖范围内的每个用户的用户偏好矢量进行建模;每一个用户在当前时隙中尝
试进行文件请求,其每一个请求的产生过程可分为两种情况:用户冲动性请求情况和基于
用户偏好矢量的用户请求情况,基于这两种情况,对当前时隙内的每一个用户的文件请求
进行建模,得到时隙t内的所有用户的文件请求集合
其中, 且 其中
reqt,u为第u个用户在时隙t中的请求集合,Nt,u为用户u在时隙t内的文件请求数目,满足Nt,u
∈[0,Nmax],Nmax为时隙t内每个用户的最大的文件请求数目,ft,u,n为被请求的文件,tu,n为具
体的文件请求发生的时间;
[0008] 步骤3:在当前时隙结束时,在深度强化学习框架下,采用贪婪算法计算得到缓存动作向量,所述深度强化学习框架包括动作值函数相关神经网络Q(st,at;θ),其中,st为系
统状态,at为缓存动作向量,参数θ;根据计算得到的缓存动作向量和当前时隙缓存命中情
况对应得到下一个系统状态,所述系统状态为雾接入点中当前缓存的文件的索引集合;所
述索引为被缓存文件在云服务器上的文件集合中的编号,雾接入点中的本地缓存文件根据
得到的下一个系统状态进行相应的更新操作;
[0009] 步骤4:根据当前时隙中缓存命中情况和请求文件传输成本得到奖励函数;
[0010] 步骤5:将当前时隙的系统状态、缓存动作向量、下一个系统状态、奖励函数记录为一个经验元组,并将该经验元组存储在经验重放区;
[0011] 步骤6:以步骤2得到的用户请求集合 作为深度强化学习框架中与雾接入点在t时隙进行交互的外部环境,随机抽取经验重放区中的一
组经验元组对动作值函数相关神经网络进行训练并更新该动作值函数相关神经网络的相
关参数;
[0012] 步骤7:判断是否达到最终时隙,若是,则雾接入点内的当前缓存文件为最终的缓存结果,否则进入下一个时隙,并执行步骤1。
[0013] 进一步的,在执行步骤1之前,还包括初始化过程:
[0014] 初始化云服务器上的文件集合C={1,2,…c,…,C},从文件集合C中抽取F个文件作为雾接入点的原始本地缓存,将F个文件按照文件序号顺序降序进行排列,抽取的F个文
件的有序的索引集合作为系统初始状态s0;
[0015] 初始化用户偏好候选集P={p1,p2,…,pg,…,pG},其中pg=[pg,1,pg,2,…,pg,C]T为一个初始用户偏好矢量,满足Zipf分布,每个用户偏好矢量中包含C个偏好值,对应文件集
合C中的C个文件;
[0016] 初始化深度强化学习框架,包括初始化动作值函数相关神经网络Q(st,at;θ)对应参数θ,其中,st为系统状态,at为缓存动作向量。
[0017] 进一步的,所述深度强化学习框架还包括目标动作值函数相关神经网络所述动作值函数相关神经网络和目标动作值函数相关神经网络的结构完全相
同。
[0018] 进一步的,所述步骤2具体包括以下子步骤:
[0019] S210:利用用户偏好候选集、推荐内容、用户行为、用户移动模式对雾接入点覆盖范围内的每个用户的用户偏好矢量pt,u进行建模;
[0020] S 2 2 0 :设 定 用 户 冲 动请 求 概 率 其中时隙t内,当第u个用户尝试进行第n次文件请求时,有
的概率,该用户直接从文件集合C中随机请求一个文件;有 的概率,用户
按照当前的用户偏好矢量进行文件请求;
[0021] 当用户按照当前的用户偏好矢量进行文件请求时,从文件集合C中抽取一个待请求文件,通过伯努利分布对请求过程进行建模,以确定所选文件是否被真正请求,如下面公
式(1)所示:
[0022]
[0023] 式中, 为被选择的文件ft,u,n所对应的用户偏好值,Nt,u为用户u在时隙t内的文件请求数目,其满足Nt,u∈[0,Nmax],被选择的文件有 的概率被真正请求,请求数
目加1;反之,有 的概率,该被选择文件没有被真正请求,请求数目不变;
[0024] 依次对当前时隙内的每一个用户的文件请求进行建模,得到时隙t内的用户请求集合
[0025] 进一步的,所述S210的具体操作如下:
[0026] S211:根据用户运动模式,对时隙t内雾接入点覆盖范围内的所有用户进行分类得到在时隙t内新到达的新用户和在时隙t之前便已存在的老用户,新用户记为 老用户记
为 为时隙t内雾接入点覆盖范围内的所有用户;每
个新用户的初始用户偏好矢量是从用户偏好候选集P={p1,p2,…,pg,…,pG}中随机抽取并
进行适量修改后得到;每个老用户在当前时隙的用户偏好矢量继承上一时隙的用户偏好矢
量;
[0027] S212:根据雾接入点在时隙t内的推荐内容对雾接入点覆盖范围内的所有用户的用户偏好矢量进行更新:
[0028]
[0029] pt,u为第t时隙内第u个用户的用户偏好矢量,rect=[rect,1,rect,2,…,rect,c,…,T
rect,C] 为当前雾接入点的内容推荐向量,若第c个文件被推荐,则rect,c=β,β≥1,否则
rect,c=1,Φ()为归一化函数;
[0030] S213:根据每个用户的行为对雾接入点覆盖范围内的所有用户的用户偏好矢量进行更新,所述用户的行为为用户在当前文件请求之前的所有文件请求状况。
[0031] 进一步的,所述S213具体操作如下:
[0032] 在时隙t中,对于第u个用户的第n个请求reqt,u,n=,在请求完成后,采用式(3)将第u个用户的用户偏好矢量pt,u设置为一个极小值μ,并进行用户偏好矢量的归一
化:
[0033]
[0034] 进一步的,在所述步骤3中,根据下式得到时隙t内的缓存动作向量:
[0035]
[0036] 式中,at为缓存动作向量。
[0037] 进一步的,所述的根据计算得到的缓存动作向量和当前时隙缓存命中情况对应得到下一个系统状态的具体步骤包括:
[0038] 首先,根据时隙t内所有用户的请求,对雾接入点中当前所缓存的文件的被请求次数进行累加更新并将当前所缓存的文件按照更新后的被请求次数进行降序排列。
[0039] 之后,所述当前时隙缓存命中情况分为当前时隙内所有用户的文件请求都能从当前雾接入点直接获得和存在无法从雾接入点中获得的被请求文件,定义判决变量m(t),当
存在无法从雾接入点中获得的被请求文件时,判决变量m(t)=1,且将该被请求文件填充至
集合M中;当当前时隙内所有用户的文件请求都能从当前雾接入点直接获得时,判决变量m
(t)=0,且集合 在每个时隙开始时,需对集合M进行清空;
[0040] 所述缓存动作向量at和判决变量m(t)共同决定下一个系统状态:
[0041] 若at=0,则下一个系统状态为雾接入点中进行降序排列后的所有缓存文件所对应的索引;
[0042] 若at=1且m(t)=0,则下一个系统状态为雾接入点中进行降序排列后的所有缓存文件所对应的索引;
[0043] 若at=1且m(t)=1,则从集合M中随机抽取一个文件来替换当前雾接入点缓存空间中位于末尾处的文件,新更新的文件的被请求次数默认为0,取降序排列和替换操作后的
所有缓存文件的索引为下一个系统状态。
[0044] 进一步的,所述步骤4中的奖励函数表示时隙t内雾接入点所能获得的净利润,表示为:
[0045]
[0046] 其中,rt为奖励函数,θt()用以判断被请求文件ft,u,n是否在时隙t内被缓存在雾接入点中,若被缓存在雾接入点中,则θt(ft,u,n)=1,否则θt(ft,u,n)=0,s表示用户直接从邻近
雾接入点中获取被请求文件ft,u,n的传输成本,b表示从云服务器中获取被请求文件ft,u,n的
传输成本,b‑s表示雾接入点从云服务器中进行一个文件的更新所消耗的传输成本,η表示
用户进行一次请求所要花费的费用。

[0047] 进一步的,每隔K个时隙,目标动作值函数相关神经网络 的参数θ复制动作值函数相关神经网络Q(st,at;θ)的参数θ进行延时更新。
[0048] 进一步的,所述步骤6具体包括以下步骤:
[0049] 随机抽取经验重放区中的一组经验元组[sj,aj,rj,s′j]T对动作值函数相关神经网络进行训练:
[0050]
[0051]
[0052] 式中,γ为折扣因子,第j时隙的系统状态sj、动作向量aj、下一系统状态s′j、奖励函数rj;
[0053] 执行一个梯度下降的步骤(yj‑Q(sj,aj;θ))2更新参数θ。
[0054] 有益效果:本发明具有以下优点:
[0055] 1、内容推荐可以帮助用户找到他们感兴趣的文件,从而增加用户请求的数量,进而增加原有缓存方案的效率;
[0056] 2、过度追求高缓存命中率可能导致冗余缓存更新,雾接入点长期净利润最大化的优化目标更为符合实际需要;
[0057] 3、将雾无线接入网中的动态缓存布置问题建立在深度强化学习框架下,准确地描述用户请求与雾接入点缓存状态的实时情况,进而使得雾接入点在每一时刻均能够做出最
优决策,从而能够更好地适应用户波动的需求。

附图说明

[0058] 图1是本发明的流程示意图;
[0059] 图2是本发明与传统边缘缓存策略对每个用户请求的平均奖励(净利润)进行对比的仿真结果图。

具体实施方式

[0060] 现结合附图和实施例进一步阐述本发明的技术方案。
[0061] 本发明所述的一种雾无线接入网中深度强化学习下带有推荐的缓存方法,包括如下步骤:S0:初始化云服务器上的文件集合C={1,2,…c,…,C},并假定这些文件具有相同
的大小,从上述文件集合中抽取F个文件作为雾接入点的原始本地缓存,此时,由于未与用
户请求集合进行交互,所有缓存文件的被请求次数应该都是0,故将F个文件按照序号顺序
降序进行排列,抽取的F个文件的有序的索引集合作为系统初始状态s0;
[0062] S1:初始化用户偏好候选集P={p1,p2,…,pg,…,pG},其中pg=[pg,1,pg,2,…,pg,C]T满足Zipf分布,为一个初始用户偏好矢量,该矢量中包含C个偏好值,对应文件集合C中的C
个文件,每个偏好值都是一个概率,相加之和为1,即用户偏好矢量各项累加之和为1,这也
是后面修改用户偏好矢量后,要进行归一化操作的原因。
[0063] S2:初始化深度强化学习框架;在一些实施例中深度强化学习框架采用双层深度Q网络,其包括两个结构完全相同的神经网络:动作值函数相关神经网络Q(st,at;θ)和目标动
作值函数相关神经网络 在使用前,对动作值函数相关神经网络Q(st,at;θ)和目

标动作值函数相关神经网络 进行参数θ和θ的初始化,其中,st为系统状态,at为
缓存动作向量,该系统状态具体为当前雾接入点中缓存的文件的索引集合;
[0064] S3:在内容推荐和缓存方法之间建立一种一对一的联系,这种一一对应关系避免了联合优化带来的巨大训练复杂度,缓存方法优化结束,则相应的内容推荐方案也优化结
束,在时隙t开始时,雾接入点以广播的形式向其覆盖范围内的所有用户进行内容推荐,推
荐内容即雾接入点中当前所有缓存文件所对应的摘要信息,该摘要信息包括标题或者缩略
图,当缓存文件更新后,推荐内容也进行了相应的更新;
[0065] S4:在当前时隙内,首先利用用户偏好候选集、推荐内容、用户行为、用户移动模式对雾接入点覆盖范围内的每个用户的用户偏好矢量进行建模,每个用户偏好矢量中包含C
个偏好值,对应文件集合C中的C个文件,每个偏好值都是一个概率,相加之和为1,且每个用
户的用户偏好矢量都是在不断变化的,不断受到推荐内容、用户行为、用户移动模式的影
响;用户的行为指的是每个用户之前的所有文件请求状况;
[0066] 之后对当前时隙内的每一个用户的文件请求(可能是多个,也可能一个都没有)进行建模,其中,对于每一个用户,若其在当前时隙中尝试进行文件请求,其每一个请求的产
生过程可分为两种情况:一、用户冲动性请求,用于刻画现实生活中的一些冲动性或者由于
外界命令而产生的文件请求行为,这些往往是不符合用户偏好矢量的,其发生的概率,即用
户冲动请求概率,也较低:此时用户随机请求文件集合C中的一个文件,即此时一定有一个
文件被请求;二、基于用户偏好矢量的用户请求,发生概率为:1‑用户冲动请求概率,这种请
求的发生过程分为两步:首先进行请求文件的选择,之后再决定是否要请求该被选择的文
件,这种情形下,不一定会有一个文件被请求;比如,用户在当前时隙内共先后请求了2个文
件,其中,第一个是基于用户偏好矢量的请求,请求完成之后,立刻作为用户行为修改了当
前的用户偏好矢量,第二个是冲动性请求,文件请求完成后也需要立刻修改当前的用户偏
好矢量,上述修改均对其他用户的偏好矢量没有影响;在这其中,或许该用户还试图进行其
他的基于用户偏好矢量的文件请求(一个或多个),但是都只进行了文件的选择,最终,被选
择的文件并没有被真正请求,这种情况就不会对当前的用户偏好矢量造成任何影响。
[0067] 在对当前时隙内的每一个用户的文件请求进行建模后,可得到时隙t内的所有用户的文件请求集合 其中,
且 其中reqt,u为第u个用户在时隙t中的请求集合,Nt,u为
用户u在时隙t内的文件请求数目,其满足Nt,u∈[0,Nmax],考虑到用户对于文件的请求及使
用均需要时间,Nmax为时隙t内每个用户的最大的文件请求数目,当前时隙中,该用户请求的
文件数目达到最大的文件请求数目Nmax时,在该时隙内,该用户将不再进行任何文件请求,
ft,u,n为被请求的文件,tu,n为具体的文件请求发生的时间,用户请求集合
即为深度强化学习中与雾接入点在t时隙进行交互的
外部环境;
[0068] 在S4中,利用用户偏好候选集、推荐内容、用户行为、用户移动模式对雾接入点覆盖范围内的每个用户的用户偏好矢量进行建模,具体过程如下:
[0069] 根据用户移动模式,对时隙t内雾接入点覆盖范围内的所有用户进行分类:表示时隙t内新到达用户的数量, 表示在时隙t之前便已在当前范围的
用户数量;每个新用户的初始用户偏好矢量是从用户偏好候选集P={p1,p2,…,pg,…,pG}
中随机抽取并进行适量修改后得到,适量修改包括随机交换一些项的顺序,其中交换的项
的个数也是随机的;考虑到现实的用户偏好之间具有相似性和特异性。因此,首先将用户偏
好矢量分为G个大类,即对应G个用户偏好候选矢量,对于新用户,其每个用户偏好矢量从中
进行随机抽取;之后,考虑到用户偏好的特异性,对抽取到的用户偏好矢量再进行适量修
改,这比直接根据Zip分布生成每个新用户的偏好矢量要更符合实际,运算量也更小;每个
老用户在当前时隙的用户偏好矢量继承上一时隙的用户偏好矢量,基于用户移动模式,考
虑到内容推荐的影响可能会有延迟,且为了避免后续时隙内发生对之前已请求文件的重复
性请求,对于老用户,保留他们的所有偏好修改,即每个老用户在当前时隙的用户偏好矢量
继承上一时隙的用户偏好矢量,直到他们离开当前雾接入点覆盖范围;
[0070] 采用式(2)根据雾接入点在时隙t内的推荐内容对雾接入点覆盖范围内的所有用户的用户偏好矢量进行更新:
[0071]
[0072] pt,u为第t时隙内第u个用户的用户偏好矢量,rect=[rect,1,rect,2,…,rect,c,…,T
rect,C] 为当前雾接入点的内容推荐向量,若第c个文件被推荐,则rect,c=β,β≥1,否则
rect,c=1,例如,若C=7,F=3,时隙t内,当前雾接入点中缓存文件对应的索引号为6、2、5
(索引号为文件在文件集合C中的编号,从0开始,0~6,而此时的顺序为请求次数降序排
序),则文件集合C中的索引号为6、2、5的三个文件的标题或者缩略图作为推荐内容以广播
的形式被推荐给当前雾接入点覆盖范围内的所有用户,则此时的内容推荐向量为[1,1,β,
T
1,1,β,β] ,上述向量可以非常直观的标示出被推荐文件在整个文件集合C中的位置,在与
用户偏好矢量pt,u进行哈达玛积计算后,可以使得用户偏好矢量pt,u在被推荐文件位置的偏
好值变为原有偏好值乘以推荐系数β,而其余的文件所对应的偏好值不变,Φ()为归一化
函数,用以保证经过修改后的用户偏好值相加之后仍然为1,这种方式使得推荐对偏好值的
影响,不仅仅与推荐系数β有关,还与被推荐文件原有的偏好值呈正比,即推荐受欢迎的文
件可以取得更好的推荐效果。
[0073] 根据每个用户的行为对雾接入点覆盖范围内的所有用户的用户偏好矢量进行更新,主要是为了避免用户对于偏好值较高文件的重复性请求,在现实生活中,用户很少对同
一个文件发出重复请求:在时隙t中,对于第u个用户的第n个请求reqt,u,n=,在
请求完成后,将被请求文件ft,u,n的偏好值设置为一个极小值μ,即 并将修改
后的用户偏好矢量pt,u进行归一化,以确保其所有项的和仍然为1。此外,用户请求文件的顺
序(文件请求发生的时间tu,n先后)也会影响上述偏好矢量的修改,即reqt,u,n造成的偏好矢
量修改(置μ和归一化过程)必须在reqt,u,n‑1造成的偏好矢量修改之后,其可以表示为一个
函数An:
[0074] An(An‑1,reqt,u,n,μ)→Pt,u
[0075] 其中,An‑1是经过前面n‑1次文件请求后的用户偏好矢量。在时隙t内,Nt,u个文件请求 将会依次影响pt,u,可以表示为:
[0076]
[0077] 其中,Nt,u为用户u在时隙t内的文件请求数目,且每次修改应在文件请求后立即完成,否则,用户可能重复请求相同的文件。
[0078] 公式(3)是一个抽象的函数,用来方便指代并说明功能,其实现的功能即是将请求文件对应的偏好值设置为一个极小值μ,并进行用户偏好矢量的归一化,公式中迭代的形式
表示,第n个请求对于用户偏好矢量pt,u的修改(请求文件对应的偏好值置μ,整体用户偏好
矢量pt,u归一化)应该在前面n‑1次请求的修改之后进行。且文件请求过程一旦完成,必须要
在前面已经有的请求导致的用户偏好矢量的修改的基础上,立刻进行用户偏好矢量pt,u的
相应修改(请求文件对应的偏好值置μ,整体用户偏好矢量pt,u归一化)。
[0079] S5:对用户在单个时隙内的请求数量进行限制,即对于所有用户的请求集合应满足:
且有 其中reqt,u为第u个用户在时隙t中的请求集合,ft,u,n
为被请求的文件,tu,n为具体的请求时间;
[0080] S6:设定用户冲动请求概率 其中
[0081] 时隙t内,当第u个用户尝试进行第n次文件请求时,其产生过程可分为两类:有的概率该用户直接从文件集合C中随机请求一个文件,即用户冲动性请求一定会
导致一个文件被请求,用于刻画现实生活中的一些冲动性或者由于外界命令而产生的文件
请求行为,其往往是不符合用户当前的偏好矢量的,其发生的概率即用户冲动请求概率较
低,但当其发生时,用户有很大概率必须去请求上述文件,比如上级对下级的指令,下级必
须要去请求被要求请求的文件;有 的概率用户按照当前的用户偏好矢量进行文
件请求,在这种情况下,文件请求可分为两步:(a)从文件集合C中抽取一个待请求文件,每
一个文件被选中的概率与该用户当前的用户偏好矢量中该文件所对应的偏好值成正比,但
并不是说文件对应的偏好值大就一定可以被选中,偏好值大只是说明其被选中的概率相应
较大;(b)通过伯努利分布对请求过程进行建模,以确定所选文件是否被真正请求,如下面
公式(1)所示:
[0082]
[0083] 式中, 为被选择的文件ft,u,n所对应的用户偏好值(为了描述的方便,这里ft,u,n也用来表示被选择的文件),Nt,u为用户u在时隙t内的文件请求数目,其满足Nt,u∈[0,
Nmax];如公式(1)所示,该被选择的文件有 的概率被真正请求,此时,请求数目加1;
反之,有 的概率,该被选择文件没有被真正请求,则该用户在时隙t内的请求数
目不变。综上,在这种情形下,不一定会有一个文件被请求,但是,被抽取的文件所对应的偏
好值越高,其被真正请求的概率也就越高。这也是冲动性请求不能并入(b)中的一个原因,
冲动性请求的文件所对应的偏好值一般不高,若冲动性只体现在文件抽取上,其在(b)中被
真正请求的概率就会极低。
[0084] 无论上面哪种文件请求方式(冲动型,基于偏好矢量型),一旦在当前时隙中,该用户请求的文件数目达到最大的文件请求数目Nmax时,在该时隙内,该用户将不再进行任何文
件请求。
[0085] 在依次对当前时隙内的每一个用户的文件请求进行建模后,可得到时隙t内的用户请求集合 该用户请求集合即为深度强化学习中与
雾接入点在t时隙内进行交互的外部环境。
[0086] 因为没有现成的涉及内容推荐的用户请求数据集,而强化学习框架需要有一个时变的用户请求集合作为外部环境与充当智能体的雾接入点进行交互,以优化缓存方法。上
述用户请求模型所产生的时变的用户请求即充当了强化学习的外部环境,若此时有真实的
用户请求数据集合,也可以随时引入训练过程中,成为新的外部环境,或者外部环境的一部
分。
[0087] 但是需要注意,对于后续的缓存方法优化,此用户请求模型的任何知识都是未知的,该模型只是用于产生用户请求集合,以充当外部环境与雾接入点进行交互。
[0088] S7:根据时隙t内的所有用户请求,对于雾接入点中当前所缓存的文件的请求次数进行记录,即在之前时隙的请求次数的基础上进行累加,并将当前所缓存的文件按照更新
后的被请求次数进行降序排列;这里的降序排序,一是为了系统状态st的唯一性,雾接入点
中的缓存文件顺序也就是时隙t内,索引的排序,即系统状态st,对其排列顺序进行规定之
后,可以保证系统状态st的唯一性,若不进行排序,系统状态st可能会有多种排列组合方式。
二、这种方式可以使得雾接入点中访问次数多的文件在前,这样后面雾接入点中文件更新
时,可以直接替换掉位于最后的访问次数较少的文件。
[0089] S8:在时隙t结束时,根据贪婪选择算法以及动作值函数相关神经网络Q(st,at;θ)得出缓存动作向量at,并由当前的缓存命中状态和缓存动作向量得到下一个系统状态st+1;
具体包括:
[0090] 根据贪婪算法获得相应的动作向量:
[0091]
[0092] 式中,at为缓存动作向量。
[0093] 时隙t内,当用户请求的文件未在雾接入点中缓存时,用户必须通过云服务器来获得需要的文件,这部分文件构成集合M,集合M也是一个时变的集合,在每个时隙开始时进行
清空,然后根据当前时隙中的文件请求情况来决定是否进行文件的填充。判断时隙t内所有
用户的文件请求是否都能从当前雾接入点直接获得,定义判决变量m(t),如果m(t)=1,一
些被请求的文件(其可能来自不同的用户)不能从雾接入点中获得,则将这些文件填充至集
合M中,反之,m(t)=0,且
[0094] 由at和m(t)共同决定下一个系统状态:at=0时,下一个系统状态为雾接入点中进行降序排列后的所有缓存文件所对应的索引,;反之,at=1时,若m(t)=0,下一个系统状态
为雾接入点中进行降序排列后的所有缓存文件所对应的索引,若m(t)=1,则从集合M中随
机抽取一个文件来替换当前雾接入点缓存空间中位于末尾处的文件,新更新的文件的被请
求次数默认为0,取降序排列和替换操作后的所有缓存文件的索引为下一个系统状态;
[0095] S9:根据时隙t中缓存命中情况和相应的请求文件传输成本得到奖励函数rt:
[0096]
[0097] 其中,rt为奖励函数,θt()用以判断被请求文件ft,u,n是否在时隙t内被缓存在雾接入点中,若被缓存在雾接入点中,则θt(ft,u,n)=1,否则θt(ft,u,n)=0,s表示用户直接从邻近
雾接入点中获取待请求文件ft,u,n的传输成本,b(b>>s)表示从云服务器中获取被请求文
件ft,u,n的传输成本,b‑s表示雾接入点从云服务器中进行一个文件的更新所消耗的传输成
本,η表示请求一个文件所要花费的费用,由于在每个时隙,雾接入点只需要向用户广播其
所有缓存文件的“摘要”信息,这部分传输成本忽略不计;
[0098] S10:记录当前时隙的系统状态st、动作向量at、下一系统状态s′j、奖励函数rt作为一个经验元组,并将其存储于经验重放区D中;
[0099] S11:随机抽取经验重放区中的一组经验元组[sj,aj,rj,s′j]T对动作值函数相关神经网络Q(st,at;θ)进行训练,更新其参数θ,令t=t+1,开始下一个时隙的缓存优化,另一目

标动作值函数相关神经网络 的参数θ只需复制前者的参数每隔K个时隙进行延
时更新。具体包括:
[0100] 随机抽取经验重放区中的一组经验元组[sj,aj,rj,s′j]T对动作值函数相关神经网络Q(st,at;θ)进行训练:
[0101]
[0102] 其中γ为折扣因子,第j时隙的系统状态sj、动作向量aj、下一系统状态s′j、奖励函数rj;
[0103] 这里的经验元组是从经验重放区中随机抽取得到的,即用第j时隙产生的经验元组带入神经网络进行训练用于更新参数θ。
[0104] 每一次对于神经网络的训练都需要一组经验元组,而通过经验元组的随机抽取,人为地切断了经验元组之间的相关性,从而避免陷入局部优化。
[0105] S12:执行一个梯度下降的步骤(yj‑Q(sj,aj;θ))2来更新其参数θ;
[0106] S13:令t=t+1,回到S3开始下一个时隙的缓存优化,直至达到最终时隙;
[0107] 每隔K个时隙,目标动作值函数相关神经网络 的参数θ‑复制Q(st,at;θ)的参数θ进行延时更新。
[0108] 由附图2的仿真结果可得,与最近最少使用缓存方法(Least Recently Used,LRU)和最近最不常用缓存方法(Least Frequently Used,LFU)这两种传统的缓存方法比较,本
发明所述的基于深度强化学习框架下带有内容推荐的边缘缓存方法(β=1.5)的单个用户
请求的平均奖励(净利润)明显更优,与传统方法相比增加了近一半;此外,与不带有内容推
荐的相同方法(β=1)相比,缓存效率和收敛性能也得到了提高。