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

一种基于深度强化学习的边缘计算智能缓存方法与流程

2021-11-25 00:10:00 来源:中国专利 TAG:


1.本发明涉及边缘计算技术领域,具体的说是一种基于深度强化学习的边缘计算智能缓存策略。


背景技术:

2.随着移动数据流量的高速增长,为了满足用户多样化的体验质量要求(qoe),网络带宽和服务器资源面临着巨大的挑战。在传统云计算网络结构中,终端设备发起的数据服务请求可以得到有效解决,但远离云服务器的用户容易出现网络延迟高、体验质量差的情况。而将一部分数据缓存至网络边缘,能大幅减少响应用户请求的网络时延,以及服务器资源的损耗,进而能很好地提升用户的体验质量。在网络边缘缓存数据的解决方案中,缓存策略是一种影响缓存效果的关键因素。因此,边缘计算的缓存策略值得研究。
3.目前,边缘计算的缓存策略可分为传统缓存策略和基于机器学习的缓存策略两种类别。传统的缓存策略,如最近最少使用策略(lru)和最不常用策略(lfu)以及先进先出策略(fifo),对于大小相同的内容,这些策略简单有效,但是当缓存内容的大小有很大差异时,它们忽略的传输延迟这一影响缓存效率的关键因素。因此传统的缓存策略在边缘计算缓存的场景中,性能并不能令人满意。基于机器学习的缓存策略又可以根据学习方式分为基于深度学习的缓存策略和基于强化学习的缓存策略。基于深度学习的缓存策略主要是基于样本输入输出,学习输入到输出的映射,但是在实践中,出于对用户隐私的保护,并不能搜集到足够的先验知识支持学习。基于强化学习的缓存策略,主要关注的是智能体如何确定正确的策略来优化其性能,但普通的强化学习通过有限的表格来存储状态,而边缘缓存中的状态是连续的无限的,为了解决这个问题,需要将深度学习和强化学习结合,从而得到另一种学习方式,即深度强化学习。虽然深度强化学习可以解决边缘缓存中无线状态不能存储在有限表格中的问题,但是如让智能体更好地理解内容的流行度是另一个重要的问题。
4.现有技术的缓存策略在面对缓存内容大小差异很大时会忽略传输延迟,从而无法有效提高缓存效率的问题。因此,如何在复杂的边缘计算网络环境中有效提高缓存的命中率以及性能是目前相关领域研究的难点,研制出一种能动态分析用户请求资源并制定正确缓存策略的边缘缓存方案是相关领域研究人员致力攻克的难点之一。


技术实现要素:

