一种基于预训练模型的小样本物联网流量分类方法及系统

    专利查询2025-04-05  17


    本发明涉及一种基于预训练模型的小样本物联网流量分类方法及系统,属于物联网流量分类。


    背景技术:

    1、随着物联网技术的高速发展,物联网设备已广泛应用于工业、农业、金融和社会管理等领域,其数量和类别呈现爆发式的增长趋势。物联网流量的准确分类一直是物联网技术的研究热点。物联网流量分类是指将物联网流量映射到生成这些流量的相应物联网设备的过程,其对网络空间基础设施进行合理管理和提高服务质量(qos)有重要作用。同时,物联网流量的精准分类在支持网络服务、网络安全管理等应用方面具有重要的理论意义和实用价值。通过物联网流量分类,可以实现攻击流量检测、阻止攻击流量入侵,以保障物联网安全。

    2、物联网流量分类领域目前面临以下挑战。首先,市面上的物联网设备类型多种多样,而高度异构的设备会产生各种各样的物联网流量类别,包括明文流量、加密流量、应用协议流量和私有协议流量等等。其次,物联网设备的运行模式相对简单,物联网设备只产生有限数量的流量样本。具体来说,在现实中,大多数物联网设备只有几种状态,如启动、工作和待机。例如,智能电表每天仅产生约0.07mb,远程患者监护应用每天仅产生0.35mb。因此,设计一个在样本数量比较少的情况下,对物联网流量进行准确分类的方法至关重要。

    3、对于物联网流量分类,典型的是使用基于传统机器学习(ml)或深度学习(dl)的分类方法。然而,现有的方法在实际应用中存在以下两方面的局限性。

    4、(1)标记样品不足容易导致过拟合。对于某一类物联网流量,当其有足够的标记样本进行训练时,流量分类器可以学习到适用于该类所有新样本的一般属性,从而更好地构建该类的分类决策边界。相反,当该类没有足够的标记样本用于训练时,流量分类器会将这些样本本身的某些特征作为该类所有新样本的一般属性。此外,不足样本的分布往往不能正确反映该类的真实分布。由于上述两个原因,训练一个没有足够样本的流量分类器会产生严重的过拟合,导致分类准确率显著下降。

    5、(2)包长度序列和包字节序列都不能完全描述物联网流量。一方面,包长度序列是通过计算或组合包的包头中特定字段的值来得出的(例如包的平均字节数、有效载荷长度序列等),然而这种方法通常忽略了包初始字节中有助于对网络流量进行分类的其他关键字,因此很难区分由类似功能的物联网设备产生的具有相似行为的流量。另一方面,包字节序列更多地关注原始字节中协议关键字的位置和值的信息,很难捕获单个流中包之间的关系,这使得难以对使用相同网络协议但具有不同流量行为的物联网流进行分类。例如,两种不同行为的物联网设备,三星smartcam和亚马逊echo,使用的相同tls协议。

    6、基于上述应用需求,本发明提出一种新颖的物联网流量分类方法及系统,可以在物联网流量样本数量较少(如小于20个)的情况下实现对物联网流量的准确分类。本专利使用一种基于比较学习的方法来对物联网流量进行分类,利用三种包长度序列和包字节序列的组合来表示物联网流量,引入可学习参数来表征三种包长度序列特征的重要性,以弥补单个特征缺乏流量表示能力。


    技术实现思路

    1、本发明的目的在于实现一种基于预训练模型的小样本物联网流量分类方法及系统,提出一种分为两个阶段的机器学习策略,并使用三种包长度序列和包字节序列的组合,进而形成鲁棒的特征编码器,提升小样本条件下的准确度,以实现在小样本条件下的物联网流量精准分类。为实现上述目的,本发明采用的技术方案如下:

    2、一种基于预训练模型的小样本物联网流量分类方法及系统,其特征在于,包括物联网流量分类模型构建阶段和物联网流量分类阶段;

    3、所述物联网流量分类模型构建阶段包括如下步骤:

    4、1)以与标签绑定的原始移动应用流量样本作为输入,随机抽取样本集中部分类别的少量移动应用流量样本构成样本集和查询集,形成由样本集和查询集构成的一系列任务。

    5、2)以步骤1)得到的任务作为输入,对样本集和查询集中的移动应用流量样本进行流量预处理操作,得到移动应用流量样本的包字节序列和包长度序列。

    6、3)以步骤2)得到的移动应用流量样本的包字节序列和包长度序列作为输入,分别进行独热编码表示处理操作和嵌入向量表示处理操作。之后对包字节序列和包长度序列的向量表示作特征提取操作,得到移动应用流量样本的包字节序列特征和包长度序列特征。

    7、4)以步骤3)得到的移动应用流量样本的包字节序列特征和包长度序列特征作为输入,比较任务中查询集与样本集的移动应用流量样本的相似度,进而得到查询集中移动应用流量样本的预测结果。将预测结果与已知标签作比较,基于损失函数计算得到损失值。

    8、5)重复步骤1)-4),得到物联网流量预训练模型。

    9、6)以少量与标签绑定的原始物联网流量样本作为输入,微调步骤5)的得到的物联网流量预训练模型,得到微调后的物联网流量分类模型。

    10、所述物联网流量分类阶段包括如下步骤:

    11、7)以待分类的物联网流量作为输入,将类别已知的物联网流量样本作为支持集,分别进行流量预处理操作后得到类别已知的物联网流量和待分类物联网流量的包字节序列和包长度序列。

    12、8)以步骤7)得到的待分类物联网流量的包字节序列和包长度序列作为输入,利用步骤6)得到的物联网流量分类模型对其进行分类,得到待分类物联网流量的分类结果。

    13、进一步地,所述步骤1)所述创建一系列任务的具体操作方法是:1-1)从与标签绑定的原始移动应用流量样本集中抽取部分移动应用类别,每个类抽取少量若干样本,形成样本集和查询集;

    14、1-2)以步骤1-1)得到的两个集合作为输入,组合形成一个任务;

    15、1-3)重复步骤1-1)和步骤1-2),得到一系列任务。

    16、进一步地,所述步骤2)所述对任务中的移动应用流量样本进行预处理操作,得到移动应用流量样本的包字节序列和包长度序列的具体操作方法是:2-1)以步骤1)得到的每个任务作为输入,提取任务中样本集和查询集中每个移动应用流量样本的包字节序列;

    17、2-2)以步骤1)得到的每个任务作为输入,提取任务中样本集和查询集中每个移动应用流量样本的原始包长度序列;

    18、2-3)以步骤2-2)得到的原始包长度序列为输入,提取得到每个移动应用流量样本的扩展包长度序列,上行链路数据包长度序列,下行链路数据包长度序列三种包长度序列;2-4)以步骤2-1)和步骤2-3)得到的包字节序列和三种包长度序列作为输入,进行移动应用流量样本的包字节序列和三种包长度序列的的长度调整操作,得到移动应用流量样本的包字节序列和三种包长度序列。

    19、进一步地,所述步骤3)所述得到移动应用流量样本的包字节序列特征和包长度序列特征的具体操作方法是:

    20、3-1)以步骤2-1)得到的包字节序列作为输入,对移动应用流量样本的包字节序列的每一项进行独热编码向量表示处理操作后,输出移动应用流量样本的包字节序列的向量表示;

    21、3-2)以步骤2-3)得到的三种包长度序列作为输入,分别对扩展包长度序列,上行链路数据包长度序列,下行链路数据包长度序列中元素进行编码并进行嵌入向量表示处理操作,输出扩展包长度序列,上行链路数据包长度序列,下行链路数据包长度序列三种包长度序列的嵌入向量表示;

    22、3-3)以步骤3-1)得到的移动应用流量样本的包字节序列的向量表示作为输入,利用包字节序列特征提取层,进行包字节序列特征提取操作,得到移动应用流量样本的包字节序列特征;

    23、3-4)以步骤3-2)得到的移动应用流量样本的三种包长度序列的嵌入向量表示作为输入,分别利用相应的包长度序列特征提取层,进行包长度序列特征提取操作,得到移动应用流量样本的包长度序列特征。

    24、进一步地,所述步骤4)所述给出移动应用流量样本的最终预测结果的具体操作方法是:

    25、4-1)以步骤3-3)得到的移动应用流量样本的包字节序列特征作为输入,计算得到查询集中移动应用流量样本的包字节序列特征与样本集移动应用流量样本的的包字节序列特征的相似度分数集合;

    26、4-2)以步骤3-4)得到的移动应用流量样本的包长度序列特征作为输入,计算得到查询集中移动应用流量样本的包长度序列特征与样本集移动应用流量样本的的包长度序列特征的相似度分数集合;

    27、4-3)以步骤4-1)和步骤4-2)得到的查询集中移动应用流量样本的包字节序列特征和包长度序列特征的属于各个类别的相似度分数集合作为输入,将两种相似度分数相加,得到查询集中每个移动应用流量样本属于各个类别的概率值,进而通过比较得到移动应用流量样本的类别;

    28、4-4)以步骤4-3)得到的移动应用流量样本的类别作为输入,根据与已知标签的比对并计算损失函数,得到损失值。

    29、进一步地,所述步骤5)所述获得物联网流量预训练模型的具体操作方法是:

    30、判断是否达到最大迭代周期,达到则停止训练,输出包含神经网络模型参数的物联网流量预训练模型。

    31、7、如权利要求1所述的基于预训练模型的小样本物联网流量分类方法,其特征在于,步骤6)所述得到微调后的物联网流量分类模型的具体操作方法是:

    32、6-1)以数量较少且与标签绑定的物联网流量样本作为输入,采用步骤1)所述方法处理得到由样本集和查询集构成的一系列任务;

    33、6-2)以步骤6-1)得到的基于物联网流量样本构成的一系列任务作为输入,采用步骤2)所述方法处理得到物联网流量样本的包字节序列和包长度序列;

    34、6-3)以步骤6-2)得到的物联网流量样本的包字节序列和包长度序列作为输入,采用步骤3)所述方法处理得到物联网流量样本的包字节序列特征和扩展包长度序列特征,上行链路数据包长度序列特征和下行链路数据包长度序列特征三种包长度序列特征;

    35、6-4)以步骤6-3)得到的物联网流量样本的包字节序列特征和三种包长度序列特征作为输入,采用步骤4)所述方法对物联网流量样本进行分类,得到物联网流量样本的预测类别;

    36、6-5)以步骤6-4)得到的物联网流量样本的预测类别作为输入,根据与已知标签的对比通过计算损失函数得到损失值,进而实现物联网流量预训练模型参数的更新;

    37、6-6)以步骤6-5)得到的参数更新后的物联网流量预训练模型作为输入,以较少的轮数微调物联网流量预训练模型的参数,输出最终的物联网流量分类模型。

    38、进一步地,所述步骤1-1)所述形成样本集和查询集的具体操作方法是:

    39、1-1-1)以与标签绑定的移动应用流量样本作为输入,随机抽取n个类,每类抽取s1个样本,形成样本集;

    40、1-1-2)以与标签绑定的移动应用流量样本作为输入,从样本集抽取的n个类中的每类抽取s2个样本,形成查询集;

    41、步骤1-2)所述得到一个任务的具体操作方法是:

    42、以步骤1-1-1)和步骤1-1-2)得到的样本集和查询集进行组合,形成一个任务;

    43、步骤1-3)所述得到一系列任务的具体操作方法是:

    44、每次随机选择不同的类和样本,不断重复步骤1-1)和步骤1-2),进而获得一系列任务;

    45、步骤2-1)所述提取包字节序列的具体操作方法是:

    46、对于每个任务的样本集和查询集的每个移动应用流量样本,提取其第一个数据包中除以太网头以外的数据包头部和负载的内容,将一个字节作为包字节序列的一个元素,最终输出每个流量的包字节序列;

    47、步骤2-2)所述提取原始包长度序列的具体操作方法是:

    48、对于每个任务的样本集和查询集的每个移动应用流量样本,提取其中每个数据包的长度和方法;组合每个数据包的长度与方向作为原始包长度序列的一个元素,最终输出原始包长度序列;

    49、步骤2-3)所述提取三种包长度序列的具体操作方法是:

    50、以输出的原始包长度序列作为输入,根据每个数据包的方向形成三种包长度序列;由从客户端发送到服务器端的数据包的长度和方向构成的序列为上行链路包长度序列,由从服务器端发送到客户端的数据包的长度和方向构成的序列为下行链路包长度序列,包含两个方向的数据包构成扩展包长度序列;

    51、步骤3-1)所述得到移动应用互联网流量样本的包字节序列的向量表示的具体操作方法是:

    52、以得到的包字节序列作为输入,按照设定的维度t对其进行独热编码,得到包字节序列的独热编码向量表示;

    53、步骤3-2)所述得到移动应用流量样本的三种包长度序列的嵌入向量表示的具体操作方法是:

    54、3-2-1)以得到的扩展包长度序列作为输入,统计移动应用流量样本流量样本的扩展包长度序列中包长度的总数量并对其编码,然后对扩展包长度序列的元素作嵌入向量表示处理;

    55、3-2-2)以得到的上行链路包长度序列作为输入,统计移动应用流量样本流量样本的上行链路包长度序列中包长度的总数量并对其编码,然后对上行链路包长度序列的元素作嵌入向量表示处理;

    56、3-2-3)以得到的下行链路包长度序列作为输入,统计移动应用流量样本流量样本的下行链路包长度序列中包长度的总数量并对其编码,然后对上行链路包长度序列的元素作嵌入向量表示处理;

    57、步骤3-3)所述得到移动应用流量样本的包字节序列特征的具体操作方法是:

    58、以得到的包字节序列的独热编码向量表示作为输入,使用包字节序列特征提取层提取得到移动应用互联网流量样本的包字节序列特征;

    59、步骤3-4)所述得到移动应用流量样本的包长度序列特征的具体操作方法是:

    60、3-4-1)以步骤3-2-1)得到的扩展包长度序列的嵌入向量表示作为输入,利用扩展包长度序列特征提取层提取得到扩展包长度序列特征;

    61、3-4-2)以步骤3-2-2)得到的上行链路包长度序列的嵌入向量表示作为输入,利用上行链路包长度序列特征提取层提取得到上行链路包长度序列特征;

    62、3-4-3)以步骤3-2-3)得到的下行链路包长度序列的嵌入向量表示作为输入,利用下行链路包长度序列特征提取层提取得到下行链路包长度序列特征;

    63、步骤4-2)所述得到移动应用流量样本的包长度序列特征与样本集移动应用流量样本的的包长度序列特征的相似度分数集合的具体操作方法是:

    64、4-2-1)以步骤3-4-1)得到的扩展包长度序列特征作为输入,计算得到样本集与查询集的扩展包长度序列特征的相似度分数;

    65、4-2-2)以步骤3-4-2)得到的上行链路包长度序列特征作为输入,计算得到样本集与查询集的上行链路包长度序列特征的相似度分数;

    66、4-2-3)以步骤3-4-3)得到的下行链路包长度序列特征作为输入,计算得到样本集与查询集的下行链路包长度序列特征的相似度分数;

    67、4-2-4)以三个可学习参数融合扩展包长度序列特征相似度相似度分数、上行链路包长度序列特征的相似度分数和下行链路包长度序列特征的相似度分数,最终得到查询集的相似度分数。

    68、进一步地,所述步骤4-3)所述得到该样本的最终预测结果具体操作方法是:

    69、加和步骤4-1)得到的查询集的包字节序列的相似度分数和步骤4-2)得到的查询集的包长度序列的相似度分数,相似度分数结果最高的样本的类别即为最终的预测类别。

    70、一种基于预训练模型的小样本物联网流量分类系统,其特征在于,包括用于物联网流量分类模型构建阶段的流量预处理模块和物联网流量分类模型构建模块,以及用于物联网流量分类阶段的物联网流量预处理模块和物联网流量分类模块;

    71、其中,流量预处理模块负责对输入的原始移动应用流量和物联网流量数据提取包字节序列和包长度序列、形成一系列任务;

    72、物联网流量分类模型构建模块基于已知标签的移动应用流量样本的包字节序列和包长度序列生成具有良好移动应用流量分类能力的物联网流量预训练模型,基于已知标签的物联网流量样本的包字节序列和包长度序列调整物联网流量预训练模型中的特征编码器参数进而生成具有良好的分类物联网流量能力的物联网流量分类模型,供物联网流量分类阶段使用;

    73、物联网流量分类模块根据物联网流量分类模型,对待分类的物联网流量进行分类,

    74、最终输出物联网流量的所属类别。

    75、本发明的关键技术点在于:

    76、1.设计了一种分为两个阶段的机器学习策略。在第一阶段使用基于移动应用流量的基类数据集训练特征编码器,以避免过拟合的风险;在第二阶段使用基于物联网流量的新颖数据集上微调特征编码器。因为特征编码器在第二阶段训练之前是一个有鲁棒性的预训练模型,所以这种方法优于当前最先进的分类方法,对小样本条件更有适应性。

    77、2.本方法使用三种包长度序列和包字节序列的组合来表示物联网流量,从而成功弥补单个特征缺乏流量表示能力。

    78、3.设计了一种比较学习方法来对物联网流量进行分类,并引入可学习参数来表征三种包长度序列特征的重要性,然后使用通用相似度评分融合网络与支持集的特征进行比较,最终得到该流量的类别。

    79、利用本发明的方法可以实现对小样本条件下物联网流量的精准分类,与已公开的相关技术相比,能有效解决由于缺乏标记样本而导致的过拟合问题:

    80、首先,本方法采用元学习方法进行小样本学习,利用任务之间的共性,使模型能够从有限数量的流样本中进行算法学习,并快速获得解决新任务的能力。其次,使用标记数据相对较多的移动应用流量作为基类数据集,使特征编码器能够学习元知识。其意味着特征编码器可以从包长度序列和包字节序列中提取有利于物联网流量分类的特征。最后使用特征编码器编码特征的能力提取物联网流量的特征进行分类。因此,本方法在特征表示方面更具鲁棒性,可以更好地应对标记样本不足的问题。


    技术特征:

    1.一种基于预训练模型的小样本物联网流量分类方法,其特征在于,分为物联网流量分类模型构建阶段和物联网流量分类阶段;

    2.如权利要求1所述的基于预训练模型的小样本物联网流量分类方法,其特征在于,步骤1)所述创建一系列任务的具体操作方法是:

    3.如权利要求1所述的基于预训练模型的小样本物联网流量分类方法,其特征在于,步骤2)所述对任务中的移动应用流量样本进行预处理操作,得到移动应用流量样本的包字节序列和包长度序列的具体操作方法是:

    4.如权利要求1所述的基于预训练模型的小样本物联网流量分类方法,其特征在于,步骤3)所述得到移动应用流量样本的包字节序列特征和包长度序列特征的具体操作方法是:

    5.如权利要求1所述的基于预训练模型的小样本物联网流量分类方法,其特征在于,步骤4)所述给出移动应用流量样本的最终预测结果的具体操作方法是:

    6.如权利要求1所述的基于预训练模型的小样本物联网流量分类方法,其特征在于,步骤5)所述获得物联网流量预训练模型的具体操作方法是:

    7.如权利要求1所述的基于预训练模型的小样本物联网流量分类方法,其特征在于,步骤6)所述得到微调后的物联网流量分类模型的具体操作方法是:

    8.如权利要求2所述的基于预训练模型的小样本物联网流量分类方法,其特征在于,步骤1-1)所述形成样本集和查询集的具体操作方法是:

    9.如权利要求5所述的基于预训练模型的小样本物联网流量分类方法,其特征在于,步骤4-3)所述得到该样本的最终预测结果具体操作方法是:

    10.一种实现如权利要求1-9任一所述方法的基于预训练模型的小样本物联网流量分类系统,其特征在于,包括用于物联网流量分类模型构建阶段的流量预处理模块和物联网流量分类模型构建模块,以及用于物联网流量分类阶段的物联网流量预处理模块和物联网流量分类模块;


    技术总结
    本发明公开了一种基于预训练模型的小样本物联网流量分类方法及系统,分为物联网流量分类模型构建阶段和物联网流量分类阶段。物联网流量分类模型构建阶段包括:抽取与标签绑定的原始移动应用流量样本构成样本集和查询集;对移动应用流量样本进行流量预处理;对移动应用流量序列进行高维向量表示处理;对物联网流量序列的高维向量进行包字节序列特征和包长度序列特征的提取;比较移动应用流量样本特征的相似度;使用与标签绑定的原始移动应用流量样本对模型进行微调;物联网流量分类阶段包括对待分类的物联网流量进行预处理;利用物联网流量分类模型构建阶段得到的物联网流量分类模型对物联网流量进行分类。本发明实现了对物联网流量的准确分类。

    技术研发人员:马啸天,王一鹏,周坤毅
    受保护的技术使用者:北京工业大学
    技术研发日:
    技术公布日:2024/11/26
    转载请注明原文地址:https://tc.8miu.com/read-27216.html

    最新回复(0)