RL- Cache

Algorithm and implementation

1、Feature selection

考虑的三个方面:

  • object size
  • request recency
  • request frequency

image-20210515123248089

此方法的优点在于: The strength of our approach is in simultaneously considering a broad set of eight features from these three classes.

recency有很多种不同的定义,且论文将recency和size相结合。

2、RL Problem Formulation

state : 特征的向量(不包含缓存占用防止重复计算)

$$ return \ R=\sum_{i=1}^{\infty} \gamma^{i} r_{i} $$

目标:设计神经网络近似policy function 使得return最大,即命中率最大

3、RL approach

model-free RL algorithm:

  • TD
  • MC:update action value 基于(状态-动作)对,利用return去更新action函数。缺点:计算开销过大,易受到高差异回报的影响。
  • DPS:利用具有高return的policy子集通过搜索得到最好的policy方法,用神经网络模拟policy函数,通过更新参数得到更好的policy策略。

?更新的是什么函数呢

问题:设计reward(不仅是hit ratio),能想到的各种奖励都需要大量的计算时间。

4、Neural-network architecture

ANN with ELU(5个隐藏层中的激活函数)

输入层有n个神经元,第l个隐藏层有5*(6-l)*n个神经元。

用 L2 regularization防止过拟合。

输出层是两个神经元,表示是否被admit的两个概率

8个特征向量是连续的,量化后作为输入层的输入。

5、Training algorithm

目标:调整神经网络的权值

在云上周期性训练,仍然需要考虑计算开销。多个连续请求而不是单个请求可以长期评估。

$$ r_{i}=\left\{\begin{array}{ll} \frac{1}{K+L} & \text { for a cache hit, } \\ 0 & \text { for a cache miss. } \end{array}\right. $$

前K个是真实的不需要折扣函数:

$$ R=\frac{\sum_{i=1}^{K} \mathbb{1}_{\text {hits }}(\text { reward } i)+\sum_{i=K+1}^{K+L} \gamma^{i-K} \mathbb{1}_{\text {hits }}(\text { reward } i)}{K+L} $$

步骤:K长度的滑动窗口MC采样后考虑m个decision,获取return前k高的samples,利用二进制交叉熵损失作为损失函数进行反向传播算法。

image-20210515152350623

循环直到达到某一个阈值内或达到最大值。然后滑动窗口到下K个。

注:每滑动q个窗口后都将权重重置一下。云中进行,定期向服务器提供一个更新后的权重版本。

6、Real-time operation

7、Implementation

Tensorflow框架

在cache server中需要一个数据库,计算频率和最近度量,且可以将最新更新的神经网络应用于请求上。

DRL-360

1、背景

问题:难以确定哪些tile应该被分配高、低码率

  • 动态变化的大量的相关特征(输入向量大)
  • 目前大多数是启发式的方法,需要用不同的方式来优化各种QoE指标

DRL-360:根据客户端视频播放器收集到的数据,自适应地为未来视频帧的贴图分配码率。(将QoE指标组成一个动态特征组)

整体结构:

高精度的带宽预测和基于RNN的视点预测learn the long-term QoE reward

LSTM 和 Actor-Critic 优化QoE目标来适应网络条件和视口的未来变化

分配码率的两点原则:

  • 视口外的贴图应该低于视口内的贴图
  • 视口内的贴图应该保持一样的码率,防止有边界感

duration:T,编号是1-C

1、Features

  • Viewpoint and viewport:in viewport -> V = 1; or V = 0
  • Video-content independent features: 没太懂,比如视口内的总速率
  • Bandwidth:计算下载两个连续块的间隔时间
  • Buffer Occupancy

2、QoE metrics

  • Average Viewport Quality [Mb]
  • Rebuffer
  • Average Viewport Temporal Variations

将这三点加权求和后得到QoE指标

3、DRL-360的整体框架

  • LSTM:predict bandwidth & viewport
  • DRL:揭示特征与QoE目标之间的关系

Definitions:

State:chunk ID--C, viewport--v(c), bandwidth--N(tc), Buffer occupancy--Bc, 下一个chunk的贴图大小--dc,ij(.), 预测的viewport--V'(c+1), 预测的带宽--N'(t+*)

Action:基于当前state,视口内的第c+1块chunk的比特率选择

Reward:客户端记录每个块的视图中的平均速率,并监控重缓冲时间,QoE指标

Policy:神经网络 -> 最大化累计折扣奖励的期望值。πθ(sc, ac)是给定当前状态sc时,动作ac被采取的概率。算出V后可以确定有最大值的动作和选择的chunk的码率。

Models for prediction:

RNN(LSTM):解决时间序列预测问题,预测bandwidth 和 viewport

DRL:QoE目标优化(training algo: Action - Critic)

image-20210523104538066

当请求一个新块时:

  1. 环境将分别向预测LSTM模型提供以前的带宽记录和视口观察。
  2. LSTM模型生成未来的viewport和bandwidth值。
  3. 结合环境得到当前的observation经过AC LSTM后得到输出。
  4. 输出经过两个FC神经网络更新state并做出action
  5. 产生的动作会影响环境,而环境会带回奖励和新的观察结果,这些可以用来更新训练过程中的参数

4、Implementation

offline:贴图提取器,视频编码器

online:请求处理器

5、Evaluation

(1) 基本参数&配置信息:

16个快、慢节奏的视频,25帧级,48条viewport轨迹。

两个video是测试集,其余是训练集。

码率:5种,分别为:1Mbps (360p), 5Mbps (720p), 8Mbps (1080p), 16Mbps (2K) and 35Mbps (4K)

segment 长度:1 s

tile in chunk:4 * 6

带宽:2Mbps to 15Mbps,16条,每条至少400s

将三种算法进行比较:Action-Critic,Reinforce,Reinforce-Baseline

我们比较了提议的DRL360系统与六种最先进的360度视频流媒体系统的性能。

QoE指标:四种不同偏好的QoE指标。

(2) 预测bw和vp的精度

比较预测模型的性能:LSTM,LR,CNN,KNN,检查未来三个连续贴图的平均精度。(带宽是检查未来三秒的带宽)

论文中都是CDF曲线(分布函数)

(3) RL算法的性能评估

优点:更看重某个QoE指标时可以更改权重参数

6、Related Work

  1. 许多研究集中在通过控制理论或蜂窝网络的特殊设计来适应网络
  2. 强化学习:它自适应地挖掘动态系统中特征之间的关系,并采取适当的行动使给定的目标最大化。
Last modification:May 25th, 2021 at 08:08 am
请赏我杯奶茶,让我快乐长肉