5.本发明的目的是针对现有技术的不足而提供的一种基于深度强化学习的边缘计算智能缓存方法,采用将资源的大小和属性都考虑其中的缓存方法,利用流行度模型来计算当前资源的流行度,智能体会判断短时间内该资源是否可能被再次请求,使资源在将来会以更高的概率被再次请求,有效提高边缘缓存的命中率和性能,在制定缓存策略时,将资源的大小和属性都考虑其中,因此在识别对节省传播时延和能源的资源上具有更强大的优势,方法简便,实用性强,能显著提高用户的体验质量,为相关领域的技术提供技术支撑。
6.实现本发明目的的具体技术方案是:一种基于深度强化学习的边缘计算智能缓存方法,其特点是采用流行度模型对当前资源进行边缘计算的方法,智能体会判断短时间内该资源是否可能被再次请求,使资源以更高的概率被再次请求,其边缘计算和智能缓存具体包括以下步骤:
7.1)初始化阶段,利用给定的参数初始化dqn(deep q network)的q网络和经验回放池,所述初始化的具体内容为神经网络的更新率设为0.0001,每次训练的样本数量设为8,更新神经网络的频率设为5,即每处理5次请求就更新一次神经网络;所述经验回放池的大小为30000。
8.2)系统开始工作,在收到用户的资源请求时,利用流行度模型计算用户请求资源的流行度,所述流行度模型基于牛顿冷却定律,其流行度由下述a式计算:
9.p(t)=(α β)
÷
t(t)
ꢀꢀ
(a);
10.其中:p(t)表示资源在t时刻的流行度;α为资源的初始流行度;β为用户行对资源流行度的影响因子;t(t)为物体在t时刻的温度。
11.所述流行度模型是基于下述b式的牛顿冷却定律,其流行度计算公式的具体推导过程为:
[0012][0013]
其中:t(t)表示物体在t时刻的温度;h表示物体所处环境的温度;k为线性常数,表示环境温度与降温速率之间的比例关系,不同的物质有不同的k值,通过该定律可以得到如下c式:
[0014][0015]
ln(t(t)

h0=

kt b
ꢀꢀ
(c);
[0016]
通过恒等变形,可以得到下述d式:
[0017]
t(t)=h ce

kt
ꢀꢀ
(d);
[0018]
将上式用初始时刻t0代替t可以得到下述d

1式:
[0019][0020]
所以可以将c定义为下述e式:
[0021][0022]
将e式代入d式可以进一步得到下述d

2式:
[0023][0024]
根据资源流行度的变化可以理解为一个自然冷却的过程。因此,如果没有任何干预,资源的流行度最终会变成零,即与周围环境温度相同。所以可以推断出上述d

2式中的h数值应当为0,得到下述d

3式:
[0025][0026]
在此基础上,考虑到用户行为对资源流行度的影响,当用户对资源的请求数量增加时,表明资源的流行度正在抵抗时间带来的自然冷却。也就是说,内容的流行度会提高,内容的冷却速度会减慢。因此,将用户行为对资源的影响定义为下述f式:
[0027]
β=(a
request
a
other
}
÷
μ
ꢀꢀ
(f);
[0028]
其中:β表示用户行为对资源流行度造成的影响;a
request
表示用户请求该资源;a
other
表示用户对该资源的其他操作;μ表示人群规模。
[0029]
上述内容解释了资源以初始流行度为基础的流行度变化过程,也就是说,资源的流行度不仅与外界的影响有关,还与其自身初始流行度有关,而初始流行度是由资源的类型决定的。不同的资源类型可能具有不同的初始流行度,例如,与体育赛事相关的资源流行度和与新闻相关的资源不同。
[0030]
综上所述流行度模型可以将资源流行度随时间变化的过程与资源初始状态结合,为下述a式动态地描述资源在任何时候的流行程度:
[0031]
p(t)=(α β)
÷
t(t)
ꢀꢀ
(a);
[0032]
其中:p(t)表示资源在t时刻的流行度;α表示资源的初始流行度。
[0033]
3)判断当前请求的资源是否已经被缓存,并根据缓存的结果得到智能体上一次决策对应的奖励,之后将上一次的决策连同奖励与资源信息一起存储在经验回放池中,所述存储在经验回放池中的内容具体为当前环境的状态、智能体在当前状态下选择的动作、该动作对应的奖励、执行该动作后得到的下一个状态。
[0034]
所述dqn状态为:{p(t),g},其中:p(t)和g分别表示资源在t时刻的流行度和自身大小;所述智能体有添加缓存、删除缓存和保持缓存不变三种类型的操作,智能体根据动作价值函数输出每个动作的一个独热码,并选择最合适的值来执行相应的动作;所述价值函数由下述g式定义:
[0035][0036]
4)将当前资源的流行度、资源本身的大小、资源类型作为输入,传入q网络,得到智能体每个动作的独热码,所述q网络使用的dqn(deep q network)是强化学习算法中的一种,强化学习可以被描述为一个马尔科夫决策过程,在马尔可夫决策模型中,状态空间、动作空间和奖励空间是相对关键的组成部分;所述状态空间由下述h式表示为:
[0037]
s={s1,s2,

,s
n
}
ꢀꢀ
(h);
[0038]
其中:s1,s2,

,s
n
表示由所有请求构成的可能的状态。
[0039]
所述动作空间由下述i式表示为:
[0040]
x={x1,x2,

,x
n
}
ꢀꢀ
(i);
[0041]
其中:{x1,x2,

,x
n
}表示所有动作的集合,当智能体处于状态s
t
时,会执行动作x
t
,当前环境会随之切换到下一个状态s
t 1

