【论文翻译】Knowledge Enhanced GAN for IoT Traffic Generation
  CFu9A7vdykDj 2023年11月05日 67 0

Hui S, Wang H, Wang Z, et al. Knowledge Enhanced GAN for IoT Traffic Generation[C]//Proceedings of the ACM Web Conference 2022. 2022: 3336-3346.

CCF A 清华

用于物联网流量生成的知识图谱增强型GAN

NetworkTrafficGeneration/IoT at master · tsinghua-fib-lab/NetworkTrafficGeneration · GitHub

知识图谱、LSTM+自注意力机制

概述

网络流量数据有助于理解物联网(IoT)行为并提高现实世界中的物联网服务质量。然而,大规模物联网流量数据很少可访问,隐私问题也阻碍了现实的数据共享,即使有匿名的个人身份信息。研究人员提出生成合成物联网流量,但未能涵盖广泛存在的现实世界物联网设备提供的多种服务。在这项工作中,我们通过知识增强的生成对抗网络(GAN)框架迈出了生成大规模物联网流量的第一步,该框架通过知识图谱引入了各种物联网设备的语义知识(例如位置和环境信息)和网络结构知识。我们使用条件机制来合并物联网流量生成的知识和设备类别。然后,我们采用LSTM和自关注机制来捕获流量序列中的时间相关性。大量实验结果表明,我们提出的模型生成的合成物联网交通数据集在数据保真度和应用方面优于最先进的基线。此外,我们提出的模型仅通过在知识增强的小型真实数据集上进行训练就能够生成逼真的数据。

1 介绍

物联网(IoT)通过将各种传感器、执行器和计算设备连接到互联网,扩展了人类感知和与世界交互的方式。随着物联网应用的日益普及,各种设备连接到互联网,并服务于智能能源项目、家庭自动化、制造、商业等[9]。在这种情况下,基于物联网流量数据了解物联网设备的行为并提高物联网服务质量越来越受到关注。具体而言,物联网流量数据包含用户和物联网设备之间的所有命令和反馈,反映了他们的活动,从而有助于众多应用,包括特定物联网设备的行为分析[3、18、21]、隐私泄漏识别[2、10、26、30、34],以及物联网设备管理[7、27、32、37]等。

与此同时,无数公司为不同应用设计的物联网设备的软件标准和框架越来越多,增加了物联网设备和平台的碎片化。为了应对碎片化,物联网(WoT)追求将物联网设备与Web技术无缝集成[15],其中物联网流量数据也发挥着重要作用。具体而言,跨各种平台和应用领域的物联网流量数据有助于WoT理解物联网设备并提供适当的基于Web的通信机制。例如,通信负载较重的设备(例如,智能相机)和需要高可靠性的设备(例如,销售点)需要不同的通信协议[25]。

然而,现有研究中的大部分物联网流量数据集都是在实验室或单纯的应用场景中收集的,因为大规模物联网流量数据只有少数组织可以访问,例如,互联网服务提供商,物联网服务提供商。不幸的是,这些组织出于隐私考虑不愿共享现实数据。尽管一些组织通过删除个人身份信息来匿名化数据集,但这种幼稚的方法被证明容易受到许多去匿名化(DA)攻击[20,41,44]。在这种情况下,生成合成物联网流量成为一个有吸引力的解决方案。生成的物联网流量可以在没有真实个人身份信息的情况下保留物联网行为的特征,支持物联网和WoT应用,同时避免隐私泄露。

最近,Nguyen-An等人[29]提出IoTTGen为智能家居和生物医疗物联网环境生成合成流量。该模型在流量生成之前为每个IoT设备请求配置,其中数据包大小、端口号、有效载荷和到达时间间隔作为固定参数给出,而在实践中是动态的。为了动态生成IoT流量,Shahid等人[36]将自动编码器与生成对抗网络(GAN)相结合,生成数据包大小序列,这些数据包大小对应于Google Home Mini(一种智能扬声器)产生的真实流量,该流量被积极使用了一周。尽管如此,前两个作品在实验室中针对单纯形场景进行了实验,这些场景需要流量数据中设备和参数的特定配置。对于现实世界中广泛存在的提供多种服务的IoT设备来说,收集具体的配置和参数是不可行的,这限制了前两项工作的应用。因此,我们迈出了第一步,提出了一个流量生成模型,以基于大规模现实数据模拟在多个场景中服务的各种IoT设备。IoT流量生成可以被视为时间序列生成的一个特定案例,它受到IoT设备复杂背景信息的影响,即设备类别、制造商设计、用户习惯和应用服务。背景信息有助于生成模型中一旦引入的数据保真度。在各种背景信息中,设备类别是IoT设备的固有属性,能够在不存在隐私问题的情况下为设备的功能提供重要指令,并为流量序列生成提供有力的指导。因此,为合成数据集生成物联网设备类别和流量系列是自然而然的。由于GAN能够与不同的生成器方式合作生成多种形式的数据,Lin等人[23]提出了DoppelGANger,并与特征系列一起生成对象的属性,这在几个流量数据集上达到了最先进的结果。然而,在物联网流量的实验中,DoppelGANger生成的数据集省略了罕见的设备类别,该模型未能模拟缺乏背景信息的物联网流量的严重不平衡和稀疏性。

