A Gated Dilated Causal Convolution Based Encoder-Decoder for Network Traffic Forecasting

A Gated Dilated Causal Convolution Based Encoder-Decoder for Network Traffic Forecasting

DOI:10.1109/ACCESS.2019.2963449

使用sci-hub输入DOI


摘要:对未来网络流量的准确估计是网络退化预警和网络资源自动编排的关键手段。长短期记忆神经网络LSTM是一种流行的网络流量预测体系结构,在许多应用中得到了成功的应用。然而,已经观察到当序列较长时,LSTM会出现记忆容量有限问题。本文提出了一种基于门控扩张因果卷积的编码器-解码器(GDCC-ED)模型,用于网络流量预测。GDCC-ED在编码器端从历史网络流量序列学习向量表示,其中采用门控扩张因果卷积来扩展远程内存容量。此外,在结合了不同视角的不同类型的特征,包括与时间无关和与时间相关的特征。在解码器中,GDCC-ED利用具有LSTM单元的RNN将向量表示映射回可变长度的目标序列。此外,还设计了一种序列数据增强技术来解决数据稀缺问题。实验结果表明,我们的模型比最先进的算法具有更好的性能11.6%。

1.INTRODUCTION

随着智能设备和多样化应用的普及,网络流量的需求在世界范围内迅速增长。网络流量有多种类型,可以是带宽相关的访问服务器、网站和其他互联网服务的次数。根据最新的思科可视化网络指数(VNI)技术报告[1],到2022年,全球年IP流量将达到每年4.8ZB,在2017年至2022年期间,繁忙时间的互联网流量增加了4.8倍。网络流量的多样性和复杂性日益增加,使得对多种网络要素的监测和管理变得棘手。为了保证质量提供稳定的互联网服务服务(QoS),预测网络流量对服务提供商和基础设施提供商都变得非常重要。例如,借助对网络流量需求的准确预测,通过将部分流量需求从繁忙的单元拉到空闲的单元,流量堵塞是可以避免的。因此,将通用机器智能集成到未来的网络流量预测中,正引起广泛的研究兴趣。
对于流量需求预测问题,一些研究人员[6]-[9]已经努力提高性能。自回归综合移动平均(ARIMA),K-近邻(K-NN),支持向量回归(SVR)和其他启发式算法是这些工作中应用最广泛的方法。然而,ARIMA未能捕获快速的流量变化,因为它依赖于历史数据的平均值。此外,ARIMA不能对真实系统中的非线性关系进行建模。虽然K-NN和SVR可以对非线性关系进行建模,它需要良好的关键参数来实现准确的预测结果。即使在捕获时间特征时,由于参数有限和计算效率低,现有的传统方法也仅限于保持短期记忆,而这种远程记忆在实践中可能是有用的。这些观察鼓励我们探索更强大的建模工具来捕捉和描述它们。
随着人工智能的发展,研究人员开始基于深度学习对网络流量进行预测。递归神经网络是一种专门设计的神经网络,已被广泛应用于复杂非线性序列模式的建模,在许多领域提供了有效的成果。包括但不限于语音识别、图像标题和自然语言处理。由于一般的RNN潜在梯度消失和爆炸风险,在解决这些任务中提出了LSTM[11]和GRU[12]。另一个优点是,它们擅长通过将离散因子直接编码为向量将它们导入模型。因此,基于RNN的神经网络被认为是模拟复杂流量时间序列的有前途的工具。其他工作[13]-[18]利用不同服务或相邻基站之间网络流量的时空依赖性。然而,这些研究需要具有时空属性的原始数据,否则这些模型将失效。
为了应对上述挑战,本文提出了一种基于门控扩张因果卷积的编码器(GDCC-ED)模型,用于网络流量预测。在编码器中,GDCC-ED在不增加模型参数的情况下,通过门控扩张因果卷积来提高长程记忆容量,以学习输入序列的向量表示。然后,将不同角度的不同类型的特征,包括时间无关和时间相关的特征,与向量表示融合。在解码器中,GDCC-ED应用带有LSTM单元的RNN将融合的向量表示映射回可变长度的目标序列。在本文中,我们重点预测了网站的访问次数。我们论文的主要贡献总结如下:
从不同的角度研究不同类型的特征,用于网络流量预测,包括时间无关和时间相关的特征。提出了一种基于门控扩张因果卷积的编解码(GDCC-ED)网络流量预测模型。在编码器中,采用门控扩张因果卷积来增加接收更高层次的字段,以包含更多的上下文信息。在网络流量序列方面,由于时间序列数据的明显自相关性,简单地使用滞后输入比使用复杂的注意机制要好。此外,为分类变量,实体嵌入比独热编码表现得更好,在欧几里德空间中映射相似的值,揭示分类变量的内在性质。设计了一种序列数据增强技术,通过随机选择每个时间序列的起点来解决数据稀缺的问题,产生了一个无休止的非重复数据流。
本文的其余部分组织如下。第二节回顾相关文献。第三节提出了网络流量预测的模型。第四节对我们提出的模型与最先进的模型进行了比较给出了评价。最后,第五节对本文进行了总结。

