一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于深度循环强化学习的网络边缘缓存方法、装置及设备与流程

2022-02-22 18:14:02 来源:中国专利 TAG:


1.本发明涉及边缘计算和深度学习技术,尤其涉及一种基于深度循环强化学习的网络边缘缓存方法、装置及设备。


背景技术:

2.随着第五代移动通信技术(5th generation mobile communication technology,简称:5g)的发展,互联网接入设备和网络流量日益增多,边缘服务器通过边缘缓存提供计算和缓存服务,可以有效减缓回程链路的拥塞和延迟。
3.现有技术中,边缘缓存是通过采集系统信息,使用最近最少使用(least recently used,简称:lru)算法进行缓存动作选择,即选择将上一时隙用户访问内容与边缘缓存服务器中最近最少使用的缓存内容进行替换的缓存动作,边缘服务器根据缓存动作执行缓存替换操作。若内容流行度发生变化,则边缘服务器中的缓存内容会与用户想要访问的内容有较大差别。
4.综上所述,现有的边缘缓存方法使用的lru算法是一种静态方法,采用的是上一时隙用户访问内容进行缓存替换的,当内容流行度发生变化时,目前采用的边缘缓存方法使用的边缘服务器中的缓存内容仍是之前用户的访问内容,与用户想要访问的内容不同,之后边缘缓存服务器只能从相邻服务器或者云数据中心获取内容进行缓存替换,再将内容发送给用户,导致缓存准确率较低,缓存超时存储成本较高,缓存替换成本较高。


技术实现要素:

