一种神经网络的处理方法及相关设备与流程

文档序号:29614740发布日期:2022-04-13 11:04阅读:64来源:国知局
一种神经网络的处理方法及相关设备与流程

1.本技术涉及人工智能领域,尤其涉及一种神经网络的处理方法及相关设备。


背景技术:

2.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,ai基础理论等。
3.目前,在ai领域中,基于深度神经网络(deepneural network,dnn)的网络异常流量检测方法是一种较为通用的网络异常流量检测方案。其中,基于dnn的异常流量检测方法中,首先获取训练数据集,利用训练数据集训练dnn模型,然后使用训练后的dnn模型对流量进行检测。
4.然而,上述基于深度学习的网络异常流量检测方法中,对数据的特征提取不够充分,并且通常存在较高的误报率,导致检测效果较差。


技术实现要素:

5.本技术实施例提供了一种神经网络的处理方法及相关设备,用于提升检测模型在检测过程中的检测成功率的同时,降低检测过程的误报率,提升模型的检测效果。
6.本技术实施例第一方面提供了一种神经网络的处理方法,该方法可以应用于神经网络预测模型的训练过程中,在该方法中,服务器获取训练数据,然后,该服务器根据n个卷积核分别对该训练数据进行特征提取,得到与该训练数据对应的第一卷积特征,该n大于1;最后,该服务器利用该第一卷积特征输入预设的第一训练网络,训练得到第一检测模型。其中,服务器根据n个卷积核分别对训练数据进行特征提取得到训练数据对应的第一卷积特征,并将该第一卷积特征输入预设的第一训练网络,训练得到第一检测模型,其中,n大于1,即在第一训练网络中,进行训练得到第一检测模型的输入数据,由多个卷积特征分别对训练数据进行特征提取得到,能够获得表征训练数据的更多的有效信息,使得对训练数据的特征提取较为充分,可以提升检测模型在检测过程中的检测成功率的同时,降低检测过程的误报率,提升模型的检测效果。
7.在第一方面的一种可能实现方式中,服务器在利用该第一卷积特征输入预设的第一训练网络,训练得到第一检测模型之后,该方法还包括:服务器利用该第一卷积特征输入该第一检测模型,处理得到初始检测结果之后,该服务器利用该初始检测结果输入预设的第二训练网络,训练得到第二检测模型。
8.本实施例中,在得到第一检测模型之后,服务器可以将第一卷积特征输入到第一
检测模型得到训练数据对应的初始检测结果,然后将该初始检测结果输入预设的第二训练网络,训练得到第二检测模型。即进一步根据第一卷积特征在第一检测模型对应的初始检测结果,进行训练得到第二检测模型,由于第一卷积特征由多个卷积特征分别对训练数据进行特征提取得到,能够获得表征训练数据的更多的有效信息,使得第二检测模型可以对训练数据进行综合判定,进而提升第二检测模型的检测效果。
9.在第一方面的一种可能实现方式中,该方法还包括:服务器获取待预测数据;然后,服务器根据该n个卷积核分别对该待预测数据进行特征提取,得到与该待预测数据对应的目标卷积特征;此后,利用该目标卷积特征输入该第一检测模型,处理得到第一检测结果;并进一步利用该第一检测结果输入该第二检测模型,处理得到第二检测结果。
10.本实施例中,在得到第一检测模型和第二检测模型之后,可以使用第一检测模型和第二检测模型对待预测数据进行预测,其中,第一检测模型中的输入数据为目标卷积特征,而目标卷积特征由多个卷积特征分别对训练数据进行特征提取得到,能够获得表征待预测数据的更多的有效信息,使得对待预测数据的特征提取较为充分,可以提升第一检测模型和第二监测模型在检测过程中的检测成功率的同时,降低检测过程的误报率,提升模型的检测效果。
11.在第一方面的一种可能实现方式中,该第一检测结果包括该目标卷积特征对应的序列特征,以及该目标卷积特征对应的检测结果。
12.本实施例中,利用该目标卷积特征输入该第一检测模型,处理得到的第一检测结果包括目标卷积特征对应的序列特征,以及该目标卷积特征对应的检测结果,即后续第二检测模型的输入包括目标卷积特征对应的序列特征以及该目标卷积特征对应的检测结果,使得第二检测模型对于待检测数据给出的判定结果以及所学习到的序列特征对待检测数据进行综合判定,可以进一步提升第二检测模型对该待预测数据的检测效果。
13.在第一方面的一种可能实现方式中,该初始检测结果包括该第一卷积特征对应的序列特征,以及该第一卷积特征对应的检测结果。
14.本实施例中,服务器利用该第一卷积特征输入该第一检测模型,处理得到初始检测结果包括第一卷积特征对应的序列特征,以及该第一卷积特征对应的检测结果,即该服务器输入到第二检测模型的训练数据包括第一卷积特征对应的序列特征,以及该第一卷积特征对应的检测结果,使得第二检测模型对于待检测数据给出的判定结果以及所学习到的序列特征对待检测数据进行综合训练,可以进一步提升后续第二检测模型在检测过程的检测效果。
15.在第一方面的一种可能实现方式中,该第一检测模型的模型类型为长短期记忆网络lstm。
16.本实施例中,第一检测模型的模型类型可以为lstm,其中,lstm的主要特征是通过特殊的网络结构设计来避免常规循环神经网络的梯度小时问题,适合于处理和预测时间序列中间隔和延迟相对较长的事件,即使用lstm可以使得预设的第一检测网络可以学习得到训练数据更为充分的数据特征,进一步提升第一检测模型的检测效果。
17.在第一方面的一种可能实现方式中,该第二检测模型的模型类型为多层感知机mlp。
18.在第一方面的一种可能实现方式中,该第一卷积特征包括n个卷积特征,且该n个
卷积特征与该n个卷积核一一对应;该预设的第一训练网络包括n个训练网络,且该第一检测模型包括n个检测模型。
19.本实施例中,在第一卷积特征包括与n个卷积核一一对应的n个卷积特征时,可以将n个卷积特征分别输入至n个训练网络进行训练得到n个检测模型,即可以根据n个训练网络分别对n个不同的卷积特征进行训练得到对应的n个检测模型,提供了第一检测模型实现的一种具体的实现方式,提升方案的可实现性。
20.在第一方面的一种可能实现方式中,该第二检测模型包括以下方式:
21.o
l
=σ(w
l
·ol-1
+b
l
)
22.其中,l表示模型的第l层,σ表示激活函数,w表示权重矩阵,b表示偏置向量,o
l
表示当前网络层的输出,o
l-1
表示当前网络层的上一层的输出。
23.本实施例中,o
l-1
的初始值即o0的取值可以为第一检测结果和/或初始检测结果,从而,提供了第二检测模型实现的所包含的一种具体的实现方式,提升方案的可实现性。
24.在第一方面的一种可能实现方式中,该第二检测模型的损失函数包括交叉熵(cross entropy)损失函数,该交叉熵损失函数包括以下方式:
25.cross_entropy=-[y
i log(y
′i)+(1-yi)log(1-y
′i)]
[0026]
其中,i表示训练数据和/或待预测数据中数据包的编号,y
′i表示所述第二检测模型对于训练数据和/或待预测数据中第i个数据包的判定标签,yi表示训练数据和/或待预测数据中第i个数据包真实的标签。
[0027]
本实施例中,提供了第二检测模型对应的损失函数的一种具体实现方式,提升方案的可实现性。
[0028]
在第一方面的一种可能实现方式中,该第一卷积特征的维度为一维。
[0029]
本实施例中,由于待检测数据之间相近字符间存在一定的相关性,从而,第一卷积特征的维度可以为一维进行实现,可以避免跨越多个字符后导致该相关性变弱的情况产生。类似的,目标卷积特征的维度也可以为一维。
[0030]
在第一方面的一种可能实现方式中,该训练数据包括流量数据包或流量日志。
[0031]
本实施例中,训练数据可以为网络流量检测领域中,所对应的流量数据包或者流量日志,从而,提供了训练数据的一种具体的实现方式,提升方案的可实现性。类似的,待预测数据也可以包括流量数据包或流量日志。
[0032]
在第一方面的一种可能实现方式中,该训练数据包括有效载荷和/或消息体。
[0033]
本实施例中,训练数据可以包括流量数据包中的有效载荷和/或消息体,或流量日志包中的有效载荷和/或消息体,从而,提供了训练数据的一种具体的实现方式,提升方案的可实现性。类似的,待预测数据也可以包括有效载荷和/或消息体。
[0034]
本技术实施例第二方面提供了一种神经网络的处理方法,可以应用于神经网络的预测过程中,在该方法中,服务器获取待预测数据;然后,该服务器根据n个卷积核分别对该待预测数据进行特征提取,得到与该待预测数据对应的目标卷积特征,该n大于1;最后,该服务器利用该目标卷积特征输入第一检测模型,处理得到第一检测结果。其中,服务器根据n个卷积核分别对待预测数据进行特征提取得到待预测数据对应的目标卷积特征,并将该目标卷积特征输入第一检测模型,得到第一检测结果,其中,n大于1,即在第一检测模型的输入数据由多个卷积特征分别对待预测数据进行特征提取得到,能够获得表征待预测数据
的更多的有效信息,使得对待预测数据的特征提取较为充分,可以提升第一检测模型在检测过程中的检测成功率的同时,降低检测过程的误报率,提升模型的检测效果。
[0035]
在第二方面的一种可能实现方式中,服务器利用该目标卷积特征输入第一检测模型,处理得到第一检测结果之后,该方法还包括:服务器利用该第一检测结果输入第二检测模型,处理得到第二检测结果。
[0036]
本实施例中,在第一检测模型中得到目标卷积特征对应的第一检测结果之后,可以利用该第一检测结果在第二检测模型中处理得到第二检测结果,由于目标卷积特征由多个卷积特征分别对待预测数据进行特征提取得到,能够获得表征待预测数据的更多的有效信息,使得第二检测模型可以对待预测数据进行综合判定,进而提升第二检测模型对待预测数据的检测效果。
[0037]
在第二方面的一种可能实现方式中,该第一检测结果包括该目标卷积特征对应的序列特征,以及该目标卷积特征对应的检测结果。
[0038]
本实施例中,利用该目标卷积特征输入该第一检测模型,处理得到的第一检测结果包括目标卷积特征对应的序列特征,以及该目标卷积特征对应的检测结果,即后续第二检测模型的输入包括目标卷积特征对应的序列特征以及该目标卷积特征对应的检测结果,使得第二检测模型对于待检测数据给出的判定结果以及所学习到的序列特征对待检测数据进行综合判定,可以进一步提升第二检测模型对该待预测数据的检测效果。
[0039]
在第二方面的一种可能实现方式中,该第一检测模型的模型类型为长短期记忆网络lstm。
[0040]
本实施例中,第一检测模型的模型类型可以为lstm,其中,lstm的主要特征是通过特殊的网络结构设计来避免常规循环神经网络的梯度小时问题,适合于处理和预测时间序列中间隔和延迟相对较长的事件,即使用lstm可以使得预设的第一检测网络可以学习得到训练数据更为充分的数据特征,进一步提升第一检测模型的检测效果。
[0041]
在第一方面的一种可能实现方式中,该第二检测模型的模型类型为多层感知机mlp。
[0042]
在第二方面的一种可能实现方式中,该目标卷积特征包括n个卷积特征,且该n个卷积特征与该n个卷积核一一对应;其中,该第一检测模型包括n个检测模型。
[0043]
本实施例中,在第一卷积特征包括与n个卷积核一一对应的n个卷积特征时,可以将n个卷积特征分别输入至n个训练网络进行训练得到n个检测模型,即可以根据n个训练网络分别对n个不同的卷积特征进行训练得到对应的n个检测模型,提供了第一检测模型实现的一种具体的实现方式,提升方案的可实现性。
[0044]
在第二方面的一种可能实现方式中,该第二检测模型包括以下方式:
[0045]ol
=σ(w
l
·ol-1
+b
l
)
[0046]
其中,l表示模型的第l层,σ表示激活函数,w表示权重矩阵,b表示偏置向量,o
l
表示当前网络层的输出,o
l-1
表示当前网络层的上一层的输出。
[0047]
本实施例中,o
l-1
的初始值即o0的取值可以为第一检测结果和/或初始检测结果,从而,提供了第二检测模型实现的所包含的一种具体的实现方式,提升方案的可实现性。
[0048]
在第二方面的一种可能实现方式中,该第二检测模型的损失函数包括交叉熵(cross entropy)损失函数,该交叉熵损失函数包括以下方式:
[0049]
cross_entropy=-[yilog(y
′i)+(1-yi)1og(1-y
′i)]
[0050]
其中,i表示训练数据和/或待预测数据中数据包的编号,y
′i表示所述第二检测模型对于训练数据和/或待预测数据中第i个数据包的判定标签,yi表示训练数据和/或待预测数据中第i个数据包真实的标签。
[0051]
本实施例中,提供了第二检测模型对应的损失函数的一种具体实现方式,提升方案的可实现性。
[0052]
在第二方面的一种可能实现方式中,该目标卷积特征的维度为一维。
[0053]
本实施例中,由于待检测数据之间相近字符间存在一定的相关性,从而,第一卷积特征的维度可以为一维进行实现,可以避免跨越多个字符后导致该相关性变弱的情况产生。
[0054]
在第二方面的一种可能实现方式中,该待预测数据包括流量数据包或流量日志。
[0055]
本实施例中,训练数据可以为网络流量检测领域中,所对应的流量数据包或者流量日志,从而,提供了训练数据的一种具体的实现方式,提升方案的可实现性。类似的,待预测数据也可以包括流量数据包或流量日志。
[0056]
本技术实施例第三方面提供了一种神经网络的处理装置,其特征在于,包括:
[0057]
获取单元,用于获取训练数据;
[0058]
特征提取单元,用于根据n个卷积核分别对该训练数据进行特征提取,得到与该训练数据对应的第一卷积特征,该n大于1;
[0059]
训练单元,用于利用该第一卷积特征输入预设的第一训练网络,训练得到第一检测模型。
[0060]
本实施例中,特征提取单元根据n个卷积核分别对训练数据进行特征提取得到训练数据对应的第一卷积特征,并将该第一卷积特征输入预设的第一训练网络,训练单元训练得到第一检测模型,其中,n大于1,即在第一训练网络中,进行训练得到第一检测模型的输入数据,由多个卷积特征分别对训练数据进行特征提取得到,能够获得表征训练数据的更多的有效信息,使得对训练数据的特征提取较为充分,可以提升检测模型在检测过程中的检测成功率的同时,降低检测过程的误报率,提升模型的检测效果。
[0061]
在第三方面的一种可能实现方式中,该装置还包括处理单元;
[0062]
该处理单元,还用于利用该第一卷积特征输入该第一检测模型,处理得到初始检测结果;
[0063]
该训练单元,还用于利用该初始检测结果输入预设的第二训练网络,训练得到第二检测模型。
[0064]
在第三方面的一种可能实现方式中,
[0065]
该获取单元,还用于获取待预测数据;
[0066]
该特征提取单元,还用于根据该n个卷积核分别对该待预测数据进行特征提取,得到与该待预测数据对应的目标卷积特征;
[0067]
该处理单元,还用于利用该目标卷积特征输入该第一检测模型,处理得到第一检测结果;
[0068]
该处理单元,还用于利用该第一检测结果输入该第二检测模型,处理得到第二检测结果。
[0069]
在第三方面的一种可能实现方式中,该第一检测结果包括该目标卷积特征对应的序列特征,以及该目标卷积特征对应的检测结果。
[0070]
在第三方面的一种可能实现方式中,该初始检测结果包括该第一卷积特征对应的序列特征,以及该第一卷积特征对应的检测结果。
[0071]
在第三方面的一种可能实现方式中,该第二检测模型包括以下方式:
[0072]ol
=σ(w
l
·ol-1
+b
l
)
[0073]
其中,l表示模型的第l层,σ表示激活函数,w表示权重矩阵,b表示偏置向量,o
l
表示当前网络层的输出,o
l-1
表示当前网络层的上一层的输出。
[0074]
本实施例中,o
l-1
的初始值即o0的取值可以为第一检测结果和/或初始检测结果,从而,提供了第二检测模型实现的所包含的一种具体的实现方式,提升方案的可实现性。
[0075]
在第三方面的一种可能实现方式中,该第二检测模型的损失函数包括交叉熵(cross entropy)损失函数,该交叉熵损失函数包括以下方式:
[0076]
cross_entropy=-[y
i log(y
′i)+(1-yi)log(1-y
′i)]
[0077]
其中,i表示训练数据和/或待预测数据中数据包的编号,y

