首页 / 专利库 / 电脑零配件 / 固件 / 软件 / 恶意软件 / 卷积神经网络、金字塔条状池化方法及恶意软件分类方法

卷积神经网络、金字塔条状池化方法及恶意软件分类方法

阅读:334发布:2020-05-13

专利汇可以提供卷积神经网络、金字塔条状池化方法及恶意软件分类方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 卷积神经网络 、金字塔条状 池化 方法及恶意 软件 分类方法。池化方法包括:数据尺寸的计算步骤、条状池化核心大小的计算步骤、数据填充的步骤、对填充的数据进行条状池化的步骤和池化结果连接的步骤。卷积神经网络中,池化层利用前述池化方法对数据进行池化处理。本发明的 恶意软件 分类方法为利用采用前述池化方法的卷积神经网络对恶意软件灰度图进行分类。本发明的池化方法、卷积神经网络以及分类方法,可以提升对如恶意软件灰度图等尺寸不规则图像的分类识别准确率,对于图像压缩较传统神经网络更少,处理效率更高。,下面是卷积神经网络、金字塔条状池化方法及恶意软件分类方法专利的具体信息内容。

1.一种卷积神经网络的金字塔条状池化方法,其特征在于,包括以下步骤:
A.计算输入样本数据xn每一层的宽度w1以及高h1,n对应于金字塔层级;
B.根据所计算出的输入样本数据xn每一层的宽度w1以及高h1,计算金字塔对应的每一层的条状池化核心;
C.根据金字塔每一层的条状池化核心,对对应层输入样本数据xn进行填充处理;
D.根据金字塔每一层的条状池化核心,对对应层的填充后的输入样本数据xn进行池化操作;
E.依次将金字塔每一层的条状池化结果进行拼接。
2.如权利要求1所述的卷积神经网络的金字塔条状池化方法,其特征在于,所述步骤B中,所述计算金字塔对应的每一层的条状池化核心具体为:计算金字塔每一层条状池化核心的高度和长度。
3.如权利要求2所述的卷积神经网络的金字塔条状池化方法,其特征在于,所述计算金字塔每一层池化核心的高度和长度包括:若设置横向条状池化,则池化核心高度kh设置为长度kw设置为w1;若设置纵向条状池化,则池化核心高度kh设置为h1,长度kw设置为
4.如权利要求3所述的卷积神经网络的金字塔条状池化方法,其特征在于,所述步骤C包括根据金字塔每一层的条状池化核心,计算对应层数据的填充尺寸;
根据计算出的填充尺寸,对金字塔每一层的数据进行零值填充。
5.如权利要求4所述的卷积神经网络的金字塔条状池化方法,其特征在于,所述步骤C包括:
C1:若kh≥h1,则高度填充参数ph为0,否则ph为 若kw≥w1,则宽度填
充参数pw为0,否则pw为
C2:根据更新后的ph以及pw,对当前输入样本数据xn进行填充:填充值为0,将数据xn填充为[h1+2ph,w1+2pw]的3阶张量。
6.如权利要求3-5之一所述的卷积神经网络的金字塔条状池化方法,其特征在于,所述步骤D包括:
根据计算出的kh和kw,对填充后的数据xn进行池化操作,将池化后的结果存储于An,则其中μ(·)表示滑动窗口函数。
7.如权利要求1所述的卷积神经网络的金字塔条状池化方法,其特征在于,所述步骤E包括:针对于金字塔每一层,执行以下操作:计算金字塔当前层池化结果An的高度h2、长度c2以及张量的第三维宽度w2;根据计算出的长度c2,宽度w2以及高度h2,将对应于金字塔当前层的条状池化结果展开为形如的[h2*c2*w2,1,1]张量;
将每一层条状池化结果展开后的张量进行拼接。
8.一种卷积神经网络训练模型,包括输入层、隐含层和输出层,其特征在于,所述隐含层中,池化层采用如权利要求1-7之一所述的金字塔条状池化方法处理数据。
9.一种利用金字塔条状池化卷积神经网络的恶意软件分类方法,其特征在于,所述金字塔条状池化卷积神经网络输入层数据为恶意软件灰度图像,池化层采用如权利要求1-7之一所述的金字塔条状池化方法处理数据。

说明书全文

卷积神经网络、金字塔条状池化方法及恶意软件分类方法

技术领域

[0001] 本发明涉及机器学习领域,尤其是一种卷积神经网络训练模型、卷积神经网络金字塔条状池化方法,以及利用金字塔条状池化卷积神经网络对恶意软件进行分类的方法。

背景技术

[0002] 随着网络大数据技术的不断革新,对于行为的分析已出现了多种分析模型,其中,最常见的当属利用人工智能对大数据进行行为特征提取和分析。而对于人工智能而言,是基于神经网络对大数据进行机器学习而形成。其中常见的神经网络模型之一便是卷积神经网络。常规的卷积神经网络无法直接处理尺寸大小不规则的图像(如恶意软件灰度图片),导致对于不规则图像学习的效果不尽人意。
[0003] 另外,互联网技术的飞速发展在带给人们生活便利的同时,恶意文件及其造成的破坏却不容乐观,其规模呈现指数级增长,成为威胁网络安全的重要因素之一。伴随着恶意软件的大肆出现,包括计算机病毒、特洛伊木等在内的代表性恶意软件会严重影响计算机运行效率、窃取用户信息,严重时甚至会造成用户和单位的财产损失。近年来,一些黑客致于窃取机密信息而不断编写和更新病毒,越来越多的学者为了研究病毒也对其做了变种并公布于自己的博客。同时,有攻击就有防护,攻击者和安全管理员之间形成了持久对抗的博弈格局。为了更好的隐藏恶意软件从而使其不被种种杀毒软件所发现,恶意软件一直在不断产生新的变种,且其形势严峻,如:2015年新增了4.3亿个恶意文件。CNCEKT/CC(国家互联网应急中心)在2017年2月的《CNCERT互联网安全威胁报告》中指出,在捕获的新增网络病毒文件中,按网络病毒名称统计新增4个,较上月增长300.0%。在3月的报告中指出,CNCERT捕获了大量新增网络病毒文件,其中按网络病毒名称统计新增11个,网络病毒家族统计新增2个。
[0004] 在人工智能和深度学习技术取得飞速发展的今天,相关技术被广泛用于恶意软件的检测与分类。其中主要的一种分析技术是将恶意软件转换为灰度图,进而基于所提取的图像特征构建检测和分类模型。将恶意软件由二进制文件转制成为灰度图像后,利用卷积神经网络对恶意软件对应的灰度图进行处理,极大的简化了利用机器学习技术对恶意软件进行检测的复杂度并且显著地提升了识别恶意软件变种的检测率。
[0005] 中国专利文献CN105718960A公开了一种基于卷积神经网络和空间金字塔匹配的图像排序模型方法,该方法包括卷积神经网络、近似最近邻匹配算法、类似空间金字塔匹配算法三个步骤,但该方法是将图像以不同的分辨率进行切分,对每一个分辨率下同一个区域中属于同一个类别的特征进行技术统计,最后将不同特征进行加权连接得到的一幅图像的特征直方图作为图像特征,该方法对传统的数字、动物头像等图像的特征具有一定优势,但对于恶意软件对应的图像进行分类的效果有待提升。中国专利文献CN103839074A公开了一种基于素描线段信息和空间金字塔匹配的图像分类方法,该方法包括使用训练图像和测试图像合并、根据primalsketch模型获得初始素描图、计算SIFT特征、在非结构区域按照空间金字塔匹配方法划分图像并提取SIFT特征、合并特征并进行聚类、从初始素描图的线段中提取统计特征、用空间金字塔匹配核函数并最终分类八个步骤,但是该方法使用空间金字塔提取特征解决图像细节信息对于恶意软件灰度图不具有普遍的适应性。中国专利文献CN106991440A公开了一种基于空间金字塔的卷积神经网络的图像分类方法,该方法包括前向传播获得卷积神经网络、反向调节两个主要步骤,但是该方法不适用于具有条状特征的恶意软件图像分类。中国专利文献CN106548073A公开了一种基于卷积神经网络的恶意APK的筛查方法,该方法包括反编译APK文件解析获得call graph、根据安全敏感函数和高频率函数进行call graph卷积、卷积结果传入网络模型pooling层、再接入卷积神经网络模型的隐藏层输出层、获得检测结果五个步骤,但是其采用恶意软件调用的API特征,不是采用恶意软件灰度图的处理方法。
[0006] Kaiming He等人在《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》一文中公开了一种空间金字塔构建的卷积神经网络用于图像识别的方法,包括输入层、隐藏层、池化层、空间金字塔层、输出层五个步骤,该方法可以实现对可变尺寸图像的识别效果,但该方法作用在具有典型图像特征的图片上,对于具有显著条状特征的恶意软件灰度图无法适用。Jun Yue等人在《A Deep Learning Framework for Hyperspectral Image Classification using Spatial Pyramid Pooling》一文中公开了一种基于空间金字塔的深度学习实现高光谱图像的分类方法,包括stacked autoencoders(SAEs)进行高层特征提取、Deep Convolutional Neural Networks(DCNNs)从训练数据提取丰富特征、逻辑回归进行分类三个步骤,该方法作用于常规的图像,无法直接对可变尺寸大小的图像进行处理。
[0007] 因此,恶意软件及其造成的危害将持续伴随计算机网络的发展。如何进一步提升恶意软件检测能力,将在很大程度上决定网络的安全性,相关的研究同时具有理论价值和应用价值。