[0042]
所述奖励空间由下述j式表示为:
[0043]
r={r1,r2,

,r
n
}
ꢀꢀ
(j);
[0044]
其中:{r1,r2,

,r
n
}表示所有奖励的集合;r
t
表示智能体在状态s
t
下执行动作x
t
得到的奖励。在dqn中,奖励函数是最重要的部分,它直接决定了要执行的动作,并且最终影响算法的有效性。为了使最终的回报最大化,智能体不仅要考虑当前的奖励,还要考虑未来的奖励。未来的奖励会按一定的比例减少,这个比例被称为折扣率,表示为γ,并且0<γ<1。因此,未来的折扣奖励可以被下述k式定义为:
[0045][0046]
所述智能体目标是选择一种在每种状态下都能获得最大收益的最优策略,从而在长期内使累积收益最大化;所述动作价值函数描述了智能体在状态s时,执行策略π得到的奖励,具体由下述m式定义为:
[0047][0048]
最佳动作价值函数表示了在所有动作值中最佳的一种,具体由下述n式定义为:
[0049][0050]
本发明的dqn算法中,使用了一种非线性的函数逼近来估计动作价值函数,这个函数逼近通常是一种被称为q网络的神经网络q(s,x,θ)≈q(s,x)。其中,参数θ表示神经网络中的权重。通过q网络对q(s,x)的评估由下述p式表示为:
[0051]
q(sx,x
t
)=q(s
t
,x
t
) ζ[r
t
γ*maxq(s
t 1
,x
t 1
)

q(st,x
t
)]
ꢀꢀ
(p);
[0052]
其中:ζ∈(0,1)表示学习率。
[0053]
5)根据随机的探测机制,智能体会在步骤4)中已经得到的最优动作和以当前时间作为随机种子随机产生的动作,这两者之间选择一个动作并执行。
[0054]
所述选择一个动作的具体流程为以当前时间作为随机种子得到一个随机数,并将其与给定的探测随机参数比较,若该随机数大于探测随机参数,则从每个动作的独热码中选择最合适的一个并让智能体执行对应的动作;若该随机值小于探测随机参数,则从动作空间中随机挑选一个动作并让智能体执行。
[0055]
6)在不超过当前缓存容量的前提下,执行步骤5)中最终得到的动作,其具体流程为,如果当前被请求的资源需要被加入边缘缓存中,并且当前边缘缓存的空间已经被占满,则从当前缓存空间中删除最小奖励对应的资源;如果当前被请求的资源不需要被加入缓存或者缓存空间有足够的容量,则允许智能体直接执行步骤5)中得到的动作;
[0056]
7)通过下述q式定义的最小化损失函数对q网络不断更新:
[0057]
l(θ

)=e[(r
t
ζ*maxq(s
t 1
,x
t 1
,θ)

q(s,x,θ

))2]
ꢀꢀ
(q)。
[0058]
本发明使用的dqn算法中有两个结构相同但参数不同的神经网络,即评价网络和目标网络。评价网络和目标网络的参数分别定义为θ

和θ,评估网络使用参数θ

计算当前动作值q(s,x,θ

),并且θ