2. RELATED WORK

网络流量预测是一个活跃的研究领域,在文献中得到了相当多的关注。在网络流量预测中,对于线性模型的研究已经有许多,如自回归移动平均模型(ARMA)和自回归综合移动平均模型(ARIMA)。这两种算法是典型的线性时间序列模型。ARMA通常用于线性和平稳时间序列,而ARIMA可用于差分步长为平稳的非平稳数据。[6]和[7]的作者使用ARMA进行预测 网络流量,可以使文件传输更有效。在[7]文献中应用ARMA捕获流量模式,网络预测,可以帮助互联网服务提供商(ISP)改善网络的整体流量。文献[8]对某省某移动网络运营商的流量数据进行了季节性ARIMA的研究和预测,显示出令人满意的预测精度。Facebook提出了一种称为Prophet[9]的时间序列预测模型,它是一种基于非线性加性模型的时间序列数据预测方法其中非线性趋势与年度、每周和每日季节性相适应,具有友好的效果。它最适合于具有强烈季节效应的时间序列。在实践中,预测问题要复杂得多,输入涉及多个协变量,如动态历史特征、每个系列的静态属性和已知的未来事件。序列通常具有长期依赖性,如每年季节性模式,输入和输出之间存在非线性关系。这些模式没有处理这些问题。另一个明显的问题是,它们只能对单个时间序列进行预测,无法用通用模型对所有时间序列进行建模。
由于时间序列方法是经典的线性模型,可能不适合处理流量流的随机和非线性性质,因此在交流量预测领域,研究人员一直关注非参数方法。非线性模型通常用于具有时间方差和非对称周期等特征的数据。为此采用几种机器学习模型和启发式算法。作者在[19]提出了一种基于k-最近邻(K-NN)回归的动态多区间流量预测模型。一种非线性算法[20]预测小规模网络流量,提出了一种基于相关局部LSSVM(最小二乘支持向量机)回归模型的预测算法。[21]提出基于RBF神经网络的一种预测方法,采用改进的人工蜂群算法对RBF神经网络进行训练。同样,[22]和[23]的作者使用改进的引力搜索算法和粒子群算法分别对RBF网络进行优化,以降低预测误差。
随着人工智能的发展,人们对利用神经网络建模和预测网络流量的兴趣越来越大。神经网络固有的非线性结构对于捕捉现实世界问题中复杂的底层关系特别有用。除了非线性建模能力外,神经网络是数据驱动的方法,不需要对生成数据的潜在随机过程进行许多限制性假设。作者在[24]应用GRU模型和交互式时间递归卷积网络(ITRCN)分别用于单业务流量预测和交互式网络流量预测。在ITRCN模型中,卷积神经网络(CNN)部分学习网络流量作为图像来捕捉网络服务的相关性。[25]的研究人员提出了一种深度叠加的双向和单向LSTM(SBU-LSTM)神经网络,它既考虑了正向,也考虑了向后依赖。[26]提出了一种具有时间注意机制的LSTM编解码器模型,学习多元流相关时间序列数据的长依赖特征和非线性特征。
也有一些研究考虑了网络流量预测的时空依赖性。例如,本研究[13]设计了一种基于时空数据的唯一属性ST-ResNet的端到端结构。[14]的工作提出了一种端到端深度学习方法,包括Conv-LSTM模块和Bi-LSTM模块,通过充分整合流量信息的时间和空间特征来预测短期流量预测。DCRNN[15]将双向图随机游走应用于空间依赖建模,将编解码器体系结构和预定采样技术相结合,提高了长期预测的能力。STGCN[16]在图上制定流量预测问题,并利用CNN对图结构的流量数据进行有效的时空相关性捕获。HMDLF[27]通过特征融合进行多模态学习,考虑了多模态流量数据的时空相互依赖性。然而,这些研究需要具有时空特征的原始数据。因此,它们不适合我们只提供时间信息的问题。
近年来,基于RNN的神经网络是网络流量预测中应用最广泛的模型。虽然从理论的角度来看,递归架构声称捕获一个无限长的历史,但是在现实中捕获的序列依赖是有限的。为了解决上述问题,本文提出了一种基于门控扩张因果卷积用于网络流量预测的编解码(GDCC-ED)模型。我们通过在编码器中采用门控因果卷积来扩展长程记忆容量来增强编解码结构。此外,考虑了两种不同视角的网络流量特征,包括时间相关和时间无关的特征。在解码器中,GDCC-ED利用具有LSTM单元的RNN将向量表示映射回可变长度目标序列。

