CN111465057B - 一种基于强化学习的边缘缓存方法、装置及电子设备 - Google Patents
一种基于强化学习的边缘缓存方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111465057B CN111465057B CN202010238321.0A CN202010238321A CN111465057B CN 111465057 B CN111465057 B CN 111465057B CN 202010238321 A CN202010238321 A CN 202010238321A CN 111465057 B CN111465057 B CN 111465057B
- Authority
- CN
- China
- Prior art keywords
- content
- cache
- module
- small cell
- popularity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/14—Flow control between communication endpoints using intermediate storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种基于强化学习的边缘缓存方法、装置及电子设备,所述方法包括:获取预设时间段内多个小小区中所有内容的请求次数及当前小小区的内容缓存情况;基于多个小小区中所有内容的请求次数,计算每一内容对应的第一内容流行度和第二内容流行度,得到内容流行度特征矩阵;利用预先训练好的基于强化学习算法构建的缓存策略模型,对内容流行度特征矩阵及当前小小区的内容缓存情况进行处理,得到在当前小小区中各内容的缓存策略;基于当前小小区中各内容的缓存策略,对当前小小区中的内容进行缓存。应用本发明实施例,能够提高小小区缓存内容的缓存命中率及缓存空间的利用率。
Description
技术领域
本发明涉及无线通信技术领域,特别是涉及一种基于强化学习的边缘缓存方法、装置及电子设备。
背景技术
随着无线通信技术的快速发展,移动数据流量需求激增,密集小小区网络应运而生。密集小小区网络中,包含内容的分发与共享,该内容例如可以是视频文件、新闻、快讯等等。在用户需要请求内容时,用户向小小区基站发送内容请求,基站将内容请求转发至核心网,核心网将内容请求对应的业务数据下发至基站,基站再将内容请求对应的业务数据发送至用户。随着移动视频等业务需求量的不断增大,大量用户需要通过核心网对热门内容进行下载,导致需要向核心网下载的内容冗余性较大,增加了回程链路的拥塞概率,影响数据传输的时延。基于此,可以在非业务高峰期时,提前在小小区基站上缓存内容,以使得当用户请求内容、且所请求的内容在小小区基站已缓存时,小小区基站直接服务用户,不用再通过回程链路到核心网进行用户请求内容对应业务数据的下载,以减轻回程链路的压力、降低用户请求内容获取的时延。
现有非业务高峰期时在小小区基站上提前对内容进行缓存的方法为:进行内容缓存的小小区,获取小小区基站在预设时间段内所有内容的请求次数,该预设时间段可以为一周或一天等,计算每一内容在该时间段内的请求概率,其中,内容的请求概率为:该时间段内该内容的请求次数,与该时间段内所有内容的请求次数的比值,然后,按照请求概率的大小顺序对内容进行缓存,并当小小区基站的缓存空间不足时,使用请求概率较大对应的内容替换小小区基站已缓存的请求概率较小对应的内容。
然而,现有对内容进行缓存的方法,是基于小小区基站预设时间段内内容的请求概率实现的,以小小区基站预设时间段内内容的请求次数为依据,对内容进行缓存,使得小小区基站中所缓存的内容受设置的预设时间段影响较大。并且,实际应用中,用户需求的内容是变化的,使得所缓存的预设时间段内请求概率较大对应的内容,并不一定是用户所需的内容,导致缓存的内容可能不是用户选择命中率高的内容,造成缓存空间在一定程度上的浪费。
发明内容
本发明实施例的目的在于提供一种基于强化学习的边缘缓存方法、装置及电子设备,以提高小小区缓存内容的缓存命中率及缓存空间的利用率。具体技术方案如下:
第一方面,本发明实施例提供了一种基于强化学习的边缘缓存方法,所述方法包括:
获取预设时间段内多个小小区中所有内容的请求次数及当前小小区的内容缓存情况,其中,所述多个小小区包括当前小小区;
基于所述多个小小区中所有内容的请求次数,计算每一内容对应的第一内容流行度和第二内容流行度,得到内容流行度特征矩阵;其中,所述内容流行度特征矩阵包含:第一内容流行度特征向量以及第二内容流行度特征向量,所述第一内容流行度表示对应内容在所述多个小小区中的内容流行度,所述第二内容流行度表示对应内容在当前小小区中的内容流行度,所述第一内容流行度特征向量由各内容的第一内容流行度构成,所述第二内容流行度特征向量由各内容的第二内容流行度构成;
利用预先训练好的基于强化学习算法构建的缓存策略模型,对所述内容流行度特征矩阵及当前小小区的内容缓存情况进行处理,得到在当前小小区中各内容的缓存策略;其中,所述缓存策略包含:缓存和不缓存,所述基于强化学习算法构建的缓存策略模型是根据样本内容流行度特征矩阵、样本内容对应的内容缓存情况以及样本内容对应的动作向量训练得到的,所述样本内容对应的动作向量表示当前时刻各内容的缓存策略的真值;
基于所述当前小小区中各内容的缓存策略,对当前小小区中的内容进行缓存。
可选地,所述基于所述多个小小区中所有内容的请求次数,计算每一内容对应的第一内容流行度和第二内容流行度,得到内容流行度特征矩阵的步骤,包括:
针对所述多个小小区中所有内容中的每一内容,计算该内容在所述多个小小区中的请求次数,与所述所有内容在所述多个小小区中的请求次数的第一比值,并将所述第一比值作为该内容对应的第一内容流行度;
将所述每一内容对应的第一内容流行度,构成第一内容流行度特征向量;
针对所述多个小小区中所有内容中的每一内容,计算该内容在当前小小区中的请求次数,与所述所有内容在当前小小区中的请求次数的第二比值,并将所述第二比值作为该内容对应的第二内容流行度;
将所述每一内容对应的第二内容流行度,构成第二内容流行度特征向量;
将所述第一内容流行度特征向量与所述第二内容流行度特征向量,构成所述内容流行度特征矩阵。
可选地,所述利用预先训练好的基于强化学习算法构建的缓存策略模型,对所述内容流行度特征矩阵及当前小小区的内容缓存情况进行处理,得到在当前小小区中各内容的缓存策略的步骤,包括:
根据所述当前小小区的内容缓存情况,确定所述所有内容对应的动作向量;
将所述内容流行度特征矩阵与所述动作向量,构成所述多个小小区中所有内容对应的状态矩阵;
将所述状态矩阵,输入预先训练好的基于强化学习算法构建的缓存策略模型中,得到在当前小小区中各内容的缓存策略。
可选地,所述基于强化学习算法构建的缓存策略模型为,具有异步优势的行动者-评论家算法A3C模型,所述A3C模型的训练过程,包括:
构建初始A3C模型,所述初始A3C模型,由多个并行的工作者模块和全局网络模块构成;其中,所述工作者模块包括:策略网络子模块和评估网络子模块;
针对每一工作者模块,执行以下步骤:
步骤S1,获取样本内容流行度特征矩阵,以及样本内容对应的动作向量,所述样本内容对应的动作向量是根据所述样本内容对应的内容缓存情况确定的;
步骤S2,将所述样本内容流行度特征矩阵,与所述样本内容对应的动作向量,构成所述样本内容对应的当前状态矩阵;
步骤S3,基于所述样本内容对应的当前状态矩阵,使用预设表达式,计算当前状态矩阵中内容缓存情况的缓存收益;
步骤S4,将所述当前状态矩阵,输入所述策略网络子模块中,得到所述下一时刻动作向量的概率分布值;
步骤S5,将所述当前状态矩阵,输入所述评估网络子模块中,得到所述当前状态矩阵中动作向量的评估值;
步骤S6,基于所述当前状态矩阵中内容缓存情况的缓存收益,以及所述当前状态矩阵中动作向量的评估值,更新所述策略网络子模块和所述评估网络子模块的参数;
步骤S7,根据所述下一时刻动作向量的概率分布值,以及预设的规则,更新所述当前状态矩阵中的动作向量,并更新所述当前状态矩阵;
步骤S8,根据预设周期,将当前工作者模块中所述策略网络子模块和所述评估网络子模块的参数,发送至所述全局网络模块,以使所述全局网络模块对所述策略网络子模块和所述评估网络子模块的参数进行存储;
步骤S9,接收所述全局网络模块下发的所述策略网络子模块和所述评估网络子模块的参数,并对当前工作者模块中的所述策略网络子模块和所述评估网络子模块的参数进行更新;
步骤S10,判断当前迭代次数是否达到预设收敛条件;
步骤S11,如果所述当前迭代次数达到预设收敛条件,则得到训练好的A3C模型;
步骤S12,如果所述当前迭代次数没有达到预设收敛条件,则返回执行步骤S3。
可选地,所述基于所述样本内容对应的当前状态矩阵,使用预设表达式,计算当前状态矩阵中内容缓存情况的缓存收益的步骤,包括:
使用如下表达式,计算所述当前状态矩阵中内容缓存情况的缓存收益:
B(t)=-c1,t(a(t),a(t-1))+r1,t(s(t))+r2,t(s(t)),
c1,t(a(t),a(t-1))=λ1aT(t)(1-a(t-1)),
r1,t(s(t))=μ1aT(t)pl(t),
r2,t(s(t))=μ2aT(t)pg(t);
其中,B(t)表示t时刻小小区内容缓存情况的总缓存收益,c1,t(a(t),a(t-1))表示t时刻小小区更新缓存内容的缓存费用,r1,t(s(t))表示t时刻小小区缓存内容和本地内容流行特征匹配的本地缓存内容匹配收益,r2,t(s(t))表示t时刻小小区缓存内容和多个小小区内容流行特征匹配的全局缓存内容匹配收益,a(t)表示t时刻小小区内容缓存的动作向量,a(t-1)表示t-1时刻小小区内容缓存的动作向量,s(t)表示t时刻小小区内容对应的状态矩阵,λ1表示缓存费用c1,t(a(t),a(t-1))在总缓存收益中的权重,μ1表示本地缓存内容匹配收益r1,t(s(t))在总缓存收益中的权重,pl(t)表示t时刻小小区的第二内容流行度特征向量,μ2表示全局缓存内容匹配收益r2,t(s(t))在总缓存收益中的权重,pg(t)表示t时刻小小区的第一内容流行度特征向量,aT(t)表示a(t)的转置。
所述方法还包括:
当检测到有新的相邻的小小区加入密集小小区网络中时,将所述预先训练好的基于强化学习算法构建的缓存策略模型的参数,同步至所述新的小小区的基于强化学习算法构建的缓存策略模型中。
第二方面,本发明实施例还提供了一种基于强化学习的边缘缓存装置,所述装置包括:
获取模块,用于获取预设时间段内多个小小区中所有内容的请求次数及当前小小区的内容缓存情况,其中,所述多个小小区包括当前小小区;
计算模块,用于基于所述多个小小区中所有内容的请求次数,计算每一内容对应的第一内容流行度和第二内容流行度,得到内容流行度特征矩阵;其中,所述内容流行度特征矩阵包含:第一内容流行度特征向量以及第二内容流行度特征向量,所述第一内容流行度表示对应内容在所述多个小小区中的内容流行度,所述第二内容流行度表示对应内容在当前小小区中的内容流行度,所述第一内容流行度特征向量由各内容的第一内容流行度构成,所述第二内容流行度特征向量由各内容的第二内容流行度构成;
处理模块,用于利用预先训练好的基于强化学习算法构建的缓存策略模型,对所述内容流行度特征矩阵及当前小小区的内容缓存情况进行处理,得到在当前小小区中各内容的缓存策略;其中,所述缓存策略包含:缓存和不缓存,所述基于强化学习算法构建的缓存策略模型是根据样本内容流行度特征矩阵、样本内容对应的内容缓存情况以及样本内容对应的动作向量训练得到的,所述样本内容对应的动作向量表示当前时刻各内容的缓存策略的真值;
缓存模块,用于基于所述当前小小区中各内容的缓存策略,对当前小小区中的内容进行缓存。
可选地,所述计算模块,包括:
第一计算子模块,用于针对所述多个小小区中所有内容中的每一内容,计算该内容在所述多个小小区中的请求次数,与所述所有内容在所述多个小小区中的请求次数的第一比值,并将所述第一比值作为该内容对应的第一内容流行度;
第一构成子模块,用于将所述每一内容对应的第一内容流行度,构成第一内容流行度特征向量;
第二计算子模块,用于针对所述多个小小区中所有内容中的每一内容,计算该内容在当前小小区中的请求次数,与所述所有内容在当前小小区中的请求次数的第二比值,并将所述第二比值作为该内容对应的第二内容流行度;
第二构成子模块,用于将所述每一内容对应的第二内容流行度,构成第二内容流行度特征向量;
第三构成子模块,用于将所述第一内容流行度特征向量与所述第二内容流行度特征向量,构成所述内容流行度特征矩阵。
第三方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一所述的一种基于强化学习的边缘缓存方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的一种基于强化学习的边缘缓存方法。
本发明实施例提供的一种基于强化学习的边缘缓存方法、装置及电子设备,综合考虑了一个小小区覆盖范围小,用户移动性强,多个小小区组成的密集小小区网络中用户请求内容在一段时间内稳定的情况,在对当前小小区中的内容进行缓存时,不仅考虑内容在当前小小区中的内容流行度,还考虑了内容在多个小小区中的内容流行度,然后,基于不同的内容流行度以及训练得到的基于强化学习算法构建的缓存策略模型,得到当前小小区中各内容的缓存策略,进而对当前小小区中的内容进行缓存,能够更好地满足用户的请求,减小用户获取内容的时延,进一步提高小小区对应边缘节点缓存内容的缓存命中率及缓存空间的利用率。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于强化学习的边缘缓存方法流程示意图;
图2为图1所示实施例中步骤S102的一种实施方式流程图;
图3为图1所示实施例中步骤S103的一种实施方式流程图;
图4为本发明实施例提供的一种缓存策略模型训练实施方式流程示意图;
图5为本发明实施例提供的一种参数更新示意图;
图6为本发明实施例提供的一种小小区缓存策略模型参数迁移示意图;
图7a为本发明实施例提供的第一种缓存场景下缓存收益仿真图;
图7b为本发明实施例提供的第二种缓存场景下缓存收益仿真图;
图7c为本发明实施例提供的第三种缓存场景下缓存收益仿真图;
图8a为本发明实施例提供的一种缓存命中率仿真图;
图8b为本发明实施例提供的另一种缓存命中率仿真图;
图9a为本发明实施例提供的一种缓存收益仿真图;
图9b为本发明实施例提供的另一种缓存收益仿真图;
图10为本发明实施例提供的一种基于强化学习的边缘缓存装置的结构示意图;
图11为本发明实施例提供的一种计算模块的结构示意图;
图12为本发明实施例提供的一种处理模块的结构示意图;
图13为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有对内容进行缓存的方法中,缓存的内容可能不是用户选择命中率高的内容,造成缓存空间在一定程度上的浪费的问题,本发明实施例提供了一种基于强化学习的边缘缓存方法,该方法包括:
获取预设时间段内多个小小区中所有内容的请求次数及当前小小区的内容缓存情况,其中,多个小小区包括当前小小区;
基于多个小小区中所有内容的请求次数,计算每一内容对应的第一内容流行度和第二内容流行度,得到内容流行度特征矩阵;其中,内容流行度特征矩阵包含:第一内容流行度特征向量以及第二内容流行度特征向量,第一内容流行度表示对应内容在多个小小区中的内容流行度,第二内容流行度表示对应内容在当前小小区中的内容流行度,第一内容流行度特征向量由各内容的第一内容流行度构成,第二内容流行度特征向量由各内容的第二内容流行度构成;
利用预先训练好的基于强化学习算法构建的缓存策略模型,对内容流行度特征矩阵及当前小小区的内容缓存情况进行处理,得到在当前小小区中各内容的缓存策略;其中,缓存策略包含:缓存和不缓存,基于强化学习算法构建的缓存策略模型是根据样本内容流行度特征矩阵、样本内容对应的内容缓存情况以及样本内容对应的动作向量训练得到的,样本内容对应的动作向量表示当前时刻各内容的缓存策略的真值;
基于当前小小区中各内容的缓存策略,对当前小小区中的内容进行缓存。
本发明实施例中,综合考虑了一个小小区覆盖范围小,用户移动性强,多个小小区组成的密集小小区网络中用户请求内容在一段时间内稳定的情况,在对当前小小区中的内容进行缓存时,不仅考虑内容在当前小小区中的内容流行度,还考虑了内容在多个小小区中的内容流行度,然后,基于不同的内容流行度以及训练得到的基于强化学习算法构建的缓存策略模型,得到当前小小区中各内容的缓存策略,进而对当前小小区中的内容进行缓存,能够更好地满足用户的请求,减小用户获取内容的时延,进一步提高小小区对应边缘节点缓存内容的缓存命中率及缓存空间的利用率。
下面进行具体说明,如图1所示,图1为本发明实施例提供的一种基于强化学习的边缘缓存方法流程示意图,该方法可以包括:
S101,获取预设时间段内多个小小区中所有内容的请求次数及当前小小区的内容缓存情况。
实际应用中,每一小小区中都包含一个基站,在用户需要请求内容时,用户向小小区基站发送内容请求,如果小小区基站中已缓存用户请求的内容,则基站直接将用户所请求的内容发送至用户,如果小小区基站中没有缓存用户所请求的内容,则将内容请求转发至核心网,核心网通过回程链路将用户请求的内容发送至基站,基站再将用户请求的内容发送至用户。
为了减轻回程链路的压力、降低用户请求内容获取的时延,以及考虑到实际中一个小小区覆盖范围小,用户移动性强,多个在物理位置上相邻的小小区组成的密集小小区网络中用户请求内容在一段时间内稳定的情况,在非业务高峰期时,对当前小小区基站中的内容进行缓存,可以获取预设时间段内多个小小区中所有内容的请求次数以及当前小小区的内容缓存情况。
其中,所有内容可以包括:多个小小区中已缓存的内容,以及多个小小区中记录的用户请求过但未缓存的内容,多个小小区包括当前小小区,当前小小区的内容缓存情况,即为所有内容在预设时间段内在当前小小区中是否缓存的情况。预设时间段可以是1个小时,2小时或一天等等。多个小小区中的每一小小区可以是当前小小区所在密集小小区网络中的小小区。当前小小区获取多个小小区中所有内容的请求次数的方式可以是:当前小小区基站向其他小小区基站发送获取内容请求的请求,进而获取到其他多个小小区中所有内容的请求次数;也可以是:当前小小区基站向核心网发送获取内容请求的请求,进而获取到其他多个小小区中所有内容的请求次数。
S102,基于多个小小区中所有内容的请求次数,计算每一内容对应的第一内容流行度和第二内容流行度,得到内容流行度特征矩阵。
其中,内容流行度特征矩阵可以包含:第一内容流行度特征向量以及第二内容流行度特征向量,第一内容流行度用于表示对应内容在多个小小区中的内容流行度,第二内容流行度用于表示对应内容在当前小小区中的内容流行度,第一内容流行度特征向量由各内容的第一内容流行度构成,第二内容流行度特征向量由各内容的第二内容流行度构成。
本发明实施例中,获取多个小小区中所有内容的请求次数后,可以知晓所有内容对应的内容总数量,且,每个小小区基站中能够缓存的内容数量也是已知的。
作为本发明实施例一种可选的实施方式,如图2所示,基于多个小小区中所有内容的请求次数,计算每一内容对应的第一内容流行度和第二内容流行度,进而得到内容流行度特征矩阵的实施方式,可以包括:
S1021,针对多个小小区中所有内容中的每一内容,计算该内容在多个小小区中的请求次数,与所有内容在多个小小区中的请求次数的第一比值,并将第一比值作为该内容对应的第一内容流行度。
本发明实施例中,将在预设时间段内每一内容被请求的概率,作为该内容对应的内容流行度。具体的,可以计算各内容在多个小小区中的请求次数,与所有内容在多个小小区中的请求次数的第一比值,将该第一比值作为对应内容的第一内容流行度,该第一内容流行度表示了对应内容在大范围内的流行特征。
S1022,将每一内容对应的第一内容流行度,构成第一内容流行度特征向量。
在计算得到每一内容对应的第一内容流行度后,将所有内容对应的第一内容流行度,放在一个向量中,构成第一内容流行度特征向量。示例性的,将预设时间段整体作为当前时刻t,所有内容对应的内容总数量为F,那么,计算得到的第一内容流行度特征向量可以表示为量pg(t),该向量的大小为F×1。
S1023,针对多个小小区中所有内容中的每一内容,计算该内容在当前小小区中的请求次数,与所有内容在当前小小区中的请求次数的第二比值,并将第二比值作为该内容对应的第二内容流行度。
本发明实施例中,将在预设时间段内每一内容被请求的概率,作为该内容对应的内容流行度。具体的,可以计算各内容在当前小小区中的请求次数,与所有内容在当前小小区中的请求次数的第二比值,将该第二比值作为对应内容的第二内容流行度,该第二内容流行度表示了对应内容在小范围内的流行特征。
S1024,将每一内容对应的第二内容流行度,构成第二内容流行度特征向量。
在计算得到每一内容对应的第二内容流行度后,将所有内容对应的第二内容流行度,放在一个向量中,构成第二内容流行度特征向量。示例性的,将预设时间段整体作为当前时刻t,所有内容对应的内容总数量为F,那么,计算得到的第二内容流行度特征向量可以表示为量pl(t),该向量的大小也为F×1。
S1025,将第一内容流行度特征向量与第二内容流行度特征向量,构成内容流行度特征矩阵。
本发明实施例中,得到第一内容流行度特征向量与第二内容流行度特征向量后,可以将第一内容流行度特征向量与第二内容流行度特征向量放在一个矩阵中,构成内容流行度特征矩阵。
参见图1,S103,利用预先训练好的基于强化学习算法构建的缓存策略模型,对内容流行度特征矩阵及当前小小区的内容缓存情况进行处理,得到在当前小小区中各内容的缓存策略。
其中,得到的在当前小小区中各内容的缓存策略可以包含:缓存和不缓存;基于强化学习算法构建的缓存策略模型是根据样本内容流行度特征矩阵、样本内容对应的内容缓存情况以及样本内容对应的动作向量训练得到的,样本内容对应的动作向量表示当前时刻各内容的缓存策略的真值。该当前时刻各内容的缓存策略真值可以为:获取样本内容对应的当前时刻各内容是否在当前小小区中进行缓存的动作真值,可以表示为缓存或不缓存,当缓存时,用户向当前小小区请求内容,当前小小区可以直接服务用户,而不用再向核心网下载用户所请求的内容。具体的,基于强化学习算法构建的缓存策略模型的训练过程在下文进行详细介绍。
作为本发明实施例一种可选的实施方式,如图3所示,利用预先训练好的基于强化学习算法构建的缓存策略模型,对内容流行度特征矩阵及当前小小区的内容缓存情况进行处理,得到在当前小小区中各内容的缓存策略的实施方式,可以包括:
S1031,根据当前小小区的内容缓存情况,确定所有内容对应的动作向量。
本发明实施例中,预先训练好的基于强化学习算法构建的缓存策略模型,是基于一段时间内样本内容流行度特征矩阵、样本内容对应的内容缓存情况以及样本内容对应的动作向量训练得到的,并且在针对该段时间内样本内容的请求和缓存情况,训练好缓存策略模型之后,会继续使用下一时间段内样本内容的请求情况对模型进行训练,即本申请中的缓存策略模型是在一直训练的。而当前小小区的内容缓存情况,表示了所有内容在预设时间段内在当前小小区中是否缓存的情况,考虑实际中多个在物理位置上相邻的小小区组成的密集小小区网络中用户请求内容在一段时间内稳定的情况,该当前小小区的内容缓存情况可以表示为:针对当前小小区在上述预设时间段之前的一个时间段内的样本内容数据,训练基于强化学习算法构建的缓存策略模型结束时得到的动作向量,将该动作向量确定为所有内容对应的动作向量。
作为本发明实施例一种可选的实施方式,本申请中缓存策略模型是基于强化学习算法构建的,模型在训练的过程中会进行学习,在初始情况下,将当前小小区的内容缓存情况也可以表示为,初始产生的一个随机动作向量,将该随机动作向量确定为所有内容对应的动作向量。
本发明实施例中,动作向量中包含的元素表示的动作可以是:缓存或不缓存,其中,表示缓存的元素数量受小小区基站中能够缓存的内容数量制约。示例性的,在预设时间段内所有内容对应的内容总数量为F,小小区基站中能够缓存的内容数量为M,M小于F,将预设时间段整体作为当前时刻t,所有内容对应的动作向量可以表示为a(t),该动作向量的大小也为F×1,动作的集合可以表示为Α={a|a∈{0,1}F,aT1=M},即F个动作中有M个动作为1,表示对内容进行缓存,F-M个动作为0,表示不对内容进行缓存。
S1032,将内容流行度特征矩阵与动作向量,构成多个小小区中所有内容对应的状态矩阵。
本发明实施例中,内容流行度特征矩阵是由第一内容流行度特征向量,与第二内容流行度特征向量构成的,第一内容流行度特征向量可以表示为量pg(t),大小为F×1,第二内容流行度特征向量可以表示为量pl(t),大小为F×1,所有内容对应的动作向量可以表示为a(t),大小为F×1,内容流行度特征向量与动作向量的大小相同,将内容流行度特征矩阵,与动作向量放在一个矩阵中,构成多个小小区中所有内容对应的状态矩阵。
S1033,将状态矩阵,输入预先训练好的基于强化学习算法构建的缓存策略模型中,得到在当前小小区中各内容的缓存策略。
本发明实施例中,动作向量中表示缓存的元素数量受小小区基站中能够缓存的内容数量制约,那么,可以理解的,将状态矩阵,输入预先训练好的基于强化学习算法构建的缓存策略模型中,得到的在当前小小区中各内容的缓存策略中,内容可以缓存的数量是和小小区基站中能够缓存的内容数量相吻合的。
参见图1,S104,基于当前小小区中各内容的缓存策略,对当前小小区中的内容进行缓存。
本发明实施例中,得到当前小小区中各内容的缓存策略,而该缓存策略中内容可以缓存的数量是和小小区基站中能够缓存的内容数量相吻合的,那么就可以直接根据各内容的缓存策略,对当前小小区中的内容进行缓存。
本发明实施例提供的一种基于强化学习的边缘缓存方法,综合考虑了一个小小区覆盖范围小,用户移动性强,多个小小区组成的密集小小区网络中用户请求内容在一段时间内稳定的情况,在对当前小小区中的内容进行缓存时,不仅考虑内容在当前小小区中的内容流行度,还考虑了内容在多个小小区中的内容流行度,然后,基于不同的内容流行度以及训练得到的基于强化学习算法构建的缓存策略模型,得到当前小小区中各内容的缓存策略,进而对当前小小区中的内容进行缓存,能够更好地满足用户的请求,减小用户获取内容的时延,进一步提高小小区对应边缘节点缓存内容的缓存命中率及缓存空间的利用率。
本发明实施例中,上述基于强化学习算法构建的缓存策略模型可以为:A3C(Asynchronous Advantage Actor-Critic,具有异步优势的行动者-评论家算法)模型,作为本发明实施例一种可选的实施方式,如图4所示,对该A3C模型进行训练的实施过程,可以包括:
S301,构建初始A3C模型。
本发明实施例中,所构建的初始A3C模型,可以由多个并行的工作者模块和全局网络模块构成。其中,工作者模块可以包括:策略网络子模块和评估网络子模块,策略网络子模块可以包括:第一激活函数层,第一全连接层;评估网络子模块可以包括:第二激活函数层,第二全连接层。
本发明实施例中,多个并行工作者模块之间独立进行训练,全局网络模块用于对工作者模块发送的策略网络子模块和评估网络子模块的参数进行存储,并将所接收的策略网络子模块和评估网络子模块的参数,及时下发至各工作者模块,本领域技术人员可根据实际需求设置工作者模块的个数。
S302,针对每一工作者模块,执行步骤303-步骤313。
本发明实施例中,工作者模块之间独立进行训练,针对每一工作者模块,可以执行以下操作。
S303,获取样本内容流行度特征矩阵,以及样本内容对应的动作向量。
本发明实施例中,样本内容对应的动作向量是根据样本内容对应的内容缓存情况确定的,具体的,获取样本内容流行度特征矩阵,以及样本内容对应的动作向量的确定过程,可参照上文得到内容流行度特征矩阵,以及确定所有内容对应的动作向量的过程实现,本发明实施例在此不再赘述。得到的样本内容对应的动作向量的维度和样本内容流行度特征矩阵中,第一、第二内容流行度特征向量的维度相同。
S304,将样本内容流行度特征矩阵,与样本内容对应的动作向量,构成样本内容对应的当前状态矩阵。
本发明实施例中,样本内容对应的动作向量的维度和样本内容流行度特征矩阵中,第一、第二内容流行度特征向量的维度相同,将样本内容流行度特征矩阵,与样本内容对应的动作向量放在一个矩阵中,构成样本内容对应的当前状态矩阵。
示例性的,当前状态矩阵可以表示为矩阵s(t),s(t)可以表示为s(t)=[pT g(t),pT l(t),aT(t)]T,其中,pg(t)表示第一内容流行度特征向量,是pg(t)的转置,pl(t)表示第二内容流行度特征向量,pT l(t)是pl(t)的转置,a(t)表示动作向量,aT(t)是a(t)的转置。
S305,基于样本内容对应的当前状态矩阵,使用预设表达式,计算当前状态矩阵中内容缓存情况的缓存收益。
本发明实施例中,可以使用如下表达式,基于样本内容对应的当前状态矩阵,计算当前状态矩阵中内容缓存情况的缓存收益:
B(t)=-c1,t(a(t),a(t-1))+r1,t(s(t))+r2,t(s(t)),
c1,t(a(t),a(t-1))=λ1aT(t)(1-a(t-1)),
r1,t(s(t))=μ1aT(t)pl(t),
r2,t(s(t))=μ2aT(t)pg(t);
其中,B(t)表示t时刻小小区内容缓存情况的总缓存收益,c1,t(a(t),a(t-1))表示t时刻小小区更新缓存内容的缓存费用,r1,t(s(t))表示t时刻小小区缓存内容和本地内容流行特征匹配的本地缓存内容匹配收益,r2,t(s(t))表示t时刻小小区缓存内容和多个小小区内容流行特征匹配的全局缓存内容匹配收益,a(t)表示t时刻小小区内容缓存的动作向量,a(t-1)表示t-1时刻小小区内容缓存的动作向量,s(t)表示t时刻小小区内容对应的状态矩阵,λ1表示缓存费用c1,t(a(t),a(t-1))在总缓存收益中的权重,μ1表示本地缓存内容匹配收益r1,t(s(t))在总缓存收益中的权重,pl(t)表示t时刻小小区的第二内容流行度特征向量,μ2表示全局缓存内容匹配收益r2,t(s(t))在总缓存收益中的权重,pg(t)表示t时刻小小区的第一内容流行度特征向量,aT(t)表示a(t)的转置。
S306,将当前状态矩阵,输入策略网络子模块中,得到下一时刻动作向量的概率分布值。
本发明实施例中,将当前状态矩阵,依次输入策略网络子模块中第一激活函数层和第一全连接层,得到下一时刻动作向量对应的概率分布值。示例性的,第一激活函数层中神经元节点的个数可以设置为200、300、或400等,第一全连接层中神经元节点的个数可以和可选的动作向量个数相同,即动作集合Α的大小|Α|,第一全连接层可以使用Softmax函数,对第一激活函数层输出的特征数据进行处理,得到当前状态矩阵影响下的下一时刻各个动作向量对应的概率分布值,该动作向量对应的概率分布值表示为:每一动作向量对应不同的概率值。
S307,将当前状态矩阵,输入评估网络子模块中,得到当前状态矩阵中动作向量的评估值。
本发明实施例中,将当前状态矩阵,依次输入评估网络子模块中第二激活函数层和第二全连接层,得到当前状态矩阵中动作向量对应的评估值。示例性的,第二激活函数层中神经元节点的个数可以设置为50、100、或150等,第二全连接层中神经元节点的个数可以设置为1个,第二全连接层对第二激活函数层输出的特征数据进行处理,得到当前状态矩阵中动作向量对应的评估值。
S308,基于当前状态矩阵中内容缓存情况的缓存收益,以及当前状态矩阵中动作向量的评估值,更新策略网络子模块和评估网络子模块的参数。
在计算得到当前状态矩阵中内容缓存情况的缓存收益,以及当前状态矩阵中动作向量的评估值后,使用缓存收益以及评估值,对策略网络子模块和评估网络子模块的参数进行更新。
示例性的,根据计算得到的缓存收益,可以计算动作状态价值方程,该动作状态价值方程可以表示为:
R=Bi+γBi+1+γ2Bi+2+…+γt-iR,i∈{t-1,t-2,…,t-N}
其中,R表示动作状态价值方程,Bi表示i时刻小小区的缓存收益,γ表示衰减系数,N表示动作状态价值方程通过反向衰减影响了当前时刻t之前的N个时刻。
进一步,可以使用如下表达式,对策略网络子模块和评估网络子模块的参数进行更新:
其中,θ表示全局网络模块中存储的策略网络子模块的参数,θv表示全局网络模块中存储的评估网络子模块的参数,θ'表示当前工作者模块中的策略网络子模块的参数,θv'表示当前工作者模块中的评估网络子模块的参数,π(ai|si;θ')表示i时刻当前工作者模块中的缓存策略,Vπ(s;θv')表示当前工作者模块中评估网络子模块输出的对缓存策略的价值评估值,Rπ(s,a)即为表示动作状态价值方程的R。
S309,根据下一时刻动作向量的概率分布值,以及预设的规则,更新当前状态矩阵中的动作向量,并更新当前状态矩阵。
在计算得到下一时刻动作向量对应的概率分布值后,将概率值最大的动作向量,确定为下一时刻的动作向量,并使用下一时刻的动作向量更新当前状态矩阵中的动作向量,进而更新当前状态矩阵。
S310,根据预设周期,将当前工作者模块中策略网络子模块和评估网络子模块的参数,发送至全局网络模块,以使全局网络模块对策略网络子模块和评估网络子模块的参数进行存储。
在当前工作者模块中策略网络子模块和评估网络子模块的参数更新后,可以判断当前迭代次数是否达到预设周期,如果当前迭代次数达到预设周期,则将当前工作者模块中策略网络子模块和评估网络子模块的参数,发送至全局网络模块,以使全局网络模块对策略网络子模块和评估网络子模块的参数进行存储,如果当前迭代次数没有达到预设周期,则不进行参数的发送。示例性的,预设周期可以设置为迭代10次,20次或30次等。
S311,接收全局网络模块下发的策略网络子模块和评估网络子模块的参数,并对当前工作者模块中的策略网络子模块和评估网络子模块的参数进行更新。
当当前工作者模块将策略网络子模块和评估网络子模块的参数,发送至全局网络模块后,全局网络模块对策略网络子模块和评估网络子模块的参数进行存储,同时,全局网络模块及时将最新的策略网络子模块和评估网络子模块的参数,下发至每一工作者模块。示例性的,可参见图5,从图5中可明确的知晓工作者模块与全局网络模块中策略网络子模块和评估网络子模块的参数更新和同步情况。
S312,判断当前迭代次数是否达到预设收敛条件。
S313,如果当前迭代次数达到预设收敛条件,则得到训练好的A3C模型。
本发明实施例中,可以判断当前迭代次数是否达到预设收敛条件,示例性的,该预设收敛条件可以为迭代次数达到5000次、10000次、或20000次等。如果当前迭代次数达到预设收敛条件,则A3C模型训练完成,得到训练好的A3C模型。如果当前迭代次数没有达到预设收敛条件,则返回执行步骤S305,继续进行模型的训练。
作为本发明实施例一种可选的实施方式,在图1所示实施例的基础上,本发明实施例提供的一种基于强化学习的边缘缓存方法,还可以包括:
当检测到有新的相邻的小小区加入密集小小区网络中时,将预先训练好的基于强化学习算法构建的缓存策略模型的参数,同步至新的小小区的基于强化学习算法构建的缓存策略模型中。
示例性的,如图6所示,当检测到有新的相邻的小小区加入密集小小区网络中时,可以在该新加入的小小区中建立基于强化学习算法构建的缓存策略模型,并将密集小小区网络中其他小小区中,预先训练好的基于强化学习算法构建的缓存策略模型的参数,同步至新的小小区的基于强化学习算法构建的缓存策略模型中,以节省新的小小区中缓存策略模型的训练时间,使得在较短的时间内就能够得到缓存策略。该新的相邻的小小区可以为:与密集小小区网络中小小区之间的物理距离在预设范围内的小小区,该预设范围例如可以是1公里,2公里或3公里等。
本发明实施例提供的一种基于强化学习的边缘缓存方法,在对当前小小区中的内容进行缓存时,不仅考虑内容在当前小小区中的内容流行度,还考虑了内容在多个小小区中的内容流行度,然后,基于不同的内容流行度以及训练得到的基于强化学习算法构建的缓存策略模型,得到当前小小区中各内容的缓存策略,进而对当前小小区中的内容进行缓存,能够更好地满足用户的请求,减小用户获取内容的时延,进一步提高小小区对应边缘节点缓存内容的缓存命中率及缓存空间的利用率。且,当有新的小小区加入到密集小小区网络中时,将预先训练好的基于强化学习算法构建的缓存策略模型的参数,同步至新的小小区的基于强化学习算法构建的缓存策略模型中,可以节省新的小小区中缓存策略模型的训练时间,使得新小小区在较短的时间内就能够得到较好的缓存策略。
示例性的,对本申请提供的基于强化学习的边缘缓存方法进行仿真,分别得到如图7a、图7b和图7c所示的不同缓存场景下的缓存收益仿真结果,如图8a和图8b所示的两种缓存命中率仿真结果,以及如图9a和图9b所示的两种缓存收益仿真结果。在仿真的过程中,将本申请中上述A3C模型中的工作者模块设置为8个,工作者模块将策略网络子模块和评估网络子模块的参数,发送至全局网络模块的预设周期设置为迭代10次,所有内容总数量F设置为10,小小区基站中能够缓存的内容数量M设置为2。设置三种缓存场景,分别为缓存场景S1、S2和S3,三种缓存场景中缓存收益相关权重(λ1,μ1,μ2)分别设置为(60,10,1000),(10,10,1000)以及(10,600,1000),仿真方案1为将本申请中的A3C模型改为Q学习模型,仿真方案2为将本申请中的A3C模型改为改进的Q学习模型,仿真方案3为将本申请方案中缓存动作选择方式改成随机选择动作的方式,最佳方案为在已知多个小小区和当前小小区的内容流行状态转移特征的情况下,每次选择使缓存收益最大的缓存动作对内容进行缓存。
从图7a、图7b和图7c中可以看出,本申请基于A3C模型的缓存方案的收敛速度,明显快于仿真方案1和仿真方案2。而且和最佳方案所得的缓存收益对比来看,本申请基于A3C模型的缓存方案得到的缓存收益最终更趋近于最佳方案的缓存收益。
在图8a和图8b中,将缓存命中率根据范围的不同,分为大范围(即全局,也就是密集小小区网络)的缓存命中率和小范围(即当前小小区,或本地)的缓存命中率,可以看出,无论是大范围还是小范围,相较于仿真方案1和仿真方案2,本申请基于A3C模型的缓存方案能够以较快的速度收敛于稍高的缓存命中率。而与仿真方案3相比,本申请基于强化学习的边缘缓存方案能够收敛得到显著提升缓存命中率的效果。
在图9a和图9b中,仿真方案以及本申请方案的参数迁移,是指将小小区中训练好的缓存模型参数迁移至新加入的小小区模型中。迁移能力表现为不同缓存方案将模型参数迁移到新小小区时基站的缓存收益情况。由图9a和图9b可以看出,仿真方案1在迁移后基站的缓存收益表现不如迁移前,而本申请基于A3C模型的边缘缓存方案在迁移后获得了更快的收敛速度。
相应于上述方法实施例,本发明实施例提供了一种基于强化学习的边缘缓存装置,如图10所示,所述装置可以包括:
获取模块401,用于获取预设时间段内多个小小区中所有内容的请求次数及当前小小区的内容缓存情况,其中,多个小小区包括当前小小区。
计算模块402,用于基于多个小小区中所有内容的请求次数,计算每一内容对应的第一内容流行度和第二内容流行度,得到内容流行度特征矩阵;其中,内容流行度特征矩阵包含:第一内容流行度特征向量以及第二内容流行度特征向量,第一内容流行度表示对应内容在多个小小区中的内容流行度,第二内容流行度表示对应内容在当前小小区中的内容流行度,第一内容流行度特征向量由各内容的第一内容流行度构成,第二内容流行度特征向量由各内容的第二内容流行度构成。
处理模块403,用于利用预先训练好的基于强化学习算法构建的缓存策略模型,对内容流行度特征矩阵及当前小小区的内容缓存情况进行处理,得到在当前小小区中各内容的缓存策略;其中,缓存策略包含:缓存和不缓存,基于强化学习算法构建的缓存策略模型是根据样本内容流行度特征矩阵、样本内容对应的内容缓存情况以及样本内容对应的动作向量训练得到的,样本内容对应的动作向量表示当前时刻各内容的缓存策略的真值。
缓存模块404,用于基于当前小小区中各内容的缓存策略,对当前小小区中的内容进行缓存。
本发明实施例提供的一种基于强化学习的边缘缓存装置,综合考虑了一个小小区覆盖范围小,用户移动性强,多个小小区组成的密集小小区网络中用户请求内容在一段时间内稳定的情况,在对当前小小区中的内容进行缓存时,不仅考虑内容在当前小小区中的内容流行度,还考虑了内容在多个小小区中的内容流行度,然后,基于不同的内容流行度以及训练得到的基于强化学习算法构建的缓存策略模型,得到当前小小区中各内容的缓存策略,进而对当前小小区中的内容进行缓存,能够更好地满足用户的请求,减小用户获取内容的时延,进一步提高小小区对应边缘节点缓存内容的缓存命中率及缓存空间的利用率。
可选地,如图11所示,上述计算模块,可以包括:
第一计算子模块501,用于针对多个小小区中所有内容中的每一内容,计算该内容在多个小小区中的请求次数,与所有内容在多个小小区中的请求次数的第一比值,并将第一比值作为该内容对应的第一内容流行度。
第一构成子模块502,用于将每一内容对应的第一内容流行度,构成第一内容流行度特征向量。
第二计算子模块503,用于针对多个小小区中所有内容中的每一内容,计算该内容在当前小小区中的请求次数,与所有内容在当前小小区中的请求次数的第二比值,并将第二比值作为该内容对应的第二内容流行度。
第二构成子模块504,用于将每一内容对应的第二内容流行度,构成第二内容流行度特征向量。
第三构成子模块505,用于将第一内容流行度特征向量与第二内容流行度特征向量,构成内容流行度特征矩阵。
可选地,如图12所示,上述处理模块,可以包括:
确定子模块601,用于根据当前小小区的内容缓存情况,确定所有内容对应的动作向量。
第四构成子模块602,用于将内容流行度特征矩阵与动作向量,构成多个小小区中所有内容对应的状态矩阵。
处理子模块603,用于将状态矩阵,输入预先训练好的基于强化学习算法构建的缓存策略模型中,得到在当前小小区中各内容的缓存策略。
可选地,上述装置还可以包括:
构建模块,用于构建初始A3C模型,初始A3C模型,由多个并行的工作者模块和全局网络模块构成;其中,工作者模块包括:策略网络子模块和评估网络子模块。
针对每一工作者模块,执行以下步骤:
步骤S1,获取样本内容流行度特征矩阵,以及样本内容对应的动作向量,样本内容对应的动作向量是根据样本内容对应的内容缓存情况确定的。
步骤S2,将样本内容流行度特征矩阵,与样本内容对应的动作向量,构成样本内容对应的当前状态矩阵。
步骤S3,基于样本内容对应的当前状态矩阵,使用预设表达式,计算当前状态矩阵中内容缓存情况的缓存收益。
步骤S4,将当前状态矩阵,输入策略网络子模块中,得到下一时刻动作向量的概率分布值。
步骤S5,将当前状态矩阵,输入评估网络子模块中,得到当前状态矩阵中动作向量的评估值。
步骤S6,基于当前状态矩阵中内容缓存情况的缓存收益,以及当前状态矩阵中动作向量的评估值,更新策略网络子模块和评估网络子模块的参数。
步骤S7,根据下一时刻动作向量的概率分布值,以及预设的规则,更新当前状态矩阵中的动作向量,并更新当前状态矩阵。
步骤S8,根据预设周期,将当前工作者模块中策略网络子模块和评估网络子模块的参数,发送至全局网络模块,以使全局网络模块对策略网络子模块和评估网络子模块的参数进行存储。
步骤S9,接收全局网络模块下发的策略网络子模块和评估网络子模块的参数,并对当前工作者模块中的策略网络子模块和评估网络子模块的参数进行更新。
步骤S10,判断当前迭代次数是否达到预设收敛条件。
步骤S11,如果当前迭代次数达到预设收敛条件,则得到训练好的A3C模型。
步骤S12,如果当前迭代次数没有达到预设收敛条件,则返回执行步骤S3。
可选地,上述步骤S3,具体用于:使用如下表达式,计算当前状态矩阵中内容缓存情况的缓存收益:
B(t)=-c1,t(a(t),a(t-1))+r1,t(s(t))+r2,t(s(t)),
c1,t(a(t),a(t-1))=λ1aT(t)(1-a(t-1)),
r1,t(s(t))=μ1aT(t)pl(t),
r2,t(s(t))=μ2aT(t)pg(t);
其中,B(t)表示t时刻小小区内容缓存情况的总缓存收益,c1,t(a(t),a(t-1))表示t时刻小小区更新缓存内容的缓存费用,r1,t(s(t))表示t时刻小小区缓存内容和本地内容流行特征匹配的本地缓存内容匹配收益,r2,t(s(t))表示t时刻小小区缓存内容和多个小小区内容流行特征匹配的全局缓存内容匹配收益,a(t)表示t时刻小小区内容缓存的动作向量,a(t-1)表示t-1时刻小小区内容缓存的动作向量,s(t)表示t时刻小小区内容对应的状态矩阵,λ1表示缓存费用c1,t(a(t),a(t-1))在总缓存收益中的权重,μ1表示本地缓存内容匹配收益r1,t(s(t))在总缓存收益中的权重,pl(t)表示t时刻小小区的第二内容流行度特征向量,μ2表示全局缓存内容匹配收益r2,t(s(t))在总缓存收益中的权重,pg(t)表示t时刻小小区的第一内容流行度特征向量,aT(t)表示a(t)的转置。
可选地,上述装置还可以包括:
同步模块,用于当检测到有新的相邻的小小区加入密集小小区网络中时,将预先训练好的基于强化学习算法构建的缓存策略模型的参数,同步至新的小小区的基于强化学习算法构建的缓存策略模型中。
本发明实施例还提供了一种电子设备,如图13所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现本发明实施例所提供的一种基于强化学习的边缘缓存方法的步骤。
本发明实施例提供的一种电子设备,在对当前小小区中的内容进行缓存时,不仅考虑内容在当前小小区中的内容流行度,还考虑了内容在多个小小区中的内容流行度,然后,基于不同的内容流行度以及训练得到的基于强化学习算法构建的缓存策略模型,得到当前小小区中各内容的缓存策略,进而对当前小小区中的内容进行缓存,能够更好地满足用户的请求,减小用户获取内容的时延,进一步提高小小区对应边缘节点缓存内容的缓存命中率及缓存空间的利用率。
上述电子设备提到的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一一种基于强化学习的边缘缓存方法方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、DSL(Digital Subscriber Line,数字用户线))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD(Digital Versatile Disc,数字多功能光盘))、或者半导体介质(例如SSD(Solid StateDisk,固态硬盘))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种基于强化学习的边缘缓存方法,其特征在于,所述方法包括:
获取预设时间段内多个小小区中所有内容的请求次数及当前小小区的内容缓存情况,其中,所述多个小小区包括当前小小区;
基于所述多个小小区中所有内容的请求次数,计算每一内容对应的第一内容流行度和第二内容流行度,得到内容流行度特征矩阵;其中,所述内容流行度特征矩阵包含:第一内容流行度特征向量以及第二内容流行度特征向量,所述第一内容流行度表示对应内容在所述多个小小区中的内容流行度,所述第二内容流行度表示对应内容在当前小小区中的内容流行度,所述第一内容流行度特征向量由各内容的第一内容流行度构成,所述第二内容流行度特征向量由各内容的第二内容流行度构成;
根据所述当前小小区的内容缓存情况,确定所述所有内容对应的动作向量;将所述内容流行度特征矩阵与所述动作向量,构成所述多个小小区中所有内容对应的状态矩阵;将所述状态矩阵,输入预先训练好的基于强化学习算法构建的缓存策略模型中,得到在当前小小区中各内容的缓存策略;其中,所述缓存策略包含:缓存和不缓存,所述基于强化学习算法构建的缓存策略模型是根据样本内容流行度特征矩阵、样本内容对应的内容缓存情况以及样本内容对应的动作向量训练得到的,所述样本内容对应的动作向量表示当前时刻各内容的缓存策略的真值;所述基于强化学习算法构建的缓存策略模型为,具有异步优势的行动者-评论家算法A3C模型,所述A3C模型的训练过程,包括:构建初始A3C模型,所述初始A3C模型,由多个并行的工作者模块和全局网络模块构成;其中,所述工作者模块包括:策略网络子模块和评估网络子模块;针对每一工作者模块,执行以下步骤:步骤S1,获取样本内容流行度特征矩阵,以及样本内容对应的动作向量,所述样本内容对应的动作向量是根据所述样本内容对应的内容缓存情况确定的;步骤S2,将所述样本内容流行度特征矩阵,与所述样本内容对应的动作向量,构成所述样本内容对应的当前状态矩阵;步骤S3,基于所述样本内容对应的当前状态矩阵,使用预设表达式,计算当前状态矩阵中内容缓存情况的缓存收益;步骤S4,将所述当前状态矩阵,输入所述策略网络子模块中,得到下一时刻动作向量的概率分布值;步骤S5,将所述当前状态矩阵,输入所述评估网络子模块中,得到所述当前状态矩阵中动作向量的评估值;步骤S6,基于所述当前状态矩阵中内容缓存情况的缓存收益,以及所述当前状态矩阵中动作向量的评估值,更新所述策略网络子模块和所述评估网络子模块的参数;步骤S7,根据所述下一时刻动作向量的概率分布值,以及预设的规则,更新所述当前状态矩阵中的动作向量,并更新所述当前状态矩阵;步骤S8,根据预设周期,将当前工作者模块中所述策略网络子模块和所述评估网络子模块的参数,发送至所述全局网络模块,以使所述全局网络模块对所述策略网络子模块和所述评估网络子模块的参数进行存储;步骤S9,接收所述全局网络模块下发的所述策略网络子模块和所述评估网络子模块的参数,并对当前工作者模块中的所述策略网络子模块和所述评估网络子模块的参数进行更新;步骤S10,判断当前迭代次数是否达到预设收敛条件;步骤S11,如果所述当前迭代次数达到预设收敛条件,则得到训练好的A3C模型;步骤S12,如果所述当前迭代次数没有达到预设收敛条件,则返回执行步骤S3;
基于所述当前小小区中各内容的缓存策略,对当前小小区中的内容进行缓存。
2.根据权利要求1所述的方法,其特征在于,所述基于所述多个小小区中所有内容的请求次数,计算每一内容对应的第一内容流行度和第二内容流行度,得到内容流行度特征矩阵的步骤,包括:
针对所述多个小小区中所有内容中的每一内容,计算该内容在所述多个小小区中的请求次数,与所述所有内容在所述多个小小区中的请求次数的第一比值,并将所述第一比值作为该内容对应的第一内容流行度;
将所述每一内容对应的第一内容流行度,构成第一内容流行度特征向量;
针对所述多个小小区中所有内容中的每一内容,计算该内容在当前小小区中的请求次数,与所述所有内容在当前小小区中的请求次数的第二比值,并将所述第二比值作为该内容对应的第二内容流行度;
将所述每一内容对应的第二内容流行度,构成第二内容流行度特征向量;
将所述第一内容流行度特征向量与所述第二内容流行度特征向量,构成所述内容流行度特征矩阵。
3.根据权利要求1所述的方法,其特征在于,所述基于所述样本内容对应的当前状态矩阵,使用预设表达式,计算当前状态矩阵中内容缓存情况的缓存收益的步骤,包括:
使用如下表达式,计算所述当前状态矩阵中内容缓存情况的缓存收益:
B(t)=-c1,t(a(t),a(t-1))+r1,t(s(t))+r2,t(s(t)),
c1,t(a(t),a(t-1))=λ1aT(t)(1-a(t-1)),
r1,t(s(t))=μ1aT(t)pl(t),
r2,t(s(t))=μ2aT(t)pg(t);
其中,B(t)表示t时刻小小区内容缓存情况的总缓存收益,c1,t(a(t),a(t-1))表示t时刻小小区更新缓存内容的缓存费用,r1,t(s(t))表示t时刻小小区缓存内容和本地内容流行特征匹配的本地缓存内容匹配收益,r2,t(s(t))表示t时刻小小区缓存内容和多个小小区内容流行特征匹配的全局缓存内容匹配收益,a(t)表示t时刻小小区内容缓存的动作向量,a(t-1)表示t-1时刻小小区内容缓存的动作向量,s(t)表示t时刻小小区内容对应的状态矩阵,λ1表示缓存费用c1,t(a(t),a(t-1))在总缓存收益中的权重,μ1表示本地缓存内容匹配收益r1,t(s(t))在总缓存收益中的权重,pl(t)表示t时刻小小区的第二内容流行度特征向量,μ2表示全局缓存内容匹配收益r2,t(s(t))在总缓存收益中的权重,pg(t)表示t时刻小小区的第一内容流行度特征向量,aT(t)表示a(t)的转置。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当检测到有新的相邻的小小区加入密集小小区网络中时,将所述预先训练好的基于强化学习算法构建的缓存策略模型的参数,同步至所述新的小小区的基于强化学习算法构建的缓存策略模型中。
5.一种基于强化学习的边缘缓存装置,其特征在于,所述装置包括:
获取模块,用于获取预设时间段内多个小小区中所有内容的请求次数及当前小小区的内容缓存情况,其中,所述多个小小区包括当前小小区;
计算模块,用于基于所述多个小小区中所有内容的请求次数,计算每一内容对应的第一内容流行度和第二内容流行度,得到内容流行度特征矩阵;其中,所述内容流行度特征矩阵包含:第一内容流行度特征向量以及第二内容流行度特征向量,所述第一内容流行度表示对应内容在所述多个小小区中的内容流行度,所述第二内容流行度表示对应内容在当前小小区中的内容流行度,所述第一内容流行度特征向量由各内容的第一内容流行度构成,所述第二内容流行度特征向量由各内容的第二内容流行度构成;
处理模块,用于根据所述当前小小区的内容缓存情况,确定所述所有内容对应的动作向量;将所述内容流行度特征矩阵与所述动作向量,构成所述多个小小区中所有内容对应的状态矩阵;将所述状态矩阵,输入预先训练好的基于强化学习算法构建的缓存策略模型中,得到在当前小小区中各内容的缓存策略;其中,所述缓存策略包含:缓存和不缓存,所述基于强化学习算法构建的缓存策略模型是根据样本内容流行度特征矩阵、样本内容对应的内容缓存情况以及样本内容对应的动作向量训练得到的,所述样本内容对应的动作向量表示当前时刻各内容的缓存策略的真值;所述基于强化学习算法构建的缓存策略模型为,具有异步优势的行动者-评论家算法A3C模型,所述装置还包括:构建模块,用于构建初始A3C模型,所述初始A3C模型,由多个并行的工作者模块和全局网络模块构成;其中,所述工作者模块包括:策略网络子模块和评估网络子模块;针对每一工作者模块,执行以下步骤:步骤S1,获取样本内容流行度特征矩阵,以及样本内容对应的动作向量,所述样本内容对应的动作向量是根据所述样本内容对应的内容缓存情况确定的;步骤S2,将所述样本内容流行度特征矩阵,与所述样本内容对应的动作向量,构成所述样本内容对应的当前状态矩阵;步骤S3,基于所述样本内容对应的当前状态矩阵,使用预设表达式,计算当前状态矩阵中内容缓存情况的缓存收益;步骤S4,将所述当前状态矩阵,输入所述策略网络子模块中,得到下一时刻动作向量的概率分布值;步骤S5,将所述当前状态矩阵,输入所述评估网络子模块中,得到所述当前状态矩阵中动作向量的评估值;步骤S6,基于所述当前状态矩阵中内容缓存情况的缓存收益,以及所述当前状态矩阵中动作向量的评估值,更新所述策略网络子模块和所述评估网络子模块的参数;步骤S7,根据所述下一时刻动作向量的概率分布值,以及预设的规则,更新所述当前状态矩阵中的动作向量,并更新所述当前状态矩阵;步骤S8,根据预设周期,将当前工作者模块中所述策略网络子模块和所述评估网络子模块的参数,发送至所述全局网络模块,以使所述全局网络模块对所述策略网络子模块和所述评估网络子模块的参数进行存储;步骤S9,接收所述全局网络模块下发的所述策略网络子模块和所述评估网络子模块的参数,并对当前工作者模块中的所述策略网络子模块和所述评估网络子模块的参数进行更新;步骤S10,判断当前迭代次数是否达到预设收敛条件;步骤S11,如果所述当前迭代次数达到预设收敛条件,则得到训练好的A3C模型;步骤S12,如果所述当前迭代次数没有达到预设收敛条件,则返回执行步骤S3;
缓存模块,用于基于所述当前小小区中各内容的缓存策略,对当前小小区中的内容进行缓存。
6.根据权利要求5所述的装置,其特征在于,所述计算模块,包括:
第一计算子模块,用于针对所述多个小小区中所有内容中的每一内容,计算该内容在所述多个小小区中的请求次数,与所述所有内容在所述多个小小区中的请求次数的第一比值,并将所述第一比值作为该内容对应的第一内容流行度;
第一构成子模块,用于将所述每一内容对应的第一内容流行度,构成第一内容流行度特征向量;
第二计算子模块,用于针对所述多个小小区中所有内容中的每一内容,计算该内容在当前小小区中的请求次数,与所述所有内容在当前小小区中的请求次数的第二比值,并将所述第二比值作为该内容对应的第二内容流行度;
第二构成子模块,用于将所述每一内容对应的第二内容流行度,构成第二内容流行度特征向量;
第三构成子模块,用于将所述第一内容流行度特征向量与所述第二内容流行度特征向量,构成所述内容流行度特征矩阵。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010238321.0A CN111465057B (zh) | 2020-03-30 | 2020-03-30 | 一种基于强化学习的边缘缓存方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010238321.0A CN111465057B (zh) | 2020-03-30 | 2020-03-30 | 一种基于强化学习的边缘缓存方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111465057A CN111465057A (zh) | 2020-07-28 |
CN111465057B true CN111465057B (zh) | 2021-06-04 |
Family
ID=71682415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010238321.0A Active CN111465057B (zh) | 2020-03-30 | 2020-03-30 | 一种基于强化学习的边缘缓存方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111465057B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113114762B (zh) * | 2021-04-12 | 2022-06-03 | 北京邮电大学 | 一种数据缓存方法及系统 |
CN113395333B (zh) * | 2021-05-31 | 2022-03-25 | 电子科技大学 | 基于智能体深度增强学习的多边缘基站联合缓存替换方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016025827A1 (en) * | 2014-08-15 | 2016-02-18 | Interdigital Patent Holdings, Inc. | Edge caching of https content via certificate delegation |
CN107889160A (zh) * | 2017-11-15 | 2018-04-06 | 北京邮电大学 | 一种考虑用户时延的小小区网络边缘部分缓存方法 |
CN109413694A (zh) * | 2018-09-10 | 2019-03-01 | 北京邮电大学 | 一种基于内容流行度预测的小小区缓存方法及装置 |
CN109995851A (zh) * | 2019-03-05 | 2019-07-09 | 东南大学 | 基于深度学习的内容流行度预测及边缘缓存方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2494472A (en) * | 2011-09-12 | 2013-03-13 | Intellectual Ventures Holding 81 Llc | Caching of content in a mobile communications network |
US9467369B2 (en) * | 2013-08-02 | 2016-10-11 | Time Warner Cable Enterprises Llc | Packetized content delivery apparatus and methods |
CN104253855B (zh) * | 2014-08-07 | 2018-04-24 | 哈尔滨工程大学 | 一种面向内容中心网络中基于内容分类的类别流行度缓存替换方法 |
US10936966B2 (en) * | 2016-02-23 | 2021-03-02 | At&T Intellectual Property I, L.P. | Agent for learning and optimization execution |
CN109981723B (zh) * | 2019-01-23 | 2021-11-09 | 桂林电子科技大学 | 基于深度强化学习的文件缓存处理系统及方法、通信系统 |
-
2020
- 2020-03-30 CN CN202010238321.0A patent/CN111465057B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016025827A1 (en) * | 2014-08-15 | 2016-02-18 | Interdigital Patent Holdings, Inc. | Edge caching of https content via certificate delegation |
CN107889160A (zh) * | 2017-11-15 | 2018-04-06 | 北京邮电大学 | 一种考虑用户时延的小小区网络边缘部分缓存方法 |
CN109413694A (zh) * | 2018-09-10 | 2019-03-01 | 北京邮电大学 | 一种基于内容流行度预测的小小区缓存方法及装置 |
CN109995851A (zh) * | 2019-03-05 | 2019-07-09 | 东南大学 | 基于深度学习的内容流行度预测及边缘缓存方法 |
Non-Patent Citations (3)
Title |
---|
Joint User Scheduling and Content Caching Strategy for Mobile Edge Networks Using Deep Reinforcement Learning;Y.Wei 等;《2018 IEEE International Conference on Communications Workshops (ICC Workshops)》;20180524;全文 * |
Optimal and Scalable Caching for 5G Using Reinforcement Learning of Space-Time Popularities;A.Sadeghi 等;《IEEE Journal of Selected Topics in Signal Processing,vol.12,no.1,Feb.2018》;20171229;全文 * |
基于实测数据集预测用户请求行为对主动边缘缓存的影响;戚凯强 等;《信号处理》;20190430;第35卷(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111465057A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhong et al. | A deep reinforcement learning-based framework for content caching | |
CN114116198A (zh) | 一种移动车辆的异步联邦学习方法、系统、设备及终端 | |
CN112422644B (zh) | 计算任务卸载方法及系统、电子设备和存储介质 | |
CN111465057B (zh) | 一种基于强化学习的边缘缓存方法、装置及电子设备 | |
CN112218337A (zh) | 一种移动边缘计算中的缓存策略决策方法 | |
CN109787699B (zh) | 一种基于混合深度模型的无线传感器网络路由链路状态预测方法 | |
CN114553963B (zh) | 移动边缘计算中基于深度神经网络的多边缘节点协作缓存方法 | |
CN113422812B (zh) | 一种服务链部署方法及装置 | |
CN110933609A (zh) | 一种基于动态环境感知的服务迁移方法以及装置 | |
CN114528987A (zh) | 一种神经网络边缘-云协同计算分割部署方法 | |
Chua et al. | Resource allocation for mobile metaverse with the Internet of Vehicles over 6G wireless communications: A deep reinforcement learning approach | |
CN115314944A (zh) | 基于移动车辆社会关系感知的车联网协作缓存方法 | |
CN110912999A (zh) | 一种基于马尔可夫决策的服务迁移方法以及装置 | |
Dai et al. | Proactive caching over cloud radio access network with user mobility and video segment popularity awared | |
CN113114762B (zh) | 一种数据缓存方法及系统 | |
CN111770152B (zh) | 一种边缘数据管理方法、介质、边缘服务器和系统 | |
CN108512765B (zh) | 一种基于网络节点分布式Pagerank的网络内容扩散方法 | |
CN112911614A (zh) | 基于动态请求d2d网络中的协作编码缓存方法 | |
CN113573365B (zh) | 一种基于马尔科夫转移概率的车联网边缘缓存方法 | |
CN110995828A (zh) | 一种网络资源缓存方法、装置及系统 | |
CN113543065B (zh) | 一种基于强化学习的通信资源分配方法及其相关设备 | |
CN113411862B (zh) | 一种动态蜂窝网络中的缓存放置和用户接入方法及装置 | |
CN111970717B (zh) | 基于雾无线接入网中内容缓存和用户-基站关联的方法 | |
CN109982389B (zh) | 一种基于多目标多臂赌博机在线学习的无线缓存方法 | |
Li et al. | A proactive mobile edge cache policy based on the prediction by partial matching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |