CN117076923A - 网络流量分类模型训练方法、分类方法及训练装置 - Google Patents
网络流量分类模型训练方法、分类方法及训练装置 Download PDFInfo
- Publication number
- CN117076923A CN117076923A CN202310959504.5A CN202310959504A CN117076923A CN 117076923 A CN117076923 A CN 117076923A CN 202310959504 A CN202310959504 A CN 202310959504A CN 117076923 A CN117076923 A CN 117076923A
- Authority
- CN
- China
- Prior art keywords
- load
- network traffic
- vector
- layer
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 71
- 239000013598 vector Substances 0.000 claims abstract description 233
- 238000013145 classification model Methods 0.000 claims abstract description 72
- 230000004927 fusion Effects 0.000 claims abstract description 65
- 238000013528 artificial neural network Methods 0.000 claims abstract description 55
- 239000011159 matrix material Substances 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 58
- 230000004913 activation Effects 0.000 claims description 47
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 40
- 238000011176 pooling Methods 0.000 claims description 40
- 238000007781 pre-processing Methods 0.000 claims description 11
- 238000012216 screening Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种网络流量分类模型训练方法、分类方法及训练装置,所述训练方法包括:选取目标历史网络流量数据集中的包头特征向量和负载特征矩阵;根据第一神经网络得到各个负载特征矩阵对应的多个负载分类得分向量;并根据第二神经网络得到各个包头特征向量对应的多个包头分类得分向量;对负载分类得分向量和包头分类得分向量进行加权求和,得到融合特征向量;将融合特征向量输入网络流量分类器中以得到各对应的多个流量类型的概率;在训练过程中,基于预设的分类损失函数计算分类损失对模型进行迭代训练,得到目标网络流量分类模型。本申请能够有效保证网络流量数据的完整性,进而有效提高了网络流量数据分类的准确性。
Description
技术领域
本申请涉及网络流量分类领域,尤其涉及一种网络流量分类模型训练方法、分类方法及训练装置。
背景技术
随着互联网的迅速发展和全球网络的广泛应用,网络流量的规模和复杂性不断增加。在这个数字时代,各种类型的网络应用和服务(如网页浏览、视频流媒体、实时通信、云计算等)产生了大量的数据流量;同时用户的日常网络活动也日益增加,查资料、音视频、游戏、直播、聊天等,所产生的网络流量也随之增加。其中有拥有数千台设备的大型企业和组织部门所产生的大量业务流量,有局域网环境下的小型部门所产生的通讯流量,有用户日常生活娱乐所产生的应用流量等。为了提供高效的网络服务、优化网络性能和确保网络安全,对网络流量进行准确的分类和识别变得至关重要。
现有的网络流量分类方法容易造成网络流量的包头消息缺失,进而影响网络流量分类的准确性。
发明内容
鉴于此,本申请实施例提供了一种网络流量分类模型训练方法、分类方法及训练装置,以消除或改善现有技术中存在的一个或更多个缺陷。
本申请的第一个方面提供了一种网络流量分类模型训练方法,该方法包括:
选取目标历史网络流量数据集中各个目标历史网络流量数据中的包头数据中的包头特征向量;并选取各个目标历史网络流量数据中的负载数据中的负载特征以转换为负载特征矩阵;其中,所述目标历史网络流量数据集由预先对历史网络流量数据集进行预处理得到;
根据第一神经网络得到各个所述负载特征矩阵各自对应的多个负载分类得分向量;并根据第二神经网络得到各个所述包头特征向量各自对应的多个包头分类得分向量;其中,所述第一神经网络与所述第二神经网络的网络结构不同;
根据依次连接的目标全连接层、融合层和输出层对各个所述负载分类得分向量和各个所述包头分类得分向量分别进行加权求和,得到各个所述目标历史网络流量数据各自对应的融合特征向量;
将各个所述融合特征向量输入网络流量分类器中以得到各个所述融合特征向量各自对应的多个流量类型的概率;
根据所述目标历史网络流量数据集和各个所述流量类型的概率训练预设的网络流量分类模型,并在训练过程中,基于预设的分类损失函数得到各个所述流量类型的概率的分类损失,并基于该分类损失迭代训练所述网络流量分类模型,以得到用于对网络流量进行分类的目标网络流量分类模型;其中,所述网络流量分类模型包括:所述第一神经网络、第二神经网络、目标全连接层、融合层、输出层和网络流量分类器。
在本申请的一些实施例中,所述在所述分别选取目标历史网络流量数据集中各个目标历史网络流量数据中包头数据中的包头特征向量以及负载数据中的负载特征矩阵之前,还包括:
基于预设的筛选条件对所述历史网络流量数据集进行筛选以得到第一网络流量数据集;
去除所述第一网络流量数据集中各个第一网络流量数据中链路层的帧头和帧尾,并屏蔽各个所述第一网络流量数据中的预设字段,以得到第二网络流量数据集;
将所述第二网络流量数据集中各个第二网络流量数据转换为各自对应的字节向量以得到所述目标历史网络流量数据集。
在本申请的一些实施例中,所述第一网络包括:依次连接的卷积层、第一残差块、第一池化层、第二残差块、第二池化层、第三残差块、第三池化层、第四残差块、第四池化层、第一展平层、第一全连接层和第一激活函数;
所述卷积层,用于根据输入其中的各个所述负载特征矩阵对应输出得到各自对应的第一负载特征矩阵;
所述第一残差块,用于根据输入其中的各个所述第一负载特征矩阵对应输出得到各自对应的第二负载特征矩阵;
所述第一池化层,用于根据输入其中的各个所述第二负载特征矩阵对应输出得到各自对应的第三负载特征矩阵;
所述第二残差块,用于根据输入其中的各个所述第三负载特征矩阵对应输出得到各自对应的第四负载特征矩阵;
所述第二池化层,用于根据输入其中的各个所述第四负载特征矩阵对应输出得到各自对应的第五负载特征矩阵;
所述第三残差块,用于根据输入其中的各个所述第五负载特征矩阵对应输出得到各自对应的第六负载特征矩阵;
所述第三池化层,用于根据输入其中的各个所述第六负载特征矩阵对应输出得到各自对应的第七负载特征矩阵;
所述第四残差块,用于根据输入其中的各个所述第七负载特征矩阵对应输出得到各自对应的第八负载特征矩阵;
所述第四池化层,用于根据输入其中的各个所述第八负载特征矩阵对应输出得到各自对应的第九负载特征矩阵;
所述第一展平层,用于根据输入其中的各个所述第九负载特征矩阵对应输出得到各自对应的负载特征一维向量;
所述第一全连接层,用于根据输入其中的各个所述负载特征一维向量对应输出得到多个第一类别;
所述第一激活函数,用于根据输入其中的各个所述负载特征一维向量和各个所述第一类别对应输出得到各个所述负载特征一维向量各自对应的各个所述负载分类得分向量。
在本申请的一些实施例中,所述第二神经网络包括:依次连接的嵌入层、第二全连接层、第二激活函数、第二展平层、第三全连接层和第三激活函数;
所述嵌入层,用于根据输入其中的各个所述包头特征向量对应输出得到各自对应的多个包头字节特征向量;
所述第二全连接层,用于根据输入其中的各个所述包头字节特征向量对应输出得到多个第二类别;
所述第二激活函数,用于根据输入其中的各个所述包头字节特征向量和各个所述第二类别,对应输出得到各个所述包头特征向量各自对应的各个包头字节得分向量并组成包头字节特征矩阵;
所述第二展平层,用于根据输入其中的各个所述包头字节特征矩阵对应输出得到各自对应的包头特征一维向量;
所述第三全连接层,用于根据输入其中的各个所述包头特征一维向量对应输出得到多个第三类别;
所述第三激活函数,用于根据输入其中的各个所述包头特征一维向量和各个所述第三类别对应输出得到各个所述包头特征一维向量各自对应的各个所述包头分类得分向量。
在本申请的一些实施例中,所述目标全连接层用于将输入其中的各个所述负载分类得分向量和各自对应的所述包头分类得分向量映射到目标特征空间,以输出得到各个所述负载分类得分向量各自对应的查询向量、键向量、包头值向量和负载值向量;
所述融合层,用于计算各个所述查询向量与各自对应的所述键向量的内积对应输出得到各个所述负载分类得分向量各自对应的注意力分数,并对各个所述注意力分数进行缩放和归一化得到各个所述负载分类得分向量各自对应的注意力权重矩阵;
所述输出层,用于基于各个所述注意力权重矩阵对各自对应的所述包头值向量和负载值向量进行加权求和,得到各自对应的融合特征向量。
在本申请的一些实施例中,所述网络流量分类器包括:第四全连接层和第四激活函数;
所述第四全连接层,用于根据输入其中的各个所述融合特征向量对应输出得到多个第四类别;
所述第四激活函数,用于根据输入其中的各个所述融合特征向量分别与各个所述第四类别对应输出得到各个所述融合特征向量各自对应的各个所述流量类型的概率。
本申请的第二个方面提供了一种网络流量分类方法,该方法包括:
获取目标网络流量数据集;其中,所述目标网络流量数据集为对网络流量数据集进行预处理得到;
将所述目标网络流量数据集输入预先基于第一方面所述的网络流量分类模型训练方法训练得到的所述目标网络流量分类模型中,以使该目标网络流量分类模型输出所述目标网络流量数据集中各个目标网络流量数据各自对应的网络流量类型结果数据。
本申请的第三个方面提供了一种网络流量分类模型训练装置,该装置包括:
特征选取模块,用于选取目标历史网络流量数据集中各个目标历史网络流量数据中的包头数据中的包头特征向量;并选取各个目标历史网络流量数据中的负载数据中的负载特征以转换为负载特征矩阵;其中,所述目标历史网络流量数据集由预先对历史网络流量数据集进行预处理得到;
分类得分计算模块,用于根据第一神经网络得到各个所述负载特征矩阵各自对应的多个负载分类得分向量;并根据第二神经网络得到各个所述包头特征向量各自对应的多个包头分类得分向量;其中,所述第一神经网络与所述第二神经网络的网络结构不同;
特征融合模块,用于根据依次连接的目标全连接层、融合层和输出层对各个所述负载分类得分向量和各个所述包头分类得分向量分别进行加权求和,得到各个所述目标历史网络流量数据各自对应的融合特征向量;
类别概率计算模块,用于将各个所述融合特征向量输入网络流量分类器中以得到各个所述融合特征向量各自对应的多个流量类型的概率;
模型训练模块,用于根据所述目标历史网络流量数据集和各个所述流量类型的概率训练预设的网络流量分类模型,并在训练过程中,基于预设的分类损失函数得到各个所述流量类型的概率的分类损失,并基于该分类损失迭代训练所述网络流量分类模型,以得到用于对网络流量进行分类的目标网络流量分类模型;其中,所述网络流量分类模型包括:所述第一神经网络、第二神经网络、目标全连接层、融合层、输出层和网络流量分类器。
本申请的第四个方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述的第一方面所述的网络流量分类模型训练方法。
本申请的第五个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述的第一方面所述的网络流量分类模型训练方法。
本申请提供一种网络流量分类模型训练方法、分类方法及训练装置,所述训练方法包括:选取目标历史网络流量数据集中的包头特征向量和负载特征矩阵;根据第一神经网络得到各个负载特征矩阵对应的多个负载分类得分向量;并根据第二神经网络得到各个包头特征向量对应的多个包头分类得分向量;对负载分类得分向量和包头分类得分向量进行加权求和,得到融合特征向量;将融合特征向量输入网络流量分类器中以得到各对应的多个流量类型的概率;在训练过程中,基于预设的分类损失函数计算分类损失对模型进行迭代训练,得到目标网络流量分类模型。本申请能够有效保证网络流量数据的完整性,进而有效提高了网络流量数据分类的准确性。
本申请的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本申请的实践而获知。本申请的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本申请实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本申请能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。附图中的部件不是成比例绘制的,而只是为了示出本申请的原理。为了便于示出和描述本申请的一些部分,附图中对应部分可能被放大,即,相对于依据本申请实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为本申请一实施例中的网络流量分类模型训练方法的流程示意图。
图2为本申请另一实施例中的网络流量分类模型训练装置的结构示意图。
图3为本申请一实施例中的网络流量分类方法的流程示意图。
图4为本申请一实施例中的第一神经网络的架构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本申请做进一步详细说明。在此,本申请的示意性实施方式及其说明用于解释本申请,但并不作为对本申请的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本申请,在附图中仅仅示出了与根据本申请的方案密切相关的结构和/或处理步骤,而省略了与本申请关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本申请的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
具体通过下述实施例进行详细说明。
本申请实施例提供一种可以由网络流量分类模型训练装置或客户端设备执行的网络流量分类模型训练方法,参见图1,所述的网络流量分类模型训练方法具体包含有如下内容:
步骤110:选取目标历史网络流量数据集中各个目标历史网络流量数据中的包头数据中的包头特征向量;并选取各个目标历史网络流量数据中的负载数据中的负载特征以转换为负载特征矩阵;其中,所述目标历史网络流量数据集由预先对历史网络流量数据集进行预处理得到。
步骤120:根据第一神经网络得到各个所述负载特征矩阵各自对应的多个负载分类得分向量;并根据第二神经网络得到各个所述包头特征向量各自对应的多个包头分类得分向量;其中,所述第一神经网络与所述第二神经网络的网络结构不同。
步骤130:根据依次连接的目标全连接层、融合层和输出层对各个所述负载分类得分向量和各个所述包头分类得分向量分别进行加权求和,得到各个所述目标历史网络流量数据各自对应的融合特征向量。
步骤140:将各个所述融合特征向量输入网络流量分类器中以得到各个所述融合特征向量各自对应的多个流量类型的概率。
步骤150:根据所述目标历史网络流量数据集和各个所述流量类型的概率训练预设的网络流量分类模型,并在训练过程中,基于预设的分类损失函数得到各个所述流量类型的概率的分类损失,并基于该分类损失迭代训练所述网络流量分类模型,以得到用于对网络流量进行分类的目标网络流量分类模型;其中,所述网络流量分类模型包括:所述第一神经网络、第二神经网络、目标全连接层、融合层、输出层和网络流量分类器。
具体来说,客户端设备首先选取目标历史网络流量数据集中各个目标历史网络流量数据中的包头数据中的包头特征向量;并选取各个目标历史网络流量数据中的负载数据中的负载特征以转换为负载特征矩阵。其次根据第一神经网络得到各个负载特征矩阵各自对应的多个负载分类得分向量;并根据第二神经网络得到各个包头特征向量各自对应的多个包头分类得分向量。然后根据依次连接的目标全连接层、融合层和输出层对各个负载分类得分向量和各个包头分类得分向量分别进行加权求和,得到各个目标网络流量数据各自对应的融合特征向量。然后将各个融合特征向量输入网络流量分类器中以得到各个融合特征向量各自对应的多个流量类型的概率。最后根据目标历史网络流量数据集和各个流量类型的概率训练预设的网络流量分类模型,并在训练过程中,基于预设的分类损失函数得到各个流量类型的概率的分类损失,并基于该分类损失迭代训练网络流量分类模型,以得到用于对网络流量进行分类的目标网络流量分类模型,从而能够有效保证网络流量数据的完整性,进而有效提高了网络流量数据分类的准确性。
其中,目标历史网络流量数据集由预先对历史网络流量数据集进行预处理得到;第一神经网络与第二神经网络的网络结构不同;网络流量分类模型包括:第一神经网络、第二神经网络、目标全连接层、融合层、输出层和网络流量分类器。分类损失函数参见公式(1):
其中,N为数据集中流量类型的种类数;y为标签,如果当前流量类别为i,则yi=1,否则为0;pi为神经网络的输出,即当前数据包为类别i的概率。
另外,步骤110具体描述如下:
选取目标历史网络流量数据集中各个目标历史网络流量数据中的包头数据中IP头部的前20字节和TCP//UDP头部的前20字节作为包头特征向量;并选取各个目标历史网络流量数据中的负载数据中的前100字节,每个字节对应图片的一个灰度像素值,0对应黑色,255对应白色,将这100个字节转换为10*10的流量图作为负载特征矩阵。
需要说明的是,IP头部由20字节的固定头部与0-40字节的选项字段组成;TCP包头由20字节的固定头部与0-40字节的选项字段组成;UDP包头由8字节的固定头部组成;由于不是所有的目标历史网络流量数据包都具有IP头部的选项字段和TCP头部的选项字段,并且选项字段包含的信息与分类无关,所以对于IP包头和TCP包头,在选取包头特征向量时统一将选项字段截断,只保留前面20字节的固定包头;对于UDP包头,只有8个字节的固定包头,将其用零字节填充至20字节。从而获得长度为40字节的包头特征向量,从而能够保证网络流量数据的完整性。
为了提升训练数据的有效性,在步骤110之前还包括:
基于预设的筛选条件对所述历史网络流量数据集进行筛选以得到第一网络流量数据集;
去除所述第一网络流量数据集中各个第一网络流量数据中链路层的帧头和帧尾,并屏蔽各个所述第一网络流量数据中的预设字段,以得到第二网络流量数据集;
将所述第二网络流量数据集中各个第二网络流量数据转换为各自对应的字节向量以得到所述目标历史网络流量数据集。
具体来说,客户端设备首先基于预设的筛选条件对历史网络流量数据集进行筛选以得到第一网络流量数据集;然后去除第一网络流量数据集中各个第一网络流量数据中链路层的帧头和帧尾,并屏蔽各个第一网络流量数据中的预设字段,以得到第二网络流量数据集;最后将二网络流量数据集中各个第二网络流量数据转换为各自对应的字节向量以得到所述目标历史网络流量数据集,从而能够提升训练数据的有效性。
其中,预设的筛选条件为:去除历史网络流量数据集中缺少包头和没有负载的历史网络流量数据;预设字段包括:IP头中的IP、校验和、标识和片偏移字段;TCP头中的端口、序列号、确认号、校验和字段;UDP头中的端口、校验和字段。
需要说明的是,链路层包含有关物理链路的信息,这对于在局域网中转发帧是必不可少的,但对于本申请的分类任务来说,它不提供信息。校验和、标识和片偏移字段是与分类无关的常量,它们被网络设备用于数据包处理和错误检查。IP地址和TCP/UDP端口与本地网络配置相关,只能用于判断本地流量,会造成分类偏向。因此,用零掩盖包头中的上述字段(即忽略这些数据字段)。
为了有效提取负载特征以进行流量分类,步骤120中的所述第一网络包括:依次连接的卷积层、第一残差块、第一池化层、第二残差块、第二池化层、第三残差块、第三池化层、第四残差块、第四池化层、第一展平层、第一全连接层和第一激活函数;
所述卷积层,用于根据输入其中的各个所述负载特征矩阵对应输出得到各自对应的第一负载特征矩阵;
所述第一残差块,用于根据输入其中的各个所述第一负载特征矩阵对应输出得到各自对应的第二负载特征矩阵;
所述第一池化层,用于根据输入其中的各个所述第二负载特征矩阵对应输出得到各自对应的第三负载特征矩阵;
所述第二残差块,用于根据输入其中的各个所述第三负载特征矩阵对应输出得到各自对应的第四负载特征矩阵;
所述第二池化层,用于根据输入其中的各个所述第四负载特征矩阵对应输出得到各自对应的第五负载特征矩阵;
所述第三残差块,用于根据输入其中的各个所述第五负载特征矩阵对应输出得到各自对应的第六负载特征矩阵;
所述第三池化层,用于根据输入其中的各个所述第六负载特征矩阵对应输出得到各自对应的第七负载特征矩阵;
所述第四残差块,用于根据输入其中的各个所述第七负载特征矩阵对应输出得到各自对应的第八负载特征矩阵;
所述第四池化层,用于根据输入其中的各个所述第八负载特征矩阵对应输出得到各自对应的第九负载特征矩阵;
所述第一展平层,用于根据输入其中的各个所述第九负载特征矩阵对应输出得到各自对应的负载特征一维向量;
所述第一全连接层,用于根据输入其中的各个所述负载特征一维向量对应输出得到多个第一类别;
所述第一激活函数,用于根据输入其中的各个所述负载特征一维向量和各个所述第一类别对应输出得到各个所述负载特征一维向量各自对应的各个所述负载分类得分向量。
具体来说,参见图4,客户端设备将各个负载特征矩阵输入卷积层,以使卷积层调用Conv2d结构进行二维卷积,设定卷积核数目out_channels=64,卷积窗口大小参数kernel_size=7,卷积步长stride=1,激活函数activation="relu"(即图4中的激活函数ReLU);然后经过4个残差块和池化层的组合模块,每个残差块内部由两个二维卷积层和一个跳跃连接组成,其中每个卷积层,调用Conv2d结构,设置卷积核数目参数out_channels=64,步长参数stride=1,卷积窗口大小参数kernel_size=5,每次卷积操作后都经过批标准化,调用BatchNorm2d结构,然后通过ReLU函数进行非线性激活。在每经过一个残差块之后将输入特征图和经过卷积操作的特征图进行跳跃连接。每个池化层对于残差块输出的特征图进行平均池化。之后经过Flatten层(即第一展平层),将池化后的负载特征矩阵展开为一维向量;最后经过第一全连接层(即图4中的fc N),输出单元数units=N(N为数据集中网络流量的种类数),第一激活函数activation="relu",将第一展平层输出的一维向量映射到最终的类别总数N上,得出每个类别(即第一类别)的得分向量,从而能够有效提取负载特征以进行流量分类。
其中,第一神经网络为改进的ResNet网络架构,具体架构可参见图4;4个池化层的窗口大小参数pool_size逐渐减小,分别为(8,8)、(6,6)、(4,4)和(2,2),对应图4中的AdaptiveAvgPool2d(8,8)、AdaptiveAvgPool2d(6,6)、AdaptiveAvgPool2d(4,4)和AdaptiveAvgPool2d(2,2);图4中的Conv2d表示二维卷积层,7*7表示卷积窗口大小,BatchNorm2d表示二维批归一化。
为了有效提取包头特征以进行流量分类,步骤120中的所述第二神经网络包括:依次连接的嵌入层、第二全连接层、第二激活函数、第二展平层、第三全连接层和第三激活函数;
所述嵌入层,用于根据输入其中的各个所述包头特征向量对应输出得到各自对应的多个包头字节特征向量;
所述第二全连接层,用于根据输入其中的各个所述包头字节特征向量对应输出得到多个第二类别;
所述第二激活函数,用于根据输入其中的各个所述包头字节特征向量和各个所述第二类别,对应输出得到各个所述包头特征向量各自对应的各个包头字节得分向量并组成包头字节特征矩阵;
所述第二展平层,用于根据输入其中的各个所述包头字节特征矩阵对应输出得到各自对应的包头特征一维向量;
所述第三全连接层,用于根据输入其中的各个所述包头特征向量对应输出得到多个第三类别;
所述第三激活函数,用于根据输入其中的各个所述包头特征一维向量和各个所述第三类别对应输出得到各个所述包头特征一维向量各自对应的各个所述包头分类得分向量。
具体来说,客户端设备首先将各个包头特征向量输入嵌入层,以使嵌入层调用Embedding结构,设置词表大小参数num_embeddings=256,嵌入维度参数embedding_dim=16,将各个包头特征向量中的每个包头字节编码为长度为16的特征向量;
然后将各个长度为16的包头字节特征向量输入第二全连接层,以使第二全连接层输出单元数units=N(N为数据集中网络流量的种类数),然后采用第二激活函数activation="relu",将各个长度为16的包头字节特征向量映射到最终的类别总数N上,得出各个长度为16的包头字节特征向量针对每个类别(即第二类别)的得分向量,并将对应于同一个包头特征向量的多个包头字节得分向量组合为一个包头特征矩阵。
接着经过flatten层(即第二展平层),将各个包头特征矩阵展开为一维向量。
最后经过第三全连接层,输出单元数units=N(N为数据集中网络流量的种类数)。采用第三激活函数activation="relu",将第二展平层输出的一维向量映射到最终的类别总数N上,得出每个类别(即第三类别)的得分向量,从而能够有效提取包头特征以进行流量分类。
其中,第二神经网络可取嵌入层网络。
为了进一步提升网络流量分类的准确性,在步骤130中:
所述目标全连接层用于将输入其中的各个所述负载分类得分向量和各自对应的所述包头分类得分向量映射到目标特征空间,以输出得到各个所述负载分类得分向量各自对应的查询向量、键向量、包头值向量和负载值向量;
所述融合层,用于计算各个所述查询向量与各自对应的所述键向量的内积对应输出得到各个所述负载分类得分向量各自对应的注意力分数,并对各个所述注意力分数进行缩放和归一化得到各个所述负载分类得分向量各自对应的注意力权重矩阵;
所述输出层,用于基于各个所述注意力权重矩阵对各自对应的所述包头值向量和负载值向量进行加权求和,得到各自对应的融合特征向量。
具体来说,将各个负载分类得分向量和各自对应的包头分类得分向量输入目标全连接层,以使该目标全连接层通过线性变换将各个负载分类得分向量x1和各自对应的包头分类得分向量x2映射到相同的特征空间(即目标特征空间),以输出得到查询向量q、键向量k、包头值向量v1和负载值向量v2。然后经过融合层,计算查询向量q和键向量k之间的内积,得到注意力分数scores。随后通过对scores进行缩放和softmax归一化计算得到注意力权重矩阵。最后经过输出层,利用注意力权重矩阵对包头值向量v1和负载值向量v2进行加权求和,得到综合了包头和包负载特征的融合特征向量,从而能够进一步提升网络流量分类的准确性。
为了有效得到流量数据对于各类型的概率,在步骤140中:
所述网络流量分类器包括:第四全连接层和第四激活函数;
所述第四全连接层,用于根据输入其中的各个所述融合特征向量对应输出得到多个第四类别;
所述第四激活函数,用于根据输入其中的各个所述融合特征向量分别与各个所述第四类别对应输出得到各个所述融合特征向量各自对应的各个所述流量类型的概率。
具体来说,将各个融合特征向量输入第四全连接层,以使该第四全连接层输出单元数units=N(N为数据集中网络流量的种类);然后,采用第四激活函数activation="relu",将各个融合特征向量映射到最终的类别总数N上,各个融合特征向量各自对应的各个流量类型(即第四类别)的概率,从而能够有效得到流量数据对于各类型的概率。
需要说明的是,第一类别、第二类别、第三类别、第四类别和流量类型相同;第一激活函数、第二激活函数、第三激活函数和第四激活函数可取相同的激活函数;第一展平层、第二展平层和第三展平层也可取相同的展平层。
本申请实施例还提供了一种由客户端设备执行的网络流量分类方法,参见图3,该方法包括:
步骤210:获取目标网络流量数据集;其中,所述目标网络流量数据集为对网络流量数据集进行预处理得到。
步骤220:将所述目标网络流量数据集输入预先基于前述实施例提及的网络流量分类模型训练方法训练得到的所述目标网络流量分类模型中,以使该目标网络流量分类模型输出所述目标网络流量数据集中各个目标网络流量数据各自对应的网络流量类型结果数据。
具体来说,客户端设备首先获取目标网络流量数据集;然后将所述目标网络流量数据集输入预先基于前述实施例提及的网络流量分类模型训练方法训练得到的目标网络流量分类模型中,以使该目标网络流量分类模型输出目标网络流量数据集中各个目标网络流量数据各自对应的网络流量类型结果数据,从而能够有效保证网络流量数据的完整性,进而有效提高了网络流量数据分类的准确性。
其中,所述目标网络流量数据集为对网络流量数据集进行预处理得到;网络流量类型结果数据包括目标网络流量数据对于目标网络流量数据集中各个网络流量类型的概率。
从软件层面来说,本申请还提供一种用于执行所述的网络流量分类模型训练方法中全部或部分内的网络流量分类模型训练装置,参见图2,所述的网络流量分类模型训练装置具体包含有如下内容:
特征选取模块10,用于选取目标历史网络流量数据集中各个目标历史网络流量数据中的包头数据中的包头特征向量;并选取各个目标历史网络流量数据中的负载数据中的负载特征以转换为负载特征矩阵;其中,所述目标历史网络流量数据集由预先对历史网络流量数据集进行预处理得到。
分类得分计算模块20,用于根据第一神经网络得到各个所述负载特征矩阵各自对应的多个负载分类得分向量;并根据第二神经网络得到各个所述包头特征向量各自对应的多个包头分类得分向量;其中,所述第一神经网络与所述第二神经网络的网络结构不同。
特征融合模块30,用于根据依次连接的目标全连接层、融合层和输出层对各个所述负载分类得分向量和各个所述包头分类得分向量分别进行加权求和,得到各个所述目标历史网络流量数据各自对应的融合特征向量。
类别概率计算模块40,用于将各个所述融合特征向量输入网络流量分类器中以得到各个所述融合特征向量各自对应的多个流量类型的概率。
模型训练模块50,用于根据所述目标历史网络流量数据集和各个所述流量类型的概率训练预设的网络流量分类模型,并在训练过程中,基于预设的分类损失函数得到各个所述流量类型的概率的分类损失,并基于该分类损失迭代训练所述网络流量分类模型,以得到用于对网络流量进行分类的目标网络流量分类模型;其中,所述网络流量分类模型包括:所述第一神经网络、第二神经网络、目标全连接层、融合层、输出层和网络流量分类器。
本申请提供的网络流量分类模型训练装置的实施例具体可以用于执行上述实施例中的网络流量分类模型训练方法的实施例的处理流程,其功能在此不再赘述,可以参照上述的网络流量分类模型训练方法实施例的详细描述。
本申请提供一种网络流量分类模型训练装置,通过选取目标历史网络流量数据集中的包头特征向量和负载特征矩阵;根据第一神经网络得到各个负载特征矩阵对应的多个负载分类得分向量;并根据第二神经网络得到各个包头特征向量对应的多个包头分类得分向量;对负载分类得分向量和包头分类得分向量进行加权求和,得到融合特征向量;将融合特征向量输入网络流量分类器中以得到各对应的多个流量类型的概率;在训练过程中,基于预设的分类损失函数计算分类损失对模型进行迭代训练,得到目标网络流量分类模型。本申请能够有效保证网络流量数据的完整性,进而有效提高了网络流量数据分类的准确性。
本申请实施例还提供了一种电子设备,例如中心服务器,该电子设备可以包括处理器、存储器、接收器及发送器,处理器用于执行上述实施例提及的网络流量分类模型训练方法,或者,前述实施例提及的网络流量分类方法,其中处理器和存储器可以通过总线或者其他方式连接,以通过总线连接为例。该接收器可通过有线或无线方式与处理器、存储器连接。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的网络流量分类模型训练方法,或者,前述实施例提及的网络流量分类方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的网络流量分类模型训练方法,或者,前述实施例提及的网络流量分类方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述处理器执行时,执行实施例中的网络流量分类模型训练方法,或者,前述实施例提及的网络流量分类方法。
在本申请的一些实施例中,用户设备可以包括处理器、存储器和收发单元,该收发单元可包括接收器和发送器,处理器、存储器、接收器和发送器可通过总线系统连接,存储器用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,以控制收发单元收发信号。
作为一种实现方式,本申请中接收器和发送器的功能可以考虑通过收发电路或者收发的专用芯片来实现,处理器可以考虑通过专用处理芯片、处理电路或通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的服务器。即将实现处理器,接收器和发送器功能的程序代码存储在存储器中,通用处理器通过执行存储器中的代码来实现处理器,接收器和发送器的功能。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述的网络流量分类模型训练方法,或者,前述实施例提及的网络流量分类方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本申请中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种网络流量分类模型训练方法,其特征在于,包括:
选取目标历史网络流量数据集中各个目标历史网络流量数据中的包头数据中的包头特征向量;并选取各个目标历史网络流量数据中的负载数据中的负载特征以转换为负载特征矩阵;其中,所述目标历史网络流量数据集由预先对历史网络流量数据集进行预处理得到;
根据第一神经网络得到各个所述负载特征矩阵各自对应的多个负载分类得分向量;并根据第二神经网络得到各个所述包头特征向量各自对应的多个包头分类得分向量;其中,所述第一神经网络与所述第二神经网络的网络结构不同;
根据依次连接的目标全连接层、融合层和输出层对各个所述负载分类得分向量和各个所述包头分类得分向量分别进行加权求和,得到各个所述目标历史网络流量数据各自对应的融合特征向量;
将各个所述融合特征向量输入网络流量分类器中以得到各个所述融合特征向量各自对应的多个流量类型的概率;
根据所述目标历史网络流量数据集和各个所述流量类型的概率训练预设的网络流量分类模型,并在训练过程中,基于预设的分类损失函数得到各个所述流量类型的概率的分类损失,并基于该分类损失迭代训练所述网络流量分类模型,以得到用于对网络流量进行分类的目标网络流量分类模型;其中,所述网络流量分类模型包括:所述第一神经网络、第二神经网络、目标全连接层、融合层、输出层和网络流量分类器。
2.根据权利要求1所述的网络流量分类模型训练方法,其特征在于,所述在所述分别选取目标历史网络流量数据集中各个目标历史网络流量数据中包头数据中的包头特征向量以及负载数据中的负载特征矩阵之前,还包括:
基于预设的筛选条件对所述历史网络流量数据集进行筛选以得到第一网络流量数据集;
去除所述第一网络流量数据集中各个第一网络流量数据中链路层的帧头和帧尾,并屏蔽各个所述第一网络流量数据中的预设字段,以得到第二网络流量数据集;
将所述第二网络流量数据集中各个第二网络流量数据转换为各自对应的字节向量以得到所述目标历史网络流量数据集。
3.根据权利要求1所述的网络流量分类模型训练方法,其特征在于,所述第一网络包括:依次连接的卷积层、第一残差块、第一池化层、第二残差块、第二池化层、第三残差块、第三池化层、第四残差块、第四池化层、第一展平层、第一全连接层和第一激活函数;
所述卷积层,用于根据输入其中的各个所述负载特征矩阵对应输出得到各自对应的第一负载特征矩阵;
所述第一残差块,用于根据输入其中的各个所述第一负载特征矩阵对应输出得到各自对应的第二负载特征矩阵;
所述第一池化层,用于根据输入其中的各个所述第二负载特征矩阵对应输出得到各自对应的第三负载特征矩阵;
所述第二残差块,用于根据输入其中的各个所述第三负载特征矩阵对应输出得到各自对应的第四负载特征矩阵;
所述第二池化层,用于根据输入其中的各个所述第四负载特征矩阵对应输出得到各自对应的第五负载特征矩阵;
所述第三残差块,用于根据输入其中的各个所述第五负载特征矩阵对应输出得到各自对应的第六负载特征矩阵;
所述第三池化层,用于根据输入其中的各个所述第六负载特征矩阵对应输出得到各自对应的第七负载特征矩阵;
所述第四残差块,用于根据输入其中的各个所述第七负载特征矩阵对应输出得到各自对应的第八负载特征矩阵;
所述第四池化层,用于根据输入其中的各个所述第八负载特征矩阵对应输出得到各自对应的第九负载特征矩阵;
所述第一展平层,用于根据输入其中的各个所述第九负载特征矩阵对应输出得到各自对应的负载特征一维向量;
所述第一全连接层,用于根据输入其中的各个所述负载特征一维向量对应输出得到多个第一类别;
所述第一激活函数,用于根据输入其中的各个所述负载特征一维向量和各个所述第一类别对应输出得到各个所述负载特征一维向量各自对应的各个所述负载分类得分向量。
4.根据权利要求1所述的网络流量分类模型训练方法,其特征在于,所述第二神经网络包括:依次连接的嵌入层、第二全连接层、第二激活函数、第二展平层、第三全连接层和第三激活函数;
所述嵌入层,用于根据输入其中的各个所述包头特征向量对应输出得到各自对应的多个包头字节特征向量;
所述第二全连接层,用于根据输入其中的各个所述包头字节特征向量对应输出得到多个第二类别;
所述第二激活函数,用于根据输入其中的各个所述包头字节特征向量和各个所述第二类别,对应输出得到各个所述包头特征向量各自对应的各个包头字节得分向量并组成包头字节特征矩阵;
所述第二展平层,用于根据输入其中的各个所述包头字节特征矩阵对应输出得到各自对应的包头特征一维向量;
所述第三全连接层,用于根据输入其中的各个所述包头特征一维向量对应输出得到多个第三类别;
所述第三激活函数,用于根据输入其中的各个所述包头特征一维向量和各个所述第三类别对应输出得到各个所述包头特征一维向量各自对应的各个所述包头分类得分向量。
5.根据权利要求1所述的网络流量分类模型训练方法,其特征在于,所述目标全连接层用于将输入其中的各个所述负载分类得分向量和各自对应的所述包头分类得分向量映射到目标特征空间,以输出得到各个所述负载分类得分向量各自对应的查询向量、键向量、包头值向量和负载值向量;
所述融合层,用于计算各个所述查询向量与各自对应的所述键向量的内积对应输出得到各个所述负载分类得分向量各自对应的注意力分数,并对各个所述注意力分数进行缩放和归一化得到各个所述负载分类得分向量各自对应的注意力权重矩阵;
所述输出层,用于基于各个所述注意力权重矩阵对各自对应的所述包头值向量和负载值向量进行加权求和,得到各自对应的融合特征向量。
6.根据权利要求1所述的网络流量分类模型训练方法,其特征在于,所述网络流量分类器包括:第四全连接层和第四激活函数;
所述第四全连接层,用于根据输入其中的各个所述融合特征向量对应输出得到多个第四类别;
所述第四激活函数,用于根据输入其中的各个所述融合特征向量分别与各个所述第四类别对应输出得到各个所述融合特征向量各自对应的各个所述流量类型的概率。
7.一种网络流量分类方法,其特征在于,包括:
获取目标网络流量数据集;其中,所述目标网络流量数据集为对网络流量数据集进行预处理得到;
将所述目标网络流量数据集输入预先基于权利要求1-6任一项所述的网络流量分类模型训练方法训练得到的所述目标网络流量分类模型中,以使该目标网络流量分类模型输出所述目标网络流量数据集中各个目标网络流量数据各自对应的网络流量类型结果数据。
8.一种网络流量分类模型训练装置,其特征在于,包括:
特征选取模块,用于选取目标历史网络流量数据集中各个目标历史网络流量数据中的包头数据中的包头特征向量;并选取各个目标历史网络流量数据中的负载数据中的负载特征以转换为负载特征矩阵;其中,所述目标历史网络流量数据集由预先对历史网络流量数据集进行预处理得到;
分类得分计算模块,用于根据第一神经网络得到各个所述负载特征矩阵各自对应的多个负载分类得分向量;并根据第二神经网络得到各个所述包头特征向量各自对应的多个包头分类得分向量;其中,所述第一神经网络与所述第二神经网络的网络结构不同;
特征融合模块,用于根据依次连接的目标全连接层、融合层和输出层对各个所述负载分类得分向量和各个所述包头分类得分向量分别进行加权求和,得到各个所述目标历史网络流量数据各自对应的融合特征向量;
类别概率计算模块,用于将各个所述融合特征向量输入网络流量分类器中以得到各个所述融合特征向量各自对应的多个流量类型的概率;
模型训练模块,用于根据所述目标历史网络流量数据集和各个所述流量类型的概率训练预设的网络流量分类模型,并在训练过程中,基于预设的分类损失函数得到各个所述流量类型的概率的分类损失,并基于该分类损失迭代训练所述网络流量分类模型,以得到用于对网络流量进行分类的目标网络流量分类模型;其中,所述网络流量分类模型包括:所述第一神经网络、第二神经网络、目标全连接层、融合层、输出层和网络流量分类器。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的网络流量分类模型训练方法,或者,执行如权利要求8所述的网络流量分类方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述的网络流量分类模型训练方法,或者,执行如权利要求8所述的网络流量分类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310959504.5A CN117076923A (zh) | 2023-08-01 | 2023-08-01 | 网络流量分类模型训练方法、分类方法及训练装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310959504.5A CN117076923A (zh) | 2023-08-01 | 2023-08-01 | 网络流量分类模型训练方法、分类方法及训练装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117076923A true CN117076923A (zh) | 2023-11-17 |
Family
ID=88718627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310959504.5A Pending CN117076923A (zh) | 2023-08-01 | 2023-08-01 | 网络流量分类模型训练方法、分类方法及训练装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117076923A (zh) |
-
2023
- 2023-08-01 CN CN202310959504.5A patent/CN117076923A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109639481B (zh) | 一种基于深度学习的网络流量分类方法、系统及电子设备 | |
Zheng et al. | Learning to classify: A flow-based relation network for encrypted traffic classification | |
CN108200006B (zh) | 一种基于层次化时空特征学习的网络流量分类方法及装置 | |
KR101323439B1 (ko) | 특징 디스크립터를 표현하고 식별하는 방법, 장치 및 컴퓨터 판독가능 저장 매체 | |
CN111626408B (zh) | 哈希编码方法、装置、设备及可读存储介质 | |
CN112333706B (zh) | 物联网设备异常检测方法、装置、计算设备及存储介质 | |
CN112511555A (zh) | 基于稀疏表示和卷积神经网络的私有加密协议报文分类法 | |
US20210192019A1 (en) | System and method for digital steganography purification | |
KR20180123810A (ko) | X-Ray 의료 영상 판독을 위한 데이터 심화학습 처리 기술 및 그 방법 | |
EP3983953A1 (en) | Understanding deep learning models | |
CN116992299A (zh) | 区块链交易异常检测模型的训练方法、检测方法及装置 | |
CN112686287A (zh) | 一种基于非因果时间卷积神经网络的加密流量分类方法 | |
Itahara et al. | Communication-oriented model fine-tuning for packet-loss resilient distributed inference under highly lossy IoT networks | |
CN117076923A (zh) | 网络流量分类模型训练方法、分类方法及训练装置 | |
WO2023098688A1 (zh) | 图像编解码方法和装置 | |
CN113822199B (zh) | 对象属性识别方法、装置、存储介质和电子装置 | |
CN112070211A (zh) | 基于计算卸载机制的图像识别方法 | |
CN116405330B (zh) | 基于迁移学习的网络异常流量识别方法、装置和设备 | |
US20230378976A1 (en) | Reconstruction feasibility determination method, reconstruction feasibility determination apparatus and program | |
CN116778534B (zh) | 图像处理方法、装置、设备和介质 | |
CN115062302A (zh) | 多模态融合图卷积网络训练、恶意软件分类方法及装置 | |
CN116599689A (zh) | 网络流量数据分类模型训练方法、分类方法及训练装置 | |
CN117671760A (zh) | 图片识别模型的训练方法、装置、存储介质及电子设备 | |
CN114219972A (zh) | 图像的分类方法、装置、存储介质及电子装置 | |
CN116630837A (zh) | 双阶段视频去噪模型训练方法、视频去噪方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |