CN109167680A - 一种基于深度学习的流量分类方法 - Google Patents

一种基于深度学习的流量分类方法 Download PDF

Info

Publication number
CN109167680A
CN109167680A CN201810886695.6A CN201810886695A CN109167680A CN 109167680 A CN109167680 A CN 109167680A CN 201810886695 A CN201810886695 A CN 201810886695A CN 109167680 A CN109167680 A CN 109167680A
Authority
CN
China
Prior art keywords
sample
indicate
training set
minority class
traffic classification
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
Application number
CN201810886695.6A
Other languages
English (en)
Inventor
李传煌
卢正勇
吴艳
任云方
唐豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Gongshang University
Original Assignee
Zhejiang Gongshang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Gongshang University filed Critical Zhejiang Gongshang University
Priority to CN201810886695.6A priority Critical patent/CN109167680A/zh
Publication of CN109167680A publication Critical patent/CN109167680A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本发明公开一种基于深度学习的流量分类方法,包括如下步骤:(1)将流量特征数据集分为训练集和测试集,先对训练集中的少数类样本由过采样技术SMOTE产生少数类的人工样本,并判断新生成的数据是否属于该少数类,若不属于则删除,然后将训练集中每条样本进行归一化处理与末尾补0操作;(2)使用步骤(1)处理后的训练集对神经网络模型进行训练;(3)将测试集进行归一化和补0处理,处理后输入到步骤(2)训练完成后的模型中,输出流量的类别。本发明利用隐藏层自动从数据集提取特征,并不断优化的特点,相比于传统的基于机器学习流量分类方法,该方法不但具备较高的准确性还降低了模型设计的难度。

Description