在每一次循环中都会得到更新,目标网络使用参数θ计算下一个动作值q(s,x,θ),并且θ每隔一段时间更新一次值,目标网络可以降低q值与目标q值之间的相关性,使dqn更容易收敛。
[0059]
8)不断重复步骤1)至步骤7),持续地优化缓存决策的准确性,并最终得到准确的结果。
[0060]
本发明与现有技术相比具有更少的缓存置换次数,大大减少更多的传播时延和服务器的能源损耗,进一步提高边缘缓存的命中率和性能,方法简便,实用性强,在缓存命中次数和缓存命中率上都更有优势,能显著提高用户的体验质量,为相关领域的技术提供技术支撑。
附图说明
[0061]
图1为本发明的流程图;
[0062]
图2为实施例示意图。
具体实施方式
[0063]
下面以具体实施对本发明作进一步详细描述和说明:
[0064]
实施例1
[0065]
参阅图1~图2,按下述步骤进行边缘计算的智能缓存:
[0066]
1)初始化阶段,利用给定的参数初始化dqn的q网络和经验回放池。其中神经网络的更新率为0.0001,每次训练的样本数量为8,更新神经网络的频率为5,也就是每处理5次请求就更新一次神经网络,经验回放池的大小为30000。
[0067]
2)运行系统在收到用户的资源请求时,利用流行度模型计算用户请求资源的流行度,流行度模型由下述a式定义为:
[0068]
p(t)=(α β)
÷
t(t)
ꢀꢀ
(a);
[0069]
其中:p(t)表示资源在t时刻的流行度;α为资源的初始流行度;β为用户行对资源流行度的影响因子;t(t)为物体在t时刻的温度。
[0070]
3)判断当前请求的资源是否已经被缓存,并根据缓存的结果得到智能体上一次决策对应的奖励,之后将上一次的决策连同奖励与资源信息一起存储在经验回放池中。存储在经验回放池中的内容具体为当前环境的状态、智能体在当前状态下选择的动作、该动作对应的奖励、执行该动作后得到的下一个状态。
[0071]
本发明中定义的dqn状态为:{p(t),g},其中:p(t)和g分别表示资源在t时刻的流行度和自身大小;所述智能体有添加缓存、删除缓存和保持缓存不变三种类型的操作,智能体根据动作价值函数输出每个动作的一个独热码,并选择最合适的值来执行相应的动作;所述价值函数由下述g式定义为:
[0072][0073]
4)将当前资源的流行度、资源本身的大小、资源类型作为输入,传入q网络,得到智能体每个动作的独热码。dqn是强化学习算法中的一种,强化学习可以被描述为一个马尔科夫决策过程,在马尔可夫决策模型中,状态空间、动作空间和奖励空间是相对关键的组成部分,所述状态空间由下述h式表示为:
[0074]
s={s1,s2,

,s
n
}
ꢀꢀ
(h);
[0075]
其中:s1,s2,

,s
n
表示由所有请求构成的可能的状态。
[0076]
所述动作空间由下述i式表示为:
[0077]
x={x1,x2,

,x
n
}
ꢀꢀ
(i);
[0078]
其中:{x1,x2,

,x
n
}表示所有动作的集合,当智能体处于状态s
t
时,会执行动作x
t
,当前环境会随之切换到下一个状态s
t 1

[0079]
所述奖励空间由下述j式表示为:
[0080]
r={r1,r2,

,r
n
}
ꢀꢀ
(j);
[0081]
其中:{r1,r2,

,r
n
}表示所有奖励的集合;r
t
表示智能体在状态s
t
下执行动作x
t
得到的奖励。在dqn中,奖励函数是最重要的部分,它直接决定了要执行的动作,并且最终影响算法的有效性。为了使最终的回报最大化,智能体不仅要考虑当前的奖励,还要考虑未来的奖励。未来的奖励会按一定的比例减少,这个比例被称为折扣率,表示为γ,并且0<γ<1。因此,未来的折扣奖励可以被下述k式定义为:
[0082][0083]
本发明中的智能体目标是选择一种在每种状态下都能获得最大收益的最优策略,从而在长期内使累积收益最大化。动作价值函数描述了智能体在状态s时,执行策略π得到的奖励,具体定义为下述m式:
[0084][0085]
最佳动作价值函数表示了在所有动作值中最佳的一种,具体定义为下述n式:
[0086][0087]
本发明的dqn算法中使用了一种非线性的函数逼近来估计动作价值函数,这个函数逼近通常是一种被称为q网络的神经网络q(s,x,θ0≈q(s,x)。其中参数e表示神经网络中的权重。通过q网络对q(s,x)的评估表示为下述p式:
[0088]
q(s
t
,x
t
)=q(s
t
,x
t
) ζ[r
t
γ*maxq(s
t 1
,x
t 1
)

q(s
t
,x
t
)]
ꢀꢀ
(p);
[0089]
其中:ζ∈(0,1)表示学习率。
[0090]
5)根据随机的探测机制,智能体在步骤4)中得到的最优动作和随机动作之间选择一种执行。以当前时间作为随机种子得到一个随机数,并将其与给定的探测随机参数比较,若该随机数大于探测随机参数,则从每个动作的独热码中选择最合适的一个并让智能体执行对应的动作;若该随机值小于探测随机参数,则从动作空间中随机挑选一个动作并让智能体执行。
再多了解一些

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

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

相关文献