3.GATED DILATED CAUSAL CONVOLUTION BASED ENCODER-DECODER(GDCC-ED)

首先,第四-A部分给出了网络流量预测的问题公式。然后,第四-B节描述了数据集和特征生成过程。最后,从第四-C节到第四-F节说明了GDCC-ED模型。

A.PROBLEM FORMULATION

在定义模型体系结构之前,我们首先给出了网络流量预测的公式。一般来说,网络流量预测可以归类为序列预测任务。关键是t时刻的输出只依赖于t之前的数据,以防止数据泄漏。
给出输入序列 x 1 , . . . x T x_1,...x_T x1,...xT和对应的输出序列 y 1 , . . . y T ′ y_1,...y_{T^{'}} y1,...yT T ′ T^{'} T的长度可能与 T T T的长度不同,目标是寻找一个函数 f : x T ⟶ y T ′ f:x^T \longrightarrow y^{T^{'}} f:xTyT 产生下面的映射以最大化条件给定源序列的目标序列的概率 p ( y 1 , … , y T ′ ∣ x 1 , … , x T ) p(y_1,\dots,y_{T{'}}|x_1, \dots,x_T) p(y1,,yTx1,,xT):
y ^ 1 , … , y ^ T ′ = f ( x 1 , … , x T ) ( 1 ) \hat{y}_1,\dots,\hat{y}_{T{'}}=f(x_1,\dots ,x_T)\qquad(1) y^1,,y^T=f(x1,,xT)(1)
训练目标是针对映射函数的参数,使预测和真实值之间的损失函数最小化:

min ⁡ f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) + λ J ( f ) ) ( 2 ) \min_{f\in\mathcal{F}}{1\over N}\sum_{i=1}^NL(y_i,f(x_i)+\lambda J(f))\qquad(2) fFminN1i=1NL(yi,f(xi)+λJ(f))(2)

其中 F \mathcal{F} F 表示假设空间, N N N表示样本数, L L L表示将给定目标值 y i y_i yi与预测值 f ( x i ) f(x_i) f(xi)之间的误差量化的损失函数。 J ( f ) J(f) J(f) 代表正则项,通常指模型的复杂度。 λ \lambda λ表示正则化参数,它是对拟合参数的控制。随着拟合参数的幅度增加,对成本函数的惩罚将越来越大,以缓解过度拟合。

B.DATASET AND FEATURE GENERATION

​ 本文使用的数据集是Google的Web流量时间序列,由大约145000个维基百科页面组成。每个系列包含从2015年7月1日到2016年12月31日相应页面的每日视图序列,以及元数据,如这个时间序列所代表的流量类型(所有,移动,桌面,蜘蛛)。接下来两步是数据预处理。首先,所有缺失值都用零填充。其次,对所有数据进行对数变换,以获得正常的序列内值分布,而不是倾斜的。
​ 为了更好地辅助预测,除了原始流量数据外,还考虑了两种新的不同视角的网络流量特征,包括时间相关和时间独立的特征。详细说明如下,这对于设计网络流量预测模型至关重要。
(1)时间相关特征
​ 年与年和季与季自相关(ACF)系数。自相关分析将观测之间的相关性描述为时间滞后的函数,它在[-1,1]。我们从数据集中随机选择一个子集,直观地分析数据集中的每个序列是否具有一定的自相关性。图1中的不同颜色线表示子集中的不同序列。年度和季度对应的横轴坐标分别为90和180。这两个坐标点附近相应的自相关系数相对较高,因此我们观察到数据集中的数据具有一定的年和季度相关性。
​ 滞后的数据点。考虑到长期季节性,在时间距离上有两个要点:1)年前,2)季度之前。输入序列由另一个LSTM编解码模型编码。编码器输出的当前日减365和当前日减90被输入到一个完全连接的层,以减少尺寸。最后,将它们添加到特征空间中。
​ 各种时间尺度视图。由于异常值的存在,选择中间值来得到每个时间序列的相关稳定统计量。直觉上,不同时期的中间值可以捕捉到不同的模式。在实现中,使用前一周的值的中位数来评估最近的视图;前3周、9周的值的中位数(为63天,接近60天的范围是我们的预测目的),分别按工作日分组的1年被用来捕捉从短期到长期的每周模式。
(2)时间独立特征
​ Page popularity。高流量和低流量页面具有不同的流量变化模式。Page popularity能够感知流量规模。这些信息将在对数变换和归一化后丢失,因此,它是要显式添加到特征空间中。
​ 分类辅助变量。如代理商,国家等。这些特征是从页面URL和实体嵌入编码中提取的。实体嵌入已被证明在拟合神经网络时成功地工作在结构化数据[28]上,它将函数逼近问题中的分类变量映射到欧几里德空间。映射是由神经网络通过标准的监督训练过程学习的。以语言变量为例,图2给出了不同语言的网络流量,这表明分类变量对网络流量预测也具有判别能力。

C.ARCHITECTURE OF GDCC-ED

​ 我们提出的GDCC-ED模型应用了编解码架构,如图3所示。GDCC-ED由两个主要部件组成。(1)用于建模远程时间依赖关系的编码器,其中设计了门控扩张因果卷积。(2)多步网络流量预测解码器。从图3可以看出,除了编码器的输出外,提出的模型所采用的特征包括时间相关和时间无关的信息。细节在图4中可视化,这与第三-B节中的描述一致.

GDCC-ED结构
特征

D.ENCODER FOR MODELING LONG-RANGE TEMPORAL DEPENDENCIES

所提出的编码器在三个方面不同于常规CNN或RNN:它使用(1)扩展的因果卷积,(2)门控激活和(3)剩余连接,所有这些将在后面的章节中描述。

(1)CAUSAL CONVOLUTIONS
因果卷积最初是在WaveNet[29]中提出的,它是产生原始音频波形的深层生成模型。在传统的一维卷积层中,我们在输入序列上滑动一个权重过滤器,依次将其应用于序列的(通常是重叠的)区域。但是当我们用时间序列的历史来预测,我们必须小心。当我们形成最终将输入步骤连接到输出的层时,我们必须确保输出不依赖于未来的样本。通过使用因果卷积,模型不能违反数据的顺序:模型在时间步骤 t t t时间的预测不能依赖于任何未来的时间步骤 x t + 1 , x t + 2 , … , x T x_{t+1},x_{t+2},\ldots,x_{T} xt+1,xt+2,,xT,这防止了数据从未来泄漏到过去。因果卷积层的堆栈在图5(b)中可视化。
(2) DILATED CONVOLUTIONS
非递归网络的时间建模通常依赖于输入上下文窗口。使用密集的输入上下文窗口不仅限制了远程记忆容量,还增加了模型参数的数量。为了解决这个问题,采用了图5(a)中所示的扩展卷积,其中卷积滤波器通过跳过某些输入值于大于其长度的区域。图6给出了膨胀卷积的概念说明。
膨胀卷积引入了另一个称为膨胀因子的参数,它定义了内核中值之间的间距。例如,膨胀因子为2的 3 ∗ 3 3*3 33内核将具有和5*5内核相同的感受野,但只使用9个参数。在相同的计算成本下,这提供了一个更广泛的视野。有了这个目的,它经常被用于更广泛的上下文知识的整合和更少的成本的应用上。形式上,信号与核之间的扩展卷积定义如下:
F ( t ) = ( k ∗ l f ) t = ∑ τ = 0 s − 1 k τ ⋅ f t − l τ ( 3 ) F(t)=(k*lf)_t=\sum_{\tau=0}^{s-1}k_\tau\cdot f_{t-l\tau}\qquad(3) F(t)=(klf)t=τ=0s1kτftlτ(3)

其中 l l l是膨胀因子, s s s是滤波器的大小。具体来说,当 l = 1 l=1 l=1时,膨胀卷积减少到标准卷积。通过在每个层上多次增加膨胀因子(例如1、2、4、8),一叠膨胀的卷积使网络具有仅几层的非常大的感受野。通过推广,当我们处理一个每日时间序列时,我们可以用这种形式的9个扩张卷积层来捕捉一年以上的历史价值。结合上面所示的因果卷积,膨胀因果卷积的结构如图5©所示。
扩张的因果CNN可以看作是一个统计模型和在给定输入序列 x = x 1 , x 2 ⋯   , x T x=x_1,x_2\cdots,x_T x=x1,x2,xT 的情况下,输出序列 y = y 1 , y 2 ⋯   , y T y=y_1,y_2\cdots,y_T y=y1,y2,yT 的条件分布被分解为条件概率的乘积,如下所示:
p ( y ∣ x ) = ∏ i = 1 T ( p ( y i ∣ x i − N + 1 , x i − N + 2 , … , x i ) ) ( 4 ) p(y|x)=\prod_{i=1}^T(p(y_i|x_{i-N+1},x_{i-N+2},\ldots,x_i))\qquad(4) p(yx)=i=1T(p(yixiN+1,xiN+2,,xi))(4)

其中 是感受野的长度。这种结构是为了提高记忆容量而设计的。

(3) GATED ACTIVATION
我们使用与[30]中使用的相同的门控激活单元,控制通过每一层的信息流首先将双曲正切非线性应用于扩张卷积的输出,然后用sigmoid门衰减它。图7给出了门控激活的一个例子。虽然sigmoid函数经常被用作激活函数,但它在这里的作用不是激活函数而是起门控功能。由于sigmoid函数的值范围在0到1之间,我们采用它作为激活扩张卷积的衰减因子。好处就是通过每个隐藏层的信息流可以用更细的粒度来控制。这里的双曲正切函数是正态激活函数。这两项职能统称作为门控激活。因此,可学习的卷积滤波器 W W W被分割成 W f W_f Wf 用于滤波器, W g W_g Wg用于门。最后激活层 k k k的隐藏状态 h k h_k hk ,通过下式获得:
h k = t a n h ( W f , k − 1 ∗ x k − 1 ) ⊙ σ ( W g , k − 1 ∗ x k − 1 ) ( 5 ) h_k=tanh(W_{f,k-1}*x_{k-1})\odot\sigma(W_{g,k-1}*x_{k-1})\qquad(5) hk=tanh(Wf,k1xk1)σ(Wg,k1xk1)(5)

其中 $\sigma 是 逻 辑 s i g m o i d 非 线 性 函 数 , 是逻辑sigmoid非线性函数, sigmoid线\odot$而 代表元素点积。

(4) RESIDUAL CONNECTIONS
剩余连接[31],它将一层的输出与早期层的输入连接起来,在整个编码器中使用,以加快收敛速度,并能够训练更深的模型。通常,一个深度学习模型学习从输入 x x x到输出 y y y的映射M:
M ( x ) = y ( 6 ) M(x)=y\qquad(6) M(x)=y(6)
而不是学习直接映射,残差函数使用应用于x的映射与原始输入x之间的差异:
F ( x ) = M ( x ) − x ( 7 ) F(x)=M(x)-x\qquad(7) F(x)=M(x)x(7)
与原始映射 M ( x ) M(x) M(x)相比,更容易优化残差函数 F ( x ) F(x) F(x)。原函数由此变为:
o = ( x + F ( x ) ) ( 8 ) o=(x+F(x))\qquad(8) o=(x+F(x))(8)
其中 σ \sigma σ表示激活函数。从图3可以看出,在从输入到卷积到输出的每个门控扩张因果卷积之后,都会添加残差连接。这个对其他层重复,直到我们从最后一层获得输出。

在这里插入图片描述
在这里插入图片描述

E.DECODER FOR MULTI-STEP TRAFFIC FORECASTING