一种基于深度学习的流量分类方法
技术领域
本发明涉及网络通信技术和深度学习领域,具体涉及一种基于深度学习的流量分类方法。
背景技术
随着网络技术的快速发展以及互联网用户数量的迅速增长,导致互联网数据流量持续增长。各行各业以及个体用户每天都会产生成千上万条网络信息流量,例如文件传输、语音通话、网络游戏等,新的应用模式和需求也不断出现,造成带宽消耗急剧增加、服务质量难以保证、安全问题增多等问题,互联网中每个应用都有自己的流量行为特征,通过其特征对网络流量进行分类,以便标识并采取相应的措施,可以提高互联网的运行效率和安全性,以便最大限度满足用户需求。
网络流量指的是在一个特定时间段内,一个节点(如计算机、手机、路由器等)收到或发送的具有相同五元组(源IP地址、目的IP地址、源端口号、目的端口号和协议类型)的单向数据包。只要数据包中五个要素有一个不相同,它们就不属于同一条流。在其基础上,网络流量分类指的是对流按照其应用层的应用类型(如WWW、P2P等),对网络中存在的流进行分类。目前存在的流量分类方法主要分为三种:基于端口的流量分类方法、基于载荷的流量分类方法以及基于机器学习的流量分类方法。
基于端口的流量分类方法通过数据包包头中的端口号来区分不同的网络应用类型。在IANA(Internet Assign Number Authority)中进行了注册的应用层协议都有着对应的端口号。基于端口的流量分类就是通过分析数据包中传输层的端口号,再将其与公认的端口号进行匹配确认其应用层的协议类型。但是随着网络技术的发展,新型网络应用(如P2P)都采用随机端口的技术来进行数据传输,导致基于端口的流量分类方法准确率逐渐降低。
基于载荷的流量分类方法通过检查报文内容进行分类,在很多应用层协议的报文中,存在可以标识这些应用的特定串模式,只要能够找出每种应用的特殊模式,在一条流的内容中检测,就可以对一条流进行标识。该方法准确率高,但是报文内容在很多情况下是不被允许读取的,而且该方法复杂读高,资源消耗也大。
基于机器学习的流量分类方法不依赖匹配协议端口或解析协议内容来识别流量,它利用流量在传输过程中表现出来的流的各种统计特征区别网络应用。虽然基于机器学习的流量分类方法解决了上面两个分类方法存在的问题,但是这种方法依然面临一些需要解决的问题,如高难度的特征设计,机器学习在特征的选取上需要手工选取,特征选取的好坏,受到经验和运气的限制。
针对日益增加的流量需求,为了最大限度满足用户需求,解决现有的流量分类准确率低、资源消耗大、特征难以选取等问题,研究设计一种更加合理的流量分类策略是提高互联网的运行效率和安全性的前提。
发明内容
本发明为了克服传统基于机器学习流量分类的不足,提出了一种基于深度学习的流量分类方法。该方法结合深度学习在特征学习方面的优势,利用隐藏层自动从数据集提取特征,并不断优化的特点,相比于传统的基于机器学习流量分类方法,该方法不但具备较高的准确性还降低了模型设计的难度。
本发明解决技术问题所采用的技术方案如下:一种基于深度学习的流量分类方法,该方法包括如下步骤:
(1)将流量特征数据集分为训练集和测试集,先对训练集中的少数类样本由过采样技术SMOTE产生少数类的人工样本,并判断新生成的数据是否属于该少数类,若不属于则删除,然后将训练集中每条样本进行归一化处理与末尾补0操作;
(2)使用步骤(1)处理后的训练集对神经网络模型进行训练;
(3)将测试集进行归一化和补0处理,处理后输入到步骤(2)训练完成后的模型中,输出流量的类别。
进一步的,所述步骤(1)具体如下:
(1)对于训练集,判断是否为少数类样本,对于少数类中每一个样本x,以欧氏距离为标准计算它到少数类样本集中所有样本的距离,得到其k近邻,不是少数类样本的直接到步骤(5);
(2)根据样本不平衡比例设置一个采样比例以确定采样倍率N,对于每一个少数类样本x,从其k近邻中随机选择若干个样本,组成集合Xn
(3)对于每一个随机近邻样本分别与样本x按照构建新的样本x’;
(4)将每个新生成的数据以欧式距离为标准计算它到所有样本的距离,得到其k邻近,若其k邻近的多数类不是生成该数据的少数类,则删除该数据;
(5)将训练集X中每条样本按公式进行归一化处理,公式为
(6)对训练集中单个样本末尾进行补0操作,填充样本特征序列。
进一步的,所述神经网络模型采用LeNet-5模型。
进一步的,所述LeNet-5模型通过以下方法训练得到:
(1)训练集X,单个样本是一个二维矩阵;
(2)根据计算当前卷积层的特征,其中表示第l层的第j个输出,Mj表示第j个卷积核对应的卷积窗口,表示第l-1层的第i个输出,表示第l层第ij个卷积核,表示第l层第j个偏置量,f(·)为激活函数;
(3)根据在池化层对输入特征采样降低维度,表示第l层的第j个输出,表示第l层的第j个权值,down(·)表示次采样函数;
(4)在全连接层将输入的二维特征转换成一维特征,并在其后面加入dropout,对神经网络单元,按照设定的概率将其暂时从网络中丢弃;
(5)根据将学习到的特征进行分类,其中yi表示xi对应的概率,xi表示第i个输出,xj表示第j个输出;
(6)使用yi与实际标签yi’计算损失函数优化神经网络参数,训练得到LeNet-5模型。
与现有技术相比,本发明的有益效果如下:使用SMOTE方法增大训练数据集样本,对新生成的数据集进行k邻近,能减少错误数据生成的可能,能保证对各类流量的识别准确度,并有效防止模型过拟合现象的产生,构建具有多个隐藏层的神经网络模型,通过训练数据,能自动学习有用的特征,提高了流量分类的准确性,并大大降低了模型设计的难度。
附图说明
图1为总体结构图;
图2为样本处理流程图;
图3为LeNet-5模型图。
具体实施方式
下面结合附图详细说明本发明。
针对现有的基于机器学习的流量分类方法,本发明尝试将深度学习应用到流量分类。利用神经网络隐藏层自动从数据集提取特征,并不断优化的特点,利用数据集训练深度学习模型,确定模型的参数,将流量特征输入已经训练好的模型后,模型能够输出流量的类型,该方法不但具备较高的准确性还降低了模型设计的难度。
本发明提供的一种基于深度学习的流量分类方法在处理训练数据集上利用SMOTE采样技术,当训练数据集每类样本不在同一数量级上时,相比于传统的过采样技术,传统的过采样数据集中会反复出现相同的样本,从而导致过拟合,SMOTE采样技术可以解决这个问题。
如图1所示,本发明提供一种基于深度学习的流量分类方法,该方法包括如下步骤:
(1)将流量特征数据集分为训练集和测试集,先对训练集中的少数类样本由过采样技术SMOTE产生少数类的人工样本,并判断新生成的数据是否属于该少数类,若不属于则删除,然后将训练集中每条样本进行归一化处理与末尾补0操作;
(2)使用步骤(1)处理后的训练集对神经网络模型进行训练;
(3)将测试集进行归一化和补0处理,处理后输入到步骤(2)训练完成后的模型中,输出流量的类别。
如图2所示,本发明选取Moore数据集作为训练集和测试集,数据集中每条流量数据包含248个流量特征,一共分为十个流量类别:WWW、MAIL、BULK、DATABASE、SERVICES、P2P、ATTACK、MUITIMEDIA、INTERACTIVE、GAME,每类中可能包含多种应用,根据QoS等级重新划分为Moore数据集,首先删除不需要的ATTACK类,然后将剩下的九类按其所属的QoS等级进行分类,得到的新数据集包含四类:背景类:BULK、MAIL;交互类:WWW、DATABASE、P2P、INTERACTIVE、GAME;流类:MUITIMEDIA;会话类:SERVICES。且由于Moore数据集总样本数低于百万,属于小数据集,一般将训练集和测试集划为7:3。
对于训练集中的少数样本采用SMOTE方法进行扩充,使其在数量级上与多数样本保持一致,并判断新生成的数据是否属于该少数类,若不属于则删除,再对每个样本进行归一化处理,由于卷积神经网络输入格式为n×m的二维矩阵,对每条样本末尾进行补0操作使其转化为16×16的二维矩阵;对多数类的样本则直接进行归一化和补0处理;具体如下:
(1)对于训练数据集,判断是否为少数类样本,对于少数类中每一个样本x,以欧氏距离为标准计算它到该少数类样本集中所有样本的距离,得到其k近邻,不是少数类样本的直接到步骤(5);
(2)根据样本不平衡比例设置一个采样比例以确定采样倍率N,对于每一个少数类样本x,从其k近邻中随机选择若干个样本,组成集合Xn
(3)对于每一个随机近邻样本分别与样本x按照公式构建新的样本x’,公式为
(4)将每个新生成的数据以欧式距离为标准计算它到所有样本的距离,得到其k邻近,若其k邻近的多数类不是生成该数据的少数类,则删除该数据。
(5)将X中每条样本按公式进行归一化处理,公式为
(6)对数据集中单个样本末尾进行补0操作,填充样本特征序列。
如图3所示,神经网络模型采用LeNet-5模型,该训练过程包含如下步骤:
(1)训练集X,单个样本是一个二维矩阵;
(2)根据计算当前卷积层的特征,其中表示第l层的第j个输出,Mj表示第j个卷积核对应的卷积窗口,表示第l-1层的第i个输出,表示第l层第ij个卷积核,表示第l层第j个偏置量,f(·)为激活函数;
(3)根据在池化层对输入特征采样降低维度,表示第l层的第j个输出,表示第l层的第j个权值,down(·)表示次采样函数;
(4)在全连接层将输入的二维特征转换成一维特征,并在其后面加入dropout,对神经网络单元,按照设定的概率将其暂时从网络中丢弃;
(5)根据将学习到的特征进行分类,其中yi表示xi对应的概率,xi表示第i个输出,xj表示第j个输出;
(6)使用yi与实际标签yi’计算损失函数优化神经网络参数,训练得到LeNet-5模型。
设置LeNet-5模型的一些超参数:迭代次数为10、批次大小为64、学习率为0.001、C1卷积层卷积核的数量和卷积核的大小为16个3×3、S2池化层采样窗口为2×2、C3卷积层卷积核的数量和卷积核的大小为32个5×5、S4池化层采样窗口为2×2、C5为256个4×4卷积核的全连接层,dropout值为0.5,输出层为一个四类的softmax分类器。将训练集输入LeNet-5模型,训练模型,优化参数。
模型训练完成后,将测试集进行归一化和补0处理,并输入已经训练好的LeNet-5模型中,模型能够输出其分类结果。最后模型分类结果的准确率为:背景类为99.2852%,流类为99.7737%,交互类为98.8439%,会话类为99.3651%。

Claims (4)

1.一种基于深度学习的流量分类方法,其特征在于,该方法包括如下步骤:
(1)将流量特征数据集分为训练集和测试集,先对训练集中的少数类样本由过采样技术SMOTE产生少数类的人工样本,并判断新生成的数据是否属于该少数类,若不属于则删除,然后将训练集中每条样本进行归一化处理与末尾补0操作;
(2)使用步骤(1)处理后的训练集对神经网络模型进行训练;
(3)将测试集进行归一化和补0处理,处理后输入到步骤(2)训练完成后的模型中,输出流量的类别。
2.根据权利要求1所述的一种基于深度学习的流量分类方法,其特征在于,所述步骤(1)具体如下:
(1)对于训练集,判断是否为少数类样本,对于少数类中每一个样本x,以欧氏距离为标准计算它到少数类样本集中所有样本的距离,得到其k近邻,不是少数类样本的直接到步骤(5);
(2)根据样本不平衡比例设置一个采样比例以确定采样倍率N,对于每一个少数类样本x,从其k近邻中随机选择若干个样本,组成集合Xn
(3)对于每一个随机近邻样本分别与样本x按照构建新的样本x’;
(4)将每个新生成的数据以欧式距离为标准计算它到所有样本的距离,得到其k邻近,若其k邻近的多数类不是生成该数据的少数类,则删除该数据;
(5)将训练集X中每条样本按公式进行归一化处理,公式为
(6)对训练集中单个样本末尾进行补0操作,填充样本特征序列。
3.根据权利要求2所述的一种基于深度学习的流量分类方法,其特征在于,所述神经网络模型采用LeNet-5模型。
4.根据权利要求3所述的一种基于深度学习的流量分类方法,其特征在于,所述LeNet-5模型通过以下方法训练得到:
(1)训练集X,单个样本是一个二维矩阵;
(2)根据计算当前卷积层的特征,其中表示第l层的第j个输出,Mj表示第j个卷积核对应的卷积窗口,表示第l‐1层的第i个输出,表示第l层第ij个卷积核,表示第l层第j个偏置量,f(·)为激活函数;
(3)根据在池化层对输入特征采样降低维度,表示第l层的第j个输出,表示第l层的第j个权值,down(·)表示次采样函数;
(4)在全连接层将输入的二维特征转换成一维特征,并在其后面加入dropout,对神经网络单元,按照设定的概率将其暂时从网络中丢弃;
(5)根据将学习到的特征进行分类,其中yi表示xi对应的概率,xi表示第i个输出,xj表示第j个输出;
(6)使用yi与实际标签yi’计算损失函数优化神经网络参数,训练得到LeNet-5模型。
CN201810886695.6A 2018-08-06 2018-08-06 一种基于深度学习的流量分类方法 Pending CN109167680A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810886695.6A CN109167680A (zh) 2018-08-06 2018-08-06 一种基于深度学习的流量分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810886695.6A CN109167680A (zh) 2018-08-06 2018-08-06 一种基于深度学习的流量分类方法

