本发明属于车联网和通信安全,具体地,涉及一种基于改进的mobilenetv3模型的轻量级车联网入侵检测方法。
背景技术:
1、近年来,随着信息技术的快速发展,车辆也逐步的向物联网方向依靠,从而构成了智能车联网络。车联网络中的电子控制单元(ecu)主要用于车辆内部的检测和控制,成为控制各种车辆单元的核心。各个ecu之间通过can进行数据传输,实现车辆的各项功能。对于车辆内部网络来说,由于控制器局域网(can)协议采用的是基于广播方式的协议,缺乏身份验证和数据加密等方面的安全认证机制,使can面临的攻击威胁不断增加。
2、近年来,车联网的安全性获得了广泛的关注,为了实现高效的入侵检测,提出了很多方法。但现有的入侵检测方法存在着一些问题,例如:基于cnn模型的入侵检测方法因卷积神经网络(cnn)包含大量参数和深层结构,导致高计算复杂度,需要更多的存储空间,在车辆这种资源受限的设备上不太实用;基于resnet等深度残差网络结构的入侵检测方法在增加深度时,虽然解决了梯度消失问题,但可能导致训练更加困难,特别是在资源受限的环境下会限制其应用;lstm是一种递归神经网络(rnn)的变体,它在处理序列数据时能够考虑长期依赖,但基于lstm模型的入侵检测方法计算效率较低;由此可见,目前大多数车辆入侵检测方法存在复杂化和不便捷化的现象,无法满足车辆轻量化、便捷化的需求,从而难以在车辆实际运行当中应用。
3、mobilenetv3模型是由google开发的一种轻量级卷积神经网络(cnn)架构,该模型专门用于在移动设备和嵌入式系统上进行高效的图像分类和目标检测。mobilenetv3采用深度可分离卷积结构,将标准卷积分解为深度卷积和逐点卷积两个步骤,从而降低模型的计算复杂度和参数数量。此外,该模型引入通道注意力机制,通过学习不同通道的权重,使网络能够自适应地关注输入图像的重要特征,从而提高了模型的表现力和泛化能力。模型还引入了反向残差结构(inverted residuals),通过使用轻量级的快捷连接(skipconnection),加强了信息流的传递,有助于保持激活值的低秩性,提高了模型的非线性表示能力。这使得mobilenetv3模型成为移动设备和嵌入式系统上图像处理任务的一种优秀选择。特别是在对计算资源和模型大小有限制的场景中,该模型在移动设备上具有较高的推理速度,适用于对实时性要求较高的场景。但该模型无法直接用于车联网入侵检测,存在准确性不够高等缺陷。
技术实现思路
1、鉴于上述技术问题和缺陷,本发明的目的在于提供一种基于改进的mobilenetv3模型的轻量级车联网入侵检测方法,该入侵检测方法不仅能够准确的区分出正常流量和攻击流量,而且能够满足车辆的轻量化需求。
2、为实现上述目的,本发明采用如下技术方案:
3、一种基于改进的mobilenetv3模型的轻量级车联网入侵检测方法,该方法包括以下步骤:
4、步骤1.实时接收can流量数据;
5、步骤2.将实时接收的can流量数据输入到车联网入侵检测模型中;
6、步骤3.采用步骤2的车联网入侵检测模型对实时接收的can流量数据进行识别分类,得到分类结果;
7、步骤4.基于分类结果,确定入侵检测结果;
8、其中,步骤2所述的车联网入侵检测模型是通过对改进的mobilenetv3模型进行训练得到,具体训练方法为:
9、步骤s2.1获取公开的car-hacking数据集;
10、步骤s2.2 对car-hacking数据集进行预处理,具体方法为:
11、步骤s2.2.1 采用无放回的随机抽样方法对正常数据按照50%的比例进行采样,对于恶意流量数据不对其进行采样,之后将采样后的正常数据和攻击数据合并,重新排序索引,保存为一个新样本数据集;
12、步骤s2.2.2 采用孤立森林算法来检测并删除步骤s2.2.1的新样本数据集中的异常值;
13、步骤s2.2.3 采用smote算法对标签为fuzzy的数据进行过采样;
14、步骤s2.2.4 采用随机森林分类器进行特征选择,保留选定的特征和标签列,并将其保存为新的数据集文件;
15、步骤s2.2.5 读取步骤s2.2.4保存的新的数据集,采用归一化方法将数值型特征归一化到[0,1]的范围,并将缺失值填充为0;
16、步骤s2.2.6 采用基于分位数的数据转换方法将步骤s2.2.5归一化后的数据集进行数据转换,使其放缩到[0,255]的范围;
17、步骤s2.2.7 数据标准化完成后,根据网络流量数据集的时间戳和特征大小将步骤s2.2.6的样本数据转换为块,之后再转换为图像;
18、步骤s2.3 将训练数据集和测试数据集输入到改进的mobilenetv3模型当中进行训练;其中,所述改进的mobilenetv3模型包括输入层、空间特征提取块、反向残差块、平均池化层、分类块;所述空间特征提取块输出的是从输入张量中提取的增强的空间特征,空间特征提取块包括第一卷积层、第一批量归一化层、第一激活层、第二卷积层、第二批量归一化层,所述第一卷积层的输入与第二卷积层的输出之间通过第三卷积层进行残差连接,残差结果相加之后通过第二激活层并输出;第一卷积层、第二卷积的卷积核大小均设置为3×3,填充设置为1,步长设置为1;所述第一激活层、第二激活层均使用relu激活函数;所述第三卷积层的卷积核大小设置为1×1,空间特征提取块处理后的数据经反向残差块、平均池化层、分类块处理后输出分类结果。
19、作为本发明的优选,步骤s2.3对改进的mobilenetv3模型训练的具体步骤如下:
20、步骤s2.3.1 将处理完的数据输入到改进的mobilenetv3模型中,在进行最终训练评估之前,首先通过树形parzen估计器超参数优化方法调用数据集和改进的mobilenetv3模型来寻找出适用于改进的mobilenetv3模型的最佳超参数组合;
21、步骤s2.3.2 在得到最优的超参数组合后,采用五重交叉验证对得到的最优超参数组合进行评估;
22、步骤s2.3.3 对改进的mobilenetv3模型进行最终评估,得到车联网入侵检测模型。
23、作为本发明的优选,所述反向残差块包括扩展块、深度可分离卷积块、注意力机制层、投影块、倒残差结构;其中,扩展块设置在深度卷积之前,用于扩大或增加特征图的通道数,扩展块包括第四卷积层、第三批量归一化层和第三激活层,第四卷积层的卷积核大小为1×1,所述第三激活层使用relu6 激活函数;
24、所述深度可分离卷积块包括深度卷积模块、逐点卷积模块,深度卷积模块对输入特征图的每个通道分别使用一个卷积核,即在每个通道内独立提取空间特征,遍历每个通道,得到最终输出;所述逐点卷积模块用于对深度卷积模块输出的每个通道进行融合;
25、所述注意力机制层用来动态地调整不同位置的特征图的权重,注意力机制层的输入通道数为深度卷积模块的输出通道数,输入的数据通过全局平均池化层操作将空间维度降为 (1, 1),之后通过两个1×1卷积层实现注意力机制中的激发操作,在两个×1卷积层之间使用 relu 激活函数,最后通过 hard sigmoid 激活函数,得到注意力系数,输入特征与注意力系数相乘得到的加强后的特征输入逐点卷积模块,该操作有助于提高模型对重要特征的关注度;
26、所述逐点卷积模块包括第六卷积层、第五批量归一化层、第五激活层,第六卷积层的卷积核大小为 1×1,第五激活层所用的激活函数根据反向残差块的配置参数确定,为relu激活函数或hard swish激活函数;
27、所述投影块用于将深度可分离卷积块的输出投影到最终的输出通道,同时调整通道数,将扩展后的特征通道数压缩回预期的输出通道数;投影块包括第七卷积层、第六批量归一化层、第六激活层,第七卷积层的卷积核大小为 1×1,用于对通道数进行线性映射,然后通过批量归一化进行规范化,第六激活层采用恒等激活函数;
28、所述平均池化层用于将整个特征图的空间维度降低为 (1, 1),即对特征图进行全局平均池化;
29、所述分类模块首先通过一个卷积核为1×1的卷积层将输入的特征向量映射到一个中间的隐藏层,用于调整特征图的通道数并进行特征融合;然后,通过hardswish激活函数进行非线性变换;接着,经过全局平均池化将特征图转换为特征向量;此后,特征向量被传递到一个全连接层,再经过hardswish激活和dropout操作以防止过拟合;最后,通过另一个全连接层将特征映射到最终的输出类别数,并通过输出层输出分类结果。
30、作为本发明的优选,改进的mobilenetv3模型中,所述反向残差块的参数配置如下:
31、bneck_conf(16,3,16,16,false,"re”,1);
32、bneck_conf(16,3,64,24,false,"re",2);
33、bneck_conf(24,3,72,24,false,"re",1);
34、bneck_conf(24,5,72,40,true,"re",2);
35、bneck_conf(40,5,120,40,true,"re",1);
36、bneck_conf(40,5,120,40,true,"re",1);
37、bneck_conf(40,3,240,80, false,"hs",2);
38、bneck_conf(80,3,200,80, false,"hs",1);
39、bneck_conf(80,3,184,80,false,"hs",1);
40、bneck_conf(80,3,184,80,false,"hs",1);
41、bneck_conf(80,3,480,112,true,"hs",1);
42、bneck_conf(112,3,672,112,true,"hs",1);
43、bneck_conf(112,5,672,160 // reduce_divider,true,"hs",2);
44、bneck_conf(160 // reduce_divider,5,960 // reduce_divider,160 //reduce_divider,true,
45、"hs",1);
46、bneck_conf(160 // reduce_divider,5,960 // reduce_divider,160 //reduce_divider,true,
47、"hs",1);
48、上述参数依次代表输入通道数、卷积核大小、扩展通道数、输出通道数、是否启用注意力机制、激活函数、步长;其中,true代表启用注意力机制层, false代表不启用注意力机制层,hs代表使用 hardswish函数,re代表使用relu激活函数;上述参数中,若输入通道数不等于扩展通道数,则利用扩展块对特征进行处理,之后进行深度卷积;若输入通道数等于扩展通道数,则直接进行深度卷积;若输入通道数等于输出通道数,且步长为1,则不进行深度可分离卷积,使用倒残差结构直接将深度卷积模块的输入数据应用到投影块;若输入通道数不等于输出通道数,或步长不为1,则进行深度可分离卷积。
49、作为本发明的优选,步骤s2.2.2是对样本数据集中的can id、data[0]-data[7]列进行异常值检测;步骤s2.2.3采用smote算法将fuzzy标签的样本数量采样到标签为ram、gear、dos三者的平均值。
50、作为本发明的优选,步骤s2.2.5归一化过程表示为:
51、;
52、其中, min(x) 是数据集中的数值特征 x的最小值, max(x) 是数据集中的数值特征 x的最大值;
53、步骤s2.2.6基于分位数的数据转换表示为:
54、;
55、其中, x’ ij为规范化后的数据值, x ij为原始数据矩阵中的第 i个样本的第 j个特征值, f j (x ij ) 是特征 x ij 的累积分布函数, q l 和 q u 分别是下分位数和上分位数, f j (q l ) 和 f j (q u ) 分别是下分位数和上分位数对应的累积分布函数的值。
56、本发明还提供一种电子设备,包括:一个或多个处理器、存储器;其中,所述存储器用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,一个或多个处理器实现上述所述的一种基于改进的mobilenetv3模型的轻量级车联网入侵检测方法。
57、本发明还提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的基于改进的mobilenetv3模型的轻量级车联网入侵检测方法。
58、本发明的优点和有益效果:
59、(1)本发明利用改进的mobilenetv3模型对车联网入侵进行检测,该模型利用深度可分离卷积有效减少计算量和模型大小,同时保持高效的特征提取能力;在车辆入侵检测中,这种高效性意味着模型可以快速处理连续的视频帧或多个摄像头的输入,确保系统能够即时识别潜在的入侵活动,为采取应对措施提供足够的时间窗口。
60、(2)本发明提供的改进的mobilenetv3模型确保了快速的数据处理速度,允许系统即时响应潜在威胁,这对于防止恶意行为或即时报告安全事件至关重要。这种实时性能不仅限于模型推断速度,还包括从数据获取到处理、从检测到响应的整个流程,快速准确的处理能力确保了即使在复杂或紧急的情况下,系统也能有效地作出反应。
61、(3)本发明较于初始的mobilenetv3模型而言,在模型的初期,添加了空间特征提取的功能,这个模块通过额外的卷积层和残差连接增强了模型对空间特征的提取能力。这对于车联网环境中的入侵检测特别有用。首先,空间特征提取块能够更有效地捕捉图像或数据中的空间信息,使模型能够识别和利用这些细节信息,这在图像处理任务中尤其重要,因为空间关系和上下文信息对于理解图像内容至关重要;其次,可以提高模型的泛化能力,通过捕获更丰富的空间特征,模型能够更好地理解不同场景和对象之间的空间关系,这有助于提高模型在未见过数据上的表现;再者,在车辆入侵检测中,添加空间特征提取块可以使模型对这些微小的、可能表示入侵行为的变化更为敏感,使检测过程中能够识别细微差异,显著提高检测的准确率。
62、(4)本发明在整个模型搭建完毕之后,为了提高模型的适应性和灵活性,对改进的mobilenetv3模型使用了tpe超参数优化和五重交叉验证,通过超参数优化,模型可以针对特定的车联网环境和入侵检测任务进行调整,提高其适应性和灵活性;五折交叉验证进一步确保了模型的泛化能力,通过在不同的数据子集上训练和验证,模型可以更好地适应新的或未见过的数据,从而在实际部署时具有更强的鲁棒性和可靠性。
63、(5)本发明通过对数据预处理及模型结构的改进达到轻量化要求;在数据预处理部分,通过随机无放回采样,异常值处理,smote采样,关键特征筛选等一系列的处理,保留对车联网入侵检测至关重要的数据,筛除无效且无用的数据集,从而达到快速且轻量化的需求,在保证准确率的同时提高模型训练效率。
64、(6)本发明对改进的mobilenetv3模型性能进行综合评估(包括精确度、召回率、f1分数等指标),结果表明,该模型在准确率、精确率、召回率、f1分数四个指标方面均为100%,且改进的mobilenetv3模型所占空间为16mb,平均处理时间为5.3ms,在车辆入侵检测方面,具有较好的表现效果,可以快速、准确的识别车联网中存在的恶意流量,保证车辆行驶的安全。
1.一种基于改进的mobilenetv3模型的轻量级车联网入侵检测方法,该方法包括以下步骤:
2.根据权利要求1所述的一种基于改进的mobilenetv3模型的轻量级车联网入侵检测方法,其特征在于,该方法包括以下步骤:
3.根据权利要求1所述的一种基于改进的mobilenetv3模型的轻量级车联网入侵检测方法,其特征在于,所述反向残差块包括扩展块、深度可分离卷积块、注意力机制层、投影块、倒残差结构;其中,扩展块设置在深度卷积之前,用于扩大或增加特征图的通道数,扩展块包括第四卷积层、第三批量归一化层和第三激活层,第四卷积层的卷积核大小为 1×1,所述第三激活层使用relu6 激活函数;
4.根据权利要求1所述的一种基于改进的mobilenetv3模型的轻量级车联网入侵检测方法,其特征在于,步骤s2.2.2是对样本数据集中的can id、data[0]-data[7]列进行异常值检测;步骤s2.2.3采用smote算法将fuzzy标签的样本数量采样到标签为ram、gear、dos三者的平均值。
5.根据权利要求1所述的一种基于改进的mobilenetv3模型的轻量级车联网入侵检测方法,其特征在于,步骤s2.2.5归一化过程表示为:
6.根据权利要求3所述的一种基于改进的mobilenetv3模型的轻量级车联网入侵检测方法,其特征在于,改进的mobilenetv3模型中,所述反向残差块的参数配置如下:
7.一种电子设备,包括:一个或多个处理器、存储器;其特征在于,所述存储器用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,一个或多个处理器实现权利要求1至6任意一项所述的基于改进的mobilenetv3模型的轻量级车联网入侵检测方法。
8.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任意一项所述的基于改进的mobilenetv3模型的轻量级车联网入侵检测方法。