​ 为了预测未来多个时间步长的网络流量,可以使用LSTM解码器将融合向量表示解码为可变长度的目标序列,该序列利用遗忘门,更新门和输出门,以控制信息在每个时间步骤的传递。解码器通过以下步骤生成下一状态:
Γ f ⟨ t ⟩ = σ ( W f [ a ⟨ t − 1 ⟩ , x ⟨ t ⟩ ] + b f ) ( 9 ) Γ u ⟨ t ⟩ = σ ( W u [ a ⟨ t − 1 ⟩ , x ⟨ t ⟩ ] + b u ) ( 10 ) c ~ ⟨ t ⟩ = t a n h ( W C [ a ⟨ t − 1 ⟩ , x ⟨ t ⟩ ] + b c ) ( 11 ) c ⟨ t ⟩ = Γ f ⟨ t ⟩ ∘ c ⟨ t − 1 ⟩ + Γ u ⟨ t ⟩ ∘ c ~ ⟨ t ⟩ ( 12 ) Γ o ⟨ t ⟩ = σ ( W o [ a ⟨ t − 1 ⟩ , x ⟨ t ⟩ ] + b o ) ( 13 ) a ⟨ t ⟩ = Γ o ⟨ t ⟩ ∘ t a n h ( c ⟨ t ⟩ ) ( 14 ) \Gamma_f^{\left \langle t \right \rangle}=\sigma(W_f \left[ \begin{matrix}a^{\left \langle t-1 \right \rangle},x^{\left \langle t \right \rangle}\end{matrix}\right]+b_f)\qquad(9) \\ \Gamma_u^{\left \langle t \right \rangle}=\sigma(W_u \left[ \begin{matrix}a^{\left \langle t-1 \right \rangle},x^{\left \langle t \right \rangle}\end{matrix}\right]+b_u)\qquad(10)\\ \tilde{c}^{\left \langle t \right \rangle}=tanh(W_C \left[ \begin{matrix}a^{\left \langle t-1 \right \rangle}, x^{\left \langle t \right \rangle}\end{matrix} \right]+b_c)\qquad(11)\\ c^{\left \langle t \right \rangle}=\Gamma_f^{\left \langle t \right \rangle}\circ c^{\left \langle t-1 \right \rangle}+\Gamma_u^{\left \langle t \right \rangle}\circ \tilde{c}^{\left \langle t \right \rangle}\qquad(12)\\ \Gamma_o^{\left \langle t \right \rangle}=\sigma(W_o \left[ \begin{matrix}a^{\left \langle t-1 \right \rangle},x^{\left \langle t \right \rangle}\end{matrix}\right]+b_o)\qquad(13) \\ a^{\left \langle t \right \rangle}=\Gamma_o^{\left \langle t \right \rangle}\circ tanh(c^{\left \langle t \right \rangle})\qquad(14) Γft=σ(Wf[at1,xt]+bf)(9)Γut=σ(Wu[at1,xt]+bu)(10)c~t=tanh(WC[at1,xt]+bc)(11)ct=Γftct1+Γutc~t(12)Γot=σ(Wo[at1,xt]+bo)(13)at=Γottanh(ct)(14)
​ 其中 Γ f ⟨ t ⟩ , Γ u ⟨ t ⟩ , c ~ ⟨ t ⟩ , c ⟨ t ⟩ , Γ o ⟨ t ⟩ \Gamma_f^{\left \langle t \right \rangle},\Gamma_u^{\left \langle t \right \rangle},\tilde{c}^{\left \langle t \right \rangle},c^{\left \langle t \right \rangle},\Gamma_o^{\left \langle t \right \rangle} Γft,Γut,c~t,ct,Γot a ⟨ t ⟩ a^{\left \langle t \right \rangle} at分别表示时间步长 t t t的忘记门、更新门、单元状态候选、单元状态、输出门和隐藏状态。 σ \sigma σ是sigmoid函数,tanh是双曲正切函数, ∘ \circ 表示元素的乘法。
在方程(9)中, W f W_f Wf 是控制遗忘门行为的权重。我们将$ \left[ \begin{matrix}a^{\left \langle t-1 \right \rangle},x^{\left \langle t \right \rangle}\end{matrix}\right]$连接起来,并乘以 W f W_f Wf,从而得到一个值在0到1之间的向量 Γ f ⟨ t ⟩ \Gamma_f^{\left \langle t \right \rangle} Γft 。遗忘门向量将按元素乘以先前的单元格状态 c ⟨ t − 1 ⟩ c^{\left \langle t-1 \right \rangle} ct1
在方程(10)中,类似于忘记门,这里更新门 Γ f ⟨ t ⟩ \Gamma_f^{\left \langle t \right \rangle} Γft再次是0到1之间的值向量,它将与 c ~ ⟨ t ⟩ \tilde{c}^{\left \langle t \right \rangle} c~t按元素相乘,根据方程(11)和(12)计算 c ⟨ t ⟩ c^{\left \langle t \right \rangle} ct
为了决定要使用哪些输出,引入了方程(13)和(14),其中在方程(13)中使用sigmoid函数来决定输出什么,在方程(14)中,输出门和之前状态的tanh相乘。

F.THE TRAINING PROCEDURE

