Design and Hardware Implementation of Image Recognition System Based on Improved Neural Network
-
摘要: 针对现有图像识别系统大多采用软件实现,无法利用神经网络并行计算能力的问题。该文提出一套基于FPGA的改进RBF神经网络硬件化图像识别系统,将乘法运算改为加法运算解决了神经网络计算复杂不便于硬件化的问题,并且提出一种基于位比较的排序电路解决了大量数据的快速排序问题,以此为基础开发了多目标图像识别应用系统。系统特征提取部分采用FPGA实现,图像识别部分采用ASIC电路实现。实验结果表明,该文所提出的改进RBF神经网络算法平均识别时间较LeNet-5, AlexNet和VGG16缩短50%;所开发的硬件系统完成对10000张样本图片识别的时间为165 μs,对比于DSP芯片系统所需426.6 μs,减少了60%左右。Abstract: To solve the problem that most existing image recognition systems are implemented in software which can not utilize the parallel computing power of neural networks, this paper proposes a FPGA image recognition system based on improved RBF neural network hardware. The multiplication operation in the neural networks is complex and inconvenient for hardware implementation. Furthermore, a sort circuit based on bit comparison is designed to solve the problem of fast sorting of a large number of data. Then, a multi-target image recognition application system is developed. The feature extraction part in the developed system is implemented by FPGA, and the image recognition part is implemented by ASIC circuit. The experimental results show that the average recognition time of the improved RBF neural network algorithm proposed is 50% shorter than that of LeNet-5, AlexNet and VGG16, and the time for the developed hardware system to recognize 10000 sample pictures is 165μs, which is reduced by about 60% compared with 426.6μs required by a DSP chip system.
-
Key words:
- FPGA /
- ASIC circuit /
- RBF neural networks /
- Image recognition system
-
1. 引言
网络流量异常检测是发现网络攻击的重要手段,常用的流量异常检测方法有熵理论[1]和神经网络[2]等,当前研究通常集中于对现有方法的改进,实验中用到的数据集大部分采用全采集测量方式通过在线监测骨干网流量获得。然而随着网络速度的迅速提升和网络流量的指数级增长,采用全采集测量方式对骨干网流量进行实时在线监测变得越来越困难。为解决上述问题,网络流量抽样技术已成为国内外学者研究的重点。
网络流量抽样技术主要分为包抽样和流抽样两种,其中流抽样技术能有效体现不同数据包间的关联性,抽样得到的数据集可较好地反映网络流量原始特征信息[3],是抽样技术研究的热点。在流抽样技术中,概率抽样方法具有系统开销小、数据流处理速度快等特点,更适用于对实时性要求较高的在线流量监测领域。
依据关注的数据流大小不同,常用的概率抽样方法主要分为两类:第1类是大流抽样技术,如智能抽样方法[4]、抽样保持方法[5]等,该类方法中每条数据流的抽样概率与其包含的字节数成正相关性,因此包含字节数较多的大流抽样概率高,而包含字节数较少的小流抽样概率较低,抽样过程中易损失大量以小流形式存在的异常流量信息,不适用于流量异常检测领域。第2类是小流抽样技术,如选择性抽样方法[6]、优化神经网络方法[7]、异常流自适应抽样算法[8]等,该类方法中每条数据流的抽样概率与其包含的字节数成负相关性,因此小流抽样概率高,抽样得到的数据集可有效保留与异常流量相关的小流信息,但其对大流的抽样概率较低,抽样过程中会产生比较大的信息损失。综上,现有根据数据流大小设定其抽样概率的方法,难以同时满足大流和小流抽样需求,导致抽样得到的数据集无法完整反映真实网络数据流组成情况。
为此,文献[9]提出一种新的概率抽样方法,在对所有数据流按目的IP地址进行分类的基础上,将每类数据流的抽样率定义为其目的IP抽样率,并通过调节数据流抽样率来控制该类数据流中大、小流抽样概率,从而使得访问某一目的IP地址域的大、小流都能被有效抽样,同时提高了受攻击目的IP地址的异常流抽样概率。然而由于网络中异常流量的多样性及源、目的IP地址分布的不均衡性,导致采用该方法抽样得到的数据集在应用于流量异常检测时,仍存在以下不足:该方法通常仅能对与目的IP地址相关的异常流保持较高的抽样概率,而对与源IP地址相关的异常流抽样概率较低,导致抽样得到的数据集无法反映与源IP地址相关的异常流量信息,进而影响后续流量异常检测精度。
此外,为有效提高网络安全态势感知的准确性,流量异常检测模型需要对flash crowd和网络攻击进行区分[10–12],但由于网络环境的复杂性,在异常检测阶段区分flash crowd和网络攻击存在误报率高、耗时长等问题。采用抽样技术在流量异常检测数据集构造过程中降低flash crowd流量抽样概率,是解决上述问题的一种有效方法。但现有方法在抽样过程中通常未区分flash crowd与流量攻击两种情况产生的异常数据流,导致抽样得到的数据集中同时包含两种异常流量,进而加大了后续流量异常检测的误报率。
针对上述两个问题,结合目的、源IP地址抽样率,设计异常流抽样算法,提高异常流抽样的全面性。然后,采用源IP地址熵对异常流的源IP地址分散度进行刻画,并通过设置攻击流源IP地址熵阈值,在抽样过程中降低由flash crowd产生的非攻击异常流抽样概率。最后,通过仿真实验验证所提方法的有效性。
2. 概率流抽样方法
2.1 基本思想
主要采取以下思想对概率流抽样方法进行设计:
(1)定义数据流抽样率为其目的、源IP地址抽样率的最大值。首先将具有相同目的、源IP地址的数据流划分为一类,然后将每类数据流的抽样率定义为其目的、源IP地址抽样率的最大值,从而保证与目的、源IP地址相关的异常流量都能以最大概率被抽样;
(2)设定攻击流源IP地址熵阈值。采用源IP地址熵刻画异常流源IP地址分散度,并通过设定攻击流源IP地址熵阈值,在抽样过程中降低源IP地址熵大于所设阈值的非攻击异常流抽样概率。
2.2 异常流抽样算法
假设在理想网络环境中,流量异常都是由流量攻击引起的。在这种情况下,定义异常流抽样函数,提高网络数据流中的异常流抽样概率,并给出异常流抽样流程。
2.2.1 抽样函数
异常流抽样函数主要由目的IP地址接收字节总数和源IP地址发送字节总数两个数据流特征参数确定。下面从目的IP地址出发,对研究过程中用到的相关概念进行定义,并给出异常流抽样函数。
定义1 定义
FS 表示抽样前给定抽样数据集的数据流样本空间FS={fl1,fl2,···,fln,···,flN} (1) 其中,
N 为正整数,表示抽样前给定抽样数据集中包含的数据流总数;fln 表示FS 中的第n 条数据流,1≤n≤N 。定义2 定义
dIPS 表示抽样前FS 的目的IP地址空间dIPS={dIP1,dIP2,···,dIPm,···,dIPM} (2) 其中,
M 为正整数,表示FS 中数据流的唯一目的IP地址总数;dIPm 表示dIPS 中的第m 个目的IP地址,1≤m≤M 。对于
dIPS 中的元素dIPm 而言,其数据流空间和源IP地址空间定义如下:定义3 定义
fS(dIPm) 表示抽样前FS 中dIPm 对应的数据流空间fS(dIPm)={f1⋅dIPm,f2⋅dIPm,···,fl⋅dIPm,···,fL⋅dIPm} (3) 其中,
L 为正整数,表示FS 中流向dIPm 的数据流总数;fl⋅dIPm 表示fS(dIPm) 中的第l 条数据流,1≤l≤L ;fS(dIPm)⊂FS ,且FS=⋃Mm=1fS(dIPm) 。定义4 定义
sIPS(dIPm) 表示抽样前fS(dIPm) 中数据流的源IP地址空间sIPS(dIPm)={dIPm⋅sIP1,dIPm⋅sIP2,···,dIPm⋅sIPk,···,dIPm⋅sIPK} (4) 其中,
K 为正整数,表示fS(dIPm) 中数据流的不同源IP地址总数;dIPm⋅sIPk 表示sIPS(dIPm) 中的第k 个源IP地址,1≤k≤K 。对于
sIPS(dIPm) 中的元素dIPm⋅sIPk 而言,其数据流空间定义如下:定义5 定义
fS(dIPm⋅sIPk) 表示抽样前在FS 中dIPm⋅sIPk 对应的数据流空间fS(dIPm⋅sIPk)={f1⋅dIPm⋅sIPk,f2⋅dIPm⋅sIPk,···,fp⋅dIPm⋅sIPk,···,fP⋅dIPm⋅sIPk} (5) 其中,
P 为正整数,表示FS 中由dIPm⋅sIPk 流出的数据流总数;fp⋅dIPm⋅sIPk 表示fS(dIPm⋅sIPk) 中的第p 条数据流,1≤p≤P ;fS(dIPm⋅sIPk)⊂FS 。对于
FS 中源IP地址为dIPm⋅sIPk ,目的IP地址为dIPm 的数据流而言,定义其数据流空间如下:定义6 定义
fdIPm⋅sIPk→dIPm 表示抽样前FS 中源IP地址为dIPm⋅sIPk 、目的IP地址为dIPm 的数据流空间fdIPm⋅sIPk→dIPm⊂fS(dIPm)∩fS(dIPm⋅sIPk) (6) fdIPm⋅sIPk→dIPm 是概率流抽样方法的抽样对象,为有效提高异常流抽样概率,结合目的IP地址抽样率[9]及其对应的源IP地址抽样率,给出其抽样函数如式(7)p(fdIPm⋅sIPk→dIPm)=Max{p(dIPm),p(dIPm⋅sIPk)} (7)
其中,
p(dIPm)={b, S_dIPm<tS_dIPmS_tl, S_dIPm≥t (8) p(dIPm⋅sIPk)=S_dIPm⋅sIPkS_tl (9) 式(8)、式(9)中,
t 表示抽样阈值;b 为一个较小的常数,0<b≤1 ;S_dIPm 表示dIPm 接收字节总数,S_dIPm⋅sIPk 表示dIPm⋅sIPk 发送字节总数,S_tl 表示样本空间字节总数,具体定义如下:定义7 定义
S_dIPm 表示抽样前dIPm 接收字节总数S_dIPm=L∑l=1(oc(fl⋅dIPm)) (10) 其中,
oc(fl⋅dIPm) 表示fS(dIPm) 中第l 条数据流包含的字节数。定义8 定义
S_dIPm⋅sIPk 表示抽样前dIPm⋅sIPk 发送字节总数S_dIPm⋅sIPk=P∑p=1oc(fp⋅dIPm⋅sIPk) (11) 其中,
oc(fp⋅dIPm⋅sIPk) 表示fS(dIPm⋅sIPk) 中第p 条数据流包含的字节数。定义9 定义
S_tl 表示抽样前样本空间FS 中包含的字节总数S_tl=M∑m=1S_dIPm=N∑n=1oc(fln) (12) 其中,
oc(fln) 表示FS 中第n 条数据流包含的字节数。2.2.2 异常流抽样流程
在概率流抽样方法基本思想的基础上,结合异常流抽样函数,设计异常流抽样流程如图1所示。每类数据流经抽样后得到的数据流数目等于其包含的流数与抽样率的乘积,对于抽样数目为小数的,最终抽样量向上取整,保证每类数据流都至少被抽样一条,从而使抽样得到的数据集可有效反映原始流量的分布性。
该抽样流程具体描述如表1所示。
表 1 抽样流程具体描述输入:原始数据流集合FS 输出:抽样后的数据流集合Sp_FS 步骤1 统计FS中目的IP地址数M,根据目的IP地址将FS分成M类,即:类dIP1,类dIP2,···,类dIPm,···,类dIPM; 步骤2 分别统计M类的数据流空间大小L,依次采用式(10)计算其接收字节总数S_dIP1, S_dIP2, ···, S_dIPm, ···, S_dIPM,并采用式
(12)计算样本空间字节总数S_tl;步骤3 对于类dIPm而言,采用式(8)计算目的IP地址dIPm的抽样率p(dIPm); 步骤4 统计类dIPm的唯一源IP地址数K,并将类dIPm进一步划分为K类,即:类dIPm⋅sIP1, ···, 类dIPm⋅sIPk, ···,类dIPm⋅sIPK; 步骤5 分别统计K类的数据流空间大小P,采用式(11)计算各类发送字节总数S_dIPm⋅sIP1, ···, S_dIPm⋅sIPk, ···, S_dIPm⋅sIPK,并采
用式(9)计算dIPm对应的K个源IP地址抽样率p(dIPm⋅sIP1), ···, p(dIPm⋅sIPk), ···, p(dIPm⋅sIPK);步骤6 依次采用式(7)计算类dIPm中由不同源IP地址流向dIPm的数据流抽样率p(fdIPm⋅sIP1→dIPm), ···, p(fdIPm⋅sIPk→dIPm), ···,
p(fdIPm⋅sIPK→dIPm),并输出抽样数据流子集合Sp_FSm=⋃Kk=1⌈fdIPm⋅sIPk→dIPmp(fdIPm⋅sIPk→dIPm)⌉;
步骤7 如果m<M,则返回步骤3;如果m=M,则迭代终止,输出最终抽样后的数据流集合Sp_FS=⋃Mm=1Sp_FSm。2.3 攻击流抽样算法
真实网络环境中,流量异常并非全部由流量攻击引起,flash crowd同样可引起网络流量异常,且这种异常通常与拒绝服务攻击具有相似的表象。两种情况下,目的IP地址接收的字节总数都比较大(通常不小于
t ),从而导致两种情况下流向受攻击目的IP地址的数据流都具有较高的抽样概率,使得抽样得到的数据集中既包含flash crowd数据流,也包含拒绝服务攻击数据流,容易增大后续流量异常检测的误报率。针对上述问题,在分析flash crowd与流量攻击两种情况产生的异常流区别的基础上,引入熵的概念对异常流源IP地址分散度进行刻画,并定义攻击流源IP地址熵阈值,有效降低由flash crowd产生的异常流抽样概率,然后重新定义此种情况下
dIPm 抽样率及fdIPm⋅sIPk→dIPm 抽样函数,进而给出攻击流抽样流程。2.3.1 源IP地址熵
Flash crowd和流量攻击产生的异常流通常都表现为“多对一”的模式,即异常流中包含的源IP地址数较多,而目的IP地址数较少。但两者也有明显的区别,flash crowd通常是由位于多处的正常用户发起,异常流的源IP地址通常比较分散;流量攻击通常由某些恶意用户发起,异常流的源IP地址大部分相对集中。为此,引入源IP地址熵对异常流的源IP地址分散度进行刻画。
定义10 定义
H(dIPm) 表示目的IP地址为dIPm 的异常流源IP地址熵H(dIPm)=−K∑k=1P(dIPm⋅sIPk)⋅lg(P(dIPm⋅sIPk)) (13) 其中,
P(dIPm⋅sIPk)=card(fdIPm⋅sIPk→dIPm)/card(fS(dIPm)) (14) 式中,
card(fdIPm⋅sIPk→dIPm) ,card(fS(dIPm)) 分别表示两个集合的基数,即两个集合中元素的个数。根据熵的定义可知,
H(dIPm) 取值越小,表明目的IP地址为dIPm 的异常流中源IP地址分布越集中,该数据流为攻击流的可能性就越大;反之,H(dIPm) 取值越大,表明目的IP地址为dIPm 的异常流中源IP地址分布越分散,该数据流为flash crowd流的可能性越大[12]。2.3.2 攻击流抽样流程
首先设定攻击流
H(dIPm) 阈值为T ,然后通过调整T 的大小,降低flash crowd产生的异常流抽样概率。定义Q 表示dIPm 对应的数据流是否为攻击流的情况,当其为攻击流时取值为1,否则取值为0,即Q={1,H(dIPm)<T0,H(dIPm)≥T (15) 此时,
dIPm 抽样率可重新定义为p(dIPm)∗={b, S_dIPm<tS_dIPmS_tlQ,S_dIPm≥t (16) 此种情况下,
fdIPm⋅sIPk→dIPm 的抽样函数为p(fdIPm⋅sIPk→dIPm)∗=Max{p(dIPm)∗,p(dIPm⋅sIPk)} (17) 在上述定义的基础上,只需对表1中步骤3与步骤6进行改进,并保留其余算法步骤,即可得到攻击流抽样算法。改进后的步骤3和步骤6表述如下:
步骤3 对于类
dIPm 而言,采用式(13)—式(16)计算目的IP地址dIPm 的抽样率p(dIPm)∗ ;步骤6 依次采用式(17)计算类
dIPm 中由不同源IP地址流向dIPm 的数据流抽样率p(fdIPm⋅sIP1→dIPm)∗ , ···,p(fdIPm⋅sIPk→dIPm)∗ , ···,p(fdIPm⋅sIPK→dIPm)∗ ,并输出抽样数据流子集合{\rm{Sp}}\_{\rm{F}}{{\rm{S}}_m} \!=\! \bigcup\nolimits_{k = 1}^K \Bigr\lceil {{f_{{{\rm{dIP} }_m} \cdot {{\rm{sIP} }_k} \to {{\rm{dIP} }_m}}} ⋅p(fdIPm⋅sIPk→dIPm)∗⌉ ;同时,只需将图1中的“式(8)”替换为“式(13)—式(16)”,“
p(dIPm) ”替换为“p(dIPm)∗ ”;“式(7)”替换为“式(17)”,“p(fdIPm⋅sIP1→dIPm) , ···,p(fdIPm⋅sIPk→dIPm) , ···,p(fdIPm⋅sIPK→dIPm) ”替换为“p(fdIPm⋅sIP1→dIPm)∗ , ···,p(fdIPm⋅sIPk→dIPm)∗ , ···,p(fdIPm⋅sIPK→dIPm)∗ ”即可得到攻击流抽样流程图。由于篇幅所限,此处不再给出详细的攻击流抽样流程图和步骤描述。
3. 仿真实验
通过选取CAIDA traces 2013[13], CAIDA traces 2018[14]正常流量数据集和DARPA 1999[15]第2周恶意流量数据集的子集,基于MATLAB R2012a平台,对数据流特征参数进行验证,并对概率流抽样方法进行仿真分析。
3.1 数据流特征参数验证
随机选取DARPA 1999数据集和CAIDA traces 2018数据集的子集,对恶意流量和正常流量的目的IP地址接收字节总数和源IP地址发送字节总数两个数据流特征参数进行分析。
将DARPA 1999恶意流量和CAIDA traces 2018正常流量数据集中的数据流按目的IP地址进行合并分类,然后分别随机选取150个目的IP地址,统计各个目的IP地址接收字节总数的
lg 对数,如图2所示。由图2可知,相比CAIDA正常流量数据集而言,DARPA恶意流量数据集中目的IP地址接收字节总数维持在更高水平,表明存在恶意流量攻击时,目的IP地址接收的字节总数较多。因此,从IP地址接收字节总数出发设计流抽样方法,可有效提高恶意流量抽样概率。
将DARPA 1999恶意流量和CAIDA traces 2018正常流量数据集中的数据流按源IP地址进行合并分类,并分别随机选取150个源IP地址,统计各个源IP地址发送字节总数的
lg 对数,如图3所示。由图3可知,CAIDA正常流量和DARPA恶意流量数据集中源IP地址发送字节总数大都维持在较高水平。相对CAIDA正常流量数据集而言,DARPA恶意流量数据集中源IP地址发送字节总数更多。因此,从源IP地址发送字节总数出发设计流抽样方法,既可提高恶意流量抽样概率,又能保证正常流量抽样概率。
综上可知,结合目的IP地址接收字节总数和源IP地址发送字节总数两个特征参数,设计流抽样方法,可兼顾正常流量和恶意流量抽样概率,从而有效反映原始流量分布特征。
3.2 概率流抽样方法仿真分析
按恶意流量与正常流量1 : 5的比例[9],通过随机选取DARPA 1999, CAIDA traces 2013和CAIDA traces 2018数据集的子集构造数据集Dataset1和Dataset2,每个数据集中包含4000条恶意数据流和20000条正常数据流。其中,Dataset1由DARPA 1999和CAIDA traces 2013的子集构成,Dataset2由DARPA 1999和CAIDA traces 2018的子集构成。仿真过程中,
b 对结果影响较小,通过分析Dataset1和Dataset2流量分布特征设定b=1.0×10−5 ;然后参照文献[12]中攻击流的最大熵,设定攻击流H(dIPm) 的阈值T=0.91 。对于对抽样结果影响较大的S_dIPm 抽样阈值t ,则在异常流抽样算法分析过程中通过仿真实验确定。3.2.1 异常流抽样算法分析
通过将所提异常流抽样算法与经典的小流抽样方法(选择性抽样方法[6])、大流抽样方法(智能抽样方法[4])及文献[9]方法进行对比,分析所提异常流抽样算法性能。首先选取数据集Dataset1,分析抽样阈值
t∈[1,106] 时,4种方法抽样得到的异常流数量,仿真结果如图4所示。由图4可知,选择性抽样方法抽样得到的异常流数量随抽样阈值的增大而增大,这是因为随着抽样阈值的增大,小异常流的数量不断增加,而选择性抽样方法仅对小异常流具有较强的抽样能力;智能抽样方法抽样得到的异常流数量随抽样阈值的增大而减小,这是因为随着抽样阈值的增大,大异常流的数量不断减少,而智能抽样方法仅对大异常流具有较强的抽样能力。但上述两种方法无法同时满足大、小流抽样需求。文献[9]方法和本文异常流抽样算法对异常流的抽样能力保持不变,能同时满足大异常流和小异常流抽样需求,且所提异常流抽样算法具有比文献[9]方法更强的异常流抽样能力。
由图4可知,当抽样阈值
t>1.0×104 时,选择性抽样方法和智能抽样方法的性能趋于稳定,因此设定抽样阈值t=1.0×104 ,并基于Dataset1和Dataset2两个数据集,测试4种方法抽样得到的数据集中数据流保留情况、总体字节保留率和可疑IP地址保留情况,仿真结果如表2、表3和表4所示。表 2 不同抽样方法数据流保留情况(条)抽样方法 Dataset1 Dataset2 异常流 大流 异常流 大流 选择性抽样方法 3805 0 3826 0 智能抽样方法 195 1933 174 1294 文献[9]方法 213 747 226 565 本文异常流抽样算法 741 1063 745 1091 表 3 不同抽样方法总体字节保留率(%)抽样方法 Dataset1 Dataset2 选择性抽样方法 10.8 21.8 智能抽样方法 89.2 78.2 文献[9]方法 43.8 43.4 本文异常流抽样算法 57.9 86.2 表 4 不同抽样方法可疑IP地址保留情况(个)抽样方法 Dataset1 Dataset2 源IP 目的IP 源IP 目的IP 原始流量 215 212 206 217 选择性抽样方法 209 211 199 216 智能抽样方法 65 28 67 31 文献[9]方法 41 212 43 217 本文异常流抽样算法 215 212 206 217 由表2可知,同等条件下,选择性抽样方法异常流抽样能力最强,但由于其只关注小流抽样需求,基本上抽样不到原始数据集中的大流,导致抽样得到的数据集信息损失比较严重,不适用于构造流量异常检测数据集。其他3种方法均能在抽样异常流的同时,保留网络中的大流信息,不会造成严重的信息损失,可应用于流量异常检测数据集的构造,并且所提异常流抽样算法与文献[9]方法及智能抽样方法相比,具有更高的异常流抽样能力,平均抽样得到的异常流数量分别提高了近2.4倍和3.0倍,可以抽样更多的异常流。
由表3可知,同等条件下,本文异常流抽样算法具有与只关注大流的智能抽样方法相当的平均总体字节保留率(差值仅在10.0%左右),且与文献[9]方法及选择性抽样方法相比,具有更高的总体字节保留率,其平均总体字节保留率分别提高了近65.3%和3.4倍,表明所提异常流抽样算法可在抽样过程中保留较多的真实网络业务流量信息,有效反映原始网络流量特征。
由表4可知,相比选择性抽样方法、智能抽样方法和文献[9]方法而言,本文异常流抽样算法能抽样得到所有可疑目的IP地址和源IP地址,抽样得到的数据集中异常流信息更加全面。
按照Dataset2构建方式,随机选取DARPA 1999和CAIDA traces 2018数据集的子集,构造10个不同的实验数据集,并基于构建的数据集测试不同方法在抽样过程中的数据流处理时间,结果如图5所示。
由图5可知,所提异常流抽样算法处理速度优于选择性抽样和智能抽样方法。相比文献[9]方法,所提算法平均数据流处理时间增加了7.7%,但由表2可知,所提算法的异常流抽样能力比文献[9]方法提高了近2.4倍,故所提算法处理时间的增加是可以接受的。
3.2.2 攻击流抽样算法分析
将所提攻击流抽样算法与选择性抽样方法、智能抽样方法、文献[9]方法及本文异常流抽样算法进行对比,测试5种方法的非攻击异常流过滤情况。仿真结果表明,由于在抽样过程中未区分flash crowd和流量攻击,选择性抽样方法、智能抽样方法、文献[9]方法和所提异常流抽样算法无法过滤非攻击异常流,其非攻击异常流过滤量均为0。而所提攻击流抽样算法,在抽样过程中通过设定攻击流
H(dIPm) 阈值,降低了由flash crowd产生的非攻击异常流抽样概率,使得其在抽样过程中可有效过滤非攻击异常流,在Dataset1和Dataset2上分别可过滤271条和268条非攻击异常流,从而验证了所提攻击流抽样算法的有效性。在3.2.1节构造的10个数据集上,测试攻击流抽样算法的数据流处理时间,并与其他4种方法进行对比,结果如图5所示。由图5可知,所提攻击流抽样算法处理速度优于选择性抽样和智能抽样方法。相比文献[9]方法,所提攻击流算法平均数据流处理时间增加了15.5%,相比异常流抽样算法,其平均数据流处理时间增加了7.2%,但所提攻击流抽样算法可有效过滤非攻击异常流,且其异常流抽样能力比文献[9]方法提高了近1.2倍,故所提攻击流抽样算法处理时间的增加是可以接受的。
综上可知,所提概率流抽样方法可同时满足大流和小流抽样需求,具有较强的异常流抽样能力,能抽样得到所有与异常流量相关的源IP地址和目的IP地址,并能有效过滤非攻击异常流。
4. 结束语
本文提出一种面向流量异常检测的概率流抽样方法,该方法能同时满足大流和小流抽样需求,具有较高的异常流抽样能力,并可有效过滤非攻击异常流,为下一步采用所提方法对大规模网络流量数据集进行抽样,并基于抽样数据集开展流量异常检测研究奠定了基础。
-
表 1 测试数据集为MNIST时不同网络模型对比实验
网络模型 准确率 平均识别时间(s) LeNet-5 0.989 1.2 AlexNet 0.991 1.5 VGG16 0.997 2.3 改进RBF神经网络 0.996 0.9 表 2 测试数据集为CIFAR-10时不同网络模型对比实验
网络模型 准确率 平均识别时间(s) LeNet-5 0.787 2.4 AlexNet 0.810 3.3 VGG16 0.832 5.5 改进RBF神经网络 0.828 1.3 表 3 测试数据集为VOC2012时不同网络模型对比实验
网络模型 准确率 平均识别时间(s) LeNet-5 0.757 2.7 AlexNet 0.783 3.5 VGG16 0.813 6.7 改进RBF神经网络 0.808 2.6 表 4 基于DSP图像识别系统与本文提出图像识别系统性能比较
计算量 DSP芯片 本文系统 时钟频率(MHz) 500 15 ALU数量 6 1024 运算位宽(bit) 32 8 单个样本大小(Byte) 256 256 每个周期能进行加法次数 6 1024×2=2048 每次加法处理数据(Byte) (32/8)×6=24 (8/8)×2048=2048 完成两个样本的比较
需要周期数(2×256/24)=21.33 (2×256/2048)=0.25 完成两个样本比较的
时间(ns)21.33×2=42.66 0.25×66=16.5 和所有样本比较
所需时间(μs)426.6 165 -
[1] 李国良, 周煊赫, 孙佶, 等. 基于机器学习的数据库技术综述[J]. 计算机学报, 2020, 43(11): 2019–2049.LI Guoliang, ZHOU Xuanhe, SUN Ji, et al. A survey of machine learning based database techniques[J]. Chinese Journal of Computers, 2020, 43(11): 2019–2049. [2] 刘方园, 王水花, 张煜东. 深度置信网络模型及应用研究综述[J]. 计算机工程与应用, 2018, 54(1): 11–18, 47. doi: 10.3778/j.issn.1002-8331.1711-0028LIU Fangyuan, WANG Shuihua, and ZHANG Yudong. Review of deep confidence network model and application research[J]. Computer Engineering and Applications, 2018, 54(1): 11–18, 47. doi: 10.3778/j.issn.1002-8331.1711-0028 [3] LIANG Tian and AFZEL N. Software reliability prediction using recurrent neural network with Bayesian regularization[J]. International Journal of Neural Systems, 2004, 14(3): 165–174. doi: 10.1142/S0129065704001966 [4] GOODFELLOW I J, POUGET-ABADIE J, MIRZA M, et al. Generative adversarial nets[C]. Proceedings of the 27th International Conference on Neural Information Processing Systems, Montreal, Canada, 2014: 2672–2680. [5] SABOUR S, FROSST N, and HINTON G E. Dynamic routing between capsules[C]. Proceedings of the 31st International Conference on Neural Information Processing Systems, Long Beach, USA, 2017: 3856–3866. [6] 任源, 潘俊, 刘京京, 等. 人工智能芯片的研究进展[J]. 微纳电子与智能制造, 2019, 1(2): 20–34.REN Yuan, PAN Jun, LIU Jingjing, et al. Overview of artificial intelligence chip development[J]. Micro/Nano Electronics and Intelligent Manufacturing, 2019, 1(2): 20–34. [7] 秦华标, 曹钦平. 基于FPGA的卷积神经网络硬件加速器设计[J]. 电子与信息学报, 2019, 41(11): 2599–2605. doi: 10.11999/JEIT190058QIN Huabiao and CAO Qinping. Design of convolutional neural networks hardware acceleration based on FPGA[J]. Journal of Electronics &Information Technology, 2019, 41(11): 2599–2605. doi: 10.11999/JEIT190058 [8] 韩栋, 周聖元, 支天, 等. 智能芯片的评述和展望[J]. 计算机研究与发展, 2019, 56(1): 7–22. doi: 10.7544/issn1000-1239.2019.20180693HAN Dong, ZHOU Shengyuan, ZHI Tian, et al. A survey of artificial intelligence chip[J]. Journal of Computer Research and Development, 2019, 56(1): 7–22. doi: 10.7544/issn1000-1239.2019.20180693 [9] 王巍, 周凯利, 王伊昌, 等. 基于快速滤波算法的卷积神经网络加速器设计[J]. 电子与信息学报, 2019, 41(11): 2578–2584. doi: 10.11999/JEIT190037WANG Wei, ZHOU Kaili, WANG Yichang, et al. Design of convolutional neural networks accelerator based on fast filter algorithm[J]. Journal of Electronics &Information Technology, 2019, 41(11): 2578–2584. doi: 10.11999/JEIT190037 [10] 伍家松, 达臻, 魏黎明, 等. 基于分裂基-2/(2a)FFT算法的卷积神经网络加速性能的研究[J]. 电子与信息学报, 2017, 39(2): 285–292. doi: 10.11999/JEIT160357WU Jiasong, DA Zhen, WEI Liming, et al. Acceleration performance study of convolutional neural network based on split-radix-2/(2a) FFT algorithms[J]. Journal of Electronics &Information Technology, 2017, 39(2): 285–292. doi: 10.11999/JEIT160357 [11] 张烨, 许艇, 冯定忠, 等. 基于难分样本挖掘的快速区域卷积神经网络目标检测研究[J]. 电子与信息学报, 2019, 41(6): 1496–1502. doi: 10.11999/JEIT180702ZHANG Ye, XU Ting, FENG Dingzhong, et al. Research on faster RCNN object detection based on hard example mining[J]. Journal of Electronics &Information Technology, 2019, 41(6): 1496–1502. doi: 10.11999/JEIT180702 期刊类型引用(1)
1. 孙辉,史玉龙,张健一,王蕊,王羽玥. 基于高分辨率类激活映射算法的弱监督目标实时检测. 电子与信息学报. 2024(03): 1051-1059 . 本站查看
其他类型引用(1)
-