发明内容

[0008] 本发明的发明目的在于:针对上述存在的问题,提供一种金字塔条状池化卷积神经网络训练模型、卷积神经网络金字塔条状池化方法,以及利用金字塔条状池化卷积神经网络对恶意软件进行分类的方法。以提升网络对于如恶意软件灰度图像等尺寸不规则图像的分类效果的准确率等性能。
[0009] 本发明采用的技术方案如下:
[0010] 一种卷积神经网络的金字塔条状池化方法,其特征在于,包括以下步骤:
[0011] A.计算输入样本数据xn每一层的宽度w1以及高h1,n对应于金字塔层级;
[0012] B.根据所计算出的输入样本数据xn每一层的宽度w1以及高h1,计算金字塔对应的每一层的条状池化核心;
[0013] C.根据金字塔每一层的条状池化核心,对对应层输入样本数据xn进行填充处理;
[0014] D.根据金字塔每一层的条状池化核心,对对应层的填充后的输入样本数据xn进行池化操作;
[0015] E.依次将金字塔每一层的条状池化结果进行拼接。
[0016] 通过上述方法对数据进行处理,较传统网络模型和方法而言,训练过程中,压缩图像更少、训练时间更短,并且对于不规则图像的识别而言,大幅提高了分类准确率。
[0017] 进一步的,上述步骤B中,所述计算金字塔对应的每一层的条状池化核心具体为:计算金字塔每一层条状池化核心的高度和长度。即确定金字塔每一层的条状池化核心的尺寸。
[0018] 进一步的,计算金字塔每一层池化核心的高度和长度包括:若设置横向条状池化,则池化核心高度kh设置为 长度kw设置为w1;若设置纵向条状池化,则池化核心高度kh设置为h1,长度kw设置为
[0019] 进一步的,上述步骤C包括根据金字塔每一层的条状池化核心,计算对应层数据的填充尺寸;
[0020] 根据计算出的填充尺寸,对金字塔每一层的数据进行零值填充。
[0021] 进一步的,上述步骤C包括:
[0022] C1:若kh≥h1,则高度填充参数ph为0,否则ph为 若kw≥w1,则宽度填充参数pw为0,否则pw为
[0023] C2:根据更新后的ph以及pw,对当前输入样本数据xn进行填充:填充值为0,将数据xn填充为[h1+2ph,w1+2pw]的3阶张量。
[0024] 进一步的,上述步骤D包括:
[0025] 根据计算出的kh和kw,对填充后的数据xn进行池化操作,将池化后的结果存储于An,则 其中μ(·)表示滑动窗口函数。
[0026] 进一步的,步骤E包括:
[0027] 针对于金字塔每一层,执行以下操作:计算金字塔当前层池化结果An的高度h2、长度c2以及张量的第三维宽度w2;根据计算出的长度c2,宽度w2以及高度h2,将对应于金字塔当前层的条状池化结果展开为形如的[h2*c2*w2,1,1]张量;
[0028] 将每一层条状池化结果展开后的张量进行拼接。
[0029] 本发明提供了一种卷积神经网络训练模型,包括输入层、隐含层和输出层,所述隐含层中,池化层采用上述的金字塔条状池化方法处理数据。
[0030] 本发明的卷积神经网络,较传统神经网络识别不规则图像而言,识别时间更短,对于图像的压缩量更少,对于图像分类的准确率更高。
[0031] 本发明提供了一种利用金字塔条状池化卷积神经网络的恶意软件分类方法,其特征在于,所述金字塔条状池化卷积神经网络输入层数据为恶意软件灰度图像,池化层采用上述的金字塔条状池化方法处理数据。
[0032] 本发明的恶意软件分类方法对于恶意软件的分类结果较现有神经网络更为准确,识别时间更短,对于图像的处理计算量更少。
[0033] 需要说明的是,本发明中,所述的|“第一”、“第二”等表示顺序的术语,或者相关参数后的‘1’、‘2’等序号,仅为区别描述对应的对象,非对相应的参数进行限定,也不应作为对本发明方案所选择对象/参数的限制。
[0034] 综上所述,由于采用了上述技术方案,本发明的有益效果是:
[0035] 1、本发明的池化方法对于图像而言,压缩量较传统池化方法更小,对于图像特征的提取和归纳更具代表性,池化处理效率高,可以提高分类模型对于不规则图像的识别准确率。
[0036] 2、本发明相较于传统神经网络相比,在对不规则图像的分类方面,压缩图像更少,识别时间更短,分类准确率更高。
[0037] 3、本发明对于恶意软件检测分类的方法,具备极高的性能,在分类识别效率和准确性上,均具有大幅提高。附图说明
[0038] 本发明将通过例子并参照附图的方式说明,其中:
[0039] 图1是金字塔条状池化方法的一个实施例流程图
[0040] 图2是利用金字塔条状池化卷积神经网络的恶意软件分类方法的一个实施例的流程图。
[0041] 图3是图2的实施例中,实验使用的数据集样式的一个实施例。