尽管如此,生成物联网流量具有挑战性,原因如下:

  • 现实世界的物联网流量受到来自用户、环境和应用程序的复杂因素的影响,这给获取核心背景信息并将其馈送到生成模型同时保护隐私带来了挑战。
  • 物联网流量序列的可变长度是由物联网设备执行多种功能的不同通信时间间隔引起的,这给学习时间模式带来了挑战。我们的观察表明,除了时域稀疏的短流量序列之外,还存在包含数千个元素的长流量序列。由于生成模型需要学习序列的长期和短期时间模式,生成长序列尤其具有挑战性。
  • 流量序列中设备类别和特征的分布严重不平衡,这给生成逼真多样的合成数据集带来了挑战。

对于物联网设备,背景信息包含语义知识和交互关系,启发我们自然采用知识图谱。因此,我们提出了一种物联网流量生成的知识增强GAN来应对上述挑战。首先,我们通过从制造商、供应商和用户那里收集的物联网流量数据和其他背景信息构建知识图谱。然后,我们构建了一个GAN框架来同时生成物联网设备类别和流量系列,由一个综合生成器和一个简单的判别器组成。为了将背景知识引入框架并捕捉设备类别对流量系列的影响,我们采用了条件机制。最后,我们在真实世界的物联网流量数据集上评估了我们的知识增强GAN,大量的实验表明,我们的模型优于五个基线,并且通过将背景知识引入生成,在小型数据集上表现良好。

最后,我们的贡献总结如下:

  • 我们构建了一个知识图谱来描述物联网设备的背景信息,学习语义知识和交互特征。
  • 我们提出了一种物联网流量生成的知识增强GAN,它使用条件机制来整合物联网流量生成的知识和设备类别,并采用LSTM和自我关注机制来捕捉流量序列中的长期和短期时间相关性。
  • 我们在真实世界的物联网交通数据集上进行了实验,我们提出的模型在数据保真度和应用方面优于其他最先进的基线。该模型还被证明可以通过在生成中引入背景知识来生成在小型真实数据集上训练的真实数据。

2 背景及问题

物联网流量数据集可以正式表示为一组对象$S = {O_i}i^{N=1}$,其中$O_i$代表第i个物联网设备d_i的数据。对于每个设备,数据$O_i=(C_i,T_i)$,$C_i$代表设备类别,$T_i$代表3维网络流量序列。如图1(a)所示,流量序列$T_i = {A^j_i, P_i^j , L^j_i }^{M_i}{j=1}$,其中$M_i$是物联网设备$d_i$的流量序列的长度,

image-20220607194611259

图1(a) 物联网设备流量数据

image-20220607202607567

表1列出了三个特征的细节:到达时间间隔$A^j_i$,数据包总数$P_i^j$,以及平均数据包长度$L^j_i$。给定一个现实世界的物联网流量数据集$S$,我们的目标是用生成模型$G$生成一个现实的流量数据集$\hat{S}$。

生成式对抗网络[14]是一种基于对抗学习的最先进的生成模型,它在一些领域的生成任务中取得了显著的成果[42, 46, 47]。一个典型的GAN有两个组成部分,一个生成器$G_θ$和一个鉴别器$D_j$,它们被交替训练以生成与真实数据相比的假数据。生成器$G_θ$通过生成与真实数据分布相似的假数据,学会愚弄鉴别器$D_j$,鉴别器$D_j$学会区分假数据和真实样本,它进行最小-最大竞争,如下所示。 $$ \min {\theta} \max {\phi} \mathbb{E}{x \sim p{d}}\left[\log \mathrm{D}{\phi}(\mathrm{x})\right]+\mathbb{E}{x \sim G_{\theta}}\left[\log \left(1-\mathrm{D}_{\phi}(\mathrm{x})\right)\right] $$ 其中$x$是样本,$p_d$是真实数据的分布,$G_θ$代表以$m$为参数的生成器,$D_j$代表以$j$为参数的判别器。针对不同的生成任务,我们构建了生成器、判别器和损失函数的各种结构,并为物联网流量数据生成设计了一个特殊的框架。

3 方法

一般来说,物联网交通数据是严重不平衡和稀疏的,这导致了现有生成模型的失败。特别是,基于GAN的模型很容易受到模式崩溃的影响,这意味着尽管在不同的数据上进行了训练,但生成器提供的样本种类有限。为了生成真实的物联网流量,同时避免模式崩溃,由于每个物联网设备的知识图谱嵌入(KGE)是唯一的,我们通过KGE引入物联网设备的背景信息,为GAN模型提供多样化的条件。然后,我们采用条件机制来获取知识和设备类别对流量序列的影响,并使用LSTM和自我注意机制来捕捉序列中的时间相关性。我们提出的模型框架如图2所示,黑色、蓝色和灰色的线条分别代表真实数据、生成数据和噪声的传输。首先,我们从物联网设备的基本信息和网络流量中构建一个知识图谱,并提取每个设备的KGE信息。然后,我们在KGE信息的条件下训练一个生成器$G$和一个判别器$D$。生成器$G$由三个子生成器组成:类别生成器$G^C$、序列长度生成器$G^M$和流量序列生成器$G^T$,它们通过条件机制相互关联。

image-20220607203813289

图2:知识增强的物联网流量生成框架。

3.1 知识图构建

物联网设备的背景信息同时包含语义知识和网络结构,这启发我们自然地采用知识图。为了将信息引入生成模型,我们通过物联网流量数据和其他背景信息构建了一个知识图。首先,我们从制造商、供应商和用户的描述中收集每个设备的基本信息,例如,硬件模型的类型。然后,我们使用一个物联网隐私泄漏量化框架[19],从网络流量中提取用户、平台、位置和环境信息。物联网设备、物联网用户和云平台之间的通信可以通过网络流量包中的源IP地址和目的IP地址来检测,这些IP地址包含网络结构信息。如图1(b)所示,物联网设备被视为知识图谱中的头实体,而用户、平台、位置和环境信息被视为尾实体。下面的三元组给出了几个例子。

image-20220607204614328

  • <device di , manufactured_by, manufacturer: 三星>,
  • <device di , located_in, city: 北京>,
  • <device di , communicate_with, platform: 阿里云>。

最后,我们为知识图谱获取了39,598个实体(包括10187个设备)和133,075个关系,这些关系分为20个类别。然后,我们使用$TransE$模型[5]来学习每个物联网设备$d_i$的嵌入$K_i$。为了确保嵌入中保留语义信息,我们训练了几个分类器,通过KGE $K_i$预测设备类别$C_i$,大多数分类器的准确率在90%左右,其中的细节见附录A。

3.2 生成器

在物联网流量生成方面,生成器被设计为满足三个主要要求。

1)将物联网网络结构和语义知识引入生成的数据,

2)捕捉设备类别和流量序列之间的相关性,

3)捕捉流量序列的长期和短期时间模式。

为了满足这些要求并避免模式崩溃,我们设计了一个综合生成器,由三个子生成器组成,如图3所示。

对于第一个要求,这三个子生成器通过一个条件机制相互关联。

对于第二个要求,我们将条件机制与设备发生器$G^C$和串联长度发生器$G^M$相结合。

对于第三个要求,$G^T$使用一个具有自我注意机制的LSTM来生成基于$C_i$和$M_i$的流量序列$T_i$。

image-20220607205315985

图3:我们提出的用于物联网流量生成的知识增强型GAN的说明。

条件机制。我们使用条件机制将物联网网络结构和语义知识引入生成的数据,并捕捉设备类别对流量系列的影响。这些条件在以下表述中呈现。 $$ \begin{aligned} P\left(\hat{O}{i}, K{i}\right) &=P\left(\hat{O}{i} \mid K{i}\right) \cdot P\left(K_{i}\right) \ &=P\left(\hat{C}{i}, \hat{T}{i}, \hat{M}{i} \mid K{i}\right) \cdot P\left(K_{i}\right) \ &=P\left(\hat{T}{i} \mid \hat{C}{i}, \hat{M}{i}, K{i}\right) \cdot P\left(\hat{M}{i} \mid \hat{C}{i}, K_{i}\right) \cdot P\left(\hat{C}{i} \mid K{i}\right) \cdot P\left(K_{i}\right) \end{aligned} $$ 首先,我们随机抽取一个设备$d_i$,将相应的KGE信息$K_i$作为条件送入每个子生成器,$P(K_i)$代表$K_i$的分布。然后,$G^C$生成的设备类别$\hat C_i$服从$P(\hat C_i |K_i)$的分布,它与$K_i$和高斯随机噪声向量$Z_i$一起被送入$G^M$和$G^T$。同样,$G^M$生成的$\hat M_i$服从$P(\hat M_i |\hat C_i,K_i$)的分布,$\hat M_i$被送入$G^T$以控制生成的流量序列的长度。最后,$G^T$在$\hat C_i$、$\hat M_i$和$K_i$的条件下生成$\hat T_i$。因此,生成的样本$\hat O_i$遵循$P(\hat O_i |K_i)$的分布。

MLP生成器。我们使用多层感知器(MLP)的$sigmoid$激活函数来生成设备类别$\hat C_i$和流量序列的长度$\hat M_i$。对于类别生成器$G^C$,我们使用KGE信息$K_i$和噪声向量$Z_i$作为输入,然后生成的设备类别$\hat C_i$是一个零一的归一化向量,其维度与总类别数相同。对于梯度计算,类别生成器$G^C$输出连续的结果,具有最大值的维度表示最终的类别。对于序列长度生成器$G^M$,生成的设备类别$\hat C_i$和KGE信息$K_i$都被作为条件向量输入。噪声和条件向量在经过线性层和$sigmoid$激活函数后被映射到一个零一值。然后,我们通过最大阈值$M_{max}$将该值扩展到流量序列的长度$\hat M_i$,该阈值可以从真实数据集计算出来,也可以手动配置。

自注意力机制的LSTM生成器。为了捕捉流量序列的长期和短期的时间模式,我们采用LSTM网络[17]来生成交通系列$\hat T_i$。LSTM是一种特别适合处理序列数据的RNN结构。在一个典型的LSTM单元中,系列中的每条记录都被映射到相应步骤中的隐藏内部状态,并与过去所有记录的模式合并。然后,第$j$条记录的生成与之前的$j-1$条记录相关,一般需要$M_i$步来生成一个长度为$M_i$的系列。

虽然LSTM以记忆任意区间的历史值而闻名,但对具有数千个维度的系列进行建模,在效率和效果上都具有挑战性。一个常见的解决方案是将长序列分割成几个短序列作为独立样本。然而,由于物联网设备的流量系列长度不一,在生成任务中,对一些设备的流量进行分割,同时保持其他设备的完整性是不合理的。因此,我们在每一步生成B个样本$\hat T^k_i$来提高效率,其中$\hat T^k_i = {\hat A^j_i, \hat P^j_i , \hat L^j_i}^{B_k}_{j =B(k-1)+1}, k = 1, 2, . . . ,Q$,而$Q = ⌈\hat M_i/B⌉$。产生一个长度为$M_i$的系列需要Q步。具体来说,如图3所示,在第$k$步中,KGE信息$K_i$、生成的设备类别$\hat C_i$和噪声向量$Z_i^k$被送入LSTM单元,该单元为样本$\hat T^k_i$输出一个嵌入$h^k_i$。

此外,为了捕捉一个步骤的每个B样本内部的相关性,我们采用了一个缩放的点积自注意机制[38]。 $$ \begin{aligned} &R_{K}=\operatorname{ReLU}\left(h_{i}^{k} W_{K}\right), R_{Q}=\operatorname{ReLU}\left(h_{i}^{k} W_{Q}\right), R_{V}=\operatorname{ReLU}\left(h_{i}^{k} W_{V}\right) \ &\hat{T}{i}^{k}=\operatorname{softmax}\left(\frac{R{Q} \cdot R_{K}^{T}}{\sqrt{d}}\right) \cdot R_{V} \cdot W_{s} \end{aligned} $$ 在自注意层,如公式3所示,$h^k_i$通过线性投影被映射到三个表征(即键$R_K$、查询$R_Q$和值$R_V$)。然后,我们计算查询与所有键的点积,并在通过键的维度对积进行归一化后,通过$softmax$激活函数计算值的权重。最后,通过上述权重将这些值映射到B样本$T^k_i$。经过Q个步骤,生成的样本${T^k_i}{k=1}^Q$被重塑为$\hat T^k_i = {\hat A^j_i, \hat P^j_i , \hat L^j_i}^{\hat M_i}{j =1}$。请注意,流量序列发生器$G^T$有一个LSTM单元和自我注意层。图3中呈现的扩展结构代表了生成中的Q步骤。

3.3 判别器

首先,生成器和判别器的训练过程在GANs中是替代性和对抗性的,这表明一个明显更强的生成器或判别器会导致失败。特别是,物联网流量的生成任务比判别任务更复杂,这就要求在模型设计时,生成器比判别器更强大,而在物联网流量生成任务中,MLP足以作为判别器。其次,设备类别$C_i$在真实数据集中是单次编码,是离散的,但生成的设备类别$\hat C_i$是连续的。因此,我们使用带有梯度惩罚的Wasserstein距离[4][16]来同时处理连续和离散的数据,这需要计算损失函数的二阶导数。由于在深度学习模型中计算损失函数的二阶导数在实践中很困难,MLP成为更好的选择。基于以上两个原因,我们对判别器D采用了MLP。

3.4 损失函数与训练

如第3.3节所述,在真实数据集中,设备类别$C_i$是离散的,而流量序列$T_i$的值是连续的。为了同时处理连续和离散的数据,我们在模型中使用了带有梯度惩罚[16]的Wasserstein距离[4],这也被证明对提高GANs的性能是有效的。损失函数如下 $$ L=\underset{\hat{O} \sim \mathbb{P}{g}}{\mathbb{E}}[D(\hat{O})]-\underset{O \sim \mathbb{P}{r}}{\mathbb{E}}[D(O)]+\lambda \underset{\tilde{O} \sim \mathbb{P}{\dot{O}}}{\mathbb{E}}\left[\left(\left|\nabla{\tilde{O}} D(\tilde{O})\right|{2}-1\right)^{2}\right] $$ 其中$D(O)$是真实样本的歧视结果,$P_r$代表真实数据分布,$D(\hat O)$是生成样本$\hat O$的判别结果,和$P_g$代表生成数据分布,$\hat O$是在从真实数据和生成数据中取样的一对物体之间沿直线均匀地进行取样,$D(\hat O)$是其判别结果,$P{\hat O}$代表其分布。

生成器的训练是为了使损失最小化,而判别器的训练则是为了使其最大化。我们使用mini-batch来提高训练效率,在每次迭代中,判别器在生成器训练之前被训练几次。详情见附录B。

4 实验

为了验证所提出的生成模型,我们获得了一个真实世界的物联网流量数据集,在数据保真度和应用价值方面将我们的模型与五个基线模型的性能进行比较,并讨论了通过在小数据集上训练模型的知识图谱增强效果。

4.1 数据集

我们从中国最大的移动网络运营商之一获得三天的物联网流量,并确定了连接到37个不同物联网平台的10187个设备,如物流和车辆管理平台。这些设备为多种物联网应用和服务工作,我们搜索各种数据来收集它们的基本信息并提取数据集。除了网络流量,我们还参考了全球移动通信系统联盟(GSMA)分配的它们的类型分配代码、相关网站上的产品描述、制造商提供的官方文件或用户指南,以及经销商给出的产品描述或说明。最后,这些设备被分为图4所示的十个类别,涵盖了物联网设备的常用功能。与设备类别类似,流量序列的长度和其他三个特征都处于严重的不平衡分布中,这就要求生成模型在有限的训练样本中学习 "长尾 "的特征。样本,细节见附录C。

也就是五个特征

image-20220608002553586

图4:不同模型产生的数据集中每一类设备的数量

4.2 性能比较

我们从两个角度比较了我们所提出的模型与基线模型的性能。

首先,我们通过Jensen-Shannon散度(JSD)来评估生成数据与真实数据分布之间的生成数据的保真度。

然后,我们对生成的数据集进行了一个案例研究,以验证它们在应用程序中的效果。

4.2.1 Baseline

我们将我们提出的模型与以下五个基线进行了比较:

自回归模型(AR)[12]。典型的AR模型根据之前的j-1记录生成系列中的第j条记录,只能生成具有固定长度的系列。因此,我们表示$\overline T_i^j = (C_i,T_i^j , M_i) = (C_i,A_i^j, P_i^j , L_i^j, F_i^j)$, 如果$j < M_i$, $F_i^j = 1$, 否则为0。然后,我们训练一个AR模型,使$\overline T_i^j = AR (\overline T_i^{j-1},\overline T_i^{j-2} , . . , \overline T_i^{j-t} )$。在生成方面,对于每个生成的对象$\hat O_i$,我们从真实数据集中随机抽出一个初始$\overline{T_{i}^{0}}=\left(C_{i}, A_{i}^{0}, P_{i}^{0}, L_{i}^{0}, 1\right)$用于训练的AR模型。最后,我们将生成的系列$\left{\overline T_{i}^{j}\right}{j=1}^{M{\max }}$重塑为$\left{\overline T_{i}^{j}\right}_{j=1}^{M_i}$。

隐马尔可夫模型(HMM)[13]。与AR类似,我们使用$\overline T_i^j$对具有可变长度的设备类别进行调节,以帮助HMM生成流量序列。特别是,由于设备类别$C_i$是直接从真实数据中采样的,我们省去了AR和HMM的类别生成评估。

长短时记忆(LSTM)[17]。我们根据系列预测的方式来训练LSTM生成模型。物联网流量序列中的真实值在每一步都被送入LSTM单元以预测下一个值。此外,我们使用$\hat T_i^j$将设备类别和系列长度引入模型,类似于AR和HMM,并在所有步骤后添加几个线性层来生成设备类别$\hat C_i$。然后,我们使用随机噪声作为训练好的模型的初始输入,流量序列一步一步地产生。

Naive GAN [14]. 在这个模型中,我们使用MLPs作为生成器和判别器,其中流量序列$\hat T_i$的生成是以设备类别$\hat C_i$和流量序列长度$\hat M_i$为条件的,与我们在图3中提出的模型类似。

DoppelGANger[23]。DoppelGANger是一个最先进的基于GAN的生成模型,可以生成可变长度的特征序列以及该序列的属性。对于我们的生成任务,设备类别$C_i$在这个模型中被认为是属性,流量序列$\hat T_i ={\hat A_i, \hat P_i, \hat L_i}$是特征序列。

具体来说,AR、HMM和LSTM是有代表性的系列数据处理模型,Naive GAN是典型的GAN模型,DoppelGANger是基于GAN的系列数据生成模型。至于其他用于物联网流量生成的最先进的GAN模型[29, 36],它们主要关注简单应用中有限数量的物联网设备,而我们的目标是在各种应用中生成大规模的物联网流量。因此,他们的性能不适合在我们的实验中进行比较,其细节将在相关工作中讨论。总的来说,我们的模型的性能可以通过与这些选定的模型进行比较来进行可信的评估。

4.2.2 逼真度