Publications (1)

Publication Number Publication Date
CN109167680A true CN109167680A (zh) 2019-01-08

Family

ID=64895142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810886695.6A Pending CN109167680A (zh) 2018-08-06 2018-08-06 一种基于深度学习的流量分类方法

Country Status (1)

Country Link
CN (1) CN109167680A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109802868A (zh) * 2019-01-10 2019-05-24 中山大学 一种基于云计算的移动应用实时识别方法
CN111159250A (zh) * 2019-12-19 2020-05-15 电子科技大学 基于嵌套式深度孪生神经网络的移动端用户行为检测方法
CN111817981A (zh) * 2020-07-01 2020-10-23 黄东 一种基于深度学习的网络流量分类方法
CN111817971A (zh) * 2020-06-12 2020-10-23 东南大学 一种基于深度学习的数据中心网络流量拼接方法
CN112613536A (zh) * 2020-12-08 2021-04-06 燕山大学 一种基于smote和深度学习的近红外光谱柴油牌号识别方法
WO2021103135A1 (zh) * 2019-11-25 2021-06-03 中国科学院深圳先进技术研究院 一种基于深度神经网络的流量分类方法、系统及电子设备
CN113033614A (zh) * 2021-02-27 2021-06-25 中国人民解放军战略支援部队信息工程大学 网络流量数据处理方法及系统
CN113408707A (zh) * 2021-07-05 2021-09-17 哈尔滨理工大学 一种基于深度学习的网络加密流量识别方法
CN113556328A (zh) * 2021-06-30 2021-10-26 杭州电子科技大学 基于深度学习的加密流量分类方法
CN113723440A (zh) * 2021-06-17 2021-11-30 北京工业大学 一种云平台上加密tls应用流量分类方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402690A (zh) * 2011-09-28 2012-04-04 南京师范大学 基于直觉模糊集成的数据分类方法与系统
CN103941131A (zh) * 2014-05-14 2014-07-23 国家电网公司 基于精简集约简不均衡svm变压器故障检测方法
CN106201897A (zh) * 2016-07-26 2016-12-07 南京航空航天大学 基于主成分分布函数的软件缺陷预测不平衡数据处理方法
CN107563422A (zh) * 2017-08-23 2018-01-09 西安电子科技大学 一种基于半监督卷积神经网络的极化sar分类方法
CN107958271A (zh) * 2017-12-06 2018-04-24 电子科技大学 基于膨胀卷积的多尺度特征的皮肤病变深度学习识别系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402690A (zh) * 2011-09-28 2012-04-04 南京师范大学 基于直觉模糊集成的数据分类方法与系统
CN103941131A (zh) * 2014-05-14 2014-07-23 国家电网公司 基于精简集约简不均衡svm变压器故障检测方法
CN106201897A (zh) * 2016-07-26 2016-12-07 南京航空航天大学 基于主成分分布函数的软件缺陷预测不平衡数据处理方法
CN107563422A (zh) * 2017-08-23 2018-01-09 西安电子科技大学 一种基于半监督卷积神经网络的极化sar分类方法
CN107958271A (zh) * 2017-12-06 2018-04-24 电子科技大学 基于膨胀卷积的多尺度特征的皮肤病变深度学习识别系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王勇 等: "基于深度卷积神经网络的网络流量分类方法", 《通信学报》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109802868B (zh) * 2019-01-10 2022-05-06 中山大学 一种基于云计算的移动应用实时识别方法
CN109802868A (zh) * 2019-01-10 2019-05-24 中山大学 一种基于云计算的移动应用实时识别方法
WO2021103135A1 (zh) * 2019-11-25 2021-06-03 中国科学院深圳先进技术研究院 一种基于深度神经网络的流量分类方法、系统及电子设备
CN111159250A (zh) * 2019-12-19 2020-05-15 电子科技大学 基于嵌套式深度孪生神经网络的移动端用户行为检测方法
CN111159250B (zh) * 2019-12-19 2023-02-21 电子科技大学 基于嵌套式深度孪生神经网络的移动端用户行为检测方法
CN111817971A (zh) * 2020-06-12 2020-10-23 东南大学 一种基于深度学习的数据中心网络流量拼接方法
CN111817981A (zh) * 2020-07-01 2020-10-23 黄东 一种基于深度学习的网络流量分类方法
CN112613536A (zh) * 2020-12-08 2021-04-06 燕山大学 一种基于smote和深度学习的近红外光谱柴油牌号识别方法
CN113033614A (zh) * 2021-02-27 2021-06-25 中国人民解放军战略支援部队信息工程大学 网络流量数据处理方法及系统
CN113723440A (zh) * 2021-06-17 2021-11-30 北京工业大学 一种云平台上加密tls应用流量分类方法及系统
CN113723440B (zh) * 2021-06-17 2024-05-07 北京工业大学 一种云平台上加密tls应用流量分类方法及系统
CN113556328A (zh) * 2021-06-30 2021-10-26 杭州电子科技大学 基于深度学习的加密流量分类方法
CN113408707A (zh) * 2021-07-05 2021-09-17 哈尔滨理工大学 一种基于深度学习的网络加密流量识别方法