具体实施方式

[0042] 本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
[0043] 本说明书(包括任何附加权利要求摘要)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
[0044] 实施例一
[0045] 本实施例公开了一种卷积神经网络的金字塔条状池化方法,该方法预设金字塔高度为N,该方法包括以下步骤:
[0046] A.计算输入样本数据xn(x∈Rc1*w1*h1)每一层的宽度w1以及高h1,n对应于金字塔层级。
[0047] B.根据所计算出的输入样本数据xn每一层的宽度w1以及高h1,计算金字塔对应的每一层的条状池化核心。
[0048] C.根据金字塔每一层的条状池化核心,对对应层输入样本数据xn进行填充处理。
[0049] D.根据金字塔每一层的条状池化核心,对对应层的填充后的输入样本数据xn进行池化操作。
[0050] E.将金字塔每一层的条状池化结果进行拼接。
[0051] F.输出拼接结果。
[0052] 简而言之,本方法首先通过当前金字塔层级计算当前层所对应的池化核心大小以n及填充大小,然后根据计算的核心大小以及填充大小,对输入样本数据x进行池化处理,最后将每一层处理后的池化结果进行展开并拼接。本发明基于最大池化算法来实现金字塔条状池化,可有效提高卷积网络的性能,对条状特征的图像的分析效果尤其显著。
[0053] 实施例二
[0054] 本实施例公开了一种卷积神经网络的金字塔条状池化方法,包括以下步骤:
[0055] S1:计算输入样本数据xn(x∈Rc1*w1*h1)每一层的宽w1以及高h1,n对应于金字塔层级。
[0056] S2:根据所计算出的输入样本数据xn每一层的宽度w1以及高h1,计算金字塔对应的每一层的条状池化核心:若设置横向条状池化,则池化核高度kh设置为 长度kw设置为w1;若设置纵向条状池化,则池化核高度kh设置为h1,长度kw设置为
[0057] S3:由于数据xn的大小无法保证完美贴合池化计算所需要的大小,因此需要对输入到每一层的数据进行填充处理,通过设置高度填充大小:若kh≥h1,则高度填充参数ph为0,否则ph为 若kw≥w1,则宽度填充参数pw为0,否则pw为[(kw*n-w1/2;
[0058] S4:按照更新后的ph以及pw,对每一层的数据xn进行填充,填充值为0,将数据xn填充为[h1+2ph,w1+2pw]的3阶张量;
[0059] S5:根据计算出的金字塔每一层的池化核心kh以及kw,分别对对应层输入的数据xn进行池化操作,池化后的结果存储于An,则 其中μ(·)表示滑动窗口函数;
[0060] S6:依次将金字塔每一层的条状池化结果进行拼接:
[0061] S6.1:初始化y用于存储张量数据;
[0062] S6.2:初始化当前金字塔高度n为0;
[0063] S6.3:判断是否满足n
[0064] S6.4:计算当前金字塔层池化结果An的高度h2、长度c2以及该张量的第三维宽度w2;
[0065] S6.5:根据计算出的长度c2,宽度w2以及高度h2,将An展开为形如[h2*c2*w2,1,1]的张量;
[0066] S6.6:将展开后的An张量拼接至y中;
[0067] S6.7:进入步骤6.3。
[0068] S7:返回结果y。
[0069] 实施例三
[0070] 本实施例公开了一种卷积神经网络的金字塔条状池化方法,包括以下步骤:
[0071] S1:计算输入样本数据xn(x∈Rc1*w1*h1)每一层的宽w1以及高h1,n对应于金字塔层级。
[0072] S2:设置金字塔每一层池化核心高度和长度:若设置横向条状池化,则池化核心高度kh设置为 长度kw设置为w1;若设置纵向条状池化,则池化核心高度kh设置为h1,长度kw设置为
[0073] S3:根据金字塔每一层的条状池化核心,对对应层输入样本数据xn进行填充处理。具体包括:
[0074] S3.1:若kh≥h1,则高度填充参数ph为0,否则ph为 若kw≥w1,则宽度填充参数pw为0,否则pw为
[0075] S3.2:根据更新后的ph以及pw,对当前输入样本数据xn进行填充,填充值为0,将数据xn填充为[h1+2ph,w1+2pw]的3阶张量。
[0076] S4:根据金字塔每一层的条状池化核心,对对应层的填充后的输入样本数据xn进行池化操作。
[0077] S5:依次将金字塔每一层的条状池化结果进行拼接。
[0078] 实施例四
[0079] 本实施例公开了一种卷积神经网络的金字塔条状池化方法,包括以下步骤:
[0080] S1:计算输入样本数据xn(x∈Rc1*w1*h1)的宽w1以及高h1,n对应于金字塔层级。
[0081] S2:根据所计算出的输入样本数据xn每一层的宽度w1以及高h1,计算金字塔对应的每一层的条状池化核心。具体包括:
[0082] 设置金字塔每一层池化核心高度和长度:若设置横向条状池化,则池化核心高度kh设置为 长度kw设置为w1;若设置纵向条状池化,则池化核心高度kh设置为h1,长度kw设置为
[0083] S3:根据金字塔每一层的条状池化核心,对对应层输入样本数据xn进行填充处理。具体包括:
[0084] S3.1:若kh≥h1,则高度填充参数ph为0,否则ph为 若kw≥w1,则宽度填充参数pw为0,否则pw为
[0085] S3.2:根据更新后的ph以及pw,对当前输入样本数据xn进行填充,填充值为0,将数据xn填充为[h1+2ph,w1+2pw]的3阶张量。
[0086] S4:根据金字塔每一层的条状池化核心,对对应层的填充后的输入样本数据xn进行池化操作。具体包括:
[0087] 根据计算出的kh和kw,对填充后的数据xn进行池化操作,将池化后的结果存储于An,则 其中μ(·)表示滑动窗口函数。
[0088] S5:将金字塔每一层的条状池化结果进行拼接。具体包括:步骤E包括[0089] S5.1:初始化y使用存储张量数据;
[0090] S5.2:初始化当前金字塔高度n=0;
[0091] S5.3:判断是否满足n
[0092] S5.4:计算金字塔当前层(第n层)池化结果An的高度h2、长度c2以及张量的第三维宽度w2;
[0093] S5.5:根据计算出的长度c2,宽度w2以及高度h2,将An展开为形如的[h2*c2*w2,1,1]张量;
[0094] S5.6:将展开后的An张量拼接至y中,跳转到步骤S5.3;
[0095] S6:输出y。
[0096] 实施例五
[0097] 本实施例公开了一种卷积神经网络的金字塔条状池化方法,其主要由两组步骤构成,金字塔划分以及条件池化。每次调用该方法时,计算当前输入样本数据x∈Rc×w×h的宽度w以及高度h,根据用户设置的金字塔高度N动态的计算金字塔每一层的条状池化Sn后的结n果A:
[0098] An=Sn(xn)
[0099] 如图1所示,条件池化的计算包括以下步骤:
[0100] S1:计算当前输入数据x∈Rc1*w1*h1的宽w1以及高h1,初始化当前金字塔高度n为0。即从金字塔最底层开始计算。
[0101] S2:根据金字塔高度动态的计算金字塔每一层的条状池化核心,并对输入数据进行池化处理。具体步骤包括:
[0102] S2.1:如果当前金字塔高度n
[0103] S2.2:若设置横向条状池化,则池化核高度kh设置为 长度kw设置为w;若设置纵向条状池化,则池化核高度kh设置为h,长度kw设置为
[0104] S2.3:由于数据xn的大小无法保证完美贴合池化计算所需要的大小,因此需要对其进行填充处理,通过设置高度填充大小。如果kh≥h1,则ph为0;否则ph为如果kw≥w1,则pw为0;否则pw为
[0105] S2.4:按照更新后的ph以及pw对数据x进行填充,填充值为0,将数据xn填充为[h1+2ph,w1+2pw]的3阶张量;
[0106] S2.5:根据计算出的kh,kw对数据xn进行池化操作,池化后的结果存储于An,则其中μ(·)表示滑动窗口函数;
[0107] S2.6:进入步骤S2.1。
[0108] S3:将每一层金字塔内的条状池化结果进行拼接便于后续处理。具体方法包括:
[0109] S3.1:初始化y用于存储张量数据;
[0110] S3.2:初始化当前金字塔高度n为0;
[0111] S3.3:判断是否满足n
[0112] S3.4:计算当前金字塔层池化结果An的高度h2、长度c2以及张量的第三维宽度w2;
[0113] S3.5:根据计算出的长度c2,宽度w2以及高度h2,将An展开为形如[h2*c2*w2,1,1]的张量;
[0114] S3.6:将展开后的An张量拼接至y中;
[0115] S3.6:进入步骤3.3。
[0116] S4:返回结果y。
[0117] 步骤3的拼接结果即为y=A1+A2+...+An,An(n=1,2,……)分别表示金字塔每一层的条状池化结果。
[0118] 实施例六
[0119] 本实施例公开了一种卷积神经网络训练模型,对于卷积神经网络,其包括输入层、隐含层和输出层,其中,隐含层包括卷积层、池化层和全连接层。在本实施例中,池化层采用上述实施例中的金字塔条状池化方法对卷积层输出的数据进行池化处理。
[0120] 实施例七
[0121] 本实施例公开了一种利用金字塔条状池化卷积神经网络的恶意软件分类方法,该分类方法所利用的金字塔条状池化卷积神经网络输入层的输入样本数据为恶意软件灰度图,网络池化层采用上述实施例中的金字塔条状池化方法对卷积层输出的数据进行池化处理。即在输入层输入数据后,进行数据整理,到卷积层的多层卷积,以及全连接层的连接处理后后续激活和输出层输出分类结果上,均较现有卷积神经网络无差别,改进点在于池化层的池化处理方法上,即图2中的S103步骤。
[0122] 在分类过程中,对于不同尺寸恶意软件灰度图像的处理,可以使用cropping和warping方法。两种方法通过截取图像的代表性特征区域,作用于卷积神经网络中的卷积层之前,从而保证了卷积层处理的图像是固定大小尺寸。
[0123] 实施例八
[0124] 本实施例采用具体案例对实施例七的恶意软件分类方法进行实验验证,并采用现有池化方法进行技术效果对比。在本实施例中,使用深度学习框架Chainer构建神经网络以及金字塔条状池化,同时数据集来源于自制的恶意软件灰度图数据集(亦可使用公开的恶意软件样本)。表1是本实施例中数据集说明。
[0125] 表1示例数据集说明
[0126]类别 数量
正常软件 800
恶意软件 900
[0127] 在被实施例中,作为对比的传统池化方法,为全局平均池化、空间金字塔池化以及核心大小为2×2的最大池化,均由Chainer框架提供。网络模型采用10层架构,具体参数参见表2。
[0128] 表2本发明设计网络模型架构和参数设置
[0129]
[0130]
[0131] 利用金字塔条状池化可以将不同大小的特征统一压缩为大小为96×6的张量,极大地方便了全连接层的处理。同时,金字塔条状池化有效提升了网络的检测能力,实验结果见表3。
[0132] 表3不同网络模型性能对比
[0133]   全局平均池化 压缩图像 金字塔条状池化Accuracy 97.66% 97.75% 98.72%
Precision 99.46% 99.25% 100.00%
Recall 95.92% 96.35% 97.45%
F1 97.66% 97.78% 98.71%
Specification 99.46% 99.23% 100.00%
[0134] 此处对表3中的性能度量方式进行简要说明:
[0135]
[0136]
[0137]
[0138]
[0139]
[0140] 其中TP(True Positive)表示分类正确且预测为恶意软件,TN(True Negative)分类正确且预测为良性软件,FP(False Positive)分类错误且预测为恶意软件,FN(False Negative)分类错误且预测为良性软件。
[0141] 本实施例在保持网络分类准确率的同时,还一定程度上提升了网络的运行效率。表4是上述各网络模型训练过程中一轮迭代所需要的时间。
[0142] 表4网络训练所需时间
[0143]  全局平均池化(单位:秒)
全局平均池化 79s
压缩图像 130s
金字塔条状池化 99s
[0144] 从本实施例的结果可知,本发明的恶意软件分类方法,,其运行时间较其他网络模型和方法相比,压缩图像更少,并且能够带来良好的分类准确率提升。
[0145] 下面结合附图3对本发明实施例的具体实施方式进行描述,以便于所属领域技术人员能够更好地理解发明的方案。需要说明书的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0146] 对于4阶张量x∈RN×c×w×h以及其所对应的标签y∈[0,C]N,其中,C表示恶意软件分类标签的种类总数。卷积神经网络的目标是计算一个xn对应的预测标签 使其与真实标签yn相同,也就是计算
[0147] 前边说到,卷积神经网络的隐层一般由3部分组成,包括卷积层、池化层和全连接层。其中,卷积层为 通过反向传播算法学习ki以及b的权重,完成特征提取的功能。池化层 是一组不需要学习的层,用于特征压
缩。全连接层 用于分类输出。模型的学习目标定义为
其中,θ表示通过训练神经网络所学习到的加权参数、L(θ)
表示神经网络学习中所定义的损失函数、m表示分类样本总数量、T表示矩阵转置、k表示分类标签的总数量、l表示具体的样本类别。
[0148] 本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