CN117579399B - 异常流量检测模型的训练方法和系统、异常流量检测方法 - Google Patents
异常流量检测模型的训练方法和系统、异常流量检测方法 Download PDFInfo
- Publication number
- CN117579399B CN117579399B CN202410065850.3A CN202410065850A CN117579399B CN 117579399 B CN117579399 B CN 117579399B CN 202410065850 A CN202410065850 A CN 202410065850A CN 117579399 B CN117579399 B CN 117579399B
- Authority
- CN
- China
- Prior art keywords
- detection model
- model
- subnet
- pruning
- loss
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 439
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 121
- 238000012549 training Methods 0.000 title claims abstract description 111
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000013138 pruning Methods 0.000 claims abstract description 130
- 238000013140 knowledge distillation Methods 0.000 claims abstract description 30
- 230000006870 function Effects 0.000 claims description 113
- 238000004821 distillation Methods 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 23
- 238000013527 convolutional neural network Methods 0.000 claims description 21
- 230000006835 compression Effects 0.000 claims description 15
- 238000007906 compression Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 12
- 230000002787 reinforcement Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000002776 aggregation Effects 0.000 claims description 5
- 238000004220 aggregation Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 11
- 238000005457 optimization Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000011176 pooling Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- 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/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- 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/1433—Vulnerability analysis
-
- 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/1441—Countermeasures against malicious traffic
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
- H04L63/205—Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种异常流量检测模型的训练方法和系统、异常流量检测方法,属于网络安全技术领域。该方法包括:基于获取的多个第一流量数据对初始检测模型进行训练,直至初始检测模型收敛;对初始检测模型进行模型剪枝和知识蒸馏处理,得到子网检测模型,并将子网检测模型的子网模型参数发送至全局控制器,以使全局控制器将多个子网模型参数聚合得到全局模型参数;接收全局控制器发送的全局模型参数,基于多个第二流量数据对子网检测模型的全局模型参数进行微调,直至子网检测模型收敛,得到异常流量检测模型,该第二流量数据与第一流量数据的流量类别不同。上述方法不仅提高了训练得到的异常流量检测模型的普适性,而且提高了模型的检测准确性。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及异常流量检测模型的训练方法和系统、异常流量检测方法。
背景技术
随着互联网的高速发展与应用,人们生活变得便利的同时,网络安全的问题也是层出不穷,例如攻击、漏洞等安全问题。而这些问题往往会引起网络流量的变化,为了提高网络安全性,通常需要通过分析网络用户生成的流量数据来检测异常行为。
现有技术中,采用联邦学习的方式训练异常流量检测模型时,全局控制器对子网控制器的模型参数取平均值后得到全局模型参数,子网控制器用全局模型参数更新自身存储的子网检测模型的模型参数,得到最终的子网检测模型。但这种方式训练得到的模型普适性较差,导致模型的检测准确性较低。
发明内容
为此,本发明提出了一种异常流量检测模型的训练方法,还提出了一种异常流量检测模型的训练系统、一种异常流量检测模型的训练装置、一种异常流量检测方法、一种异常流量检测装置、一种计算设备和一种计算机可读存储介质,旨在至少在一定程度上解决相关技术中训练得到的模型的普适性较差且检测准确性较低的技术问题。
为达到上述目的,本发明第一方面实施例提出了一种异常流量检测模型的训练方法,应用于子网控制器,方法包括:
获取多个第一流量数据,并基于多个第一流量数据对初始检测模型进行训练,直至初始检测模型收敛;
对初始检测模型进行模型剪枝和知识蒸馏处理,得到子网检测模型,并将子网检测模型的子网模型参数发送至全局控制器,以使全局控制器将多个子网模型参数聚合得到全局模型参数;
接收全局控制器发送的全局模型参数,基于多个第二流量数据对子网检测模型的全局模型参数进行微调,直至子网检测模型收敛,得到异常流量检测模型,其中,第二流量数据与第一流量数据的流量类别不同。
根据本发明的一个实施例,初始检测模型包括多个卷积层,对初始检测模型进行模型剪枝和知识蒸馏处理,得到子网检测模型,包括:
根据各卷积层在各通道的缩放系数对多个卷积层进行剪枝处理,得到剪枝检测模型;
根据初始检测模型输出的第一类别概率和剪枝检测模型输出的第二类别概率,确定剪枝检测模型的损失函数值;
基于损失函数值对剪枝检测模型进行调整,直至损失函数值的标准差满足收敛条件,得到子网检测模型。
根据本发明的一个实施例,根据各卷积层在各通道的缩放系数对多个卷积层进行剪枝处理,得到剪枝检测模型,包括:
根据各卷积层在各通道的缩放系数,确定每个通道下满足预设条件的缩放系数的目标数量;
确定目标数量超过数量阈值的待修剪通道,将各卷积层的待修剪通道删除,得到剪枝检测模型。
根据本发明的一个实施例,根据初始检测模型输出的第一类别概率和剪枝检测模型输出的第二类别概率,确定剪枝检测模型的损失函数值,包括:
基于第一类别概率和第二类别概率,在第一温度参数下确定蒸馏损失;
基于第二类别概率和真实类别标签,在第二温度参数下确定真实损失;
基于蒸馏损失和真实损失,确定剪枝检测模型的损失函数值。
根据本发明的一个实施例,基于第一类别概率和第二类别概率,在第一温度参数下确定蒸馏损失,包括:
分别基于第一类别概率和第二类别概率,在第一温度参数下确定第一软目标函数值和第二软目标函数值;
使用交叉熵函数对第一软目标函数值和第二软目标函数值进行处理,确定蒸馏损失。
根据本发明的一个实施例,基于第二类别概率和真实类别标签,在第二温度参数下确定真实损失,包括:
基于第二类别概率在第二温度参数下确定第三软目标函数值;
使用交叉熵函数对第三软目标函数值和真实类别标签进行处理,确定真实损失。
根据本发明的一个实施例,初始检测模型包括卷积神经网络和门控循环单元,每个第一流量数据携带真实类别标签,基于多个第一流量数据对初始检测模型进行训练,直至初始检测模型收敛,包括:
将多个第一流量数据输入卷积神经网络,确定每个第一流量数据的全局强化特征;
将多个第一流量数据的全局强化特征拼接为序列特征,将序列特征输入门控循环单元,确定每个第一流量数据的预测类别标签;
基于每个第一流量数据的预测类别标签和真实类别标签,确定初始检测模型的总损失值;
基于总损失值对初始检测模型进行训练,直至总损失值小于损失值阈值,确定初始检测模型收敛。
为达到上述目的,本发明第二方面实施例提出了一种异常流量检测模型的训练系统,系统包括全局控制器和多个子网控制器;
全局控制器用于将初始检测模型发送至各子网控制器;
各子网控制器用于获取多个第一流量数据,并基于多个第一流量数据对初始检测模型进行训练,直至初始检测模型收敛,对初始检测模型进行模型剪枝和知识蒸馏处理,得到各子网检测模型,并将各子网检测模型的子网模型参数发送至全局控制器;
全局控制器用于对多个子网模型参数进行加权聚合处理,得到全局模型参数发送至各子网控制器;
各子网控制器用于基于多个第二流量数据对子网检测模型的全局模型参数进行微调,直至子网检测模型收敛,得到异常流量检测模型,其中,第二流量数据与第一流量数据的流量类别不同。
为达到上述目的,本发明第三方面实施例提出的了一种异常流量检测方法,包括:
获取待检测流量数据;
将待检测流量数据输入异常流量检测模型,确定待检测流量数据的流量类别,其中,异常流量检测模型通过上述第一方面任一项的训练方法训练得到。
为达到上述目的,本发明第四方面实施例提出的了一种异常流量检测模型的训练装置,应用于子网控制器,装置包括:
训练模块,被配置为获取多个第一流量数据,并基于多个第一流量数据对初始检测模型进行训练,直至初始检测模型收敛;
模型压缩模块,被配置为对初始检测模型进行模型剪枝和知识蒸馏处理,得到子网检测模型,并将子网检测模型的子网模型参数发送至全局控制器,以使全局控制器将多个子网模型参数聚合得到全局模型参数;
微调模块,被配置为接收全局控制器发送的全局模型参数,基于多个第二流量数据对子网检测模型的全局模型参数进行微调,直至子网检测模型收敛,得到异常流量检测模型,其中,第二流量数据与第一流量数据的流量类别不同。
为达到上述目的,本发明第五方面实施例提出的了一种异常流量检测装置,该装置包括:
获取模块,被配置为获取待检测流量数据;
检测模型,被配置为将待检测流量数据输入异常流量检测模型进行检测,确定待检测流量数据的流量类别,其中,异常流量检测模型通过上述第一方面任一项的训练方法训练得到。
为达到上述目的,本发明第六方面实施例提出的了一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述第一方面的异常流量检测模型的训练方法,或者,实现上述第三方面的异常流量检测方法。
为达到上述目的,本发明第七方面实施例提出的了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面的异常流量检测模型的训练方法,或者,实现上述第三方面的异常流量检测方法。
本发明实施例提供的异常流量检测模型的训练方法,获取多个第一流量数据,并基于多个第一流量数据对初始检测模型进行训练,直至初始检测模型收敛;对初始检测模型进行模型剪枝和知识蒸馏处理,得到子网检测模型,并将子网检测模型的子网模型参数发送至全局控制器,以使全局控制器将多个子网模型参数聚合得到全局模型参数;接收全局控制器发送的全局模型参数,基于多个第二流量数据对子网检测模型的全局模型参数进行微调,直至子网检测模型收敛,得到异常流量检测模型,其中,第二流量数据与第一流量数据的流量类别不同。本方案采用联邦学习的方式训练得到异常流量检测模型,能够实现模型的联合优化,且采用不同种类的流量数据进行模型训练,则该异常流量检测模型能够处理更多种类的流量数据,不仅提高了训练得到的异常流量检测模型的普适性,而且提高了该模型的检测准确性;并且,采用模型剪枝和知识蒸馏的方式处理模型,能够在保证模型性能的情况下压缩模型体积,减少计算量,提高模型检测的效率。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是根据本发明实施例提供的一种异常流量检测模型的训练系统的结构示意图;
图2是根据本发明实施例提供的一种对初始检测模型进行模型压缩的流程示意图;
图3是根据本发明实施例提供的一种异常流量检测模型的训练方法的流程图;
图4是根据本发明实施例提供的一种异常流量检测方法的流程图;
图5是根据本发明实施例提供的另一种异常流量检测方法的流程图;
图6是根据本发明实施例提供的一种异常流量检测模型的训练装置的结构示意图;
图7是根据本发明实施例提供的一种异常流量检测装置的结构示意图;
图8是根据本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
软件定义网络(Software Defined Network,SDN)将控制平面与数据平面解耦,提高了网络的灵活性实现了可编程性,随着网络规模的不断地扩大,形成多控制器的跨域分布式网络。在跨域网络中,各SDN子网流量检测模型的训练数据往往需要采集本地数据,各子网控制器因为隐私与成本方面的考虑,不愿进行数据共享,数据以“孤岛”的形式存在。数据“孤岛”的存在迫使子网控制器无法突破本地数据的局限,导致各子网的异常流量检测模型无法自动更新,检测性能不高。
联邦学习是一种分布式机器学习机制,其中多个终端(例如移动设备或整个组织)在中央服务器的协调下协同训练模型,各终端的原始数据都存储在本地,不进行交换或转移,而是通过模型聚合的方式来实现学习目标。由于中央服务器聚合的是各终端的模型参数而不是训练数据本身,因此联邦学习体现了集中收集和数据最小化的原理,并且可以减轻传统的集中式机器学习带来的许多系统性隐私风险和成本。联邦学习的概念最早是由McMahan等人提出来的,他们构建一种基于深度学习迭代模型的加权平均联合学习方法,并通过实验证明了该方法对于非平衡特征和非独立同分布的数据具有鲁棒性。联邦学习中隐含的优化问题称为联合优化,联合优化与典型的分布式优化问题不同,它具有以下特点:
支持非独立同分布数据:在联邦学习过程中,客户端上的训练数据通常基于特定用户对网络设备的使用,因此任何特定用户的本地数据集都不能代表总体数据分布。
支持复杂客户端群:联邦学习的客户端群体数量巨大,不同客户端持有数据也具有不平衡性,有的客户端拥有的数据较多,而有的客户端拥有的数据较少;此外,不同客户端的运行状态也不相同,有的客户端甚至会经常脱机或连接速度缓慢。因而联邦学习可以支持复杂的客户端群。
支持数据隐私安全防护:客户端与服务器中心之间通信数据为模型参数,而训练数据只存储在本地客户端,通过联邦学习可以防止隐私数据直接暴露在网络中。
因此,可以利用联邦学习机制打通SDN子网的数据孤岛,对各SDN子网检测模型进行联合优化,提高各子网流量检测精度。
目前网络异常检测模型存在检测准确率低及检测模型参数量众多、计算开销庞大,使其难以部署在实际应用中资源受限的边缘设备上。为了解决异常流量检测模型的训练效率和通信开销的问题,本发明提出了基于联邦学习的异常流量检测方法及模型,构建基于CNN-GRU的初始检测模型,全局控制器对CNN-GRU初始检测模型进行初始化,并广播至子网控制器,子网控制器接收到初始化的CNN-GRU初始检测模型后对模型进行训练及模型压缩处理,得到子网检测模型,并将子网检测模型的子网模型参数上传至全局控制器。全局控制器对子网模型参数聚合形成全局模型参数,并将全局模型参数发送至各子网控制器,子网控制器根据全局模型参数和新的流量数据更新子网检测模型并判断模型是否收敛,如果收敛则根据最终得到的异常流量检测模型对本地流量进行检测。本发明采用CNN-GRU模型能够减少训练参数,节省流量分类过程中的时间成本,提升模型训练速度;同时采用剪枝与知识蒸馏技术压缩模型体积,减少计算量,提升压缩模型的性能。
下面参考附图描述本发明实施例提出的异常流量检测模型的训练方法、系统、装置以及异常流量检测方法、装置。
图1是根据本发明实施例提供的一种异常流量检测模型的训练系统的结构示意图。
该系统部署在SDN分布网络中,SDN分布网络包括数据层、子网控制层和全局控制层,全局控制层部署有全局控制器101,子网控制层部署有多个子网控制器102,且全局控制器101与各子网控制器102建立了通信连接。并且,数据层用于进行交换机数据采集、转发通信;全局控制器101为每个子网控制器部署初始检测模型,并为每个子网控制器更新模型参数;各子网控制器102负责对数据层的交换机进行管理,并对本地网络流量进行检测,且各子网控制器102彼此之间互不通信,子网控制器102也不会向外传输本地流量信息以防止隐私泄露。
在本发明实施例中,全局控制器101用于将初始检测模型发送至各子网控制器102;各子网控制器102用于获取多个第一流量数据,并基于多个第一流量数据对初始检测模型进行训练,直至初始检测模型收敛,对初始检测模型进行模型剪枝和知识蒸馏处理,得到各子网检测模型,并将各子网检测模型的子网模型参数发送至全局控制器101;全局控制器101用于对多个子网模型参数进行加权聚合处理,得到全局模型参数发送至各子网控制器102;各子网控制器102用于基于多个第二流量数据对子网检测模型的全局模型参数进行微调,直至子网检测模型收敛,得到异常流量检测模型,其中,第二流量数据与第一流量数据的流量类别不同。
具体实现中,全局控制器101发起联邦学习,对初始检测模型进行初始化设置,并将初始化设置好的初始检测模型发送至各子网控制器102,各子网控制器102对接收到的初始检测模型进行训练。并且,各子网控制器102对训练得到的初始检测模型进行模型剪枝和知识蒸馏处理,以压缩模型体积,减少计算量,得到各子网检测模型,将子网检测模型的子网模型参数发送至全局控制器101,全局控制器101取多个子网模型参数的平均值,得到全局模型参数发送至各子网控制器101,各子网控制器101根据该全局模型参数对子网检测模型的参数进行调整,并且,使用第二流量数据继续对子网检测模型的全局模型参数进行微调,得到能够适用于各种类别的流量数据检测的异常流量检测模型。
在一些实施例中,每个子网控制器102用于训练初始检测模型的第一流量数据可以是该子网控制器102从本地获取的携带真实类别标签的流量数据。该真实类别标签用于表征流量数据的种类,该种类可以基于流量是否正常进行划分,或者,该种类还可以基于端口(pot)分类、基于负载(payload)分类、基于流统计特征(statistics)分类等等,本实施例对此不做限定。
根据本发明的一个实施例,该初始检测模型可以包括卷积神经网络和门控循环单元,基于多个第一流量数据对初始检测模型进行训练,直至所述初始检测模型收敛的具体实现可以包括:
将多个第一流量数据输入卷积神经网络,确定每个第一流量数据的全局强化特征;将多个第一流量数据的全局强化特征拼接为序列特征,将序列特征输入门控循环单元,确定每个第一流量数据的预测类别标签;基于每个第一流量数据的预测类别标签和真实类别标签,确定初始检测模型的总损失值;基于总损失值对初始检测模型进行训练,直至总损失值小于损失值阈值,确定初始检测模型收敛。
具体实现中,卷积神经网络可以是任何能够提取第一流量数据的特征的神经网络,如卷积神经网络可以是CNN(Convolutional Neural Networks)。门控循环单元可以是GRU(gated recurrent unit)。对于任一子网控制器102来说,可以将获取的多个第一流量数据输入CNN中,通过卷积、池化等操作过滤和提取第一流量数据的特征,输出每个第一流量数据的全局强化特征;再将多个第一流量数据的全局强化特征拼接为序列特征输入至门控循环单元,由门控循环单元对第一流量数据进行分类,预测每个第一流量数据的预测类别标签,并根据每个第一流量的预测类别标签和真实类别标签,确定初始检测模型的总损失值,在该总损失值大于损失阈值的情况下,根据该总损失值对CNN-GRU的初始模型参数进行调整,并迭代训练直至总损失值小于损失阈值或迭代次数大于次数阈值,确定该初始检测模型收敛。
在一些实施例中,CNN模型可以包括输入层、卷积层和池化层。输入层接收输入的第一流量数据,卷积层对输入的第一流量数据进行特征提取,得到每个第一流量数据的局部强化特征,池化层对每个第一流量数据的局部强化特征进行采样,得到每个第一流量数据的全局强化特征。
作为一种示例,输入层输入的第一流量数据以X表示,该,其中n表示流量种类,m表示向量维度。
卷积层用于通过设置好大小的滤波器对输入的第一流量数据进行特征提取,得到每个第一流量数据的局部初始特征,其具体实现如公式(1)所示:
(1)
其中,W表示卷积核,b表示偏置项,X表示第一流量数据,Y表示通过卷积层处理后得到的第一流量数据的局部强化特征。
池化层采用最大池化Max Pooling技术对卷积处理后得到的局部强化特征进行采样,得到每个第一流量数据的全局强化特征(即局部值的最优解),其具体实现如公式(2)所示:
(2)
其中,Ym表示第一流量数据的局部强化特征中第m维向量,Y’表示第一流量数据的全局强化特征。
在一些实施例中,GRU不仅可以解决长期记忆和反向传播中的梯度问题,而且降低了计算过程中的复杂度,在计算过程中能够提升训练效果和训练效率。GRU的输入是以序列化结构表示的特征,因此将多个第一流量数据的全局强化特征拼接为序列特征作为GRU的输入,并且,该拼接通过全连接层实现,即初始检测模型还包括全连接层,能够避免池化中断局部强化特征,其具体实现如公式(3)所示:
(3)
其中,U表示序列特征,Yn’表示第n个第一流量数据的全局强化特征。
将U作为GRU的输入,其具体计算公式如下(4)-(7)所示:
(4)
(5)
(6)
(7)
其中,Wz、Wr和W均是卷积核,zt表示更新门,rt表示重置门,Ut表示t时刻GRU的输入,ht表示t时刻的输出,tanh是激活函数,是sigmoid4计算机应用激活函数。
具体实现中,采用激活函数tanh将数值放缩到(-1,1)之间,可以防止输出值爆炸,因为输出值在(-1,1)之间与大部分场景下特征分布是0为中心吻合。此外,tanh激活函数使得输出在0附近,使模型收敛更快。
在本发明实施例中,采用CNN-GRU构建的初始检测模型,克服了传统神经网络结构单一,提升特征不充分的特点,还能够减少训练参数,节省流量分类过程中的时间成本,提升模型训练速度,优化流量时间序列特征提取效果。
根据本发明的一个实施例,为了减少初始检测模型中的参数冗余,可以通过模型压缩的方式减少模型中不重要的权重和卷积核的数量,并且由于模型压缩包括模型剪枝和知识蒸馏,则可以在保证模型精度的前提下压缩模型体积,减少计算量。
在一些实施例中,对初始检测模型进行模型剪枝和知识蒸馏处理,得到子网检测模型的具体实现可以包括:根据各卷积层在各通道的缩放系数对多个卷积层进行剪枝处理,得到剪枝检测模型;根据初始检测模型输出的第一类别概率和剪枝检测模型输出的第二类别概率,确定剪枝检测模型的损失函数值;基于损失函数值对剪枝检测模型进行调整,直至损失函数值的标准差满足收敛条件,得到子网检测模型。
具体实现中,模型剪枝可以是对模型中的卷积核、通道或权重进行修剪。由于初始检测模型包括多个卷积层,每个卷积层对应多个激活通道,每个激活通道对应缩放系数,且每个卷积层在每个缩放通道的缩放系数可以作为该卷积层的该缩放通道对初始检测模型的准确率贡献的评价系数,缩放系数越大,说明该卷积层的该缩放通道对于初始检测模型的准确性贡献越大,反之贡献越小。因此,可以先根据各卷积层在各通道的缩放系数,确定缩放系数较小的通道作为待修剪通道,并将初始检测模型中的待修剪通道剪掉,得到剪枝检测模型。但是,由于模型剪枝的方式会对模型的精度产生影响,因此在模型剪枝之后还要采用知识蒸馏技术对剪枝检测模型进行知识迁移,将初始检测模型学习到的丰富特征信息迁移到剪枝检测模型上,补偿初始检测模型因剪枝造成的精度损失。
作为一种示例,可以根据初始检测模型的第一类别概率和剪枝检测模型的第二类别概率,确定损失函数值,根据该损失函数值调整剪枝检测模型的模型参数,实现将初始检测模型学习到的特征迁移到剪枝检测模型上,完成知识迁移,并将最终得到的模型称为子网检测模型。
在一些实施例中,根据各卷积层在各通道的缩放系数对多个卷积层进行剪枝处理,得到剪枝检测模型的具体实现可以包括:根据各卷积层在各通道的缩放系数,确定每个通道下满足预设条件的缩放系数的目标数量;确定目标数量超过数量阈值的待修剪通道,将各卷积层的待修剪通道删除,得到剪枝检测模型。
示例性地,预设条件可以是缩放系数小于预期值。并且,预期值和数量阈值均可以根据实际需求设置并调整,也可以由子网控制器或全局控制器默认设置,本实施例对此不做限定。
具体实现中,对于任一通道,可以根据各卷积层在该通道的缩放系数,确定该通道下小于预期值的缩放系数的目标数量,若该目标数量超过数量阈值,说明大部分卷积层在该通道下对初始检测模型的精度的贡献较小,可以将所有卷积层的该通道删除。作为一种示例,若所有卷积层在某一通道下的缩放系数均小于预期值,可以修剪掉所有卷积层中该通道,即可修剪小于预期值对应特征图的通道,最终剪去对应的上下卷积层的卷积核,同时压缩模型体积,减少计算量。
作为一种示例,可以通过如下公式(8)和(9)确定各卷积层在各通道的缩放系数:
(8)
(9)
其中,zin和zout分别是第i层的输入和输出,是第i层多个输入的均值,/>是第i层多个输入的均值,/>和/>分别是对应激活通道的缩放系数和偏移系数,/>为常数。
需要说明的是,通过上述方式可以实现对初始检测模型的模型剪枝,得到更加紧凑的剪枝检测模型。但由于剪枝过程中,可能会损失部分有效信息,导致模型性能有所下降,知识蒸馏技术可以将原始模型学习到的丰富特征信息迁移到剪枝后的小模型上,进而提升性能。因此,可以采用知识蒸馏技术提升剪枝检测模型的性能。
根据本发明的一个实施例,根据初始检测模型输出的第一类别概率和剪枝检测模型输出的第二类别概率,确定剪枝检测模型的损失函数值的具体实现可以包括:基于第一类别概率和第二类别概率,在第一温度参数下确定蒸馏损失;基于第二类别概率和真实类别标签,在第二温度参数下确定真实损失;基于蒸馏损失和真实损失,确定剪枝检测模型的损失函数值。
作为一种示例,初始检测模型可以称为教师模型,剪枝检测模型可以称为学生模型,第一类别概率是初始检测模型对流量数据进行预测得到的结果,第二类别概率是剪枝检测模型对流量数据进行预测得到的结果。并且,通过引入温度参数使得输出更加平滑,以突出不同类别的信息表征。
具体实现中,可以根据初始检测模型的输出和剪枝检测模型的输出确定蒸馏损失,根据剪枝检测模型的输出与真实输入之间的损失确定真实损失,并对蒸馏损失和真实损失进行加权求和,确定剪枝检测模型的损失函数值。
在一些实施例中,基于第一类别概率和第二类别概率,在第一温度参数下确定蒸馏损失的具体实现可以包括:分别基于第一类别概率和第二类别概率,在第一温度参数下确定第一软目标函数值和第二软目标函数值;使用交叉熵函数对第一软目标函数值和第二软目标函数值进行处理,确定蒸馏损失。
具体实现中,可以通过如下公式(10)确定软目标函数值:
(10)
其中,zi是模型输出的类别概率,zj是真实类别标签,T是温度参数,qi是软目标函数,exp(·)为指数运算,N是网络流量种类。
作为一种示例,可以通过公式H(q(zt;T=τ),q(zs;T=τ))确定蒸馏损失。其中,zt表示第一类别概率,zs表示第二类别概率,T=τ表示第一温度参数,H(·)表示交叉熵函数,q(zt;T=τ)表示第一软目标函数值,q(zs;T=τ)表示第二软目标函数值。
在一些实施例中,基于第二类别概率和真实类别标签,在第二温度参数下确定真实损失的具体实现可以包括:基于第二类别概率在第二温度参数下确定第三软目标函数值;使用交叉熵函数对第三软目标函数值和真实类别标签进行处理,确定真实损失。
具体实现中,可以通过公式H(y,q(zs;T=1))确定真实损失。其中,y表示真实类别标签,q(zs;T=1)表示第三软目标函数值,T=1表示第二温度参数。
在一些实施例中,确定真实损失和蒸馏损失后,将真实损失和蒸馏损失进行加权求和,可以确定损失函数值。
具体实现中,剪枝检测模型的损失函数值可以通过如下公式(11)确定:
(11)
其中,S(x,W)表示损失函数值,zt表示第一类别概率,zs表示第二类别概率,x表示输入的流量数据,W表示剪枝检测模型的权重参数,H(·)表示交叉熵函数,y表示真实类别标签,q(·)表示软目标函数,和/>分别表示相应损失项的系数,T=τ表示第一温度参数,T=1表示第二温度参数。
在本发明实施例中,通过上述公式(11)确定的是输入x对应的损失函数值,在x取不同值的情况下,可以确定不同的损失函数值。为了使最终得到的子网检测模型尽可能最优,可以取多个损失函数值的标准差,并根据该标准差对剪枝检测模型进行调整,直至该标准差满足收敛条件(即标准差小于设定阈值),确定剪枝检测模型收敛且达到均衡状态且压缩完成,得到子网检测模型。
示例性地,图2是根据本发明实施例提供的一种对初始检测模型进行模型压缩的流程示意图。
子网控制器102对各自训练好的初始检测模型进行模型剪枝,得到剪枝检测模型,然后计算软目标函数值,进而计算蒸馏损失,计算剪枝检测模型与真实标签的真实损失,根据蒸馏损失和真实损失确定损失函数值,确定损失函数值的标准差,判断标准差是否小于设定阈值,若是,得到剪枝蒸馏后的子网检测模型,若否,对剪枝检测模型进行参数优化,并返回确定损失函数值的步骤,直至得到子网检测模型。
根据本发明的一个实施例,各子网控制器102训练得到子网检测模型后,获取子网检测模型的子网模型参数发送至全局控制器101,全局控制器101确定多个子网模型参数的平均值作为全局模型参数并下发至各子网控制器102。各子网控制器102接收到全局模型参数后,根据全局模型参数对各自的子网模型参数进行更新,并且,各子网控制器102根据第二流量数据对各自的子网模型参数继续训练,实现对子网检测模型的微调,得到异常流量检测模型。
需要说明的是,第二流量数据携带真实类别标签,根据第二流量数据对子网检测模型进行训练的过程与基于第一流量数据对初始检测模型进行训练的过程相同,本实施例在此不再赘述。
在本发明实施例中,第二流量数据可以是与第一流量数据类别不同的流量数据,如此训练得到的异常流量检测模型能够适用于更多种类的流量数据的检测,能够提高异常流量检测模型的检测准确性。
本发明实施例提供的异常流量检测模型的训练方法,采用联邦学习的方式训练得到异常流量检测模型,能够实现模型的联合优化,且采用不同种类的流量数据进行模型训练,则该异常流量检测模型能够处理更多种类的流量数据,不仅提高了训练得到的异常流量检测模型的普适性,而且提高了该模型的检测准确性;并且,构建基于CNN-GRU的初始检测模型,能够减少训练参数,节省流量分类过程中的时间成本,提升模型训练速度;同时采用模型剪枝与知识蒸馏技术,能够在保证模型性能的情况下压缩模型体积,减少计算量,提升模型检测的效率。
图3是根据本发明实施例提供的一种异常流量检测模型的训练方法的流程图,该方法应用于子网控制器,可以包括如下步骤。
步骤301:获取多个第一流量数据,并基于多个第一流量数据对初始检测模型进行训练,直至初始检测模型收敛。
根据本发明的一个实施例,初始检测模型包括卷积神经网络和门控循环单元,每个第一流量数据携带真实类别标签,基于多个第一流量数据对初始检测模型进行训练,直至初始检测模型收敛,包括:
将多个第一流量数据输入卷积神经网络,确定每个第一流量数据的全局强化特征;
将多个第一流量数据的全局强化特征拼接为序列特征,将序列特征输入门控循环单元,确定每个第一流量数据的预测类别标签;
基于每个第一流量数据的预测类别标签和真实类别标签,确定初始检测模型的总损失值;
基于总损失值对初始检测模型进行训练,直至总损失值小于损失值阈值,确定初始检测模型收敛。
步骤302:对初始检测模型进行模型剪枝和知识蒸馏处理,得到子网检测模型,并将子网检测模型的子网模型参数发送至全局控制器,以使全局控制器将多个子网模型参数聚合得到全局模型参数。
根据本发明的一个实施例,初始检测模型包括多个卷积层,对初始检测模型进行模型剪枝和知识蒸馏处理,得到子网检测模型,包括:
根据各卷积层在各通道的缩放系数对多个卷积层进行剪枝处理,得到剪枝检测模型;
根据初始检测模型输出的第一类别概率和剪枝检测模型输出的第二类别概率,确定剪枝检测模型的损失函数值;
基于损失函数值对剪枝检测模型进行调整,直至损失函数值的标准差满足收敛条件,得到子网检测模型。
根据本发明的一个实施例,根据各卷积层在各通道的缩放系数对多个卷积层进行剪枝处理,得到剪枝检测模型,包括:
根据各卷积层在各通道的缩放系数,确定每个通道下满足预设条件的缩放系数的目标数量;
确定目标数量超过数量阈值的待修剪通道,将各卷积层的待修剪通道删除,得到剪枝检测模型。
根据本发明的一个实施例,根据初始检测模型输出的第一类别概率和剪枝检测模型输出的第二类别概率,确定剪枝检测模型的损失函数值,包括:
基于第一类别概率和第二类别概率,在第一温度参数下确定蒸馏损失;
基于第二类别概率和真实类别标签,在第二温度参数下确定真实损失;
基于蒸馏损失和真实损失,确定剪枝检测模型的损失函数值。
根据本发明的一个实施例,基于第一类别概率和第二类别概率,在第一温度参数下确定蒸馏损失,包括:
分别基于第一类别概率和第二类别概率,在第一温度参数下确定第一软目标函数值和第二软目标函数值;
使用交叉熵函数对第一软目标函数值和第二软目标函数值进行处理,确定蒸馏损失。
根据本发明的一个实施例,基于第二类别概率和真实类别标签,在第二温度参数下确定真实损失,包括:
基于第二类别概率在第二温度参数下确定第三软目标函数值;
使用交叉熵函数对第三软目标函数值和真实类别标签进行处理,确定真实损失。
根据本发明的一个实施例,剪枝检测模型的损失函数值通过如下公式确定:
其中,S(x,W)表示损失函数值,zt表示第一类别概率,zs表示第二类别概率,x表示输入的流量数据,W表示剪枝检测模型的权重参数,H(·)表示交叉熵函数,y表示真实类别标签,q(·)表示软目标函数,和/>分别表示相应损失项的系数,T=τ表示第一温度参数,T=1表示第二温度参数。
步骤303:接收全局控制器发送的全局模型参数,基于多个第二流量数据对子网检测模型的全局模型参数进行微调,直至子网检测模型收敛,得到异常流量检测模型,其中,第二流量数据与第一流量数据的流量类别不同。
需要说明的是,本实施例是与异常流量检测模型的训练系统对应的方法侧实施例,各步骤的具体实现可以参见上述实施例的相关描述,本实施例在此不再赘述。
应用本发明实施例提供的异常流量检测模型的训练方法,采用联邦学习的方式训练得到异常流量检测模型,能够实现模型的联合优化,且采用不同种类的流量数据进行模型训练,则该异常流量检测模型能够处理更多种类的流量数据,不仅提高了训练得到的异常流量检测模型的普适性,而且提高了该模型的检测准确性;并且,构建基于CNN-GRU的初始检测模型,能够减少训练参数,节省流量分类过程中的时间成本,提升模型训练速度;同时采用模型剪枝与知识蒸馏技术,能够在保证模型性能的情况下压缩模型体积,减少计算量,提升模型检测的效率。
图4是根据本发明实施例提供的一种异常流量检测方法的流程图,该方法可以包括如下步骤。
步骤401:获取待检测流量数据。
步骤402:将待检测流量数据输入异常流量检测模型,确定待检测流量数据的流量类别,其中,异常流量检测模型通过上述任一实施例的异常流量检测模型的训练方法训练得到。
在本发明实施例中,获取待检测流量数据后,将待检测流量数据输入训练好的异常流量检测模型中,可以得到待检测流量数据的流量类别,若该流量类别是异常,则确定该待检测流量数据是异常流量,进而可以确定与该异常流量相关的设备或行为或网络存在安全问题,以便用户采用合理措施进行处理。
示例性地,参见图5,图5是根据本发明实施例提供的另一种异常流量检测方法的流程图。全局控制器发起联邦学习,对初始检测模型进行初始化,并将初始检测模型下发至子网控制器,子网控制器对初始检测模型进行训练,判断模型是否收敛,若否,继续对初始检测模型进行训练;若是,则执行模型压缩步骤。该模型压缩步骤包括对初始检测模型进行模型剪枝和知识蒸馏,得到子网检测模型,子网控制器将子网检测模型的子网模型参数上传至全局控制器,全局控制器对多个子网模型参数加权聚合得到全局模型参数并下发至子网控制器,子网控制器根据全局模型参数和第二流量数据对子网检测模型的参数进行更新。判断模型是否收敛,若否,返回执行对初始检测模型进行训练的步骤,若是,各子网控制器基于对应的子网检测模型进行异常流量检测。
应用本发明实施例提供的异常流量检测方法,采用联邦学习的方式训练得到异常流量检测模型,能够实现模型的联合优化,且采用不同种类的流量数据进行模型训练,则该异常流量检测模型能够处理更多种类的流量数据,提高了模型的检测准确性;并且,构建基于CNN-GRU的初始检测模型,能够减少训练参数,节省流量分类过程中的时间成本,提升模型训练速度;同时采用模型剪枝与知识蒸馏技术,能够在保证模型性能的情况下压缩模型体积,减少计算量,提升模型检测的效率。
图6是根据本发明实施例提供的一种异常流量检测模型的训练装置的结构示意图,该装置可以包括:
训练模块601,被配置为获取多个第一流量数据,并基于多个第一流量数据对初始检测模型进行训练,直至初始检测模型收敛;
模型压缩模块602,被配置为对初始检测模型进行模型剪枝和知识蒸馏处理,得到子网检测模型,并将子网检测模型的子网模型参数发送至全局控制器,以使全局控制器将多个子网模型参数聚合得到全局模型参数;
微调模块603,被配置为接收全局控制器发送的全局模型参数,基于多个第二流量数据对子网检测模型的全局模型参数进行微调,直至子网检测模型收敛,得到异常流量检测模型,其中,第二流量数据与第一流量数据的流量类别不同。
根据本发明的一个实施例,模型压缩模块602,进一步被配置为:
根据各卷积层在各通道的缩放系数对多个卷积层进行剪枝处理,得到剪枝检测模型;
根据初始检测模型输出的第一类别概率和剪枝检测模型输出的第二类别概率,确定剪枝检测模型的损失函数值;
基于损失函数值对剪枝检测模型进行调整,直至损失函数值的标准差满足收敛条件,得到子网检测模型。
根据本发明的一个实施例,模型压缩模块602,进一步被配置为:
根据各卷积层在各通道的缩放系数,确定每个通道下满足预设条件的缩放系数的目标数量;
确定目标数量超过数量阈值的待修剪通道,将各卷积层的待修剪通道删除,得到剪枝检测模型。
根据本发明的一个实施例,模型压缩模块602,进一步被配置为:
基于第一类别概率和第二类别概率,在第一温度参数下确定蒸馏损失;
基于第二类别概率和真实类别标签,在第二温度参数下确定真实损失;
基于蒸馏损失和真实损失,确定剪枝检测模型的损失函数值。
根据本发明的一个实施例,模型压缩模块602,进一步被配置为:
分别基于第一类别概率和第二类别概率,在第一温度参数下确定第一软目标函数值和第二软目标函数值;
使用交叉熵函数对第一软目标函数值和第二软目标函数值进行处理,确定蒸馏损失。
根据本发明的一个实施例,模型压缩模块602,进一步被配置为:
基于第二类别概率在第二温度参数下确定第三软目标函数值;
使用交叉熵函数对第三软目标函数值和真实类别标签进行处理,确定真实损失。
根据本发明的一个实施例,剪枝检测模型的损失函数值通过如下公式确定:
其中,S(x,W)表示损失函数值,zt表示第一类别概率,zs表示第二类别概率,x表示输入的流量数据,W表示剪枝检测模型的权重参数,H(·)表示交叉熵函数,y表示真实类别标签,q(·)表示软目标函数,和/>分别表示相应损失项的系数,T=τ表示第一温度参数,T=1表示第二温度参数。
根据本发明的一个实施例,初始检测模型包括卷积神经网络和门控循环单元,每个第一流量数据携带真实类别标签,训练模块601,进一步被配置为:
将多个第一流量数据输入卷积神经网络,确定每个第一流量数据的全局强化特征;
将多个第一流量数据的全局强化特征拼接为序列特征,将序列特征输入门控循环单元,确定每个第一流量数据的预测类别标签;
基于每个第一流量数据的预测类别标签和真实类别标签,确定初始检测模型的总损失值;
基于总损失值对初始检测模型进行训练,直至总损失值小于损失值阈值,确定初始检测模型收敛。
应用本发明实施例提供的异常流量检测模型的训练方法,采用联邦学习的方式训练得到异常流量检测模型,能够实现模型的联合优化,且采用不同种类的流量数据进行模型训练,则该异常流量检测模型能够处理更多种类的流量数据,提高了模型的检测准确性;并且,构建基于CNN-GRU的初始检测模型,能够减少训练参数,节省流量分类过程中的时间成本,提升模型训练速度;同时采用模型剪枝与知识蒸馏技术,能够在保证模型性能的情况下压缩模型体积,减少计算量,提升模型检测的效率。
上述为本发明实施例的一种异常流量检测模型的训练装置的示意性方案。需要说明的是,该异常流量检测模型的训练装置的技术方案与上述异常流量检测模型的训练方法的技术方案属于同一构思,异常流量检测模型的训练装置的技术方案未详细描述的细节内容,均可以参见上述异常流量检测模型的训练方法的技术方案的描述。
图7是根据本发明实施例提供的一种异常流量检测装置的结构示意图,该装置可以包括:
获取模块701,被配置为获取待检测流量数据;
检测模块702,被配置为将待检测流量数据输入异常流量检测模型进行检测,确定待检测流量数据的流量类别,其中,异常流量检测模型通过上述任一实施例的异常流量检测模型的训练方法训练得到。
应用本发明实施例提供的异常流量检测方法,采用联邦学习的方式训练得到异常流量检测模型,能够实现模型的联合优化,且采用不同种类的流量数据进行模型训练,则该异常流量检测模型能够处理更多种类的流量数据,提高了模型的检测准确性;并且,构建基于CNN-GRU的初始检测模型,能够减少训练参数,节省流量分类过程中的时间成本,提升模型训练速度;同时采用模型剪枝与知识蒸馏技术,能够在保证模型性能的情况下压缩模型体积,减少计算量,提升模型检测的效率。
上述为本发明实施例的一种异常流量检测装置的示意性方案。需要说明的是,该异常流量检测装置的技术方案与上述异常流量检测方法的技术方案属于同一构思,异常流量检测装置的技术方案未详细描述的细节内容,均可以参见上述异常流量检测方法的技术方案的描述。
图8是根据本发明实施例提供的一种计算设备的结构示意图。该计算设备800包括:存储器801、处理器802及存储在存储器801上并可在处理器802上运行的计算机程序,所述处理器802执行所述计算机程序时,实现如上述任一实施例提出的一种异常流量检测模型的训练方法或异常流量检测方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一实施例提出的一种异常流量检测模型的训练方法或异常流量检测方法。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM,Random Access Memory),只读存储器(ROM,Read-Only Memory),可擦除可编辑只读存储器(EPROM,Erasable Programmable Read-Only Memory或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM,Compact Disk Read Only Memory)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA,Programmable Gate Array),现场可编程门阵列(FPGA,Field Programmable Gate Array)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (13)
1.一种异常流量检测模型的训练方法,其特征在于,应用于子网控制器,所述方法包括:
获取多个第一流量数据,并基于所述多个第一流量数据对初始检测模型进行训练,直至所述初始检测模型收敛,其中,所述初始检测模型包括卷积神经网络和门控循环单元,所述卷积神经网络用于提取所述第一流量数据的特征,所述门控循环单元用于基于提取的特征确定所述第一流量数据的预测类别标签;
对所述初始检测模型进行模型剪枝和知识蒸馏处理以便压缩模型参数,得到子网检测模型,并将所述子网检测模型的被压缩后的子网模型参数发送至全局控制器,以使所述全局控制器将多个子网模型参数聚合得到全局模型参数;
接收所述全局控制器发送的全局模型参数,根据所述全局模型参数对各自的子网模型参数进行调整更新,并基于多个第二流量数据对调整更新之后的子网模型参数继续进行微调,直至所述子网检测模型收敛,得到异常流量检测模型,其中,所述第二流量数据与所述第一流量数据的流量类别不同;
其中,所述初始检测模型包括多个卷积层,所述对所述初始检测模型进行模型剪枝和知识蒸馏处理,得到子网检测模型,包括:
根据各卷积层在各通道的缩放系数对所述多个卷积层进行剪枝处理,得到剪枝检测模型;
根据所述初始检测模型输出的第一类别概率和所述剪枝检测模型输出的第二类别概率,确定所述剪枝检测模型的损失函数值,其中,基于所述第一类别概率和所述第二类别概率确定蒸馏损失,基于所述第二类别概率和真实类别标签确定真实损失,基于所述蒸馏损失和所述真实损失确定所述剪枝检测模型的损失函数值;
基于所述损失函数值对所述剪枝检测模型进行调整以将所述初始检测模型学习到的特征迁移到所述剪枝检测模型上,直至所述损失函数值的标准差满足收敛条件,得到子网检测模型。
2.根据权利要求1所述的方法,其特征在于,所述根据各卷积层在各通道的缩放系数对所述多个卷积层进行剪枝处理,得到剪枝检测模型,包括:
根据各卷积层在各通道的缩放系数,确定每个通道下满足预设条件的缩放系数的目标数量;
确定目标数量超过数量阈值的待修剪通道,将各卷积层的所述待修剪通道删除,得到剪枝检测模型。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述初始检测模型输出的第一类别概率和所述剪枝检测模型输出的第二类别概率,确定所述剪枝检测模型的损失函数值,包括:
基于所述第一类别概率和所述第二类别概率,在第一温度参数下确定蒸馏损失;
基于所述第二类别概率和真实类别标签,在第二温度参数下确定真实损失;
基于所述蒸馏损失和所述真实损失,确定所述剪枝检测模型的损失函数值。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一类别概率和所述第二类别概率,在第一温度参数下确定蒸馏损失,包括:
分别基于所述第一类别概率和所述第二类别概率,在第一温度参数下确定第一软目标函数值和第二软目标函数值;
使用交叉熵函数对所述第一软目标函数值和所述第二软目标函数值进行处理,确定蒸馏损失。
5.根据权利要求3所述的方法,其特征在于,所述基于所述第二类别概率和真实类别标签,在第二温度参数下确定真实损失,包括:
基于所述第二类别概率在第二温度参数下确定第三软目标函数值;
使用交叉熵函数对所述第三软目标函数值和真实类别标签进行处理,确定真实损失。
6.根据权利要求3所述的方法,其特征在于,所述剪枝检测模型的损失函数值通过如下公式确定:
其中,S(x,W)表示损失函数值,zt表示第一类别概率,zs表示第二类别概率,x表示输入的流量数据,W表示剪枝检测模型的权重参数,H(·)表示交叉熵函数,y表示真实类别标签,q(·)表示软目标函数,和/>分别表示相应损失项的系数,T=τ表示第一温度参数,T=1表示第二温度参数。
7.根据权利要求1-2任一项所述的方法,其特征在于,所述初始检测模型包括卷积神经网络和门控循环单元,每个所述第一流量数据携带真实类别标签,所述基于所述多个第一流量数据对初始检测模型进行训练,直至所述初始检测模型收敛,包括:
将所述多个第一流量数据输入所述卷积神经网络,确定每个第一流量数据的全局强化特征;
将所述多个第一流量数据的全局强化特征拼接为序列特征,将所述序列特征输入所述门控循环单元,确定每个第一流量数据的预测类别标签;
基于每个第一流量数据的预测类别标签和真实类别标签,确定所述初始检测模型的总损失值;
基于所述总损失值对所述初始检测模型进行训练,直至所述总损失值小于损失值阈值,确定所述初始检测模型收敛。
8.一种异常流量检测模型的训练系统,其特征在于,所述系统包括全局控制器和多个子网控制器;
所述全局控制器用于将初始检测模型发送至各子网控制器,其中,所述初始检测模型包括卷积神经网络和门控循环单元,所述卷积神经网络用于提取第一流量数据的特征,所述门控循环单元用于基于提取的特征确定所述第一流量数据的预测类别标签;
各子网控制器用于获取多个第一流量数据,并基于所述多个第一流量数据对所述初始检测模型进行训练,直至所述初始检测模型收敛,对所述初始检测模型进行模型剪枝和知识蒸馏处理以便压缩模型参数,得到各子网检测模型,并将各子网检测模型的被压缩后的子网模型参数发送至所述全局控制器;
所述全局控制器用于对所述多个子网模型参数进行加权聚合处理,得到全局模型参数发送至各子网控制器;
各子网控制器用于接收所述全局控制器发送的全局模型参数,根据所述全局模型参数对各自的子网模型参数进行调整更新,并基于多个第二流量数据对调整更新之后的子网模型参数继续进行微调,直至所述子网检测模型收敛,得到异常流量检测模型,其中,所述第二流量数据与所述第一流量数据的流量类别不同;
其中,所述初始检测模型包括多个卷积层,所述对所述初始检测模型进行模型剪枝和知识蒸馏处理,得到子网检测模型,包括:
根据各卷积层在各通道的缩放系数对所述多个卷积层进行剪枝处理,得到剪枝检测模型;
根据所述初始检测模型输出的第一类别概率和所述剪枝检测模型输出的第二类别概率,确定所述剪枝检测模型的损失函数值,其中,基于所述第一类别概率和所述第二类别概率确定蒸馏损失,基于所述第二类别概率和真实类别标签确定真实损失,基于所述蒸馏损失和所述真实损失确定所述剪枝检测模型的损失函数值;
基于所述损失函数值对所述剪枝检测模型进行调整以将所述初始检测模型学习到的特征迁移到所述剪枝检测模型上,直至所述损失函数值的标准差满足收敛条件,得到子网检测模型。
9.一种异常流量检测方法,其特征在于,所述方法包括:
获取待检测流量数据;
将所述待检测流量数据输入异常流量检测模型,确定所述待检测流量数据的流量类别,其中,所述异常流量检测模型通过上述权利要求1-7任一项所述的训练方法训练得到。
10.一种异常流量检测模型的训练装置,其特征在于,应用于子网控制器,所述装置包括:
训练模块,被配置为获取多个第一流量数据,并基于所述多个第一流量数据对初始检测模型进行训练,直至所述初始检测模型收敛,其中,所述初始检测模型包括卷积神经网络和门控循环单元,所述卷积神经网络用于提取所述第一流量数据的特征,所述门控循环单元用于基于提取的特征确定所述第一流量数据的预测类别标签;
模型压缩模块,被配置为对所述初始检测模型进行模型剪枝和知识蒸馏处理以便压缩模型参数,得到子网检测模型,并将所述子网检测模型的被压缩后的子网模型参数发送至全局控制器,以使所述全局控制器将多个子网模型参数聚合得到全局模型参数;
微调模块,被配置为接收所述全局控制器发送的全局模型参数,根据所述全局模型参数对各自的子网模型参数进行调整更新,并基于多个第二流量数据对调整更新之后的子网模型参数继续进行微调,直至所述子网检测模型收敛,得到异常流量检测模型,其中,所述第二流量数据与所述第一流量数据的流量类别不同;
其中,所述初始检测模型包括多个卷积层,所述对所述初始检测模型进行模型剪枝和知识蒸馏处理,得到子网检测模型,包括:
根据各卷积层在各通道的缩放系数对所述多个卷积层进行剪枝处理,得到剪枝检测模型;
根据所述初始检测模型输出的第一类别概率和所述剪枝检测模型输出的第二类别概率,确定所述剪枝检测模型的损失函数值,其中,基于所述第一类别概率和所述第二类别概率确定蒸馏损失,基于所述第二类别概率和真实类别标签确定真实损失,基于所述蒸馏损失和所述真实损失确定所述剪枝检测模型的损失函数值;
基于所述损失函数值对所述剪枝检测模型进行调整以将所述初始检测模型学习到的特征迁移到所述剪枝检测模型上,直至所述损失函数值的标准差满足收敛条件,得到子网检测模型。
11.一种异常流量检测装置,其特征在于,所述装置包括:
获取模块,被配置为获取待检测流量数据;
检测模型,被配置为将所述待检测流量数据输入异常流量检测模型进行检测,确定所述待检测流量数据的流量类别,其中,所述异常流量检测模型通过上述权利要求1-7任一项所述的训练方法训练得到。
12.一种计算设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7任一项所述的异常流量检测模型的训练方法,或者,实现如权利要求9所述的异常流量检测方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述的异常流量检测模型的训练方法,或者,实现如权利要求9所述的异常流量检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410065850.3A CN117579399B (zh) | 2024-01-17 | 2024-01-17 | 异常流量检测模型的训练方法和系统、异常流量检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410065850.3A CN117579399B (zh) | 2024-01-17 | 2024-01-17 | 异常流量检测模型的训练方法和系统、异常流量检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117579399A CN117579399A (zh) | 2024-02-20 |
CN117579399B true CN117579399B (zh) | 2024-05-14 |
Family
ID=89884876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410065850.3A Active CN117579399B (zh) | 2024-01-17 | 2024-01-17 | 异常流量检测模型的训练方法和系统、异常流量检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117579399B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118393882A (zh) * | 2024-04-22 | 2024-07-26 | 青岛特牧机械设备有限公司 | 一种基于分层控制策略的自动化料线饲料流量控制方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444760A (zh) * | 2020-02-19 | 2020-07-24 | 天津大学 | 一种基于剪枝与知识蒸馏的交通标志检测与识别方法 |
CN113128355A (zh) * | 2021-03-29 | 2021-07-16 | 南京航空航天大学 | 一种基于通道剪枝的无人机图像实时目标检测方法 |
WO2021189906A1 (zh) * | 2020-10-20 | 2021-09-30 | 平安科技(深圳)有限公司 | 基于联邦学习的目标检测方法、装置、设备及存储介质 |
CN113469234A (zh) * | 2021-06-24 | 2021-10-01 | 成都卓拙科技有限公司 | 一种基于免模型联邦元学习的网络流量异常检测方法 |
WO2021208722A1 (zh) * | 2020-11-26 | 2021-10-21 | 平安科技(深圳)有限公司 | 分类模型训练方法、装置、终端及存储介质 |
CN115205546A (zh) * | 2022-07-29 | 2022-10-18 | 平安科技(深圳)有限公司 | 模型训练方法和装置、电子设备、存储介质 |
CN116319437A (zh) * | 2023-03-24 | 2023-06-23 | 深圳市哲菩科技发展有限公司 | 一种网络连通性检测方法及装置 |
CN116668327A (zh) * | 2023-05-23 | 2023-08-29 | 中国人民解放军战略支援部队信息工程大学 | 基于动态再训练的小样本恶意流量分类增量学习方法及系统 |
-
2024
- 2024-01-17 CN CN202410065850.3A patent/CN117579399B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444760A (zh) * | 2020-02-19 | 2020-07-24 | 天津大学 | 一种基于剪枝与知识蒸馏的交通标志检测与识别方法 |
WO2021189906A1 (zh) * | 2020-10-20 | 2021-09-30 | 平安科技(深圳)有限公司 | 基于联邦学习的目标检测方法、装置、设备及存储介质 |
WO2021208722A1 (zh) * | 2020-11-26 | 2021-10-21 | 平安科技(深圳)有限公司 | 分类模型训练方法、装置、终端及存储介质 |
CN113128355A (zh) * | 2021-03-29 | 2021-07-16 | 南京航空航天大学 | 一种基于通道剪枝的无人机图像实时目标检测方法 |
CN113469234A (zh) * | 2021-06-24 | 2021-10-01 | 成都卓拙科技有限公司 | 一种基于免模型联邦元学习的网络流量异常检测方法 |
CN115205546A (zh) * | 2022-07-29 | 2022-10-18 | 平安科技(深圳)有限公司 | 模型训练方法和装置、电子设备、存储介质 |
CN116319437A (zh) * | 2023-03-24 | 2023-06-23 | 深圳市哲菩科技发展有限公司 | 一种网络连通性检测方法及装置 |
CN116668327A (zh) * | 2023-05-23 | 2023-08-29 | 中国人民解放军战略支援部队信息工程大学 | 基于动态再训练的小样本恶意流量分类增量学习方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117579399A (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117579399B (zh) | 异常流量检测模型的训练方法和系统、异常流量检测方法 | |
CN111092823B (zh) | 一种自适应调节拥塞控制初始窗口的方法和系统 | |
CN112203282B (zh) | 一种基于联邦迁移学习的5g物联网入侵检测方法及系统 | |
CN109120435B (zh) | 网络链路质量预测方法、装置及可读存储介质 | |
CN107909108A (zh) | 基于内容流行度预测的边缘缓存系统及其方法 | |
CN109617888B (zh) | 一种基于神经网络的异常流量检测方法及系统 | |
CN111627458A (zh) | 一种声源分离方法及设备 | |
CN114499979B (zh) | 一种基于联邦学习的sdn网络异常流量协同检测方法 | |
CN115099133B (zh) | 一种基于tlmpa-bp的集群系统可靠性评估方法 | |
CN113891275A (zh) | 一种基于迁移学习的水下无线传感器网络信任模型 | |
Yildiz et al. | Neural models for the resonant frequency of electrically thin and thick circular microstrip antennas and the characteristic parameters of asymmetric coplanar waveguides backed with a conductor | |
CN111901134B (zh) | 一种基于循环神经网络模型rnn的预测网络质量的方法和装置 | |
CN116319437A (zh) | 一种网络连通性检测方法及装置 | |
CN116684877A (zh) | 一种基于gyac-lstm的5g网络流量异常检测方法及系统 | |
CN113676357B (zh) | 面向电力物联网中边缘数据处理的决策方法及其应用 | |
CN114925720A (zh) | 基于时空混合特征提取网络的小样本调制信号识别方法 | |
CN111935761B (zh) | 一种移动通信网的质差根因自动定位方法及系统 | |
CN113660687A (zh) | 网络差小区处理方法、装置、设备及存储介质 | |
Başaran et al. | Deep Autoencoder Design for RF Anomaly Detection in 5G O-RAN Near-RT RIC via xApps | |
CN117371761A (zh) | 一种智慧海洋物联网任务调度方法、装置、设备及介质 | |
CN115442192B (zh) | 一种基于主动学习的通信信号自动调制识别方法及装置 | |
CN117218472A (zh) | 图像分类模型训练方法、图像分类方法及相关装置 | |
CN114531193B (zh) | 基于无人机蜂窝拓扑组网和移动边缘计算的桥梁状态监测方法 | |
CN114742166A (zh) | 一种基于时延优化的通信网现场维护模型迁移方法 | |
CN114677584A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |