一种基于CNN-GRU的移动应用识别方法技术

技术编号:34107209 阅读:9 留言:0更新日期:2022-07-12 00:41
本发明专利技术公开了一种基于CNN

【技术实现步骤摘要】
一种基于CNN

GRU的移动应用识别方法


[0001]本专利技术涉及一种基于CNN

GRU的移动应用识别方法,属于网络安全和深度学习


技术介绍

[0002]近年来,移动互联网已经成为人们日常生活和工作中不可或缺的重要组成部分,针对不同的移动应用类型提供差异化的QOS服务成为了网络运营部门的重要任务之一。基于隐私保护等安全目的,移动应用大多采用加密技术,这为移动应用的识别增加了挑战。因而基于密文流量的移动应用类型识别技术成为了国内外学术界和工业界的研究热点。
[0003]卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一,常用来分析视觉图像。卷积神经网络创始人是著名计算机科学家Yann LeCun,他早在上世纪80年代,第一个将卷积神经网络应用在MNIST手写数据集识别任务上。与传统的神经网络相比,卷积神经网络有三个基本概念,同时也是三个改进点,分别为局部感受野、权值共享和池化(Pooling)。
[0004]同CNN等其他神经网络模型相比,RNN的优势在于可以处理时间序列数据,训练的原理为随时间反向传播的传导机制。RNN的不足之处也很明显,它在参数学习时会造成梯度爆炸和梯度消失的现象,因此RNN无法分析序列较长的数据,只能记忆短时间的数据,也无法对长时间的序列进行预测。Hochreiter等提出了改进型的循环神经网络,长短期记忆网络,解决长期依赖问题。而长短期记忆网络参数较多,收敛速度较慢。Cho等提出了GRU。GRU在LSTM上做了简化和改进,与LSTM结构有着少量的差异。LSTM有三个门,而对于GRU,没有细胞状态,门也减少到了两个,为更新门和重置门。更新门代表前一时刻信息对当前的倾向程度,值越大代表影响越大。重置门代表前一时刻信息被无视的程度,无视的信息越多,则数值越低。这种结构在多种应用中被证实有效。结构变简单,参数变少,所以相对于LSTM,GRU在运行效率方面有了很大提高。

技术实现思路

[0005]为了解决现有技术中存在的问题,本专利技术提出了一种基于CNN

GRU的移动应用识别方法,能够克服传统机器学习方法需要进行繁琐的人工提取特征过程,并且模型的识别准确率不高的问题。
[0006]为实现上述目的,本专利技术采用的技术方案为:一种基于CNN