5.本发明实施例提供一种基于深度循环强化学习的网络边缘缓存方法、装置及设备,用于解决现有技术中缓存准确率较低,缓存超时存储成本较高,缓存替换成本较高的问题。
6.第一方面,本发明实施例提供一种基于深度循环强化学习的网络边缘缓存方法,应用于边缘服务器,所述方法包括:
7.采集获取当前时隙之前的连续多个时隙的系统状态信息,每个时隙对应的系统状态信息包括所述时隙的内容流行度和所述边缘服务器缓存的内容;
8.将所述多个时隙的系统状态信息输入深度循环神经网络中进行缓存动作选择处理,得到目标缓存动作;其中,所述深度循环神经网络是预先训练的用于根据多个连续时隙的系统状态信息确定缓存动作的计算模型;
9.根据所述目标缓存动作执行缓存替换操作。
10.在一种具体的实施方式中,所述采集获取当前时隙之前的连续多个时隙的系统状态信息之前,所述方法还包括:
11.从重放缓冲池中获取预设数量的训练数据,所述重放缓冲池中包括预先获取的多组训练数据,每组训练数据中包括一时隙之前采集的多个连续时隙的系统状态信息,边缘服务器执行的缓存动作,所述缓存动作对应的奖励值以及所述时隙的下一个时隙系统状
态;
12.根据所述预设数量的训练数据以及初始神经网络进行模型训练直至损失值小于预设阈值,得到所述深度循环神经网络。
13.在一种具体的实施方式中,从重放缓冲池中获取预设数量的训练数据之前,所述方法还包括:
14.针对多个采集时隙中的每个时隙,采集所述时隙之前多个连续时隙的系统状态信息;
15.随机选择一个随机数,若所述随机数大于预设的初始选择因子,则根据所述多个连续时隙的系统状态信息和初始神经网络选择一个缓存动作;
16.执行所述缓存动作,获取对应的奖励值和所述时隙的下一个时隙的系统状态;
17.将所述时隙之前多个连续时隙的系统状态信息,执行的所述缓存动作,所述奖励值,所述时隙的下一个时隙的系统状态作为一组训练数据放入所述重放缓冲池。
18.在一种具体的实施方式中,所述根据所述预设数量的训练数据以及初始神经网络进行模型训练直至损失值小于预设阈值,得到所述深度循环神经网络,包括:
19.根据所述预设数量的训练数据,q网络和固定q网络计算得到损失值;
20.若损失值大于或等于所述预设阈值,则根据所述奖励值更新所述q网络的权重,并在所述q网络的权重更新次数达到预设次数后更新所述固定q网络的权重;
21.根据更新后的q网络的权重,对所述初始神经网络模型进行训练,得到训练后的神经网络;
22.重新从所述重放缓冲池中获取预设数量的训练数据,根据新获取的预设数量的训练数据,更新后的q网络,更新后的固定q网络计算新的损失值,若新的损失值小于预设阈值,则得到深度循环神经网络,若新的损失值不小于预设阈值,则根据新的奖励值更新q网络的权重,并在所述q网络的权重更新次数达到预设次数后更新固定q网络的权重,再根据更新后的q网络的权重再次进行神经网络训练,重复本步骤直至所述损失值小于所述预设阈值,得到深度循环神经网络。
23.在一种具体的实施方式中,所述根据更新后的q网络的权重,对所述初始神经网络模型进行训练,得到训练后的神经网络之后,所述方法还包括:
24.判断所述选择因子是否大于预设的选择因子最小值;
25.若所述选择因子大于所述选择因子最小值,则对所述选择因子乘以预设系数,得到新的选择因子,所述预设系数大于0且小于1。
26.在一种具体的实施方式中,所述执行所述缓存动作,获取对应的奖励值,包括:
27.检测确定所述边缘服务器的缓存内容中是否包含用户访问到的缓存内容信息;
28.所述边缘服务器的缓存内容中包含所述缓存内容信息,则获取第一奖励值;
29.若所述边缘服务器的缓存内容中不包含所述缓存内容信息,且与所述边缘服务器相邻的服务器的缓存内容中包含所述缓存内容信息,则获取第二奖励值;
30.若所述边缘服务器的缓存内容中不包含所述缓存内容信息,且与所述边缘服务器相邻的服务器的缓存内容中也不包含所述缓存内容信息,则获取第三奖励值;
31.若所述边缘服务器在所述时隙缓存内容中除所述缓存内容信息外的内容与在所述前一个时隙时缓存内容除所述前一时隙内用户访问到的缓存内容信息之外的内容有共
同的缓存内容,则获取所述时隙对应的超时存储损失;
32.若所述边缘服务器在所述时隙执行缓存替换,则获取缓存替换损失;
33.根据所述第一奖励值、所述第二奖励值,所述第三奖励值,所述超时存储损失、所述缓存替换损失计算得到所述奖励值。
34.第二方面,本发明实施例提供一种基于深度循环强化学习的网络边缘缓存装置,包括:
35.获取模块,用于采集获取当前时隙之前的连续多个时隙的系统状态信息,每个时隙对应的系统状态信息包括所述时隙的内容流行度和所述边缘服务器缓存的内容;
36.第一处理模块,用于将所述多个时隙的系统状态信息输入深度循环神经网络中进行缓存动作选择处理,得到目标缓存动作;其中,所述深度循环神经网络是预先训练的用于根据多个连续时隙的系统状态信息确定缓存动作的计算模型;
37.第二处理模块,用于根据所述目标缓存动作执行缓存替换操作。
38.第三方面,本发明实施例提供一种边缘服务器,包括:
39.处理器,存储器,通信接口;
40.所述存储器用于存储所述处理器的可执行指令;
41.其中,所述处理器配置为经由执行所述可执行指令来执行第一方面任一项提供的基于深度循环强化学习的网络边缘缓存的处理方法。
42.第四方面,本发明实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项提供的基于深度循环强化学习的网络边缘缓存的处理方法。
43.第五方面,本发明实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现第一方面任一项提供的基于深度循环强化学习的网络边缘缓存的处理方法
44.本发明实施例提供的基于深度循环强化学习的网络边缘缓存方法、装置及设备,通过采集获取当前时隙之前的连续多个时隙的系统状态信息,将所述多个时隙的系统状态信息输入深度循环神经网络中进行缓存动作选择处理,得到目标缓存动作,根据所述目标缓存动作执行缓存替换操作。其中所述深度循环神经网络是预先训练的用于根据多个连续时隙的系统状态信息确定缓存动作的计算模型,该深度循环神经网络利用多个连续时隙系统状态信息中的内容流行度进行计算,并且在缓存动作选择时考虑到缓存时间和缓存替换时从相邻边缘服务器获取还是从远程云数据中心获取,提高了缓存准确率,降低了缓存超时存储成本和缓存替换成本。
附图说明
45.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
46.图1为本发明提供的基于深度循环强化学习的网络边缘缓存方法的应用场景示意图;
process,简称:mdp),并将mdp中的系统状态替换为由多时隙的历史状态和当前状态共同组成的状态矩阵。同时使用门控循环单元(gated recurrent unit,简称:gru)模块来学习历史状态中的内容流行度信息,并做出缓存动作选择。最后再通过系统奖励来评判缓存动作选择的优劣,以此让边缘服务器智能地调整缓存方案,来获取最大的系统收益。该方法可以提高缓存准确率,降低缓存超时存储成本和缓存替换成本。基于上述发明构思,设计了本发明的边缘缓存方案。
59.示例性的,图1为本发明提供的基于深度循环强化学习的网络边缘缓存方法的应用场景示意图。如图1所示,该应用场景可以包括:至少两个边缘服务器(图1示出了三个边缘服务器,分别为边缘服务器12、边缘服务器13、边缘服务器14)、远程云数据中心11。
60.示例性的,在图1所示的应用场景中,远程云数据中心可以接收来自边缘服务器的访问请求,将访问数据发送给边缘服务器。
61.边缘服务器12可以向远程云数据中心发送访问请求,也可以向其相邻的边缘服务器13发送访问请求,可以将接收来自远程云数据中心的数据,也可以接收来自边缘服务器13的数据。
62.可以理解的是,远程云数据中心可以是服务器,也可以是机房,本发明实施例不对远程云数据中心的具体形态进行限定,可以根据实际需求确定。
63.除此之外,在该基于深度循环强化学习的网络边缘缓存方法的具体应用过程中,还涉及到与用户之间的交互,因此,该场景中还可以包括:至少一个终端设备(图1示出了7个终端设备,分别为终端设备15、终端设备16、终端设备17、终端设备18、终端设备19、终端设备20、终端设备21)
64.用户通过终端设备15可以向边缘服务器12发送访问请求,终端设备15也可以接收来自边缘服务器12的数据。
65.可以理解的是,终端设备可以是智能手机,也可以是电脑,还可以是智能电视,本发明实施例不对终端设备的具体形态进行限定,可以根据实际需求确定。
66.下面,通过具体实施例对本发明的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
67.图2为本发明提供的基于深度循环强化学习的网络边缘缓存方法实施例一的流程示意图,如图2所示,该基于深度循环强化学习的网络边缘缓存方法具体包括以下步骤:
68.s201:采集获取当前时隙之前的连续多个时隙的系统状态信息,每个时隙对应的系统状态信息包括时隙的内容流行度和边缘服务器缓存的内容。
69.边缘服务器具有存储功能,可以存储内容流行度和缓存内容。因而,在本实施例中,边缘服务器可以采集获取当前时隙之前的连续多个时隙的系统状态信息,该系统状态信息包括所述时隙的内容流行度、所述边缘服务器缓存的内容和用户在所述时隙上一时隙访问的内容信息。
70.具体的,在本步骤中,边缘服务器可以在一定的触发条件下采集获取系统信息,例如,在有用户访问时进行触发,也可以实时采集系统信息。本发明实施例并不对边缘服务器采集获取系统信息的触发方式或采集方式进行限定,可根据实际情况确定。
71.s202:将多个时隙的系统状态信息输入深度循环神经网络中进行缓存动作选择处
理,得到目标缓存动作;其中,深度循环神经网络是预先训练的用于根据多个连续时隙的系统状态信息确定缓存动作的计算模型。
72.在本实施例中,深度循环神经网络是利用多个连续时隙的系统状态来进行训练的,训练完成后输入多个时隙的系统状态信息,可以得到缓存动作。该深度循环神经网络的训练过程中,考虑到多时隙的系统状态信息和奖励值,根据系统状态信息经神经网络可得到缓存动作,边缘服务器执行缓存动作并得到奖励值和下一时隙的系统状态信息,根据奖励值进行神经网络训练。在奖励值的获取过程中,综合考虑了边缘服务器缓存到用户访问的内容的奖励值、缓存超时存储损失和缓存替换损失。相比于现有技术只考虑将指示上一时隙用户访问的内容与边缘缓存服务器中最近最少使用的缓存内容进行缓存替换的动作作为缓存动作,缓存准确率更高,缓存超时存储成本和缓存替换成本更低。
73.在本步骤中,边缘服务器在采集获取到当前时隙之前的连续多个时隙的系统状态信息之后,可以将这些连续多个时隙的系统状态信息输入深度循环神经网络中进行处理,深度循环神经网络会选择一个缓存动作作为目标缓存动作,这个目标缓存动作是边缘服务器确定出的对用户最有可能访问的内容进行缓存的一个动作。作为一种示例,深度循环网络将用户最有可能访问的内容按照概率进行排序,并且指示边缘服务器按照概率大小依次进行缓存的动作即为目标缓存动作。
74.在该方案的具体实现中,缓存动作可以指示边缘服务器执行缓存替换操作。示例性的,缓存动作可以通过如下方式中的任意一种或两种方式的组合形式实现:
75.作为一种示例,缓存动作可以是指示边缘服务器通过获取其相邻的边缘服务器的缓存内容的动作。
76.作为另外一种示例,缓存动作可以是指示边缘服务器通过获取远程云数据中心的缓存内容的动作。
77.s203:根据目标缓存动作执行缓存替换操作。
78.在本实施例中,边缘服务器得到来自深度循环神经网络的缓存动作后,进行缓存替换操作。具体的缓存替换操作可以通过如下方式中的任意一种或两种方式的组合形式实现:
79.第一种方式,将其自身的缓存内容替换为其相邻的边缘服务器的缓存内容。
80.第二种方式,将其自身的缓存内容替换为远程云数据中心的缓存内容。
81.需要说明的是,本发明实施例中的每个时隙t划分为r
t
和c
t
两个不同的阶段,如图3所示,边缘服务器在r
t
阶段收集用户访问内容信息、系统状态信息并执行内容分发,在c
t
阶段执行深度循环神经网络的推理和执行缓存动作。
82.本发明实施例提供给的基于深度循环强化学习的网络边缘缓存方法,采用多时隙的系统状态信息经过深度循环网络进行缓存动作的选择时,是利用多时隙系统状态信息中的内容流行度进行综合评判的,与现有技术中将指示上一时隙用户访问的内容与边缘缓存服务器中最近最少使用的缓存内容进行缓存替换的动作作为缓存动作相比,缓存准确率更高。另外,在进行缓存动作选择时,还综合考虑了边缘服务器缓存到用户访问的内容的奖励值、缓存超时存储损失和缓存替换损失,与现有技术相比,缓存超时存储成本和缓存替换成本更低。
83.在上述实施例的基础上,图4为本发明提供的基于深度循环强化学习的网络边缘
缓存方法实施例二的流程示意图。如图4所示,在本实施例中,上述步骤s202中的深度循环神经网络的训练可以通过如下步骤实现:
84.s401:预设初始的选择因子、选择因子最小值,选择因子系数、第一奖励值、第二奖励值、第三奖励值、超时存储因子、重放缓冲池、损失阈值、初始的q网络、固定q网络。
85.在本实施例中,预设初始的选择因子、选择因子最小值、选择因子系数、的范围是在0到1之间,此范围不包括0和1,初始的选择因子大于选择因子最小值。预设的重放缓冲池中存放训练数据。预设初始的q网络、固定q网络时通过随机初始化进行的。
86.s402:针对多个采集时隙中的每个时隙,采集时隙之前多个连续时隙的系统状态信息。
87.在本实施例中,边缘服务器具有存储功能,可以存储内容流行度和缓存内容。因而,在本实施例中,边缘服务器可以采集获取当前时隙之前的连续多个时隙的系统状态信息,该系统状态信息包括所述时隙的内容流行度、所述边缘服务器缓存的内容和用户在所述时隙上一时隙访问的内容信息。
88.在本实施例中,内容流行度反映了缓存内容的受欢迎程度,示例性的,内容流行度越高,代表此缓存内容的受欢迎程度越高,进而此缓存内容被用户访问的可能性越高。
89.s403:随机选择一个随机数,将其与预设的初始的选择因子作比较,并根据比较结果进行缓存动作选择。
90.在本实施例中,在0到1之间随机选择一个随机数,此范围不包括0和1,将所述随机数与所述初始选择因子进行大小比较,如果所述随机数大于所述初始选择因子,则边缘服务器通过所述多个连续时隙的系统状态信息和初始神经网络选择一个缓存动作;如果所述随机数小于或等于所述初始选择因子,则边缘服务器随机选择一个缓存动作。
91.具体的,边缘服务器通过所述多个连续时隙的系统状态信息和初始神经网络选择一个缓存动作时,初始神经网络将不同类型的内容被选择作为缓存内容的概率进行大小排序,边缘服务器就可以根据系统状态信息和所述概率选择缓存动作。
92.在该方案的具体实现中,缓存动作可以指示边缘服务器执行缓存替换操作。示例性的,缓存动作可以通过如下方式中的任意一种或两种方式的组合形式实现:
93.作为一种示例,缓存动作可以是指示边缘服务器通过获取其相邻的边缘服务器的缓存内容的动作。
94.作为另外一种示例,缓存动作可以是指示边缘服务器通过获取远程云数据中心的缓存内容的动作。
95.s404:执行缓存动作,获取对应的奖励值和时隙的下一个时隙的系统状态,将训练数据放入重放缓冲池。
96.在本实施例中,边缘服务器得到缓存动作后,进行缓存替换操作。具体的缓存替换操作通过如下方式中的任意一种或两种方式的组合形式实现:
97.第一种方式,将其自身的缓存内容替换为其相邻的边缘服务器的缓存内容。
98.第二种方式,将其自身的缓存内容替换为远程云数据中心的缓存内容。
99.在本实施例中,奖励值可通过如下方式获取:
100.边缘服务器检测确定所述边缘服务器的缓存内容中是否包含用户访问到的缓存内容信息,若所述边缘服务器的缓存内容中包含所述缓存内容信息,则获取第一奖励值;若
所述边缘服务器的缓存内容中不包含所述缓存内容信息,且与所述边缘服务器相邻的服务器的缓存内容中包含所述缓存内容信息,则获取第二奖励值;若所述边缘服务器的缓存内容中不包含所述缓存内容信息,且与所述边缘服务器相邻的服务器的缓存内容中也不包含所述缓存内容信息,则获取第三奖励值;
101.可以理解的是,为了使边缘服务器更加倾向于缓存更流行的内容,更加符合用户访问内容,提高缓存准确率,预设的所述第一奖励值大于所述第二奖励值,所述第二奖励值大于所述第三奖励值。
102.若所述边缘服务器在所述时隙缓存内容中除所述缓存内容信息外的内容与在所述前一个时隙时缓存内容除所述前一时隙内用户访问到的缓存内容信息之外的内容有共同的缓存内容,则获取所述时隙对应的超时存储损失;
103.具体的,根据所述共同的缓存内容中的具体内容得到相应的内容大小值,将相应的内容大小值乘以超时存储因子,再将他们相加即可得到超时存储损失。
104.在一种具体实现中,超时存储损失的计算如下:
[0105][0106]
其中,和分别是t-1时隙和t时隙边缘服务器缓存了却没有被访问的内容对应的内容大小值集合,fj为内容大小值,α为超时存储因子,c
red
为超时存储损失。
[0107]
可以理解的是,根据所述共同的缓存内容中的具体内容得到相应的内容大小值时,可以根据具体内容占用的存储空间大小来得到相应的内容大小值,也可以将根据具体内容设定一个固定的内容大小值,本发明实施例并不对根据所述共同的缓存内容中的具体内容得到相应的内容大小值的方式进行限定。另外,本实施例中的超时存储因子用来反映存储的重要性,超时存储因子越大,边缘服务器中缓存了却没有被用户访问的内容越少,预设的超时存储因子大于0。
[0108]
若所述边缘服务器在所述时隙执行缓存替换,则获取缓存替换损失;
[0109]
具体的,在边缘服务器执行缓存替换时,需要替换的内容缓存在相邻边缘服务器中或者缓存在远程云数据中心中,如果边缘服务器将自身内容替换为相邻边缘服务器的缓存内容,则获取第一缓存替换损失,如果边缘服务器将自身内容替换为远程云数据中心的缓存内容,则获取第二缓存替换损失;将所述第一缓存损失与所述第二缓存损失相加即可得到缓存替换损失。
[0110]
在一种具体实现中,缓存替换损失的计算如下:
[0111][0112]
其中,d
repl
为t时隙的执行缓存替换时替换内容集合,d为需要替换的内容,如果d缓存在相邻边缘服务器si中,则λ=0;否则,λ=1。为第二缓存替换损失,为第一缓存替换损失,c
repl
为缓存替换损失。
[0113]
可以理解的是,为了使边缘缓存服务器降低缓存替换成本,所述第一缓存损失小
于所述第二缓存损失。
[0114]
根据所述第一奖励值、所述第二奖励值,所述第三奖励值,所述超时存储损失、所述缓存替换损失计算得到所述奖励值。
[0115]
具体的,将所述第一奖励值加上第二奖励值加上第三奖励值减去超时存储损失减去缓存替换损失即可得到奖励值。
[0116]
在一种具体实现中,奖励值的计算如下:
[0117][0118]
其中,r
hit
为第一奖励值,re为第二奖励值,rc为第三奖励值,c
red
为缓存超时存储损失,c
repl
为缓存替换损失,为奖励值。
[0119]
在本实施例中,缓冲池中的一组训练数据是由将所述时隙之前多个连续时隙的系统状态信息,执行的所述缓存动作,所述奖励值,所述时隙的下一个时隙的系统状态组成。
[0120]
s405:从重放缓冲池中获取预设数量的训练数据,根据预设数量的训练数据以及初始神经网络进行模型训练直至损失值小于预设阈值,得到深度循环神经网络。
[0121]
在本实施例中,从重放缓冲池中获取预设数量的训练数据,根据所述预设数量的训练数据,q网络和固定q网络计算得到损失值。
[0122]
在一种具体的实现中,损失值的计算如下:
[0123]
首先计算其中,j为从重放缓冲池中获取预设数量的训练数据的批次,δj为n*1维矩阵,n为从重放缓冲池中获取的训练数据的预设数量,为第j次获取到的n个训练数据中的奖励值构成的n*1维矩阵,γ为预设的折扣因子,q