i表示所述第二检测模型对于训练数据和/或待预测数据中第i个数据包的判定标签,yi表示训练数据和/或待预测数据中第i个数据包真实的标签。
[0078]
本实施例中,提供了第二检测模型对应的损失函数的一种具体实现方式,提升方案的可实现性。
[0079]
在第三方面的一种可能实现方式中,该第一检测模型的模型类型为长短期记忆网络lstm。
[0080]
在第三方面的一种可能实现方式中,该第二检测模型的模型类型为多层感知机mlp。
[0081]
在第三方面的一种可能实现方式中,该第一卷积特征包括n个卷积特征,且该n个卷积特征与该n个卷积核一一对应;
[0082]
该预设的第一训练网络包括n个训练网络,且该第一检测模型包括n个检测模型。
[0083]
在第三方面的一种可能实现方式中,该第一卷积特征的维度为一维。
[0084]
在第三方面的一种可能实现方式中,该训练数据包括流量数据包或流量日志。
[0085]
在第三方面的一种可能实现方式中,该训练数据包括有效载荷和/或消息体。
[0086]
本技术第三方面中,神经网络的处理装置的组成模块还可以用于执行第一方面的各个可能实现方式中所执行的步骤,具体均可以参阅第一方面,此处不再赘述。
[0087]
本技术实施例第四方面提供了一种神经网络的处理装置,其特征在于,包括:
[0088]
获取单元,用于获取待预测数据;
[0089]
特征提取单元,用于根据n个卷积核分别对该待预测数据进行特征提取,得到与该待预测数据对应的目标卷积特征,该n大于1;
[0090]
处理单元,用于利用该目标卷积特征输入第一检测模型,处理得到第一检测结果。
[0091]
本实施例中,特征提取单元根据n个卷积核分别对待预测数据进行特征提取得到待预测数据对应的目标卷积特征,并将该目标卷积特征输入第一检测模型,处理单元进行处理得到第一检测结果,其中,n大于1,即在第一检测模型的输入数据由多个卷积特征分别对待预测数据进行特征提取得到,能够获得表征待预测数据的更多的有效信息,使得对待
预测数据的特征提取较为充分,可以提升第一检测模型在检测过程中的检测成功率的同时,降低检测过程的误报率,提升模型的检测效果。
[0092]
在第四方面的一种可能实现方式中,该处理单元还用于:
[0093]
利用该第一检测结果输入第二检测模型,处理得到第二检测结果。
[0094]
在第四方面的一种可能实现方式中,该第一检测结果包括该目标卷积特征对应的序列特征,以及该目标卷积特征对应的检测结果。
[0095]
在第四方面的一种可能实现方式中,该第一检测模型的模型类型为长短期记忆网络lstm。
[0096]
在第四方面的一种可能实现方式中,该第二检测模型的模型类型为多层感知机mlp。
[0097]
在第四方面的一种可能实现方式中,该目标卷积特征包括n个卷积特征,且该n个卷积特征与该n个卷积核一一对应;
[0098]
该第一检测模型包括n个检测模型。
[0099]
在第四方面的一种可能实现方式中,该第二检测模型包括以下方式:
[0100]ol
=σ(w
l
·ol-1
+b
l
)
[0101]
其中,l表示模型的第l层,σ表示激活函数,w表示权重矩阵,b表示偏置向量,o
l
表示当前网络层的输出,o
l-1
表示当前网络层的上一层的输出。
[0102]
本实施例中,o
l-1
的初始值即o0的取值可以为第一检测结果和/或初始检测结果,从而,提供了第二检测模型实现的所包含的一种具体的实现方式,提升方案的可实现性。
[0103]
在第四方面的一种可能实现方式中,该第二检测模型的损失函数包括交叉熵(cross entropy)损失函数,该交叉熵损失函数包括以下方式:
[0104]
cross_entropy=-[y
i log(y
′i)+(1-yi)log(1-y
′i)]
[0105]
其中,i表示训练数据和/或待预测数据中数据包的编号,y
′i表示所述第二检测模型对于训练数据和/或待预测数据中第i个数据包的判定标签,yi表示训练数据和/或待预测数据中第i个数据包真实的标签。
[0106]
本实施例中,提供了第二检测模型对应的损失函数的一种具体实现方式,提升方案的可实现性。
[0107]
在第四方面的一种可能实现方式中,该目标卷积特征的维度为一维。
[0108]
在第四方面的一种可能实现方式中,该待预测数据包括流量数据包或流量日志。
[0109]
在第四方面的一种可能实现方式中,该训练数据包括有效载荷和/或消息体。
[0110]
本技术第四方面中,神经网络的处理装置的组成模块还可以用于执行第二方面的各个可能实现方式中所执行的步骤,具体均可以参阅第二方面,此处不再赘述。
[0111]
第五方面,本技术实施例提供了一种服务器,包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行上述第一方面或第二方面所述的神经网络的获取方法。
[0112]
第六方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的神经网络的获取方法。
[0113]
第七方面,本技术实施例提供了一种电路系统,所述电路系统包括处理电路,所述
处理电路配置为执行上述第一方面或第二方面所述的神经网络的获取方法。
[0114]
第八方面,本技术实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的神经网络的获取方法。
[0115]
第九方面,本技术提供了一种芯片系统,该芯片系统包括处理器,用于支持服务器实现上述第一方面或第二方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
[0116]
其中,第五至第九方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,或者参见第二方面或第二方面不同可能实现方式所带来的技术效果,此处不再赘述。
[0117]
从以上技术方案可以看出,本技术实施例具有以下优点:服务器获取训练数据,然后,该服务器根据n个卷积核分别对该训练数据进行特征提取,得到与该训练数据对应的第一卷积特征,该n大于1;最后,该服务器利用该第一卷积特征输入预设的第一训练网络,训练得到第一检测模型。其中,服务器根据n个卷积核分别对训练数据进行特征提取得到训练数据对应的第一卷积特征,并将该第一卷积特征输入预设的第一训练网络,训练得到第一检测模型,其中,n大于1,即在第一训练网络中,进行训练得到第一检测模型的输入数据,由多个卷积特征分别对训练数据进行特征提取得到,能够获得表征训练数据的更多的有效信息,使得对训练数据的特征提取较为充分,可以提升检测模型在检测过程中的检测成功率的同时,降低检测过程的误报率,提升模型的检测效果。
附图说明
[0118]
图1为本技术实施例提供的人工智能主体框架的一种结构示意图;
[0119]
图2-1为本技术实施例提供的神经网络处理系统的一种网络结构示意图;
[0120]
图2-2为本技术实施例提供的神经网络处理系统的另一种网络结构示意图;
[0121]
图3为本技术实施例提供的卷积神经网络的一种结构示意图;
[0122]
图4为本技术实施例提供的卷积神经网络的另一种结构示意图;
[0123]
图5为本技术实施例提供的一种神经网络的处理方法的一种流程示意图;
[0124]
图6为本技术实施例提供的一种神经网络的处理方法的另一种流程示意图;
[0125]
图7为本技术实施例提供的一种神经网络的处理方法的另一种流程示意图;
[0126]
图8-1为本技术实施例提供的一种神经网络的处理方法的另一种流程示意图;
[0127]
图8-2为本技术实施例提供的一种神经网络的处理方法的另一种流程示意图;
[0128]
图9为本技术实施例提供的一种神经网络的处理装置的一种示意图;
[0129]
图10为本技术实施例提供的一种神经网络的处理装置的另一种示意图;
[0130]
图11为本技术实施例提供的服务器的一种结构示意图;
[0131]
图12为本技术实施例提供的芯片的一种结构示意图。
具体实施方式
[0132]
本技术实施例提供了人工智能领域中的一种神经网络的处理方法及相关设备,用
于提升检测模型在检测过程中的检测成功率的同时,降低检测过程的误报率,提升模型的检测效果。
[0133]
下面将对本技术实施例中使用的部分术语进行示例性地描述:
[0134]
深度学习(deep learning):一类基于深层次神经网络算法的机器学习技术,其主要特征是使用多重非线性变换构对数据进行处理和分析。主要应用于人工智能领域的感知、决策等场景,例如图像和语音识别、自然语言翻译、计算机博弈等。
[0135]
卷积神经网络(convolutional neural networks,cnn)是一类包含卷积计算且具有深度结构的前馈神经网络(feedforward neural networks),是深度学习(deep learning)的代表算法之一。卷积神经网络具有表征学习(representation learning)能力。
[0136]
长短期记忆网络(long short-term memory,lstm):一种时间循环神经网络,其主要特征是通过特殊的网络结构设计来避免常规循环神经网络的梯度小时问题,适合于处理和预测时间序列中间隔和延迟相对较长的事件。
[0137]
多层感知机(multilayer perceptron,mlp):一种前馈神经网络,由一个输入层、一个输出层以及一个或多个隐含层构成。多层感知机神将网络层之间通常是全连接的。
[0138]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0139]
图1示出一种人工智能主体框架示意图,该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。
[0140]
下面从“智能信息链”(水平轴)和“it价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。
[0141]“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
[0142]“it价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
[0143]
(1)基础设施:
[0144]
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(cpu、npu、gpu、asic、fpga等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
[0145]
(2)数据
[0146]
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
[0147]
(3)数据处理
[0148]
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
[0149]
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
[0150]
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
[0151]
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
[0152]
(4)通用能力
[0153]
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
[0154]
(5)智能产品及行业应用
[0155]
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
[0156]
基于图1所示实施例,具体图1中的人工智能主体框架可以应用在数据预测过程中。网络服务平台可能遭受多种网络攻击,比如ddos攻击、洪泛攻击等,由于深度学习算法在多个领域表现出较好的性能,因此深度学习方法近年来被应用于网络异常流量检测以期提高检测性能。基于深度学习方法的异常检测研究主要包括基于dnn的方法、基于rnn的方法、基于cnn的方法。如图2-1所示基于深度学习的网络异常流量检测方案的一般性流程如下:首先获取训练数据、然后进行数据的标注与特征提取,再利用训练数据进行深度学习模型训练,最后对网络流量进行检测。数据标注步骤与特征提取步骤首先通过人工或自动化工具对数据包标注,然后对抓取的数据包进行特征提取,例如利用每个数据包有效载荷中各ascii字符出现的频次作为数据包特征,然后通过人工或工具对数据包标注;利用已知标签的正常与异常数据包训练一个深度学习模型;最后利用训练后的深度学习模型实时地对经过了相同的特征提取后的网络实时流量进行判断。
[0157]
示例性的,基于dnn的网络异常流量检测方法是一种常用的网络异常流量检测方案。dnn由多个神经元节点组成,任意两个节点之间的连接都被赋予了不同的权重,这样的意义是为了表现节点之间相互影响的关系。深度神经网络结构由三部分组成,如图2-2所示。第一部分节点是输入层,第二部分节点作为中间隐藏层,最后一部分输出层。层与层之间还会有激励函数来控制输出结果,使得整体具有非线形结构。基于dnn的异常流量检测方案将需要网络流量以特征向量的形式表示,首先获取训练数据集,利用训练数据集训练dnn模型,然后使用训练后的dnn模型对流量进行检测。
[0158]
然而,上述基于深度学习的网络异常流量检测方法中,对数据的特征提取不够充分,并且通常存在较高的误报率,导致检测效果较差。
[0159]
为了解决上述问题,本技术实施例提供了人工智能领域中的一种神经网络的处理方法及相关设备,用于提升检测模型在检测过程中的检测成功率的同时,降低检测过程的误报率,提升模型的检测效果。
[0160]
鉴于本技术所涉及方法中的核心步骤包括卷积神经网络的处理过程,下面将首先
对卷积神经网络进行介绍。其中,卷积神经网络(convolutional neuron network,cnn)是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,cnn是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元对输入其中的图像中的重叠区域作出响应。
[0161]
如图3所示,卷积神经网络(cnn)100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。输入层110用于输入训练数据和/或待预测数据等。
[0162]
卷积层/池化层120:
[0163]
卷积层:
[0164]
如图3所示卷积层/池化层120可以包括如示例卷积层121、池化层122,在一种实现中,即卷积层的输出可以作为随后的池化层的输入。其中,卷积层121可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素
……
这取决于步长(stride)的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用维度相同的多个权重矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化
……
该多个权重矩阵维度相同,经过该多个维度相同的权重矩阵提取后的特征图维度也相同,再将提取到的多个维度相同的特征图合并形成卷积运算的输出。
[0165]
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络100进行正确的预测。
[0166]
池化层:
[0167]
由于常常需要减少训练参数的数量,因此卷积层之后常常需要引入池化层,即如图3中120所示例的池化层122,可以是一层卷积层后面跟一层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像大小相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
[0168]
神经网络层130:
[0169]
在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输
出信息。因为如前所述,卷积层/池化层120只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图3所示的131、132至13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等
……
[0170]
在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140,该输出层140具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络100的前向传播(如图3由110至140的传播为前向传播)完成,反向传播(如图3由140至110的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络100的损失及卷积神经网络100通过输出层输出的结果和理想结果之间的误差。
[0171]
需要说明的是,如图3所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图4所示的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
[0172]
下面将对本技术实施例中的一种神经网络的处理方法进行具体的描述,请参阅图5,本技术实施例中一种神经网络的处理方法的一个实施例包括:
[0173]
s101、获取训练数据;
[0174]
本实施例中,可以应用于神经网络预测模型的训练过程,服务器在神经网络的预测模型训练的时候,服务器在步骤s101中获取得到训练数据。
[0175]
在步骤s101的执行过程中,该服务器可以通过采集设备得到训练数据,也可以通过与其它设备进行通信的方式得到训练数据,还可以通过其他方式获取得到该训练数据,此处不做限定。
[0176]
在一种可能实现方式中,该训练数据包括流量数据包或流量日志。其中,训练数据可以为网络流量检测领域中,所对应的流量数据包或者流量日志,从而,提供了训练数据的一种具体的实现方式,提升方案的可实现性。类似的,本实施例及后续实施例中的待预测数据也可以包括流量数据包或流量日志。
[0177]
此外,该训练数据包括有效载荷和/或消息体。其中,训练数据可以包括流量数据包中的有效载荷和/或消息体,或流量日志包中的有效载荷和/或消息体,从而,提供了训练数据的一种具体的实现方式,提升方案的可实现性。类似的,本实施例及后续实施例中的待预测数据也可以包括有效载荷和/或消息体。
[0178]
s102、根据n个卷积核分别对所述训练数据进行特征提取,得到与所述训练数据对应的第一卷积特征;
[0179]
本实施例中,服务器根据n个卷积核分别对步骤s101中获取得到的训练数据进行特征提取,得到与该训练数据对应的第一卷积特征,其中,n大于1,即n为大于1的整数。
[0180]
在一种可能实现方式中,该第一卷积特征的维度为一维。具体地,由于待检测数据之间相近字符间存在一定的相关性,从而,第一卷积特征的维度可以为一维进行实现,可以避免跨越多个字符后导致该相关性变弱的情况产生。类似的,目标卷积特征的维度也可以为一维。
[0181]
s103、利用所述第一卷积特征输入预设的第一训练网络,训练得到第一检测模型。
[0182]
本实施例中,服务器根据步骤s102得到的第一卷积特征作为预设的第一训练网络的输入,进行训练得到第一检测模型。
[0183]
在一种可能实现方式中,在步骤s102中的计算过程可以得到,第一卷积特征是根据n个卷积核分别对所述训练数据进行特征提取得到,即第一卷积特征为通过分别处理之后得到的结果,因此,第一卷积特征可以包括n个结果(即n个卷积特征),也可以将n个结果进行拼接得到小于n个的卷积特征,例如第一卷积特征中卷积特征的数量为1或者是其它小于n的整数,此处不做限定。相对应的,在步骤s103中第一训练网络和第一检测模型对应的训练网络的数量以及监测模型的数量也可以灵活配置,此处不做限定。类似的,本实施例及后续实施例中,第二训练网络和第二监测模型中所包含的训练网络的数量,以及检测模型的数量也可以灵活配置,此处不做限定。
[0184]
此处,以得到的第一卷积特征可以包括n个卷积特征为例进行说明,该第一卷积特征包括n个卷积特征,且该n个卷积特征与该n个卷积核一一对应;此时,在步骤s103中该预设的第一训练网络包括n个训练网络,且该第一检测模型包括n个检测模型。其中,在第一卷积特征包括与n个卷积核一一对应的n个卷积特征时,可以将n个卷积特征分别输入至n个训练网络进行训练得到n个检测模型,即可以根据n个训练网络分别对n个不同的卷积特征进行训练得到对应的n个检测模型,提供了第一检测模型实现的一种具体的实现方式,提升方案的可实现性。
[0185]
在一种可能实现方式中,该第一检测模型的模型类型为rnn、长短期记忆网络lstm或者是其它类型的模型类型,此处不做限定。
[0186]
其中,作为一种优选的实现方式,第一检测模型的模型类型可以为lstm,其中,lstm的主要特征是通过特殊的网络结构设计来避免常规循环神经网络的梯度小时问题,适合于处理和预测时间序列中间隔和延迟相对较长的事件,即使用lstm可以使得预设的第一检测网络可以学习得到训练数据更为充分的数据特征,进一步提升第一检测模型的检测效果。
[0187]
在一种可能实现方式中,该第二检测模型的模型类型为多层感知机mlp、rnn、长短期记忆网络lstm,或者是其它的模型类型,此处不做限定。
[0188]
本实施例中,服务器获取训练数据,然后,该服务器根据n个卷积核分别对该训练数据进行特征提取,得到与该训练数据对应的第一卷积特征,该n大于1;最后,该服务器利用该第一卷积特征输入预设的第一训练网络,训练得到第一检测模型。其中,服务器根据n个卷积核分别对训练数据进行特征提取得到训练数据对应的第一卷积特征,并将该第一卷积特征输入预设的第一训练网络,训练得到第一检测模型,其中,n大于1,即在第一训练网络中,进行训练得到第一检测模型的输入数据,由多个卷积特征分别对训练数据进行特征提取得到,能够获得表征训练数据的更多的有效信息,使得对训练数据的特征提取较为充分,可以提升检测模型在检测过程中的检测成功率的同时,降低检测过程的误报率,提升模型的检测效果。
[0189]
在步骤s103之后,还可以进一步根据第一检测模型得到对应的检测结果,并使用另一个神经网络进行训练得到另一个检测模型,下面将通过步骤s104和步骤s105的实现进行介绍。
[0190]
s104、利用所述第一卷积特征输入所述第一检测模型,处理得到初始检测结果;
[0191]
本实施例中,服务器根据步骤s102得到的第一卷积特征作为第一检测模型的输入,处理得到初始检测结果。
[0192]
s105、利用所述初始检测结果输入预设的第二训练网络,训练得到第二检测模型。
[0193]
本实施例中,服务器根据步骤s104得到的初始检测结果作为第二训练网络的输入,进行训练得到第二检测模型。
[0194]
具体地,该第二检测模型可以通过多种方式实现,示例性地,第二检测模型可以包括以下方式:
[0195]ol
=σ(w
l
·ol-1
+b
l
)
[0196]
其中,l表示模型的第l层,σ表示激活函数,w表示权重矩阵,b表示偏置向量,o
l
表示当前网络层的输出,o
l-1
表示当前网络层的上一层的输出。显然,第二检测模型可以通过该公式实现,或者是由此变换得到的其他形式,此处不做限定。
[0197]
本实施例中,o
l-1
的初始值即o0的取值可以为第一检测结果和/或初始检测结果,从而,提供了第二检测模型实现的所包含的一种具体的实现方式,提升方案的可实现性。
[0198]
此外,该第二检测模型的损失函数可以包括交叉熵(cross entropy)损失函数,该交叉熵损失函数包括以下方式:
[0199]
cross_entropy=-[y
i log(y
′i)+(1-yi)log(1-y
′i)]
[0200]
其中,i表示训练数据和/或待预测数据中数据包的编号,y
′i表示所述第二检测模型对于训练数据和/或待预测数据中第i个数据包的判定标签,yi表示训练数据和/或待预测数据中第i个数据包真实的标签。
[0201]
在一种可能实现方式中,步骤s104得到的该初始检测结果包括该第一卷积特征对应的序列特征,以及该第一卷积特征对应的检测结果。其中,服务器利用该第一卷积特征输入该第一检测模型,处理得到初始检测结果包括第一卷积特征对应的序列特征,以及该第一卷积特征对应的检测结果,即在步骤s105中,该服务器输入到第二检测模型的训练数据包括第一卷积特征对应的序列特征,以及该第一卷积特征对应的检测结果,使得第二检测模型对于待检测数据给出的判定结果以及所学习到的序列特征对待检测数据进行综合训练,可以进一步提升后续第二检测模型在检测过程的检测效果。具体地,服务器进一步根据第一卷积特征在第一检测模型对应的初始检测结果,进行训练得到第二检测模型,由于第一卷积特征由多个卷积特征分别对训练数据进行特征提取得到,能够获得表征训练数据的更多的有效信息,使得第二检测模型可以对训练数据进行综合判定,进而提升第二检测模型的检测效果。
[0202]
本技术实施例中,上述图5所述实施例具体介绍了可以在第一训练网络中,进行训练得到第一检测模型的输入数据,由多个卷积特征分别对训练数据进行特征提取得到,能够获得表征训练数据的更多的有效信息,使得对训练数据的特征提取较为充分,可以提升检测模型在检测过程中的检测成功率。下面将通过具体的实施例说明在得到优化后的预测模型后,可以使用该预测模型实现预测过程的优化。请参阅图6,本技术实施例中一种神经网络的处理方法的一个实施例包括:
[0203]
s201、获取训练数据;
[0204]
本实施例中,可以应用于神经网络预测模型的训练过程,服务器在神经网络的预
atandard code for information interchange,ascii)形式构建一个长度为1600字符的定长向量作为流量特征,然后使用一维卷积神经网络对上述流量特征进行进一步特征提取,得到流量的一维卷积特征;
[0220]
需要说明的是,上述通过ascii实现对数据包中有效载荷的提取仅仅为一种示例性实现,再具体实现过程中,还可以通过其它方式实现,例如,双字节字符集(double-byte character set,dbcs),或者是其它实现,此处不做限定。
[0221]
具体地,在步骤1)所涉及一维卷积特征的提取的过程中,所使用的数据集合包含多个样本,每一个样本包含一个数据包的payload。对各数据包的payload使用ascii-256编码,得到一个编码后的字符串。为使数据满足输入要求,最终字符串被填充为固定长度1600(可以取值为200/400/800或者其他值)个字符(即,如果编码后的字符串长度小于1600字符,则在样本末尾填充空字符),并且每个样本对应一个one-hot标签(标签有两种类型,分别是包含攻击的packet,即[1,0]和正常packet,即[0,1])。编码后的一个样本示例如下:
[0222][0223]
其中,记数据包payload编码的特征为payload=(p1,p2,...,p
1600
),pi表示在数据包p的有效载荷中,第i个字符的ascii码的值。
[0224]
使用一维卷积神经网络(one-dimensionalconvolutionneuralnetwork,1d-cnn)对编码后的流量特征进行一维卷积特征的提取。如图7所示,所使用的一维卷积神经网络的卷积核大小以filter_size表示、卷积通道数以channel_num表示、卷积步长设置为1(也可以为2或者其他取值),卷积核函数采用正态分布。
[0225]
记卷积核向量为其中m表示通道编号,n(n<1600)表示卷积核向量编号(即卷积核大小)。基于卷积核向量f
m,n
的卷积特征计算方式如下:
[0226][0227][0228][0229][0230]

