发明内容
本发明的目的是针对现有技术中存在的不足,提供了一种移动边缘计算中自适应码率选择的视频缓存更新方法。这种方法可减少网络拥塞,避免频繁的转码操作,节省网络带宽以及MEC服务器的计算资源。
实现本发明目的的技术方案是:
一种移动边缘计算中自适应码率选择的视频缓存更新方法,包括如下步骤:
1)构建网络模型:基于移动边缘计算网络架构下的视频缓存分发系统由云服务器、基站、MEC服务器、用户设备组成,用户通过无线接入网连接到基站,MEC服务器通过光纤与基站进行连接,基站与云服务器通过有线链路连接,缓存分发系统为边缘节点与云服务器之间分配了视频更新专用的带宽,其传输速度高于用户与云服务器的传输速度,云服务器是包含所有视频内容的数据中心,为用户请求提供所有视频,部署在基站旁边的MEC服务器就近提供边缘缓存所需的存储和计算能力,基站下用户的接入量是时变的,即视频业务使用量存在高低峰期,用户数会影响每个用户的可用带宽,此外,基站下的用户具有移动性,分布在不同位置的用户与基站的距离大小不同,该特性会导致不同位置用户的网络吞吐量不同,将缓存更新时刻的集合定义为T={0,1,2...,t,...T},在时隙t,用户u的网络吞吐量可用wu(t)表示,wu(t)的值可通过MEC平台应用程序接口获取;
在缓存分发系统中,MEC服务器的缓存空间大小设置为Z,计算能力为ρ,系统中用户数为U,视频被分割成相同大小的块,用集合V={1,2,...,V}表示,视频码率Q的版本用集合L={1,2,...,L}表示,MEC服务器以视频块为单位进行缓存,码率为l的视频v块用v
l表示,视频块的时长设置为
则视频块的大小
其中
需满足限制条件
MEC服务器中视频块的缓存状态用向量
表示,其中
表示缓存了码率为l的视频块,反之
完成网络模型的构建;
2)构建请求模型:在每个时隙内,用户根据自己的网络吞吐量向基站请求指定码率的视频,而视频请求转化为对每个视频块的请求,所请求视频通过MEC服务器或者云服务器传输给用户,MEC服务器记录时隙t内的所有请求记录K={1,2,...,k,...K},视频块的请求信息包括视频块编号、视频的码率,视频vl在时隙t内的流行度可以根据其被请求的概率来估计,如公式(1)所示:
其中
若
表示请求k请求了视频块v
l,
表示未请求视频块v
l,由此,MEC服务器在t时隙的请求状态可定义为:
完成请求模型的构建;
3)构建通信模型:假设云服务器到MEC服务器,以及MEC服务器到用户之间的链路带宽分别为Bradio,Bbackhaul,云服务器与基站之间为有线链路,不存在干扰,而基站下的用户共享相同的频谱,因此,用户之间会存在干扰,用户n与基站之间的通信链路的信干噪比为:
其中,pn,j和hn,j分别是用户n与基站j之间的传输功率和信道增益,σ2为用户n接收到的高斯白噪声,t时隙用户和基站之间数据传输速率为:
r1=Bradiolog(1+SINRn,j) (4),
回程链路的传输速率为:
r2=Bbackhaul (5),
完成通信模型的构建;
4)构建系统收益模型:当MEC服务器缓存了用户请求的视频时,用以下两种命中模式均会给系统带来收益;
(1)直接命中模式
在接收到来自用户的视频请求k时,MEC服务器首先检查缓存记录表,若MEC服务器缓存了用户请求的视频块,且用户请求的视频块的码率小于MEC服务器已缓存的视频块的码率时,MEC服务器将请求视频直接返回,无需占用回程带宽,也没有额外消耗计算资源,此时获得的系统收益最大,假设回程带宽的单位价值为φ1,获得的系统收益用Gl表示:
Gl=φ1ql (6),
其中,ql为传输码率为l的视频所需带宽;
(2)转码命中模式
若MEC服务器缓存的视频质量高于请求的版本,MEC服务器通过将视频转码后传输给用户,用
表示缓存了更高码率的视频v
h,此时需要消耗MEC服务器的计算资源,假设处理单位比特所需CPU周期数为c,单位为周期/比特,计算资源的单位代价为η
1,则转码代价C
t可表示为:
由公式(6)和(7)得转码命中模式的系统收益Gh为:
Gh=Gl-Ct (8),
在公式(8)中,
为视频块的时长,q
h为缓存视频的高码率版本,由分析可知,对于视频请求k,当缓存命中时带来的系统收益
为:
其中
为直接命中模式,而
表示转码命中模式,可以看出,直接命中模式和转码命中模式节省的回程链路带宽资源是一样的,但是转码后响应要消耗MEC服务器的计算资源,在流量高峰期,若是缓存了高码率版本的视频,大量的转码请求将会很快耗尽系统的计算资源,增大了响应的时延,甚至出现部分用户得不到响应的情况;
从上述两种命中模式可知,当MEC服务器缓存了指定码率或高版本码率的视频时均能为系统节省回程带宽资源,因此,可将系统在时隙t内得到的收益Gt定义为:
公式(10)表示时隙t内所有请求K的收益之和;
完成系统收益模型的构建;
5)构建QoE收益模型:QoE通常定义为用户在一定的客观环境中对所获得的服务或者业务的整体满意程度,在视频点播服务中,影响用户观看体验的主要因素是视频的码率以及等待时延,更高的质量能给用户带来更好的观影体验,但是高质量的视频增加了等待时延,因此,需要在视频质量和观看的流畅度之间找到一个折中的方案,本技术方案通过分析视频码率、等待时延与用户QoE的关系,并将这些影响因素建模成QoE收益函数:
(1)视频质量
视频的质量由视频的码率决定,视频的质量Qv与码率的关系可表示为:
其中qv为视频片段v的码率,δ1,δ2,δ3为经验参数,用于调整视频质量的取值范围;
(2)等待时延
等待时延包括视频的传输时延和转码时延,传输时延主要受到网络带宽、网络拥塞因素影响,在转码命中模式中,为了适配用户请求,MEC服务器需要对视频块进行转码,产生转码时延;
将等待时延Ddelay定义为从用户发送视频请求到视频开始播放之间的等待时延,等待时延由网络的传输时延和MEC服务器转码时延组成,传输时延包括回程传输时延和基站到用户之间的无线传输时延,根据缓存是否命中,等待时延的计算可以分以下三种情形:
①缓存命中且无须对视频块进行转码此时,等待时延等于基站到用户设备的传输时延;
②缓存命中且需要对视频块进行转码,此时等待时延等于基站到用户设备的传输时延和转码时延之和;
③缓存未命中,此时,等待时延等于回程时延与基站到设备的传输时延之和;
综合上述三种不同情况,等待时延的计算可表示如下:
其中,公式(12)的
表示直接命中模式的等待时延,
表示转码命中模式的等待时延,
为从云服务器获取视频所花费的等待时延,ρ为MEC服务器的计算能力;等待时延与QoE之间的关系可以用对数函数拟合,具体表达式如下:
视频的质量Qv可以提高用户的QoE,等待延迟则会对QoE造成损伤,假设单位视频质量带来的增益为φ2,单位时延造成的QoE损伤为是η2,对于每个请求k的QoE收益可定义为:
在时隙t内系统的QoE收益为所有请求K的收益之和:
完成QoE收益模型的构建;
6)构建优化问题:缓存收益由两部分组成:第一部分是缓存和转码节省的回程带宽和节省下的计算资源,即系统收益;第二部分是用户QoE收益,由视频质量、等待时延决定,因此,将优化问题定义为:
在有限的资源下,最大化有限缓存资源带来的系统收益,优化目标定义为:
7)构建马尔科夫决策过程:马尔科夫决策过程(Markov Decision Process,简称MDP)模型由四个基本部分组成:状态、动作、转移概率、奖励,可将其定义为一个四元组:
M=(S,A,P,R)(18),
其中S表示的是系统的状态空间,A表示系统的动作空间,P则表示执行一个动作a∈A后,转移到某个状态s∈S的概率,R是表示执行完动作a∈A后获得的即时奖励;
(1)状态空间
在每个决策时刻t,MEC服务器从记录的请求信息中提取环境状态st,选取上一时隙每个视频块被请求的统计概率、视频块缓存状态、用户的网络吞吐量作为环境状态,因此,t时刻的系统状态st可定义为:
st={c(t),x(t),w(t)} (19),
其中:
·
表示时隙t时间内,每个视频块v
l的统计请求概率;
·
表示时隙t时间内,视频块v
l的缓存状态,
表示MEC服务器缓存了视频块v
l;
·w(t)={w1(t),w2(t),...,wu(t),...,wU(t)}表示时隙内t每个用户的网络吞吐量;
(2)动作空间
在t时刻,缓存系统决定是否缓存视频块vl,故将系统采取的动作向量at定义为:
其中
表示在t时刻缓存视频块v
l的概率,在更新缓存视频内容时,MEC服务器按照
概率大小,依序选择对应的视频块v
l缓存到MEC服务器中,若视频已存在,则无需进行操作,否则将视频块从云服务器取回后缓存;
(3)奖励函数
系统在状态st执行完动作at后,系统计算从t到t+1时刻可以获得的即时奖励R(st,at),缓存更新问题的目标是最大化系统和QoE收益,因此,奖励函数可以定义为:
其中,
和
分别为Δt时间内第k次请求获得的系统和用户QoE收益;
(4)状态转移
系统在t时刻更新缓存的内容后,接收用户的请求并记录信息,状态转移到st+1,在t+1时刻系统更新的状态有c(t),x(t),w(t),也就是更新t+1时刻每个视频块被请求的统计概率、视频块的缓存状态、用户的网络吞吐量;
强化学习的目标是最大化系统长期收益函数,即最大化累积折扣回报,将缓存更新的累积折扣回报期望定义为:
其中π表示缓存系统学习到的缓存策略,rt+1为时隙缓存系统在t+1时隙得到的奖励,γ∈[0,1]是折扣因子,表示未来奖励对当前决策的影响,缓存系统的目标是找到最优策略π*=(a|s)以最大化系统的长期收益函数,即:
8)问题求解及方法设计:采用一种无模型的DDPG强化学习方法求解最优的缓存更新策略;
DDPG算法由以下五个模块组成,包括四个神经网络和一个经验回放池:
·Actor当前网络π(s,a,θ):Actor当前网络根据系统观察到的当前状态st选择动作at,与环境交互得到下一状态st+1和即时奖励R(st,at);
·Critic当前网络Q(s,a,ω):Critic网络负责计算当前动作的Q值,用于评估Actor当前网络输出动作的好坏;
·目标Actor网络π′(s,a,θ′):目标Actor网络根据从经验回放池中采样的下一状态st+1,选择最优的动作at+1,用于目标Critic网络计算目标值中的Q′(st+1,at+1,ω′);
·目标Critic网络Q′(st,at,ω):目标Critic网络通过计算目标Q值yt=r+γQ′(st+1,at+1,ω′),与Critic当前网络计算得到的当前Q值构建损失函数,通过最小化损失函数来对Critic当前网络进行训练;
·经验回放池用于存放经验元组,每条经验元组由当前状态st,动作at,即时奖励R(st,at),以及下一状态st+1组成;
(1)Actor当前网络的训练和更新规则
Actor当前网络定义为带有参数θ的策略函数a=π(s|θ),用于代替强化学习中的策略函数π(s,a),其中a为Actor当前网络根据系统状态s,输出每个视频块被缓存的概率,此外,为了增强DDPG算法的探索能力,DDPG算法对Actor当前网络输出的动作增加均值回归(Ornstein-Uhlenbeck,OU)噪声ξt,最后得到策略函数的表达式为:
at=π(st|θ)+ξt (24),
在执行完Actor输出的动作后,Critic当前网络会计算当前的动作价值Q(st,at,ω),Actor的损失值由Critic当前网络输出的Q值决定,即反馈的Q值越大,则Actor当前网络的损失越小,反之损失越大,由此可将Actor当前网络的损失函数定义为:
Actor使用策略梯度来更新网络参数θ,J(θ)梯度可以表示为:
其中Q(s,a,ω)是动作价值函数,π(s|θ)为策略函数,系统在完成一轮迭代之后,将获取到的经验元组<st,at,R(st,at),st+1>添加到经验回放池中,当经验回访池的数量达到设定值时,DDPG算法将从经验池采样一个batch,批量地输入到Actor当前网络中进行训练和参数更新,具体更新策略可以表示为:
其中α是Actor网络的学习率;
(2)Critic当前网络的训练和更新规则
Critic当前网络可近似表示动作状态价值函数Q(s,a,ω),网络输出的估计值用于评价Actor动作的好坏,表示为:
Q(s,a,ω)=E[r(st,at)+γQ(st+1,π(st+1)|ω)] (28),
Critic当前网络利用当前状态与下一状态计算动作状态价值函数Q(s,a,ω),将损失函数定义为估计值与目标值差值的均方差:
L(w)=E[(Q(st,at|w)-yt)2] (29),
通过最小化损失函数对Critic当前网络参数w进行训练,损失函数L(w)的梯度可以由下式计算:
Critic当前网络的参数更新规则可以表示为:
其中β表示Critic网络的学习率;
(3)具体实现
首先,创建Actor和Critic网络并初始化网络参数,然后MEC服务器根据过去一段时间的视频请求历史、视频缓存状态、用户的网络吞吐量等信息得到系统状态并输入Actor当前网络,接着Actor当前网络π(st|θ)输出每个视频块被缓存的概率,MEC服务器按照视频块缓存概率大小依序选择对应的视频块vl缓存到MEC服务器中,若视频已存在,则无需进行操作,否则将视频块从云服务器取回后缓存,具体实现如下表所示;
完成问题求解。
这种方法可减少网络拥塞,避免频繁的转码操作,节省网络带宽以及MEC服务器的计算资源。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述,但不是对本发明的限定。
实施例:
参照图1,一种移动边缘计算中自适应码率选择的视频缓存更新方法,包括如下步骤:
1)构建网络模型:基于移动边缘计算网络架构下的视频缓存分发系统由云服务器、基站、MEC服务器、用户设备组成,用户通过无线接入网连接到基站,MEC服务器通过光纤与基站进行连接,基站与云服务器通过有线链路连接,缓存分发系统为边缘节点与云服务器之间分配了视频更新专用的带宽,其传输速度高于用户与云服务器的传输速度,云服务器是包含所有视频内容的数据中心,为用户请求提供所有视频,部署在基站旁边的MEC服务器就近提供边缘缓存所需的存储和计算能力,基站下用户的接入量是时变的,即视频业务使用量存在高低峰期,用户数会影响每个用户的可用带宽,此外,基站下的用户具有移动性,分布在不同位置的用户与基站的距离大小不同,该特性会导致不同位置用户的网络吞吐量不同,将缓存更新时刻的集合定义为T={0,1,2...,t,...T},在时隙t,用户u的网络吞吐量可用wu(t)表示,wu(t)的值可通过MEC平台应用程序接口获取(Kumar,S.,et al.(2020)."“RAN-aware adaptive video caching in multi-access edge computingnetworks."”Journal of Network and Computer Applications:102737.);
在缓存分发系统中,MEC服务器的缓存空间大小设置为Z,计算能力为ρ,系统中用户数为U,视频被分割成相同大小的块,用集合V={1,2,...,V}表示,视频码率Q的版本用集合L={1,2,...,L}表示,MEC服务器以视频块为单位进行缓存,码率为l的视频v块用v
l表示,视频块的时长设置为
则视频块的大小
其中
需满足限制条件
MEC服务器中视频块的缓存状态用向量
表示,其中
表示缓存了码率为l的视频块,反之
完成网络模型的构建;
2)构建请求模型:在每个时隙内,用户根据自己的网络吞吐量向基站请求指定码率的视频,而视频请求转化为对每个视频块的请求,所请求视频通过MEC服务器或者云服务器传输给用户,MEC服务器记录时隙t内的所有请求记录K={1,2,...,k,...K},视频块的请求信息包括视频块编号、视频的码率,视频vl在时隙t内的流行度可以根据其被请求的概率来估计,如公式(1)所示:
其中
若
表示请求k请求了视频块v
l,
表示未请求视频块v
l,由此,MEC服务器在t时隙的请求状态可定义为:
完成请求模型的构建;
3)构建通信模型:假设云服务器到MEC服务器,以及MEC服务器到用户之间的链路带宽分别为Bradio,Bbackhaul,云服务器与基站之间为有线链路,不存在干扰,而基站下的用户共享相同的频谱,因此,用户之间会存在干扰,用户n与基站之间的通信链路的信干噪比为:
其中,pn,j和hn,j分别是用户n与基站j之间的传输功率和信道增益,σ2为用户n接收到的高斯白噪声,t时隙用户和基站之间数据传输速率为:
r1=Bradiolog(1+SINRn,j) (4),
回程链路的传输速率为:
r2=Bbackhaul (5),
完成通信模型的构建;
4)构建系统收益模型:当MEC服务器缓存了用户请求的视频时,用以下两种命中模式均会给系统带来收益,如图3所示;
(1)直接命中模式
在接收到来自用户的视频请求k时,MEC服务器首先检查缓存记录表,若MEC服务器缓存了用户请求的视频块,且用户请求的视频块的码率小于MEC服务器已缓存的视频块的码率时,MEC服务器将请求视频直接返回,无需占用回程带宽,也没有额外消耗计算资源,此时获得的系统收益最大,假设回程带宽的单位价值为=φ1,获得的系统收益用Gl表示:
Gl=φ1ql (6),
其中,ql为传输码率为l的视频所需带宽;
(2)转码命中模式
若MEC服务器缓存的视频质量高于请求的版本,MEC服务器通过将视频转码后传输给用户,用
表示缓存了更高码率的视频v
h,此时需要消耗MEC服务器的计算资源,假设处理单位比特所需CPU周期数为c,单位为周期/比特,计算资源的单位代价为η
1,则转码代价C
t可表示为:
由公式(6)和(7)得转码命中模式的系统收益Gh为:
Gh=Gl-Ct (8),
在公式(7)中,
为视频块的时长,q
h为缓存视频的高码率版本,由分析可知,对于视频请求k,当缓存命中时带来的系统收益
为:
其中
为直接命中模式,而
表示转码命中模式,可以看出,直接命中模式和转码命中模式节省的回程链路带宽资源是一样的,但是转码后响应要消耗MEC服务器的计算资源,在流量高峰期,若是缓存了高码率版本的视频,大量的转码请求将会很快耗尽系统的计算资源,增大了响应的时延,甚至出现部分用户得不到响应的情况;
从上述两种命中模式可知,当MEC服务器缓存了指定码率或高版本码率的视频时均能为系统节省回程带宽资源,因此,可将系统在时隙t内得到的收益Gt定义为:
公式(10)表示时隙t内所有请求K的收益之和,完成系统收益模型的构建;
5)构建QoE收益模型:QoE通常定义为用户在一定的客观环境中对所获得的服务或者业务的整体满意程度(林闯,胡杰,孔祥震.用户体验质量(QoE)的模型与评价方法综述[J].计算机学报,2012,35(01):1-15),在视频点播服务中,影响用户观看体验的主要因素是视频的码率以及等待时延,更高的质量能给用户带来更好的观影体验,但是高质量的视频增加了等待时延,因此,需要在视频质量和观看的流畅度之间找到一个折中的方案,本例通过分析视频码率、等待时延与用户QoE的关系,并将这些影响因素建模成QoE收益函数:
(1)视频质量
视频的质量由视频的码率决定,根据文献(Honglei S,Qi L,Hao G,etal.Content-based Bitrate Model for Perceived Compression DistortionEvaluation of Mobile Video Services[J].Iet Image Processing,2017,11(11):1027-1033.),视频的质量Qv与码率的关系可表示为:
其中qv为视频片段v的码率,δ1,δ2,δ3为经验参数,用于调整视频质量的取值范围;
(2)等待时延
等待时延包括视频的传输时延和转码时延,传输时延主要受到网络带宽、网络拥塞因素影响,在转码命中模式中,为了适配用户请求,MEC服务器需要对视频块进行转码,产生转码时延;
将等待时延Ddelay定义为从用户发送视频请求到视频开始播放之间的等待时延,等待时延由网络的传输时延和MEC服务器转码时延组成,传输时延包括回程传输时延和基站到用户之间的无线传输时延,根据缓存是否命中,等待时延的计算可以分以下三种情形:
①缓存命中且无须对视频块进行转码此时,等待时延等于基站到用户设备的传输时延;
②缓存命中且需要对视频块进行转码,此时等待时延等于基站到用户设备的传输时延和转码时延之和;
③缓存未命中,此时,等待时延等于回程时延与基站到设备的传输时延之和;
综合上述三种不同情况,等待时延的计算可表示如下:
其中,公式(12)的
表示直接命中模式的等待时延,
表示转码命中模式的等待时延,
为从云服务器获取视频所花费的等待时延,ρ为MEC服务器的计算能力;
等待时延与QoE之间的关系可以用对数函数拟合,具体表达式如下:
其中
为国际电信联盟评估QoE方案中得分的最大值,(InternationalTelecommunication Union,Geneva.Methods for subjectivedetermination oftransmission quality.Report:ITU-T-P.800,1996);
视频的质量Qv可以提高用户的QoE,等待延迟则会对QoE造成损伤,假设单位视频质量带来的增益为φ2,单位时延造成的QoE损伤为是η2,对于每个请求k的QoE收益可定义为:
在时隙t内系统的QoE收益为所有请求K的收益之和:
完成QoE收益模型的构建;
6)构建优化问题:缓存收益由两部分组成:第一部分是缓存和转码节省的回程带宽和节省下的计算资源,即系统收益;第二部分是用户QoE收益,由视频质量、等待时延决定,因此,将优化问题定义为:
在有限的资源下,最大化有限缓存资源带来的系统收益,优化目标定义为:
7)构建马尔科夫决策过程:马尔科夫决策过程模型由四个基本部分组成:状态、动作、转移概率、奖励,可将其定义为一个四元组:
M=(S,A,P,R) (18),
其中S表示的是系统的状态空间,A表示系统的动作空间,P则表示执行一个动作a∈A后,转移到某个状态s∈S的概率,R是表示执行完动作a∈A后获得的即时奖励;
(1)状态空间
在每个决策时刻t,MEC服务器从记录的请求信息中提取环境状态st,选取上一时隙每个视频块被请求的统计概率、视频块缓存状态、用户的网络吞吐量作为环境状态,因此,t时刻的系统状态st可定义为:
st={c(t),x(t),w(t)} (19),
其中:
·
表示时隙t时间内,每个视频块v
l的统计请求概率;
·
表示时隙t时间内,视频块v
l的缓存状态,
表示MEC服务器缓存了视频块v
l;
·w(t)={w1(t),w2(t),...,wu(t),...,wU(t)}表示时隙内t每个用户的网络吞吐量;
(2)动作空间
在t时刻,缓存系统决定是否缓存视频块vl,故将系统采取的动作向量at定义为:
其中
表示在t时刻缓存视频块v
l的概率,在更新缓存视频内容时,MEC服务器按照
概率大小,依序选择对应的视频块v
l缓存到MEC服务器中,若视频已存在,则无需进行操作,否则将视频块从云服务器取回后缓存;
(3)奖励函数
系统在状态st执行完动作at后,系统计算从t到t+1时刻可以获得的即时奖励R(st,at),缓存更新问题的目标是最大化系统和QoE收益,因此,奖励函数可以定义为:
其中,
和
分别为Δt时间内第k次请求获得的系统和用户QoE收益;
(4)状态转移
系统在t时刻更新缓存的内容后,接收用户的请求并记录信息,状态转移到st+1,在t+1时刻系统更新的状态有c(t),x(t),w(t),也就是更新t+1时刻每个视频块被请求的统计概率、视频块的缓存状态、用户的网络吞吐量;
强化学习的目标是最大化系统长期收益函数,即最大化累积折扣回报,将自适应码率选择的缓存更新累积折扣回报期望定义为:
其中π表示缓存系统学习到的缓存策略,rt+1为时隙缓存系统在t+1时隙得到的奖励,γ∈[0,1]是折扣因子,表示未来奖励对当前决策的影响,缓存系统的目标是找到最优策略π*=(a|s)以最大化系统的长期收益函数,即:
8)问题求解及方法设计:采用一种无模型的DDPG强化学习方法求解最优的缓存更新策略;
如图2所示,DDPG算法由以下五个模块组成,包括四个神经网络和一个经验回放池:
·Actor当前网络π(s,a,θ):Actor当前网络根据系统观察到的当前状态st选择动作at,与环境交互得到下一状态st+1和即时奖励R(st,at);
·Critic当前网络Q(s,a,ω):Critic网络负责计算当前动作的Q值,用于评估Actor当前网络输出动作的好坏;
·目标Actor网络π′(s,a,θ′):目标Actor网络根据从经验回放池中采样的下一状态st+1,选择最优的动作at+1,用于目标Critic网络计算目标值中的Q′(st+1,at+1,ω′);
·目标Critic网络Q′(st,at,ω):目标Critic网络通过计算目标Q值yt=r+γQ′(st+1,at+1,ω′),与Critic当前网络计算得到的当前Q值构建损失函数,通过最小化损失函数来对Critic当前网络进行训练;
·经验回放池用于存放经验元组,每条经验元组由当前状态st,动作at,即时奖励R(st,at),以及下一状态st+1组成;
(1)Actor当前网络的训练和更新规则
Actor当前网络定义为带有参数θ的策略函数a=π(s|θ),用于代替强化学习中的策略函数π(s,a),其中a为Actor当前网络根据系统状态s,输出每个视频块被缓存的概率,此外,为了增强DDPG算法的探索能力,DDPG算法对Actor当前网络输出的动作增加均值回归(Ornstein-Uhlenbeck,OU)噪声ξt,最后得到策略函数的表达式为:
at=π(st|θ)+ξt (24),
在执行完Actor输出的动作后,Critic当前网络会计算当前的动作价值Q(st,at,ω),Actor的损失值由Critic当前网络输出的Q值决定,即反馈的Q值越大,则Actor当前网络的损失越小,反之损失越大,由此可将Actor当前网络的损失函数定义为:
Actor使用策略梯度来更新网络参数θ,J(θ)梯度可以表示为:
其中Q(s,a,ω)是动作价值函数,π(s|θ)为策略函数,系统在完成一轮迭代之后,将获取到的经验元组<st,at,R(st,at),st+1>添加到经验回放池中,当经验回访池的数量达到设定值时,DDPG算法将从经验池采样一个batch,批量地输入到Actor当前网络中进行训练和参数更新,具体更新策略可以表示为:
其中α是Actor网络的学习率;
(2)Critic当前网络的训练和更新规则
Critic当前网络可近似表示动作状态价值函数Q(s,a,ω),网络输出的估计值用于评价Actor动作的好坏,表示为:
Q(s,a,ω)=E[r(st,at)+γQ(st+1,π(st+1)|ω)] (28),
Critic当前网络利用当前状态与下一状态计算动作状态价值函数Q(s,a,ω),将损失函数定义为估计值与目标值差值的均方差:
L(w)=E[(Q(st,at|w)-yt)2] (29),
通过最小化损失函数对Critic当前网络参数w进行训练,损失函数L(w)的梯度可以由下式计算:
Critic当前网络的参数更新规则可以表示为:
其中β表示Critic网络的学习率;
(3)具体实现
首先,创建Actor和Critic网络并初始化网络参数,然后MEC服务器根据过去一段时间的视频请求历史、视频缓存状态、用户的网络吞吐量等信息得到系统状态并输入Actor当前网络,接着Actor当前网络π(st|θ)输出每个视频块被缓存的概率,MEC服务器按照视频块缓存概率大小依序选择对应的视频块vl缓存到MEC服务器中,若视频已存在,则无需进行操作,否则将视频块从云服务器取回后缓存,具体实现步骤如下表所示;
完成问题求解。