为了评估生成数据的保真度,我们计算生成数据的分布与真实数据之间的Jensen-Shannon分歧(JSD),其定义为: $$ \left.\operatorname{JSD}\left(\mathrm{P}{g}, \mathrm{P}{r}\right)\right)=\sqrt{\frac{\mathrm{KL}\left(\mathrm{P}{g} | \mathrm{P}{\tilde{O}}\right)+\mathrm{KL}\left(\mathrm{P}{\tilde{O}} | \mathrm{P}{r}\right)}{2}} $$ 其中$P_r$代表真实数据分布,$P_r$是生成器分布,$\hat P_O$代表$P_r$和$P_g$的点平均值,KL是Kullback-Leibler分歧。较低的JSD意味着更接近真实数据的分布,这表明有一个更好的生成式模型。我们在保真度评估中包含了所有的物联网流量数据集特征,即设备类别$C$、流量序列长度$M$、到达时间间隔$A$、数据包数量$P$和平均数据包长度$L$。除了基线模型外,我们通过去除我们提出的模型中的KGE信息或自我注意机制进行消融实验,用 "非KGE "和 "非注意 "表示。

image-20220608110236874

表2: 真实数据和不同生成器生成的数据之间的JSD,结果越低越好。黑体字表示最好(最低)的结果,下划线表示第二好的结果。

表2显示了真实数据和不同生成模型生成的数据之间的JSD,其中我们的模型在四个特征上优于其他模型,在最后一个特征上取得了第二好的结果。与基线相比,真实数据和我们生成的数据之间的JSD明显要低。

对于设备类别,我们的JSD结果比最佳基线,即DoppelGANger低34%。具体来说,图4展示了不同模型生成的数据集中每个类别的设备数量。由于Tablet类别中的设备数量太少,只有我们的模型和基于LSTM的模型成功生成了相应的样本。然而,基于LSTM的模型在其他类别上表现不佳,JSD远高于其他所有模型,是我们的JSD结果的十倍。对于系列长度、到达时间间隔、数据包数量和平均数据包长度,我们的JSD结果比相应的最佳基线,即HMM和DoppelGANger低47%、69%、19%和15%。同时,即使去除KGE信息或自我关注机制,我们的模型在所有五个特征上都优于基线模型。一般来说,没有自我注意的模型比没有KGE的模型表现更好,这意味着第3.2节中提出的知识和条件机制的重要性。

image-20220608121527877

表3:真实数据和不同生成器生成的数据之间的分类JSD,其中结果越低越好。粗体字表示最好(最低)的结果,下划线表示次好的结果。

此外,为了评估设备类别和其他特征之间的相关性,我们计算了每个类别的真实数据和生成数据之间的JSD,并定义所有类别的平均值为分类JSD,如表3所示。很明显,分类JSD比JSD大,因为很难捕捉到设备类别和其他特征之间的相关性。我们的模型在所有特征上都优于其他模型,这表明了条件机制的有效性。同时,没有注意机制的模型是第二好的模型,而没有KGE的模型性能较差,这意味着KGE信息在捕捉设备类别和其他特征之间的相关性方面起着关键作用。此外,LSTM模型在分类的JSD上似乎表现得更好,这表明LSTM更适合于在给定的类别分布条件下生成序列,就像我们提出的模型中的流量序列生成器$G^T$。

上述结果表明,与基线相比,我们提出的模型提高了物联网流量生成的保真度,而知识和条件机制发挥了关键作用。

4.2.3 应用程序

image-20220711154342910

正如介绍中所讨论的,物联网流量分类是物联网网络流量研究中的一项重要任务。因此,我们进行了一个流量系列分类任务,以评估我们的生成模型的应用效果,并将结果与一些基线模型进行比较。我们在生成的数据集上训练分类器,并将训练好的分类器应用于真实数据集。为了控制分类方法的影响,实验包括六种常用的分类算法:线性支持向量机(SVM)、k-近邻(kNN)、逻辑回归(LR)、随机森林(RF)、MLP和多叉天真贝叶斯(NB)。而我们将真实数据集分成训练集和测试集,分别占70%和30%,在训练集上训练这些分类器,并将训练好的模型应用于测试集。表4显示了分类结果,**在真实数据集上训练的分类器的表现自然优于其他分类器。在我们提出的模型生成的数据集上训练的分类器在大多数分类算法中表现第二好。**Naive GAN在SVM分类器上的表现比我们的模型好,DoppelGANger在NB分类器上的表现更好。然而,与其他算法相比,SVM和NB的性能较差,即使是在真实的数据集上训练出来的算法。为了实验方便,这些分类器是基于过度简化的分类算法,而在生成的数据集上训练的精心设计的分类器可以取得更好的结果。

这些分类结果说明,我们的模型能够捕捉到设备类别和流量系列之间的相关性,而且生成的数据集在实践中是适用的。

4.3 知识图谱增强效果

性能对比说明了我们提出的模型的有效性,并暗示了KGE信息的重要性。因此,我们进行了一个对比实验来研究我们模型中使用的知识的效果,特别是。首先,我们对真实数据集进行随机抽样,抽样率从20%到80%不等。其次,我们在不同大小的数据上同时训练有和没有KGE的模型。然后,我们计算生成的数据集和完整的真实数据集之间的JSD。抽样、训练和生成都重复了几次,以避免抽样带来的偏差。

image-20220608154000351