[0231][0232]
对于卷积核大小为n(n<1600)的所有通道下的卷积核向量计算得到卷积特征向量集合将这些特征向量拼接,得到卷积核为小为n(n<1600)的卷积特征如下:
[0233][0234]
记卷积核数量为n,那么基于n个不同的卷积核大小能够获得n个不同的一维卷积
特征向量,分别作为n个深度学习模型的输入。
[0235]
2)训练多个针对不同卷积核大小所提取的卷积特征向量的检测器,基于各检测器得到对于数据包判定结果以及经过检测器后能够得到的进一步特征(序列输出);
[0236]
对数据包完成卷积特征的提取后,将生成的各特征向量分别作为n个深度学习模型的输入,并更新模型的相关参数。对于每一个模型,输出该模型对于当前数据包的判定标签li以及基于当前模型的序列特征向量hi=(h
i,1
,h
i,2
,...h
i,u
),其中u为序列特征向量长度。
[0237]
对于某一数据包p0,通过将基于不同卷积核大小的卷积特征输入不同的分类模型,能够得到基于n个不同分类模型的对于p0的判定标签集合l以及基于当前模型的序列特征向量集合h:
[0238]
l=(l1,l2,...,lk)
[0239]
h=(h
1,1
,h
1,2

…h1,u
,h
2,1
,h
2,2
,h
2,u


,h
n,1
,h
n,2
,...h
n,u
)
[0240]
将标签集合l以及基于当前模型的序列特征向量集合h通过拼接,作为多层感知机的输入并进行进一步判定。
[0241]
3)使用多层感知机对上述的多个检测器对于该数据包的判定标签以及序列输出进行计算,给出对于该数据包的综合判定结果。
[0242]
为了得到对于数据包的最终判定结果,使用mlp对深度学习模型对于同一个数据包给出的判定结果与基于深度学习模型的序列特征进行综合判定。多层感知机的输入为:
[0243]
[h
1,1
,h
1,2
,
…h1,u
,h
2,1
,h
2,2
,
…h2,u
,

,h
n,1
,h
n,2
,
…hn,u
,l1,l2,

,ln]
[0244]
在mlp模型中,每一层的隐藏元满足以下公式:
[0245]ol
=σ(w
l
·ol-1
+b
l
)
[0246]
其中,l表示模型的第l层,σ表示激活函数sigmoid,w表示权重矩阵,b表示偏置向量。基于交叉熵计算模型的损失函数,交叉熵的定义如下:
[0247]
cross_entropy=-[yilog(y
′i)+(1-yi)log(1-y
′i)
[0248]
其中,i表示训练数据中数据包的编号,y
′i表示mlp对于第i个数据包的最终判定标签,yi表示第i个数据包真实的标签。
[0249]
mlp模型将基于深度学习模型的序列特征与判定输出映射为一个2维向量[k1,k2]:如果k1》k2,则标记该样本为异常;如果k1≤k2,则标记该样本为正常。
[0250]
基于前述图5至图7所示实施例,下面将以一个具体的训练过程和预测过程,进一步对本技术中涉及的一种神经网络的处理方法进行描述。图8-1为本技术实施例提供的一种系统架构示意图,基于图8-1所示系统机构,图8-2为该系统架构下的具体的方法实施过程。
[0251]
1、数据构建过程:
[0252]
使用mcpad generic攻击数据集、cicids2017攻击数据集、30%现网流量攻击数据以及使用wireshark在实验室环境下抓取的正常流量构成训练数据集,使用70%现网流量攻击数据以及抓取的正常流量构成测试数据集。
[0253]
2、训练过程:
[0254]
对训练数据集进行预处理,构造匹配于深度学习模型输入的数据格式。基于卷积神经网络,使用预处理后数据包payload的ascii编码特征生成一维卷积特征向量。卷积核
大小设置为1,2,3和4,得到四个一维卷积特征向量,分别用于四个lstm分类器的训练,保存训练后的lstm模型。利用四个训练好的lstm分类器所产生输出和它们所产生的序列特征向量集合训练mlp模型,保存训练后的最优模型。
[0255]
3、测试过程:
[0256]
对测试数据集进行预处理,构造匹配于深度学习模型输入的数据格式。基于卷积神经网络,使用预处理后数据包payload的ascii编码特征生成一维卷积特征向量。卷积核大小设置为1,2,3和4,得到四个一维卷积特征向量,分别用于四个lstm分类器的输入,通过lstm分类器得到对于数据包的四个初步检测结果和对应的序列特征向量集合。将四个初步检测结果和对应的序列特征向量集合输入训练完成的mlp模型,得到最终的异常检测结果。
[0257]
本实施例中,可以得到的有益效果至少包括:
[0258]
1.使用1d-cnn进行特征提取,相较于仅用ascii编码表征数据包的方式,能够获得更多能够表征网络流量的有效信息。且基于不同卷积核大小提取1d-cnn特征,能够获得数据包有效载荷不同角度的特征表达。
[0259]
2.使用四个lstm分类器分别对四种1d-cnn特征向量进行学习,然后利用所训练分类模型对于同一个数据包给出的判定结果以及所学习到的序列特征对待检测对象进行综合判定,从而改善传统的网络异常流量检测方案种存在的误报率过高的问题。
[0260]
本技术实施例还提供了一种神经网络的处理装置,具体参阅图9,图9为本技术实施例提供的神经网络的处理装置的一种结构示意图,该一神经网络的处理装置900包括:
[0261]
获取单元901,用于获取训练数据;
[0262]
特征提取单元902,用于根据n个卷积核分别对该训练数据进行特征提取,得到与该训练数据对应的第一卷积特征,该n大于1;
[0263]
训练单元903,用于利用该第一卷积特征输入预设的第一训练网络,训练得到第一检测模型。
[0264]
在一种可能实现方式中,该装置还包括处理单元904;
[0265]
该处理单元904,还用于利用该第一卷积特征输入该第一检测模型,处理得到初始检测结果;
[0266]
该训练单元903,还用于利用该初始检测结果输入预设的第二训练网络,训练得到第二检测模型。
[0267]
在一种可能实现方式中,
[0268]
该获取单元901,还用于获取待预测数据;
[0269]
该特征提取单元902,还用于根据该n个卷积核分别对该待预测数据进行特征提取,得到与该待预测数据对应的目标卷积特征;
[0270]
该处理单元904,还用于利用该目标卷积特征输入该第一检测模型,处理得到第一检测结果;
[0271]
该处理单元904,还用于利用该第一检测结果输入该第二检测模型,处理得到第二检测结果。
[0272]
在一种可能实现方式中,该第一检测结果包括该目标卷积特征对应的序列特征,以及该目标卷积特征对应的检测结果。
[0273]
在一种可能实现方式中,该初始检测结果包括该第一卷积特征对应的序列特征,
以及该第一卷积特征对应的检测结果。
[0274]
在一种可能实现方式中,该第二检测模型包括以下方式:
[0275]ol
=σ(w
l
·ol-1
+b
l
)
[0276]
其中,l表示模型的第l层,σ表示激活函数,w表示权重矩阵,b表示偏置向量,o
l
表示当前网络层的输出,o
l-1
表示当前网络层的上一层的输出。
[0277]
本实施例中,o
l-1
的初始值即o0的取值可以为第一检测结果和/或初始检测结果。
[0278]
在一种可能实现方式中,该第二检测模型的损失函数包括交叉熵(cross entropy)损失函数,该交叉熵损失函数包括以下方式:
[0279]
cross_entropy=-[y
i log(y
′i)+(1-yi)log(1-y
′i)]
[0280]
其中,i表示训练数据和/或待预测数据中数据包的编号,y
′i表示所述第二检测模型对于训练数据和/或待预测数据中第i个数据包的判定标签,yi表示训练数据和/或待预测数据中第i个数据包真实的标签。
[0281]
在一种可能实现方式中,该第一检测模型的模型类型为长短期记忆网络lstm。
[0282]
在一种可能实现方式中,该第一卷积特征包括n个卷积特征,且该n个卷积特征与该n个卷积核一一对应;
[0283]
该预设的第一训练网络包括n个训练网络,且该第一检测模型包括n个检测模型。
[0284]
在一种可能实现方式中,该第一卷积特征的维度为一维。
[0285]
在一种可能实现方式中,该训练数据包括流量数据包或流量日志。
[0286]
在一种可能实现方式中,包括有效载荷和/或消息体。
[0287]
需要说明的是,神经网络的处理装置900中各模块/单元之间的信息交互、执行过程等内容,与本技术中图5对应的方法实施例基于同一构思,具体内容可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
[0288]
本技术实施例还提供了另一种神经网络的处理装置,具体参阅图10,图10为本技术实施例提供的神经网络的处理装置的一种结构示意图,该一种神经网络的处理装置1000包括:
[0289]
获取单元1001,用于获取待预测数据;
[0290]
特征提取单元1002,用于根据n个卷积核分别对该待预测数据进行特征提取,得到与该待预测数据对应的目标卷积特征,该n大于1;
[0291]
处理单元1003,用于利用该目标卷积特征输入第一检测模型,处理得到第一检测结果。
[0292]
在一种可能实现方式中,该处理单元1003还用于:
[0293]
利用该第一检测结果输入第二检测模型,处理得到第二检测结果。
[0294]
在一种可能实现方式中,该第一检测结果包括该目标卷积特征对应的序列特征,以及该目标卷积特征对应的检测结果。
[0295]
在一种可能实现方式中,该第二检测模型包括以下方式:
[0296]ol
=σ(w
l
·ol-1
+b
l
)
[0297]
其中,l表示模型的第l层,σ表示激活函数,w表示权重矩阵,b表示偏置向量,o
l
表示当前网络层的输出,o
l-1
表示当前网络层的上一层的输出。
[0298]
本实施例中,o
l-1
的初始值即o0的取值可以为第一检测结果和/或初始检测结果。
[0299]
在一种可能实现方式中,该第二检测模型的损失函数包括交叉熵(cross entropy)损失函数,该交叉熵损失函数包括以下方式:
[0300]
cross_entropy=-[y
i log(y
′i)+(1-yi)log(1-y
′i)]
[0301]
其中,i表示训练数据和/或待预测数据中数据包的编号,y
′i表示所述第二检测模型对于训练数据和/或待预测数据中第i个数据包的判定标签,yi表示训练数据和/或待预测数据中第i个数据包真实的标签。
[0302]
在一种可能实现方式中,该第一检测模型的模型类型为长短期记忆网络lstm。
[0303]
在一种可能实现方式中,该目标卷积特征包括n个卷积特征,且该n个卷积特征与该n个卷积核一一对应;
[0304]
该第一检测模型包括n个检测模型。
[0305]
在一种可能实现方式中,该目标卷积特征的维度为一维。
[0306]
在一种可能实现方式中,该待预测数据包括流量数据包或流量日志。
[0307]
需要说明的是,神经网络的处理装置1000中各模块/单元之间的信息交互、执行过程等内容,与本技术中图6对应的方法实施例基于同一构思,具体内容可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
[0308]
本技术实施例还提供了一种服务器,请参阅图11,图11是本技术实施例提供的服务器一种结构示意图,服务器1100上可以部署有图9对应实施例中所描述的神经网络的处理装置900,用于实现图5对应实施例中服务器的功能,或者,服务器1100上可以部署有图10对应实施例中所描述的神经网络的处理装置1000,用于实现图6对应实施例中服务器的功能。具体的,服务器1100由一个或多个服务器实现,服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)1123(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。但应当理解,图11中示出的服务器仅为服务器的一种示例,服务器1100内部也可以不包括存储器1132和存储介质1130,而是在服务器1100之外配置有外挂式存储器,也即存储器1132和存储介质1130与中央处理器1122可以为相互独立的设备,作为示例,例如车载服务器中就采用的是外挂式存储器。
[0309]
服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
[0310]
本技术实施例中,中央处理器1122,用于执行图5对应实施例中的服务器执行的神经网络的处理方法,或者,用于执行图6对应实施例中服务器执行的神经网络的处理方法。需要说明的是,对于中央处理器1122执行神经网络的处理方法的具体实现方式,均可以参考图5、图6对应的各个方法实施例中的叙述,此处不再一一赘述。
[0311]
本技术实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图5所示实施例描述的方法中服务器所执行的步骤,或者,使得计算机执
行如前述图6所示实施例描述的方法中服务器所执行的步骤。
[0312]
本技术实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述图5所示实施例描述的方法中服务器所执行的步骤,或者,使得计算机执行如前述图6所示实施例描述的方法中服务器所执行的步骤。
[0313]
本技术实施例提供的执行设备、训练设备、终端设备或通信设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使服务器内的芯片执行上述图5所示实施例描述的神经网络的处理方法,或者,以使服务器内的芯片执行上述图6所示实施例描述的神经网络的处理方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)等。
[0314]
具体的,请参阅图12,图12为本技术实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器npu 120,npu 120作为协处理器挂载到主cpu(host cpu)上,由host cpu分配任务。npu的核心部分为运算电路120,通过控制器1204控制运算电路1203提取存储器中的矩阵数据并进行乘法运算。
[0315]
在一些实现中,运算电路1203内部包括多个处理单元(process engine,pe)。在一些实现中,运算电路1203是二维脉动阵列。运算电路1203还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1203是通用的矩阵处理器。
[0316]
举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路从权重存储器1202中取矩阵b相应的数据,并缓存在运算电路中每一个pe上。运算电路从输入存储器1201中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1208中。
[0317]
统一存储器1206用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(direct memory access controller,dmac)1205,dmac被搬运到权重存储器1202中。输入数据也通过dmac被搬运到统一存储器1206中。
[0318]
biu为bus interface unit即,总线接口单元1210,用于axi总线与dmac和取指存储器(instruction fetch buffer,ifb)1209的交互。
[0319]
总线接口单元1210(bus interface unit,简称biu),用于取指存储器1209从外部存储器获取指令,还用于存储单元访问控制器1205从外部存储器获取输入矩阵a或者权重矩阵b的原数据。
[0320]
dmac主要用于将外部存储器ddr中的输入数据搬运到统一存储器1206或将权重数据搬运到权重存储器1202中或将输入数据数据搬运到输入存储器1201中。
[0321]
向量计算单元1207包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如batch normalization(批归一化),像素级求和,对特征平面进行上采样等。
[0322]
在一些实现中,向量计算单元1207能将经处理的输出的向量存储到统一存储器1206。例如,向量计算单元1207可以将线性函数和/或非线性函数应用到运算电路1203的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1207生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1203的激活输入,例如用于在神经网络中的后续层中的使用。
[0323]
控制器1204连接的取指存储器(instruction fetch buffer)1209,用于存储控制器1204使用的指令;
[0324]
统一存储器1206,输入存储器1201,权重存储器1202以及取指存储器1209均为on-chip存储器。外部存储器私有于该npu硬件架构。
[0325]
其中,当第一神经网络、技能、新技能或第二神经网络选取的技能具体表现为神经网络时,神经网络中各层的运算可以由运算电路1203或向量计算单元1207执行。
[0326]
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,asic,或一个或多个用于控制上述第一方面方法的程序执行的集成电路。
[0327]
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本技术提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
[0328]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本技术而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、rom、ram、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0329]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0330]
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存
储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1