CN114861875A - 基于自监督学习和自知识蒸馏的物联网入侵检测方法 - Google Patents
基于自监督学习和自知识蒸馏的物联网入侵检测方法 Download PDFInfo
- Publication number
- CN114861875A CN114861875A CN202210446932.3A CN202210446932A CN114861875A CN 114861875 A CN114861875 A CN 114861875A CN 202210446932 A CN202210446932 A CN 202210446932A CN 114861875 A CN114861875 A CN 114861875A
- Authority
- CN
- China
- Prior art keywords
- network
- self
- feature
- intrusion detection
- internet
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 93
- 238000013140 knowledge distillation Methods 0.000 title claims abstract description 39
- 238000012549 training Methods 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000008569 process Effects 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 claims abstract description 19
- 238000004821 distillation Methods 0.000 claims abstract description 17
- 238000012360 testing method Methods 0.000 claims abstract description 9
- 238000010606 normalization Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 14
- 238000013527 convolutional neural network Methods 0.000 claims description 8
- 238000007781 pre-processing Methods 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 claims description 3
- 238000002474 experimental method Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- 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/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
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- 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/1416—Event detection, e.g. attack signature detection
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
基于自监督学习和自知识蒸馏的物联网入侵检测方法,轻量级入侵检测模型第一阶段训练:确定在线网络和目标网络的网络结构,并使用在线网络的权重初始化目标网络参数;将增强数据分别输入到在线网络和目标网络进行训练;根据自监督对比学习的损失函数所得的损失值调整训练过程的误差,直到在线网络达到收敛;保存在线网络的权重到本地以用于第二阶段训练;第二阶段训练:确定学生网络的网络结构,加载在线网络权重到教师网络;将增强数据输入学生网络和教师网络进行训练;根据自知识蒸馏的损失函数所得损失值调整训练过程的误差,直到学生网络达到收敛;保存学生网络权重到本地以用于轻量级入侵检测模型测试。本发明提升入侵检测速度,复杂度低。
Description
技术领域
本发明属于物联网技术领域,具体涉及一种基于自监督学习和自知识蒸馏的物联网入侵检测方法。
背景技术
物联网是互联网的一个延伸,是万物相连的互联网,其核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络。物联网是通过传感设备,按约定的协议把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。物联网技术的兴起,改变了信息世界新的走向,被认为是继计算机和互联网之后的第三次信息发展浪潮。如今,物联网技术正在悄悄地改变我们的生活方式,为我们的生活提供各种便利,例如智慧城市、医疗保健、智能家居智能可穿戴设备等等。然而,由于物联网设备拥有者们缺乏相关的网络安全知识,黑客对网络物理设备的攻击,例如可穿戴设备,医疗起搏器,汽车自动驾驶或者是由连接设备控制的昂贵工业流程等,个人或者公司的隐私数据被窃取从而造成巨大的财产损失,有时甚至可能会造成严重的生命安全事故。
尽管网络安全专家在提高物联网安全上已经采取了许多的努力,包括对网络传输的数据加密处理、定期更新固件、使用强密码以及安全密钥等等。然而,即使有了上述应对措施,物联网设备仍然由于其多样性容易受到各种网络攻击。如何减轻物联网设备入侵的危害成为了业界密切关注的焦点,入侵检测系统作为网络安全的重要组成部分,已经成为网络攻击检测的一种重要手段。根据检测技术的不同,入侵检测系统可分为基于误用的入侵检测和基于异常的入侵检测。然而,基于误用的入侵检测系统高度依赖已有的签名知识库,难以检测零日攻击,无法适用于未知攻击的检测。基于异常的入侵检测对系统异常的行为进行检测,当检测行为与正常行为偏离较大时,发出告警信息,同时它能够依靠已有入侵检测数据集训练机器学习和深度学习算法来识别具体的网络攻击类别。
近年来,大量基于机器学习和深度学习的入侵检测系统被广泛地应用在物联网设备的攻击检测中,然而在物联网中检测异常流量仍然存在许多挑战。首先,物联网中网络节点通常被部署在资源受限(例如功率有限、计算、通信和存储能力有限等等)的设备中;其次,获取攻击标记数据的代价是昂贵且耗时的,它需要网络安全专家的协助才能认定网络流量是否为新的攻击方式;此外,物联网网络使用不同的协议栈和标准,这些需求使入侵检测系统需要设计出相应的安全机制。因此,一个良好的物联网入侵检测系统需要符合轻量级、实时性和无监督等特性,然而现有的入侵检测系统大部分只是满足三个特性的其中之一,很少有满足三个特性的物联网入侵检测系统。
因此,如何在不降低入侵检测模型效率的同时压缩模型的大小、提升模型的泛化能力以及避免过度依赖标签数据的入侵检测技术是值得研究的。
发明内容
为此,本发明提供一种基于自监督学习和自知识蒸馏的物联网入侵检测方法,实现轻量级、实时性和无监督等特性的物联网入侵检测,降低对标签的过度依赖,提示泛化能力。
为了实现上述目的,本发明提供如下技术方案:基于自监督学习和自知识蒸馏的物联网入侵检测方法,包括:
(1)对入侵检测数据集进行数据预处理,所述数据预处理包括字符型数据热独编码和数据归一化处理;
(2)轻量级入侵检测模型第一阶段训练:
(21)确定在线网络和目标网络的网络结构,并使用在线网络的权重初始化目标网络参数;
(22)将增强数据分别输入到在线网络和目标网络进行训练;
(23)根据自监督对比学习的损失函数所得的损失值调整训练过程的误差,直到在线网络达到收敛;
(24)保存在线网络的权重到本地以用于第二阶段训练;
(3)轻量级入侵检测模型第二阶段训练:
(31)确定学生网络的网络结构,加载第一阶段训练获得的在线网络权重到教师网络;
(32)将增强数据输入学生网络和教师网络进行训练;
(33)根据自知识蒸馏的损失函数所得损失值调整训练过程的误差,直到学生网络达到收敛;
(34)保存学生网络权重到本地以用于轻量级入侵检测模型测试。
作为基于自监督学习和自知识蒸馏的物联网入侵检测方法优选方案,在线网络和目标网络均为非对称神经网络,在线网络和目标网络均包括特征编码器和特征投影器;所述在线网络的特征投影器还添加有特征预测器。
作为基于自监督学习和自知识蒸馏的物联网入侵检测方法优选方案,步骤(22)中,维护一个先进先出的内存队列,内存队列由在线网络的特征编码器编码特征嵌入构成。
作为基于自监督学习和自知识蒸馏的物联网入侵检测方法优选方案,所述在线网络的特征编码器、特征投影器和特征预测器通过反向传播损失来更新参数;
所述目标网络中的特征编码器特征投影器通过动量更新的方式更新参数。
作为基于自监督学习和自知识蒸馏的物联网入侵检测方法优选方案,特征编码器由卷积神经网络构成;特征投影器与特征预测器均由多层感知机组成,多层感知机包括隐藏层、BN层、ReLU激活函数和隐藏层。
作为基于自监督学习和自知识蒸馏的物联网入侵检测方法优选方案,步骤(32)中,构建一个先进先出的内存队列,在训练中将最新的批次入内存队列,内存队列中最老的批次出内存队列,将无标签的一组网络流量送入自监督对比学习预训练好的教师网络,将得到的特征嵌入加入到内存队列,同时将无标签的网络流量送入学生网络得到另一组特征嵌入;
通过约束两组特征嵌入与内存队列中的特征嵌入的距离得到知识蒸馏过程的监督信号。
作为基于自监督学习和自知识蒸馏的物联网入侵检测方法优选方案,步骤(33)中,通过反向传播算法更新学生网络的权值,将得到的学生网络学习到网络流量的特征表征迁移到入侵检测数据集的异常检测上。
作为基于自监督学习和自知识蒸馏的物联网入侵检测方法优选方案,将深度可分离卷积融入到入侵检测的异常检测中;
深度可分离卷积通过将一个完整的卷积操作解耦为两步进行,对于来自上一层的多通道特征图,首先将其全部拆分为单个通道的特征图分别进行单通道卷积,然后重新堆叠到一起进行逐通道卷积。
作为基于自监督学习和自知识蒸馏的物联网入侵检测方法优选方案,步骤(1)中,通过字符型数据热独编码处理将独热编码将字符型数据转换为数值型数据;
步骤(1)中,数据归一化处理过程,采用混合数据归一化方法对数据进行归一化。
作为基于自监督学习和自知识蒸馏的物联网入侵检测方法优选方案,还包括:
(4)轻量级入侵检测模型测试过程,加载学生网络权重,将预处理后的测试数据集输入到学生网络得到每条数据的分类结果。
本发明具有如下优点:对入侵检测数据集进行数据预处理,所述数据预处理包括字符型数据热独编码和数据归一化处理;轻量级入侵检测模型第一阶段训练:确定在线网络和目标网络的网络结构,并使用在线网络的权重初始化目标网络参数;将增强数据分别输入到在线网络和目标网络进行训练;根据自监督对比学习的损失函数所得的损失值调整训练过程的误差,直到在线网络达到收敛;保存在线网络的权重到本地以用于第二阶段训练;轻量级入侵检测模型第二阶段训练:确定学生网络的网络结构,加载第一阶段训练获得的在线网络权重到教师网络;将增强数据输入学生网络和教师网络进行训练;根据自知识蒸馏的损失函数所得损失值调整训练过程的误差,直到学生网络达到收敛;保存学生网络权重到本地以用于轻量级入侵检测模型测试。本发明在不降低模型异常检测能力的情况下,避免过度依赖标签数据;提升了模型的泛化能力和表征学习的能力;能够提升模型入侵检测的检测速度,降低了模型的复杂度。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其他的实施附图。
图1为本发明实施例提供的基于自监督学习和自知识蒸馏的物联网入侵检测方法示意图;
图2为本发明实施例提供的基于自监督学习和自知识蒸馏的物联网入侵检测方法中的轻量级入侵检测模型框架;
图3为本发明实施例提供的基于自监督学习和自知识蒸馏的物联网入侵检测方法中的自监督对比学习训练过程;
图4为本发明实施例提供的基于自监督学习和自知识蒸馏的物联网入侵检测方法中的特征编码器框架;
图5为本发明实施例提供的基于自监督学习和自知识蒸馏的物联网入侵检测方法中的自知识蒸馏训练过程。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
辅助图1,本发明利用轻量级入侵检测模型进行入侵检测的具体步骤如下:
(1)对入侵检测数据集进行数据预处理,所述数据预处理包括字符型数据热独编码和数据归一化处理;
(2)轻量级入侵检测模型第一阶段训练:
(21)确定在线网络和目标网络的网络结构,并使用在线网络的权重初始化目标网络参数;
(22)将增强数据分别输入到在线网络和目标网络进行训练;
(23)根据自监督对比学习的损失函数所得的损失值调整训练过程的误差,直到在线网络达到收敛;
(24)保存在线网络的权重到本地以用于第二阶段训练;
(3)轻量级入侵检测模型第二阶段训练:
(31)确定学生网络的网络结构,加载第一阶段训练获得的在线网络权重到教师网络;
(32)将增强数据输入学生网络和教师网络进行训练;
(33)根据自知识蒸馏的损失函数所得损失值调整训练过程的误差,直到学生网络达到收敛;
(34)保存学生网络权重到本地以用于轻量级入侵检测模型测试。
参见图2,本发明使用的轻量级入侵检测模型,命名为CL-SKD模型,可以对物联网设备入侵行为进行检测,轻量级入侵检测模型分两个阶段,第一阶段使用自监督对比学习来学习到网络流量本质的特征表示,第二阶段采用自知识蒸馏将大的卷积神经网络模型学习到的网络流量的特征表示迁移到小的深度可分离卷积网络模型中去。
本发明实施过程中,不仅拉近同一网络流量图像不同增强下的视图,而且还拉近与其增强视图下的最近邻居们,因为该网络流量的增强视图下的最近邻居们也许和它是同一类别,因此不能将最近邻居们判别为负例从而拉远该网络流量图像与它们的距离。本发明维护两个非对称神经网络,即在线网络(Online Network)和目标网络(TargetNetwork),Online Network和Target Network都由特征编码器(Encoder)和特征投影器(Projector)组成,但是Online Network在特征投影器后还添加了一个特征预测器(Predictor),假设Online Encoder和Target Encoder分别由fθ和fζ表示,OnlineProjector和Target Projector分别由gθ和gζ表示,Online Predictor由qθ表示,其中θ和ζ分别代表Online Network和Target Network的权值。为了保存不同增强视图下的最近邻居们,本发明维护一个先进先出的内存队列,是由Online Encoder编码的特征嵌入构成,在训练中将最新的批次入队列,队列中最老的批次出队列。
参见图3,给定一张无标签的网络流量图像x,本发明对x分别做两组不同的数据增强操作T1和T2得到该网络流量两组不同的视图T1(x)和T2(x),随后将T1(x)和T2(x)分别送入特征编码器fθ和fζ中得到两组不同的特征嵌入y1和y2,即y1=fθ(T1(x)),y2=fζ(T2(x)),接着将两组不同的特征嵌入y1和y2送入特征投影器gθ和gζ得到两组不同的特征投影z1和z2,即z1=gθ(y1),z2=fζ(y2),然后将z1送入特征预测器得到特征查询query,即q=qθ(z1),接着对q和z2分别做一次l2正则化,即:
与现有技术不同的是,本发明考虑到训练初期,特征编码器并不能得到良好的网络流量图像的特征嵌入,因此在内存队列中找到的K个最近邻得到的特征嵌入并不能代表此组特征嵌入与为同一类别的网络流量,相反,本发明通过考虑在内存队列中找到的K个最远邻得到的一组特征嵌入以此组特征嵌入与的平均距离Lfarthest最大作为模型损失函数的一部分,并且随着模型的不断训练,特征编码器能够得到良好的网络流量图像的特征嵌入后,Lfarthest所占损失权重逐渐降低到0,所以本发明改进后的自监督对比学习的损失函数为:
其中α为权重系数,本发明采用线性降低的方式控制α的大小,即α在第t个epoch时的值可以用下面公式计算:
其中T和t分别为训练时的总轮数和当前训练时的轮数。经过大量实验,本发明发现当t=T/2,特征编码器便能够得到较好的网络流量图像的特征嵌入,所以在之后的模型训练中,本发明将α设置为0。
在Online Network中,特征编码器fθ、特征投影器gθ和特征预测器qθ通过反向传播损失来更新参数,而在Target Network中的特征编码器fζ和特征投影器gζ是通过动量更新的方式来更新参数的,即:
ζ←η*ζ+(1-η)*θ (6)
其中η∈[0,1],控制着Target Network中的参数取决于当前参数的程度,是人为设定的超参数。自监督对比学习的具体步骤如算法1所示:
bmm:batch matrix multiplication
本发明考虑到卷积神经网络具有优秀的特征提取能力,故特征编码器由卷积神经网络构成,具体的特征编码器架构见图4,特征投影器与特征预测器均由多层感知机组成,即隐藏层+BN层+ReLU激活函数+隐藏层。
本实施例中,知识蒸馏是一种常见的模型压缩手段,最早是由Hinton在图片分类任务上提出,不同于模型压缩中的剪枝和量化,知识蒸馏是通过构建一个轻量化的小模型,利用性能更好且在大数据集上预训练好的大模型的监督信息,来训练这个小模型从而使小模型达到更好的性能和精度,通常将大模型称为教师网络,小模型被称为学生网络。受限于功率、计算、通信和存储能力,在物联网设备上部署大模型不可能的事,因此,需要将大模型学习到的知识通过“蒸馏”迁移到小模型上,从而部署到资源受限的物联网设备上进行入侵行为的检测。
然而,传统的知识蒸馏算法需要网络流量的标签信息来引导知识蒸馏的过程,众所周知,物联网设备中异常数据是难以获取的,因此,如何构建知识蒸馏过程中的监督信号是关键的。本发明通过构建一个先进先出的内存队列,在训练中将最新的批次入队列,队列中最老的批次出队列,将无标签的一组网络流量送入自监督对比学习预训练好的教师网络得到的特征嵌入加入到内存队列,同时将此组网络流量送入学生模型得到另一组特征嵌入,通过约束两组特征嵌入与内存队列中的特征嵌入的距离来得到知识蒸馏过程的监督信号。
其中τT为教师网络的温度参数,(·)为两个特征嵌入之间的内积,K为内存队列的长度。
其中τS为学生网络的温度参数。
本发明为了使PT(xi,θ,Q)与PS(xi,ζ,Q)二者分布相似,将二者的交叉熵损失作为自知识蒸馏的损失函数,即:
通常,为了保持内存队列的一致性,需要将K值设置得很大,这样模型便能观测到更多的负样本从而提升模型的性能。本发明充分考虑到物联网设备计算能力的受限,K值设置得越大,模型的计算量会激增,而且内存队列Q中维护的特征嵌入大多数是随机的,与目标特征嵌入无关的,所以在计算PT(xi,θ,Q)和PS(xi,ζ,Q)时,大部分的元素都是很小的,从而导致在计算PT(xi,θ,Q)和PS(xi,ζ,Q)的交叉熵损失时,大部分元素对整体损失贡献都很小,基本可以忽略不计,计算这些元素的损失是浪费计算力的。
因此,本发明可以在教师网络的特征嵌入与内存队列Q中所有的特征嵌入的距离PT(xi,θ,Q)中,找到特征嵌入的k个最近邻得到特征嵌入距离P′T(xi,θ,QT),其中则在学生网络的特征嵌入与内存队列Q中所有的特征嵌入的距离PS(xi,ζ,Q)中找到特征嵌入均k个最近邻得到特征嵌入距离P′S(xi,θ,QS),其中其中k<<K,然后计算P′T(xi,θ,QT)与P′S(xi,θ,QS)二者的交叉熵损失作为自知识蒸馏的损失函数,即:
得到自知识蒸馏的损失函数后,本发明通过反向传播算法更新学生网络的权值,最后得到的学生网络能够学习到网络流量的优秀特征表征,可以迁移到其他入侵检测数据集的异常检测上。自知识蒸馏的具体步骤如算法2所示:
bmm:batch matrix multiplication
本发明实施例中,为了达到实时性的入侵检测,从两个方面降低模型复杂度和减少模型计算量:第一、考虑到知识蒸馏可以将复杂、学习能力强的教师网络学到的特征表示“知识蒸馏”出来,传递给参数量小、学习能力弱的学生网络,所以本发明使用知识蒸馏将大模型学习到的网络流量的表征迁移到小模型上;第二、考虑到深度可分离卷积既能够提取数据特征,又同时能减少计算负担,所以本发明通过深度可分离卷积代替传统卷积,大大降低模型的参数量和运算成本。
辅助图4,标准的卷积操作从每个图像的所有三个维度提取特征,包括图像的宽度和高度以及通道维度,而深度可分离卷积通过将一个完整的卷积操作解耦为两步进行,对于来自上一层的多通道特征图,首先将其全部拆分为单个通道的特征图,分别对他们进行单通道卷积,然后重新堆叠到一起,即所谓的逐通道卷积(Depthwise Convolution)。在逐通道卷积中,只对来自上一层的特征图做了尺寸的调整,而通道数并没有发生变化。于是将经过逐通道卷积得到的特征图进行第二次卷积,此次卷积过程的卷积核大小都是1×1,且滤波器包含了与上一层输出通道数一样数量的卷积核。一个滤波器输出一张特征图,因此多个通道,则需要多个滤波器,这就是逐点卷积(Pointwise Convolution)。通过将一个完整卷积解耦,深度可分离卷积可以避免提取一些冗余的特征,并大大减少所需的参数量从而降低模型过拟合的风险。
对于逐通道卷积,卷积参数量的计算方式由公式(13)决定:
num_params=Wk*Hk*in_channels (13)
计算量由公式(14)决定:
Flops=Wk*Hk*Wimg*Himg*in_channels (14)
其中,Wk和Wimg分别为卷积核以及输入特征图的宽度,Hk和Himg分别为卷积核以及输入特征图的高度,in_channels为输入通道数。
对于逐点卷积,卷积参数量的计算方式由公式(15)决定:
num_params=1*1*in_channels*out_channels (15)
计算量由公式(16)决定:
Flops=1*1*Wfeature*Hfeature*in_channels*out_channels (16)
其中,Wfeature和Hfeature分别为输入特征图的宽度和高度,in_channels和out_channels分别为输入通道数和输出通道数。
而对于传统卷积,卷积参数量的计算方式由公式(17)决定:
num-params=Wk*Hk*in_channels*out_channels (17)
计算量由公式(18)决定:
Flops=Wk*Hk*Wfeature*Hfeature*in_channels*out_channels (18)
在经过预处理后的网络流量均转换为14×14×1的灰度图格式,若不够转换成14×14×1的网络流量,则不足的部分均使用0填充。在自知识蒸馏过程中,预处理后的网络流量经过一次数据增强后便分别输入到教师网络和学生网络,因此,通过式子(13)-(18)可以分别计算教师网络和学生网络所需的参数量以及计算量,其中教师网络和学生网络(除去分类头中的参数)所需的参数量分别为346912和13401,而教师网络和学生网络(除去分类头中的参数)所需的计算量分别为15893632和673828,因此,本发明可以得出学生网络所需参数量仅占教师网络的3.9%,学生网络所需计算量仅占教师网络的4.2%。由此可见,通过将深度可分离卷积代替传统卷积,可以节省96.1%的参数量以及95.8%的计算量,不仅如此,通过知识蒸馏的方式,本发明可以通过将教师模型学习到的网络流量的表征迁移到学生模型上从而提升学生模型的入侵检测性能,因此可以将深度可分离卷积运用到入侵检测模型中,从而部署到物联网网络中计算能力和存储能力有限的节点中去,这样便可以大大减少入侵检测所需要花费的时间从而达到实时性的要求。
为了验证CL-SKD模型在物联网入侵检测上优异的异常检测能力及其优秀的泛化能力,将在物联网入侵检测数据集KDD CUP99、NSL-KDD、CIC IDS2017、UNSW-NB15和CIDDS-001上进行大量的二分类和多分类实验。由于UNSW-NB15数据集包含的攻击类型较为全面,包含的特征信息丰富且数据量较为充足,故本发明在UNSW-NB15进行自监督对比学习得到网络流量的特征表示,并利用自知识蒸馏将其迁移到学生网络。
由于本发明采用卷积神经网络作为入侵检测模型的骨干网络,输入网络流量必须符合卷积神经网络的输入格式,故需要对入侵检测数据集进行预处理,主要包括两个步骤:字符型数据独热编码处理和数据归一化处理。
字符型数据独热编码处理,以UNSW-NB15数据集为例,其中proto、state和service这三个特征的类型为字符型,而卷积神经网络输入的数据必须为数值型,因此,需要将字符型数据转换为数值型数据,通常由两种方式可以实现这个目的,即独热编码和序数编码,然而通过实验发现独热编码的效果更佳,所以使用独热编码将字符型数据转换为数值型数据。
数据归一化处理过程,由于不同特征之间量纲不一样,为了消除不同量纲的影响,需要采用数据归一化处理,Min_Max归一化作为机器学习中最常用的归一化方法却存在一定的缺陷,即若数据中最大值和最小值间隔很大的话,很容易使归一化结果不稳定。因此,采用一种混合数据归一化方法对数据进行归一化,具体方法如式子(19)所示:
本发明所有的实验均在Windows 10操作系统上进行仿真,使用Python 3.7作为编程语言,Pytorch 1.7作为深度学习框架,Scikit-learning 0.23.2作为机器学习框架,使用RTX 2070显卡加速训练。通过将CL-SKD模型运用在物联网入侵检测数据集KDD CUP99、NSL-KDD、UNSW-NB15、CIC IDS2017和CIDDS-001上进行大量二分类和多分类的实验表明:本发明的自监督学习和自知识蒸馏的方案具有较强的可行性;能够在准确率、精确率、召回率和F1-measure等指标上优于近年表现SOTA的模型;CL-SKD模型学习到网络流量的表征具有强大的泛化能力,能够在不改变特征提取层权重仅训练分类头的情况下取得较为优秀的入侵检测表现。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (10)
1.基于自监督学习和自知识蒸馏的物联网入侵检测方法,其特征在于,包括:
(1)对入侵检测数据集进行数据预处理,所述数据预处理包括字符型数据热独编码和数据归一化处理;
(2)轻量级入侵检测模型第一阶段训练:
(21)确定在线网络和目标网络的网络结构,并使用在线网络的权重初始化目标网络参数;
(22)将增强数据分别输入到在线网络和目标网络进行训练;
(23)根据自监督对比学习的损失函数所得的损失值调整训练过程的误差,直到在线网络达到收敛;
(24)保存在线网络的权重到本地以用于第二阶段训练;
(3)轻量级入侵检测模型第二阶段训练:
(31)确定学生网络的网络结构,加载第一阶段训练获得的在线网络权重到教师网络;
(32)将增强数据输入学生网络和教师网络进行训练;
(33)根据自知识蒸馏的损失函数所得损失值调整训练过程的误差,直到学生网络达到收敛;
(34)保存学生网络权重到本地以用于轻量级入侵检测模型测试。
2.根据权利要求1所述的基于自监督学习和自知识蒸馏的物联网入侵检测方法,其特征在于,在线网络和目标网络均为非对称神经网络,在线网络和目标网络均包括特征编码器和特征投影器;所述在线网络的特征投影器还添加有特征预测器。
3.根据权利要求2所述的基于自监督学习和自知识蒸馏的物联网入侵检测方法,其特征在于,步骤(22)中,维护一个先进先出的内存队列,内存队列由在线网络的特征编码器编码特征嵌入构成。
4.根据权利要求3所述的基于自监督学习和自知识蒸馏的物联网入侵检测方法,其特征在于,所述在线网络的特征编码器、特征投影器和特征预测器通过反向传播损失来更新参数;
所述目标网络中的特征编码器特征投影器通过动量更新的方式更新参数。
5.根据权利要求4所述的基于自监督学习和自知识蒸馏的物联网入侵检测方法,其特征在于,特征编码器由卷积神经网络构成;特征投影器与特征预测器均由多层感知机组成,多层感知机包括隐藏层、BN层、ReLU激活函数和隐藏层。
6.根据权利要求5所述的基于自监督学习和自知识蒸馏的物联网入侵检测方法,其特征在于,步骤(32)中,构建一个先进先出的内存队列,在训练中将最新的批次入内存队列,内存队列中最老的批次出内存队列,将无标签的一组网络流量送入自监督对比学习预训练好的教师网络,将得到的特征嵌入加入到内存队列,同时将无标签的网络流量送入学生网络得到另一组特征嵌入;
通过约束两组特征嵌入与内存队列中的特征嵌入的距离得到知识蒸馏过程的监督信号。
7.根据权利要求6所述的基于自监督学习和自知识蒸馏的物联网入侵检测方法,其特征在于,步骤(33)中,通过反向传播算法更新学生网络的权值,将得到的学生网络学习到网络流量的特征表征迁移到入侵检测数据集的异常检测上。
8.根据权利要求7所述的基于自监督学习和自知识蒸馏的物联网入侵检测方法,其特征在于,将深度可分离卷积融入到入侵检测的异常检测中;
深度可分离卷积通过将一个完整的卷积操作解耦为两步进行,对于来自上一层的多通道特征图,首先将其全部拆分为单个通道的特征图分别进行单通道卷积,然后重新堆叠到一起进行逐通道卷积。
9.根据权利要求1所述的基于自监督学习和自知识蒸馏的物联网入侵检测方法,其特征在于,步骤(1)中,通过字符型数据热独编码处理将独热编码将字符型数据转换为数值型数据;
步骤(1)中,数据归一化处理过程,采用混合数据归一化方法对数据进行归一化。
10.根据权利要求1所述的基于自监督学习和自知识蒸馏的物联网入侵检测方法,其特征在于,还包括:
(4)轻量级入侵检测模型测试过程,加载学生网络权重,将预处理后的测试数据集输入到学生网络得到每条数据的分类结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210446932.3A CN114861875A (zh) | 2022-04-26 | 2022-04-26 | 基于自监督学习和自知识蒸馏的物联网入侵检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210446932.3A CN114861875A (zh) | 2022-04-26 | 2022-04-26 | 基于自监督学习和自知识蒸馏的物联网入侵检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114861875A true CN114861875A (zh) | 2022-08-05 |
Family
ID=82634406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210446932.3A Pending CN114861875A (zh) | 2022-04-26 | 2022-04-26 | 基于自监督学习和自知识蒸馏的物联网入侵检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114861875A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116055174A (zh) * | 2023-01-10 | 2023-05-02 | 吉林大学 | 一种基于改进MobileNetV2的车联网入侵检测方法 |
CN116319036A (zh) * | 2023-03-27 | 2023-06-23 | 哈尔滨工业大学(威海) | 基于卷积循环神经网络的异常网络请求识别模型生成方法 |
CN117521799A (zh) * | 2024-01-08 | 2024-02-06 | 徐州医科大学 | 一种基于提示学习的个性化知识图谱动态生成方法 |
CN118364341A (zh) * | 2024-06-19 | 2024-07-19 | 南京邮电大学 | 一种基于软件定义车联网网络流量分类方法、系统及存储介质 |
-
2022
- 2022-04-26 CN CN202210446932.3A patent/CN114861875A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116055174A (zh) * | 2023-01-10 | 2023-05-02 | 吉林大学 | 一种基于改进MobileNetV2的车联网入侵检测方法 |
CN116319036A (zh) * | 2023-03-27 | 2023-06-23 | 哈尔滨工业大学(威海) | 基于卷积循环神经网络的异常网络请求识别模型生成方法 |
CN116319036B (zh) * | 2023-03-27 | 2024-05-24 | 哈尔滨工业大学(威海) | 基于卷积循环神经网络的异常网络请求识别模型生成方法 |
CN117521799A (zh) * | 2024-01-08 | 2024-02-06 | 徐州医科大学 | 一种基于提示学习的个性化知识图谱动态生成方法 |
CN117521799B (zh) * | 2024-01-08 | 2024-03-08 | 徐州医科大学 | 一种基于提示学习的个性化知识图谱动态生成方法 |
CN118364341A (zh) * | 2024-06-19 | 2024-07-19 | 南京邮电大学 | 一种基于软件定义车联网网络流量分类方法、系统及存储介质 |
CN118364341B (zh) * | 2024-06-19 | 2024-09-20 | 南京邮电大学 | 一种基于软件定义车联网网络流量分类方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108171209B (zh) | 一种基于卷积神经网络进行度量学习的人脸年龄估计方法 | |
CN114861875A (zh) | 基于自监督学习和自知识蒸馏的物联网入侵检测方法 | |
CN110110318B (zh) | 基于循环神经网络的文本隐写检测方法及系统 | |
CN111881722B (zh) | 一种跨年龄人脸识别方法、系统、装置及存储介质 | |
CN109101602A (zh) | 图像检索模型训练方法、图像检索方法、设备及存储介质 | |
JP2022141931A (ja) | 生体検出モデルのトレーニング方法及び装置、生体検出の方法及び装置、電子機器、記憶媒体、並びにコンピュータプログラム | |
WO2023179429A1 (zh) | 一种视频数据的处理方法、装置、电子设备及存储介质 | |
EP4068222A1 (en) | Anti-spoofing method and apparatus | |
CN113269070B (zh) | 融合全局和局部特征的行人重识别方法、存储器及处理器 | |
CN113269647B (zh) | 基于图的交易异常关联用户检测方法 | |
CN109190521B (zh) | 一种基于知识提纯的人脸识别模型的构建方法及应用 | |
CN113723238B (zh) | 一种人脸轻量网络模型构建方法和人脸识别方法 | |
CN115100709B (zh) | 一种特征分离的图像人脸识别与年龄估计方法 | |
CN113283902B (zh) | 一种基于图神经网络的多通道区块链钓鱼节点检测方法 | |
CN114386436B (zh) | 文本数据的分析方法、模型训练方法、装置及计算机设备 | |
CN112949821B (zh) | 基于双重注意力机制的网络安全态势感知方法 | |
WO2023231753A1 (zh) | 一种神经网络的训练方法、数据的处理方法以及设备 | |
CN113850243A (zh) | 模型训练、人脸识别方法、电子设备及存储介质 | |
CN110633689B (zh) | 基于半监督注意力网络的人脸识别模型 | |
CN117708698A (zh) | 一种类别确定方法、装置、设备及存储介质 | |
CN116777183A (zh) | 无人船集群智能调度方法及系统 | |
CN116665093A (zh) | 一种解决特征中和效应的多模态虚假新闻检测方法及装置 | |
CN117764116A (zh) | 数据处理方法、装置及计算机设备、存储介质、程序产品 | |
CN115294386B (zh) | 一种基于正则化监督损失函数的图像分类方法 | |
CN114626520B (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 |