GRU的移动应用识别方法,采用深度学习算法对移动应用流量的空间和时序特征进行提取,来完成对移动应用的识别,包括以下步骤:
[0007]步骤1,获取移动应用数据集,得到用于移动应用识别的网络流量数据。
[0008]步骤2,对网络数据集进行预处理操作,使其保留原本语义的同时符合神经网络的输入,得到训练数据集。
[0009]步骤3,构建检测模型,检测模型包括卷积神经网络模型CNN、门控循环单元GRU、全
连接层,卷积神经网络模型CNN用于空间特征提取,门控循环单元GRU模型用于时序特征提取,最后经过全连接层输出检测结果。
[0010]整体神经网络模型包括依次连接的卷积层一C1、池化层一S1、卷积层二C2、池化层二S2、全连接层一D1、GRU1、GRU2、全连接层D2。Conv1:该卷积层的卷积核数为32,单个卷积核大小为5*5,滑动步长为1,采用Leaky Relu函数对结果进行非线性映射,输出特征的映射维数为32,经过该层后的特征映射为32*21*21。MaxPooling1:该池化层大小为2*2,滑动步长为2,采用最大池化策略,经过该层后的特征映射为32*11*11。Conv2:该卷积层的卷积核数为64,单个卷积核大小为3*3,滑动步长为1,采用Leaky Relu函数对结果进行非线性映射,经过该层后的特征映射为64*9*9。MaxPooling2:该池化层大小为2*2,滑动步长为2,采用最大池化策略,经过该层后的特征映射为64*5*5。Dense:全连接层D1的神经元个数为128个,使用Leaky Relu函数后进行dropout策略丢弃20%的特征。GRU1神经单元设置为92,dropout策略丢弃20%的特征,GRU2神经单元设置为92,dropout策略丢弃30%的特征。全连接层D2的神经元个数为128个,使用Leaky Relu函数后进行dropout策略丢弃30%的特征。softmax分类输出结果。
[0011]步骤4,利用训练数据集,对识别模型进行训练,一轮网络的训练由一次前向传导过程和一次反向传播过程组成;首先是经过整个识别模型逐层传递学习的特征值,然后给出识别模型的预测;再通过交叉熵损失函数计算出预测值与真实值之间的损失值,这是一轮前向传导;反向传播过程将根据损失值,对整个检测模型中的参数进行优化更新;最终得到训练好的识别模型,然后利用训练优化完成后的识别模型进行移动应用识别。
[0012]本专利技术利用卷积神经网络在图像处理方面的优势对移动应用流量的空间特征进行提取,利用GRU对上下文关系处理的优势对移动应用流量的时序特征进行提取,从而提高移动应用识别的准确率。
[0013]进一步的,所述步骤1中采用的移动应用数据集为自行通过wireshark捕捉得到,具有真实性。
[0014]进一步的,所述步骤2中预处理操作为对数据集中输入到卷积神经网络模型CNN中的网络数据预处理。
[0015]进一步的,所述步骤2中,对数据集中输入到卷积神经网络模型CNN中的网络数据预处理如下:对每条网络流截取前5个数据包,每个数据包取60个字节,若长度不够,则在末尾补0x00。最后转化为25x25的二维灰度图。
[0016]进一步的,所述步骤3中采用Leaky Relu()激活函数激活。本专利技术对激活函数进行改进,采用Leaky Relu()激活函数,解决神经元”死亡“问题,Leaky ReLU与ReLU很相似,仅在输入小于0的部分有差别,ReLU输入小于0的部分值都为0,而Leaky ReLU输入小于0的部分,值为负,且有微小的梯度。是一种高性能的神经网络激活函数。
[0017]进一步的,所述步骤4中使用softmax()作为分类函数。其能够将网络的输出映射成为(0,1)之间的值,并且这些值的累和为1(满足概率的性质),那么概率值最大的(也就是值对应最大的)结点,就是网络最后的预测目标。
[0018]进一步的,所述步骤4中使用交叉熵损失函数(CrossEntropyLoss)作为损失函数计算损失值。
[0019]进一步的,所述步骤4中采用Adam优化器优化。Adam优化器其本质上是带有动量项
的RMSprop,它利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。它的优点主要在于经过偏置校正后,每一次迭代学习率都有个确定的范围,使得在训练过程中参数更新比较平稳。
[0020]与现有技术相比,本专利技术的有益效果是:
[0021](1)本专利技术利用深度学习算法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于CNN

GRU的移动应用识别方法,包括以下步骤:步骤1,获取移动应用数据集,得到用于的移动应用流量数据;步骤2,对移动应用数据集进行预处理操作,使其保留原本语义的同时符合神经网络的输入,得到训练数据集;步骤3,构建检测模型,所述检测模型包括卷积神经网络模型CNN、门控循环单元GRU模型和全连接层;所述卷积神经网络模型CNN用于空间特征提取,门控循环单元GRU用于时序特征提取,经过全连接层输出检测结果;整体神经网络模型包括依次连接的卷积层一C1、池化层一S1、卷积层二C2、池化层二S2、全连接层一D1、GRU1、GRU2、全连接层D2;空间特征的学习输入为k个数据包图像,输出为网络流空间特征,即k个数据包向量。Conv1:该卷积层的卷积核数为32,单个卷积核大小为5*5,滑动步长为1,采用Relu函数对结果进行非线性映射,输出特征的映射维数为32,经过该层后的特征映射为32*21*21。MaxPooling1:该池化层大小为2*2,滑动步长为2,采用最大池化策略,经过该层后的特征映射为32*11*11;Conv2:该卷积层的卷积核数为64,单个卷积核大小为3*3,滑动步长为1,采用Relu函数对结果进行非线性映射,经过该层后的特征映射为64*9*9;MaxPooling2:该池化层大小为2*2,滑动步长为2,采用最大池化策略,经过该层后的特征映射为64*5*5。Dense:全连接层的神经元个数为128个,使用Relu函数后进行dropout策略丢弃20%的特征;卷积神经网络对每个流量数据包分别进行空间特征学习,每个数据包经过信息提取处理后进行独热编码,编码转换后得到的数据包图像经过模型卷积层和池化层的对应处理,最终得到包含数据包独有特征的向量。GRU将经过CNN输出的特征映射向量作为输入,输出网络时序特征的学习,输入为k个特征映射向量组成,输出为网络流时序特征向量。步骤4,利用训练数据集,对检测模型进行训练,一轮网络的训练由一...

【专利技术属性】
技术研发人员:王通陈丹伟
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1