Similar Documents

Publication Publication Date Title
CN109167680A (zh) 一种基于深度学习的流量分类方法
CN109063777A (zh) 网络流量分类方法、装置及实现装置
Narayan et al. Large-scale curvature of networks
CN110189167B (zh) 一种基于异构图嵌入的移动广告欺诈检测方法
CN102035698B (zh) 基于决策树分类算法的http隧道检测方法
CN101841440B (zh) 基于支持向量机与深层包检测的对等网络流量识别方法
CN108900432A (zh) 一种基于网络流行为的内容感知方法
CN107181724A (zh) 一种协同流的识别方法、系统以及使用该方法的服务器
CN108540338B (zh) 基于深度循环神经网络的应用层通信协议识别的方法
CN103414711B (zh) 基于信任的网络群体异常感知方法
CN107846392A (zh) 一种基于改进协同训练‑adbn的入侵检测算法
CN107896160A (zh) 一种基于分布式系统的数据中心网络流量建模方法
CN101714952A (zh) 一种接入网的流量识别方法和装置
WO2015154484A1 (zh) 流量数据分类方法及装置
CN104077412B (zh) 一种基于多Markov链的微博用户兴趣预测方法
CN113422695B (zh) 一种提高物联网拓扑结构鲁棒性能的优化方法
CN104866558A (zh) 一种社交网络账号映射模型训练方法及映射方法和系统
CN106161209A (zh) 一种基于深度自学习的垃圾短信过滤方法及系统
CN108234452B (zh) 一种网络数据包多层协议识别的系统和方法
CN108737290A (zh) 基于负载映射与随机森林的非加密流量识别方法
CN105516020A (zh) 一种基于本体知识推理的并行网络流量分类方法
CN106095921A (zh) 面向海量数据流的实时并行分类方法
CN115775026A (zh) 一种基于组织相似度的联邦学习方法
CN107015993A (zh) 一种用户类型识别方法及装置
Liu et al. Dynamic traffic classification algorithm and simulation of energy Internet of things based on machine learning

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190108