为固定q网络对应的函数,q为q网络对应的函数,为第j次获取到的n个训练数据中的系统状态信息构成的具有n行的矩阵,为第j次获取到的n个训练数据中的缓存动作构成的具有n行的矩阵,特别的,为从预设的重放缓冲池随机获取到的n个训练数据中的系统状态信息构成的具有n行的矩阵,为从预设的重放缓冲池随机获取到的n个训练数据中的缓存动作构成的具有n行的矩阵,为使得得到的矩阵中每一行都取最大值的矩阵a。
[0124]
得到δj后,取其中的n个数值的平均值即可得到损失值。
[0125]
可以理解的是,本实施例中的重放缓冲池中的数据可以是第一次将训练数据放入预设的重放缓冲池后的数据,也可以是多次训练后将训练数据放入预设的重放缓冲池后的数据,本实施例并不对其进行限定。此外,从重放缓冲池中获取预设数量的训练数据是随机获取的,并不对其获取的数据进行限定。
[0126]
在本实施例中,若损失值小于预设阈值,则得到深度循环神经网络,若损失值不小于预设阈值,则根据所述奖励值更新所述q网络的权重,并在所述q网络的权重更新次数达到预设次数后更新所述固定q网络的权重。
[0127]
具体的,边缘服务器根据所述奖励值更新所述q网络的权重,如果在所述q网络的权重更新次数达到预设次数后,将更新后的q网络权重作为新的固定q网络权重。
[0128]
在本实施例中,根据更新后的q网络的权重,对所述初始神经网络模型进行训练,得到训练后的神经网络;
[0129]
具体的,根据更新后的q网络权重,可以得到新的不同类型的内容被选择作为缓存内容的概率值,所述初始神经网络模型按照新的不同类型的内容被选择作为缓存内容的概率进行大小排序,即得到训练后的神经网络。
[0130]
在本实施例中,得到训练后的神经网络之后,更新选择因子。
[0131]
具体的,判断所述初始选择因子是否大于预设的选择因子最小值,若所述初始选择因子大于所述选择因子最小值,则对所述初始选择因子乘以预设选择因子系数,得到新的选择因子,所述预设系数大于0且小于1,若述初始选择因子小于或等于所述选择因子最小值,则将所述初始选择因子作为新的选择因子。
[0132]
在本实施例中,针对多个采集时隙中的每个时隙,重新采集所述时隙之前多个连续时隙的系统状态信息,重新选择一个随机数,若随机数大于更新后的选择因子,则根据新的系统状态信息和训练后的神经网络选择一个缓存动作,若随机数小于或等于更新后的选择因子,则随机选择缓存动作,边缘服务器执行缓存动作,获取奖励值和所述时隙的下一个时隙的系统状态,将训练数据放入所述重放缓冲池中,重新从所述重放缓冲池中获取预设数量的训练数据,根据新获取的预设数量的训练数据,更新后的q网络,更新后的固定q网络计算新的损失值,若新的损失值小于预设阈值,则得到深度循环神经网络,若新的损失值不小于预设阈值,则根据新的奖励值更新q网络的权重,并在所述q网络的权重更新次数达到预设次数后更新固定q网络的权重,再根据更新后的q网络的权重再次进行神经网络训练,更新选择因子,重复本步骤直至所述损失值小于所述预设阈值,得到深度循环神经网络。
[0133]
本实施例使用多个时隙的系统状态矩阵取代现有技术的单个系统状态,使边缘服务器能观察到多步的历史信息,同时使用gru模块从多步的历史信息中学习内容流行度的时变特性,比现有的技术更好地观察内容流行度的变化。使用double机制,解决了原始dqn算法q值高估的问题,使边缘服务器更加鲁棒。使用动态的ε贪婪算法,让边缘服务器在训练的初期更多地选择探索未知的缓存动作,边缘智能体在训练的后期随着网路的收敛更多地选择当前已知的最优缓存动作,这平衡了强化学习中探索和利用的问题,使算法更快收敛。
[0134]
本实施例不单单只考虑边缘服务器的缓存内容中是否包含用户访问到的缓存内容信息的问题,而同时考虑了缓存超时存储损失和缓存替换损失。后两者的考虑突出了边缘计算问题中边缘服务器计算能力和存储容量有限的特点。对于只考虑边缘服务器的缓存内容中是否包含用户访问到的缓存内容信息的问题的现有的边缘缓存方法,随着边缘服务器的存储容量上升,边缘服务器的缓存内容中包含用户访问到的缓存内容信息的概率必定同时上升,很难考虑边缘服务器存储容量有限的特性。本实施例设置奖励值,随着边缘服务器存储容量的上升,第一、第二和第三奖励值虽然也在上升,但是同时缓存超时存储损失会上涨,即更多的内容作为无效内容缓存在边缘服务器,导致总的系统奖励下降。因此本实施例能更好地在考虑有限的存储容量下权衡总的损失值。
[0135]
下面通过一个具体的示例,来对本发明实施例提供的基于深度循环强化学习的网络边缘缓存方法进行示例说明。
[0136]
本实施例同时训练3个边缘服务器,这3个边缘服务器之间互为相邻边缘服务器。深度循环神经网络和环境的交互如图5所示。其中使用了ddrqn方法深度循环神经网络输入
层为gru层,且神经网络一共有两层,后一层为全连接层。首先使用边缘服务器上收集的历史数据训练神经网络。设置边缘服务器在r
t
阶段收集2000个用户访问请求,且一次收集t=24个时隙作为系统状态,同时定义边缘服务器的缓存容量大小为n。则边缘服务器的神经网络的输入数据的形状为[24,(2000 n)]。如果一共有k种不同类型的内容,神经网络的输出数据的形状为[1,k],输出表示k种不同类型的内容被选择作为缓存内容的概率大小。边缘服务器可以根据神经网络的输出从大到小选择n个内容作为下一时隙的缓存内容。设置第一奖励值r
hit
=1;第二奖励值re=0.1;第三奖励值rc=0。这样设置奖励值符合边缘服务器靠近用户的特点,让边缘服务器倾向于缓存更流行的内容。设置超时存储因子α=0.5,第二缓存替换损失第一缓存替换损失这样设置符合减少缓存替换成本要求,让边缘服务器倾向于优先与相邻边缘服务器进行缓存替换。设置预设选择因子ε=0.9,这意味着边缘服务器有90%的概率随机选择动作,增加了训练前期探索更好的缓存动作的可能性。设置选择因子系数ε
decay
=0.999,选择因子最小值ε
min
=0.1,这样即使到训练的后期,边缘服务器也能以10%的概率探索更有的缓存动作。预设重放缓冲池的大小为nm=2000,即重放缓冲池能存储2000条动作选择记录,该值可以根据边缘服务器存储容量的大小适当增大或减小。同时定义固定q网络的更新频次w=200,即q网络更新200次,固定q网络更新一次。
[0137]
可以理解的是,训练好的深度循环神经网络可以部署在边缘服务器上,并设置每次观察到系统环境都使用训练好的深度循环神经网络选择缓存动作。并且可以每隔一段时间,在用户使用量少、边缘服务器资源空闲大的时候,重新训练深度循环神经网络。这些部署工作都能通过编写简单的自动化脚本完成。
[0138]
本发明提供一种技术方案,在进行边缘缓存时,利用多时隙的内容流行度综合评判后进行缓存动作选择,在神经网络训练过程中综合考虑奖励值的计算,有效提高了缓存准确率和降低了缓存超时存储成本和缓存替换成本。
[0139]
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
[0140]
图6为本技术实施例提供的基于深度循环强化学习的网络边缘缓存装置实施例的结构示意图;如图6所示,该基于深度循环强化学习的网络边缘缓存装置60可以包括:
[0141]
获取模块61,用于采集获取当前时隙之前的连续多个时隙的系统状态信息,每个时隙对应的系统状态信息包括所述时隙的内容流行度和所述边缘服务器缓存的内容;
[0142]
第一处理模块62,用于将所述多个时隙的系统状态信息输入深度循环神经网络中进行缓存动作选择处理,得到目标缓存动作;其中,所述深度循环神经网络是预先训练的用于根据多个连续时隙的系统状态信息确定缓存动作的计算模型;
[0143]
第二处理模块63,用于根据所述目标缓存动作执行缓存替换操作。
[0144]
本实施例提供的基于深度循环强化学习的网络边缘缓存装置,用于执行前述任一方法实施例提供的技术方案,其实现原理和技术效果类似,边缘服务器将系统信息输入训练好的深度循环神经网络进行处理,得到缓存动作后进行缓存替换,其中使用的训练好的深度循环网络可以有效提高了缓存准确率和降低缓存超时存储成本和缓存替换成本。
[0145]
进一步地,所述从重放缓冲池中获取预设数量的训练数据之前,所述获取模块61
还用于针对多个采集时隙中的每个时隙,采集所述时隙之前多个连续时隙的系统状态信息;
[0146]
所述第一处理模块62还用于随机选择一个随机数,若所述随机数大于预设的初始的选择因子,则根据所述多个连续时隙的系统状态信息和初始神经网络选择一个缓存动作,若所述随机数小于或等于所述初始选择因子,则随机选择一个缓存动作;
[0147]
所述第二处理模块63还用于执行所述缓存动作,获取对应的奖励值;
[0148]
所述获取模块61还用于获取所述时隙的下一个时隙的系统状态;
[0149]
所述第一处理模块62还用于将所述时隙之前多个连续时隙的系统状态信息,执行的所述缓存动作,所述奖励值,所述时隙的下一个时隙的系统状态作为一组训练数据放入所述重放缓冲池。
[0150]
在一种具体实施方式中,所述第一处理模块62具体用于:
[0151]
根据所述预设数量的训练数据,q网络和固定q网络计算得到损失值;
[0152]
若损失值大于或等于所述预设阈值,则根据所述奖励值更新所述q网络的权重,并在所述q网络的权重更新次数达到预设次数后更新所述固定q网络的权重;
[0153]
根据更新后的q网络的权重,对所述初始神经网络模型进行训练,得到训练后的神经网络;
[0154]
重新从所述重放缓冲池中获取预设数量的训练数据,根据新获取的预设数量的训练数据,更新后的q网络,更新后的固定q网络计算新的损失值,若新的损失值小于预设阈值,则得到深度循环神经网络,若新的损失值不小于预设阈值,则根据新的奖励值更新q网络的权重,并在所述q网络的权重更新次数达到预设次数后更新固定q网络的权重,再根据更新后的q网络的权重再次进行神经网络训练,重复本步骤直至所述损失值小于所述预设阈值,得到深度循环神经网络。
[0155]
进一步地,所述根据更新后的q网络的权重,对所述初始神经网络模型进行训练,得到训练后的神经网络之后,所述第一处理模块62还用于判断所述选择因子是否大于预设的选择因子最小值,若所述选择因子大于所述选择因子最小值,则对所述选择因子乘以预设选择因子系数,得到新的选择因子,所述预设系数大于0且小于1。
[0156]
在一种具体实施方式中,所述第二处理模块63具体用于:
[0157]
检测确定所述边缘服务器的缓存内容中是否包含用户访问到的缓存内容信息;
[0158]
若所述边缘服务器的缓存内容中包含所述缓存内容信息,则获取第一奖励值;
[0159]
若所述边缘服务器的缓存内容中不包含所述缓存内容信息,且与所述边缘服务器相邻的服务器的缓存内容中包含所述缓存内容信息,则获取第二奖励值;
[0160]
若所述边缘服务器的缓存内容中不包含所述缓存内容信息,且与所述边缘服务器相邻的服务器的缓存内容中也不包含所述缓存内容信息,则获取第三奖励值;
[0161]
若所述边缘服务器在所述时隙缓存内容中除所述缓存内容信息外的内容与在所述前一个时隙时缓存内容除所述前一时隙内用户访问到的缓存内容信息之外的内容有共同的缓存内容,则获取所述时隙对应的超时存储损失;
[0162]
若所述边缘服务器在所述时隙执行缓存替换,则获取缓存替换损失;
[0163]
根据所述第一奖励值、所述第二奖励值,所述第三奖励值,所述超时存储损失、所述缓存替换损失计算得到所述奖励值。
[0164]
前述任一实施例提供的基于深度循环强化学习的网络边缘缓存装置,用于执行前述任一方法实施例提供的技术方案,其实现原理和技术效果类似,在此不再赘述。
[0165]
图7为本发明提供的一种边缘服务器的结构示意图。如图7所示,该边缘服务器70包括:
[0166]
处理器71,存储器72,以及通信接口73;
[0167]
所述存储器72用于存储所述处理器71的可执行指令;
[0168]
其中,所述处理器71配置为经由执行所述可执行指令来执行前述任一方法实施例中的边缘服务器的技术方案。
[0169]
可选的,存储器72既可以是独立的,也可以跟处理器71集成在一起。
[0170]
可选的,当所述存储器72是独立于处理器71之外的器件时,所述服务器70还可以包括:
[0171]
总线,用于将上述器件连接起来。
[0172]
该服务器用于执行前述任一方法实施例中边缘服务器的技术方案,其实现原理和技术效果类似,在此不再赘述。
[0173]
本发明实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施例提供的边缘服务器的技术方案。
[0174]
本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现前述任一方法实施例提供的边缘服务器的技术方案。
[0175]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0176]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献