图5:真实数据和在不同大小的数据上训练的模型产生的数据集之间的JSD,其中蓝点代表知识增强模型的结果,黄星代表没有KGE的模型的结果,结果越低越好:(a)设备类别的JSD,(b)流量序列长度的JSD,(c)到达时间间隔的JSD。(d) 数据包总数的JSD, (e) 数据包平均长度的JSD。

图5显示了在不同大小的数据上训练的模型产生的这些数据集的JSD到真实数据。具有和不具有KGE的模型的结果以蓝色实线和黄色虚线的形式呈现,根据训练集的采样率而变化,其中知识增强的模型取得了更好的结果。我们发现,知识增强的模型在20%或40%采样率的小训练集上表现良好,与80%或60%采样率的大训练集上的模型相比,它们的表现或结果具有可比性。采样率为20%的训练集只包含两千个设备,这表明引入背景知识有助于在有限的样本中产生高保真数据。

总之,上述实验说明,我们提出的模型能够捕捉到设备类别和流量序列之间的分布特征和相关性,这有助于生成一个真实的物联网流量数据集。我们提出的模型不仅优于一些生成性模型,而且通过将背景知识引入生成,在小数据集上表现良好,这有助于在有限的真实数据基础上提供丰富的合成数据。

5 相关工作

5.1 物联网流量分析与建模

由于物联网服务已经逐渐在各行各业无处不在,物联网设备通过互联网给我们的社会带来了巨大的影响,其网络流量行为也越来越受到研究者的青睐和重视。Shafiq等人[35]对机器对机器流量的新要求和挑战感兴趣,首先研究了大规模M2M流量的特点,如时间模式、应用和流动性。然后,还分析了专注于某些应用场景的物联网设备行为,如车辆[3]和可穿戴[21]。后来,在更好的网络设计、应用场景验证或减轻安全威胁的激励下,人们提出了多个物联网流量建模、预测或负载估计的框架[1, 22, 31, 40]。除了行为分析和建模,物联网流量被应用于识别安全问题[2, 10, 26, 30, 34],网络服务或应用[24],以及物联网中的设备类型[27, 28, 32, 37]。

这些分析、建模、预测和识别任务需要在各类物联网设备上进行大规模的现实数据集,但他们的实验大多是基于单一的应用场景,甚至是在实验室里用几个设备进行的测试平台,这就启示我们要填补物联网数据生成的空白。最近,Nguyen-An等人[29]提出IoTTGen来生成智能家居和生物医疗物联网环境的合成流量,成功地捕捉了几个智能家居设备(即智能集线器、灯、摄像头、插头)和生物医疗传感器(即体温、血压、心率、呼吸率、肌电图、心电图)的流量特征的熵值。不幸的是,他们的模型在流量生成前要求对每个物联网设备进行配置,其中数据包大小、端口号、有效载荷和到达时间间隔都是固定参数。为了学习物联网流量的时间模式,Shahid等人[36]提议将自动编码器与GAN结合起来,生成对应于双向流量的数据包大小序列。生成的数据包大小序列与Google Home Mini产生的真实双向流量表现得非常接近,该设备被积极使用了一周。然而,上述两个模型所产生的物联网流量数据仅限于简单的应用场景。他们的实验是在实验室中数量有限的物联网设备上进行的,有详细的参数,设备可以根据预先的知识轻松配置。在我们的实验中,更接近真实情况,收集各种应用中10187个真实世界物联网设备的详细参数并配置所有设备是不可行的。因此,我们在实验中没有将上述模型与我们提出的模型进行比较。

5.2 网络流量生成

网络流量生成是一个长期存在的问题,传统上它被应用于测试网络设备、网络服务和安全产品[48]。在早期阶段,网络流量可以基于网络流量模型(如泊松模型)、流量特征(如数据包大小和数据包到达分布[39])和网络协议(如TCP[43])来生成,这些都适合于网络性能测试,但由于其有限的表现能力,无法生成高保真的合成物联网流量数据集。

最近,各种机器学习方法被应用于生成网络流量数据,例如,基于自动回归的模型[6, 45]。由于GAN[14]在一些生成任务中取得了显著的效果,包括视频[42]、音频[47]、图像[46],基于GAN的模型成为网络流量生成的热门[8]。Ring等人[33]设计了三种基于GAN的不同预处理方法,将基于流量的数据转化为连续值,并在CIDDS-001数据集上生成基于流量的网络流量训练。该数据集是在一个使用OpenStack的虚拟环境中创建的,提供了丰富的参数,包括IP地址、端口号、TCP标志等。然而,所需的参数在现实环境中很难获得,这限制了他们方法的应用。Dowoo等人[11]提出了PcapGAN,用于生成网络攻击数据和正常数据训练的pcap文件,进行入侵检测。除了分别生成流量序列或属性外,Lin等人[23]提出DoppelGANger同时生成数据属性和特征序列,并在几个流量形式的数据集上达到最先进的结果,包括网络流量时间序列、地理分布的宽带测量和计算集群使用测量。

这些网络流量数据的生成模型为我们提供了生成物联网流量的经验。基于这些模型,我们的GAN框架通过网络结构和语义知识生成了现实的、多样化的物联网流量数据。

6 讨论和结论

在本文中,我们提出了一个用于物联网流量生成的知识增强型GAN。首先,我们建立了一个知识图来描述物联网设备的背景信息,其中包含语义知识和网络结构特征。然后,我们的GAN框架通过条件机制将知识和设备类别纳入物联网流量生成;通过LSTM和自我注意机制捕捉流量序列中的长期和短期的时间相关性。基于大规模的真实世界物联网流量数据集,我们通过我们提出的模型生成了一个合成的物联网流量数据集,该模型在数据保真度和应用方面优于其他现状基线。该模型还被证明可以生成在小型真实数据集上训练的高保真数据,这意味着在生成时引入背景知识有助于GANs在有限的真实数据基础上提供丰富的合成数据集。我们提出的模型可以很容易地扩展到既有图结构背景又有系列行为的类似数据集,例如,传感器信号和社会网络行为。此外,我们打算丰富知识图谱,探索更多的方法将知识引入生成模型。

此外,我们的模型可以重复使用,以生成各种长度和属性可变的流量数据,如移动用户的流量或网站访问系列。其他嵌入物可以取代物联网设备的KGE来增强生成,而我们的模型仍然优于其他没有KGE的模型。因此,我们的模型在不同的流量生成任务中是可重复使用的,无论是否存在相应的知识图谱。我们已经在Github上发布了物联网流量生成模型的代码1。此外,我们还提供了训练好的模型和生成的物联网流量。我们认为这项工作促进了对流量生成问题的进一步研究。我们提出的模型的一个局限性是,我们没有直接考虑物联网设备之间的互动,因为我们在实验中发现真实的物联网数据集中设备之间的流量很少。具体来说,设备之间的间接关系是通过物联网知识图学习的。由于设备之间的互动在下一代物联网中可能会更加频繁,我们的模型能够通过将设备之间的流量补充到训练数据集中,并将设备之间的关系添加到物联网知识图中,从而轻松地适应自己。

附录

附录A 基于KGE的设备类别预测

image-20220608170914025

表5:通过知识图嵌入进行设备类别预测的结果。

我们将真实数据集分成训练集和测试集,各占50%,在训练集上训练分类器,并将训练后的模型应用于测试集。为了控制分类方法的影响,实验包括六种常用的分类算法:线性支持向量机(SVM)、最近邻(kNN)、逻辑回归(LR)、随机森林(RF)、MLP和多叉天真贝叶斯(NB)。表5列出了分类结果,这表明语义信息在知识图谱嵌入中得到了保留。

附录B 模型训练

image-20220608170246343

我们的知识增强型$GAN$的训练过程见算法1,$G_θ^C$, $G_θ^M$ , $G_θ^T$表示θ参数化的类别发生器、序列长度发生器和流量序列发生器,$D_j$表示$j$参数化的判别器。我们采用带有梯度惩罚的$Wasserstein$损失[16],生成器$G_θ^C$, $G_θ^M$ , $G_θ^T$被训练成损失最小,而判别器$D_j$被训练成损失最大。我们使用大小为$q$的小型批次,并采用$Adam$优化器。在每个迭代中,判别器$D_j$在生成器$G_θ$之前被训练$n_D$次。

为了训练判别器$D_j$,我们首先对真实数据$O_i$、知识图谱嵌入$K_i$、噪声$Z_i$和一个随机数$ϵ_i$进行采样。然后,设备类别$\hat C_i$由$G_θ^C$根据$K_i$的条件生成,系列长度$\hat M_i$由$G_θ^M$根据$K_i$和$\hat C_i$的条件生成,流量序列$\hat T_i$由$G_θ^T$根据$K_i$、$\hat C_i$和$\hat M_i$的条件生成。产生的样本$\hat O_i$由$\hat C_i$和$\hat T_i$组成。我们用$ϵ_i$在真实样本$O_i$和生成的样本$\hat O_i$之间沿直线均匀地取样$\widetilde O_i$。样本$O_i$、$\hat O_i$和$\widetilde O_i$被送入鉴别器$D_j$以计算损失,并更新鉴别器$D_j$的参数$j$以最大化损失。在对判别器$D_j$进行$n_D$迭代后,我们从$G_θ^C$、$G_θ^M$和$G_θ^T$中生成样本$\hat O_s$,将$\hat O_s$送入$D_j$计算损失,并通过最小化它来更新生成器的参数$θ$。训练在发生器参数$θ$收敛或配置好的迭代后结束。

附录C 在真实数据集中的特征分布

image-20220608170339672

图6:物联网流量数据集中的特征分布:(a)流量序列长度,(b)到达时间间隔,(c)数据包总数。(d)数据包的平均长度。

图6(a)展示了这些设备的流量序列长度,在10到500之间变化,到达时间间隔、数据包数量和平均数据包长度的分布也在图6中展示。严重不平衡的分布要求生成模型在训练数据有限的情况下学习“长尾”的特征。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
CFu9A7vdykDj