我们提出了GDCC-ED的训练过程。算法1给出了GDCC-ED的伪码。模型被训练端到端。利用Adam优化算法对预测序列 Y ^ T ′ N = ( y ^ T + 1 , … , y ^ T + t ′ , … , y ^ T + T ′ ) ∈ R N × T ′ \hat{Y}_{T^{'}}^N=(\hat{y}_{T+1},\ldots,\hat{y}_{T+{t^{'}}},\ldots,\hat{y}_{T+{T^{'}}})\in\mathbb{R}^{N\times T^{'}} Y^TN=(y^T+1,,y^T+t,,y^T+T)RN×T和真实序 Y T ′ N = ( y T + 1 , … , y T + t ′ , … , y T + T ′ ) ∈ R N × T ′ Y_{T^{'}}^N=(y_{T+1},\ldots,y_{T+{t^{'}}},\ldots,y_{T+{T^{'}}})\in\mathbb{R}^{N\times T^{'}} YTN=(yT+1,,yT+t,,yT+T)RN×T的损失函数平均绝对误差MAE最小化:
L o s s ( Θ ) = 1 N T ′ ∥ Y ^ T ′ N − Y T ′ N ∥ ( 15 ) Loss(\Theta)={1 \over NT{'}}\left \| \hat{Y}_{T^{'}}^N-Y_{T^{'}}^N \right \|\qquad(15) Loss(Θ)=NT1Y^TNYTN(15)

其中 Θ \Theta Θ 表示在训练过程中要学习的模型参数集。

在这里插入图片描述

4.EXPERIMENTS

本节描述了评价过程,并讨论了实验结果。

A.EXPERIMENTS SETUP

(1)EVALUATION METRIC
本文利用Makridakis[33]所述的对称平均绝对百分比(SMAPE)误差对所提出的模型进行了评价。定义如下:
S M A P E = 2 n ∑ t = 1 n ∣ y t − y ^ t ∣ ∣ y t ∣ + ∣ y ^ t ∣ ( 16 ) SMAPE={2 \over n }\sum_{t=1}^n{\left | y_t-\hat{y}_t \right | \over \left |y_t \right |+\left | \hat{y}_t \right |}\qquad(16) SMAPE=n2t=1nyt+y^tyty^t(16)

其中n是观测数, y t y_t yt是实际值, y ^ t \hat{y}_t y^t 是预测值。对SMAPE的一个限制是,如果实际值和预测值都为零,则公式返回错误。因此,在实践中,我们定义如果 ∣ y t ∣ + ∣ y ^ t ∣ = 0 \left |y_t \right |+\left | \hat{y}_t \right |=0 yt+y^t=0 ,则SMAPE=0。由于我们的数据包含许多极端值(即离群值),因此SMAPE不会通过百分数返回较大的误差,因此使用SMAPE测试最终结果是合适的。
(2)WALK-FORWARD VALIDATION
我们在机器学习中依赖的快速而强大的方法,例如使用训练测试拆分和k折交叉验证,在时间序列数据中不起作用。这是因为他们忽略了问题固有的时间成分。图8说明了将时间序列分为训练和验证集的两种方法:分别为前向验证和训练测试拆分。
训练测试拆分是一种主流的机器学习拆分方法。如图8(b)所示,数据集被分成独立的部分,一个部分严格用于培训,另一个部分用于验证。在这种设置下,验证数据集上的模型性能与训练数据集上的性能密切相关,并且几乎与未来的实际模型表现无关。
如图8(a)所示,我们使用不同的时间框架在完整的数据集上进行训练,并在完整的数据集上进行验证。验证的时间框架相对于训练的时间框架向前移动了一个预测间隔。前向验证更可取,因为它直接关系到预测目标:使用历史值预测未来值。本文采用了前向验证。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PvFrrtT3-1600581949501)(C:\Users\陶帆\AppData\Roaming\Typora\typora-user-images\image-20200920140002959.png)]

(3)HYPER-PARAMETER SETTINGS
表1中显示了实验中GDCC-ED的超参数设置。我们的模型通过Adam优化器训练了48个迭代,初始学习率为0.001,权重衰减为0.04,批次大小为64。
在这里插入图片描述

B.FEATURE ANALYSIS

​ 在这项工作中,我们发现如果只使用原始历史数据,模型就很难收敛。即使勉强收敛,性能也远不尽如人意。因此,两种类型的特征从不同的角度考虑网络流量序列,包括时间无关和时间相关的特征。这些功能包括年份和季度到季度的自相关(AC)、页面流行(PP)、分类辅助变量(CAV)、滞后数据点(LDP)和各种时间尺度流量(VTS)。具有和不具有每个特征的模型性能是如表2所示。

如表2所示,所有特征对模型性能都有积极的影响,这意味着我们选择的特征是合理的。最明显的性能改进是由LDP特征带来的。LDP特性虽然简单,但大大降低了预测误差。AC、PP和CAV的影响几乎相同。由VTS带来的性能改进最少,这可能是由不同时间尺度上特征的不明显差异引起的。

C.BASELINE MODELS

为了比较不同算法的性能,对几个基线模型进行了评估。
SVR:SVR是一种著名的机器学习方法。径向基函数(RBF)核用于训练,其中核系数设置为0.1。
FNN:前馈神经网络(FNN)是经典的深度学习架构。信息不断从一层转发到下一层。同一层中的神经元之间没有连接。在实验中,模型由7个隐藏层组成,并经过70个时期的训练。初始学习率为0.001,衰减率为0.8。
LSTM:长期短时记忆(LSTM)是递归神经网络(RNN)的变体之一,它通过内部门控机制对隐藏的时间状态进行建模。实验中使用了两个LSTM层。在每个LSTM层中,神经单元的数目为128个,学习率为0.0001,迭代次数为60。
GRU:与LSTM单元类似,门控递归单元(GRU)具有门控单元,可以调节单元内的信息流,但没有单独的存储单元。配置参数和LSTM一样。

D.COMPARING PERFORMANCE WITH DIFFERENT MODELS

为了研究不同模型的性能,从以下两个角度对它们的SMAPE进行了比较。
(1)LONG-RANGE MEMORY CAPACITY
所有预测头的SMAPE值如表3所示,从表3中我们可以看出,在所有的时间范围内,所提出的模型都优于其他模型。随着历史序列的长度增加,我们提出的模型的预测误差先减小后增大,当观测序列的长度分别为280和420时,预测误差达到最小。相比之下,其他方法的预测误差逐渐增加,这意味着即使提供了更长的观测历史数据,这些方法也不能得到有益信息。其根本原因是随着时间跨度的增加,用户行为模式可能会发生隐式变化,模型很难捕捉到准确的特征。
还有另一个发现,当历史序列数据达到一定长度时,继续增加长度不再有效。当某一长度的预测误差与另一长度的预测误差相似时,我们倾向于使用较短的历史序列数据,因为较短的序列意味着较少的计算负担。
在这里插入图片描述

(2)CAPACITY FOR MULTI-STEP FORECASTING
为了研究不同模型的多步预测能力,表4给出了它们接下来的1、10、30、60步的SMAPE。所提出的模型在所有预测层,特别是长期预测都达到了最佳的性能。从表4可以看出,在单步预测的情况下,LSTM和我们的模型的性能是相当的,然而,随着预测时间步的数量增加,LSTM的性能也是明显下降,我们的模型的优势是明显的。这意味着我们提出的模型与门控扩张因果卷积机制的有效性。所提出的方法将该模型与历史统计相结合,这些统计数据基本上总结了对长期趋势的先验知识,从而能够对长期进行准确的预测。在表4中,按60步预测,除了我们的模型,最好的表现模型是LSTM。两者的预测误差分别为38.86和43.96。因此,与其他模型相比,我们的模型提高了11.6%的SMAPE。
在这里插入图片描述

E.MODEL OPTIMIZATION VERIFICATION

我们在这里验证了第三-B节中提到的两种模型优化方法:(1)用于分类辅助变量的实体嵌入。(2)使用滞后的数据点。
(1)ENTITY EMBEDDING FOR CATEGORICAL VARIABLES
表5列出了与独热编码相比的实体嵌入,表明实体嵌入是一种更好的方法。输入的分类集是一种数据类型,在这种类型中,我们有不同的类别(或类型),它们彼此无关。在一种朴素的数值方法中,这些类型通常被表示为一个独热编码向量。然而,它未能揭示分类变量的本质属性。实体嵌入不仅减少了内存的使用,并且与独热编码相比加快了神经网络的速度,更重要的是通过在嵌入空间中相互接近的映射相似的值来实现[21]。

(2)THE USE OF LAGGED DATA POINTS
我们试图完全删除注意机制,并使用一年前、半年前和一个季度之前的重要数据点作为附加特征替代。
表格6显示了结果。采用滞后数据点的预测性能略优于具有注意机制的模型。滞后数据点的另一个重要优点是,模型可以使用较短的编码,而不必担心丢失重要的过去信息,因为这些信息现在显式地包含在这个特征上。此外,较短的编码相当于更快的训练和更少的信息损失。

F.IMPACT OF SEQUENCE DATA AUGMENTATION

表7显示了使用序列数据增强(SDA)前后的预测表现。使用SDA,训练过程使用来自原始时间序列的随机固定长度样本,每次迭代随机选择每个时间序列的起点,产生一个无休止的非重复数据流。从表7中可以看出,SDA辅助的模型优于没有SDA。原因是,通过这种方法,训练集系列的变化很可能被模型所看到。因此,该模型能够从增强操作中获益。

G.DISCUSSION

由于输入数据有强烈的噪声干扰,模型不可避免地具有较高的方差。在不同种子上训练的相同模型可以有不同的性能,有时模型甚至在“不幸”种子上发散。为了减小模型方差,我们采用了两种方法:
首先,我们可以从训练过程中估计一个区域,其中模型是完全训练的,并且还没有开始拟合。在这个地区保存了多个检查点。
其次,我们在不同的种子上训练多个模型,并为每个模型保存检查点。
以所有检查点的平均值作为最终预测,可以显著降低模型方差。

V. CONCLUSION

型不可避免地具有较高的方差。在不同种子上训练的相同模型可以有不同的性能,有时模型甚至在“不幸”种子上发散。为了减小模型方差,我们采用了两种方法:
首先,我们可以从训练过程中估计一个区域,其中模型是完全训练的,并且还没有开始拟合。在这个地区保存了多个检查点。
其次,我们在不同的种子上训练多个模型,并为每个模型保存检查点。
以所有检查点的平均值作为最终预测,可以显著降低模型方差。

5. CONCLUSION

对未来网络流量的准确估计是网络退化预警和网络资源自动编排的关键手段。为了解决有限的内存容量,本文提出了一种基于门控扩张因果卷积的编码器(GDCC-ED)模型,用于网络流量预测。在编码器中,GDCC-ED从历史网络流量序列中学习向量表示,其中采用门控扩张因果卷积来扩展远程内存容量。此外,不同角度的不同类型的特征,包括与时间无关和与时间相关的特征。在解码器中,GDCC-ED利用具有LSTM单元的RNN将向量表示映射回可变长度的目标序列。此外,还设计了一种序列数据增强技术来解决数据稀缺问题。实验结果指出,在60步预测方面,我们的模型比最先进的算法获得了11.6%的优越性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值