异常数据识别方法及装置、电子设备和存储介质与流程

专利2022-05-10  25



1.本公开涉及计算机技术领域,尤其涉及一种异常数据识别方法及装置、电子设备和存储介质。


背景技术:

2.随着对网络安全需求的日益增长和人工智能的不断发展,人工神经网络被结合到网络入侵检测系统(network intrusion detection system,nids)中,其目标是对网络流量进行自动化分析,并使用正常网络流量和攻击性网络流量(例如,非正常访问的网络流量、非正常爬取数据的网络流量等)对神经网络进行训练,从而使得神经网络可以有效地检测到网络中异常情况的发生。然而,神经网络通常部署于极易遭到攻击的开放网络环境,其自身的学习和训练机制也极易最先受到攻击。随着对抗性机器学习的兴起,越来越多的研究发现,神经网络可能在训练阶段或测试阶段遭受到攻击。
3.攻击者通过在训练数据中加入伪造的恶意数据、或是对训练数据进行修改,进而对神经网络的训练阶段产生影响,导致神经网络的分类边界发生偏斜、决策出现偏差,从而降低分类或回归的准确度等方面的性能。
4.在相关技术中,对于伪造的异常数据的防御方法主要包括数据清洗和鲁棒性学习。数据清洗应用在神经网络训练之前,通过对样本数据进行仔细检查,过滤掉那些有较高可能性属于异常数据的样本数据。但如果攻击者仅针对特定目标进行伪造,其目标仅为使神经网络对特定的数据进行误识别,则可能仅伪造少量异常数据,不会引起神经网络的整体性能发生大规模变化,从而使得这些少量的异常数据难以识别。
5.鲁棒性学习旨在消除训练过程中那些来源未知的数据对训练的影响,可在训练时通过一些数据转换方法生成实际训练集,即使攻击者在训练集中混入异常样本数据,也可通过数据转换方法排除异常样本数据。
6.然而,上述数据清洗和鲁棒性学习方法均适用于离线训练的过程中,即,使用特定的训练集或经上述方法处理过的训练集对神经网络进行训练,不存在数据的时序性问题,即,在训练过程中,未引入新的未经识别的数据。然而,在线训练需使用大量新数据进行训练,例如,网络流量数据按照流量的发生顺序输入神经网络,具有时序性。并且,经常出现新型的攻击性网络流量,要求神经网络拥有调整数据非平稳性的能力和较强的时效性,网络流量的一些统计特性将随着时间的推移,以无法预见的方式发生变化,此时,旧样本数据将不再适用于新的流量分类需求,甚至降低预测精度,因此,网络入侵检测系统的神经网络通常可进行在线训练。然而,上述数据清洗和鲁棒性学习方法难以适应在线训练过程中识别异常的训练数据的需求。


技术实现要素:

7.本公开提出了一种异常数据识别方法及装置、电子设备和存储介质。
8.根据本公开的一方面,提供了一种异常数据识别方法,包括:将第n个训练批次的
第t组样本数据,输入第t

1个训练周期的神经网络进行训练,获得第t个训练周期的神经网络,以及所述第t个训练周期的神经网络的误差指标,其中,所述第n个训练批次包括k个训练周期,所述第n个训练批次的多个样本数据被划分为k组,n、t和k为正整数,且t≤k;通过验证数据集对所述第t个训练周期的神经网络进行验证,获得所述第t个训练周期的神经网络的验证准确率指标;根据k个训练周期的误差指标、k个训练周期的验证准确率指标、预设的误差阈值和预设的准确率阈值,确定所述第n个训练批次的多个样本数据是否存在异常样本数据;在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,执行相应的异常纠正处理。
9.在一种可能的实现方式中,根据k个训练周期的误差指标、k个训练周期的验证准确率指标、预设的误差阈值和预设的准确率阈值,确定所述第n个训练批次的多个样本数据是否存在异常样本数据,包括:确定所述k个训练周期的误差指标中的最大误差指标,以及所述k个训练周期的验证准确率指标中的最小准确率指标;在所述最大误差指标大于或等于所述预设的误差阈值,和/或所述最小准确率指标小于或等于所述预设的准确率阈值的情况下,确定所述第n个训练批次的多个样本数据存在异常样本数据。
10.在一种可能的实现方式中,在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,执行相应的异常纠正处理,包括:在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,对所述第n个训练批次的多个样本数据进行数据清洗,获得清洗后的样本数据;通过清洗后的样本数据对第m

1个训练周期的神经网络进行训练,获得第n个训练批次的神经网络,其中,第m个训练周期为误差指标大于或等于预设的误差阈值和/或准确率指标小于或等于预设的准确率阈值的首个训练周期,1≤m≤k,且m为整数。
11.在一种可能的实现方式中,在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,执行相应的异常纠正处理,包括:在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,对所述第n个训练批次的多个样本数据进行数据清洗,获得清洗后的样本数据;通过清洗后的样本数据对第n

1个训练批次的神经网络进行训练,获得第n个训练批次的神经网络。
12.在一种可能的实现方式中,在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,对所述第n个训练批次的多个样本数据进行数据清洗,获得清洗后的样本数据,包括:将误差指标大于或等于预设的误差阈值和/或准确率指标小于或等于预设的准确率阈值的一组或多组样本数据删除,获得所述清洗后的样本数据。
13.在一种可能的实现方式中,所述方法还包括:在所述第n个训练批次的多个样本数据不存在异常样本数据的情况下,将第k个训练周期的神经网络确定为第n个训练批次的神经网络。
14.在一种可能的实现方式中,所述方法还包括:在所述验证数据集的多个样本数据中,确定出使得所述神经网络出现验证错误的第一样本数据;通过样本生成网络根据所述第一样本数据生成第二样本数据,其中,所述样本生成网络是根据所述第一样本数据进行对抗训练获得的;将所述第二样本数据添加至所述验证数据集。
15.在一种可能的实现方式中,在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,执行相应的异常纠正处理,包括:在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,生成警告信息。
16.在一种可能的实现方式中,所述神经网络用于对待处理数据进行识别,所述待处理数据包括网络流量数据、图像数据、语音数据中的至少一种。
17.根据本公开的一方面,提供了一种异常数据识别装置,所述装置可包括:误差指标模块,用于将第n个训练批次的第t组样本数据,输入第t

1个训练周期的神经网络进行训练,获得第t个训练周期的神经网络,以及所述第t个训练周期的神经网络的误差指标,其中,所述第n个训练批次包括k个训练周期,所述第n个训练批次的多个样本数据被划分为k组,n、t和k为正整数,且t≤k;正确率指标模块,用于通过验证数据集对所述第t个训练周期的神经网络进行验证,获得所述第t个训练周期的神经网络的验证准确率指标;识别模块,用于根据k个训练周期的误差指标、k个训练周期的验证准确率指标、预设的误差阈值和预设的准确率阈值,确定所述第n个训练批次的多个样本数据是否存在异常样本数据;纠正模块,用于在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,执行相应的异常纠正处理。
18.在一种可能的实现方式中,所述识别模块进一步用于:确定所述k个训练周期的误差指标中的最大误差指标,以及所述k个训练周期的验证准确率指标中的最小准确率指标;在所述最大误差指标大于或等于所述预设的误差阈值,和/或所述最小准确率指标小于或等于所述预设的准确率阈值的情况下,确定所述第n个训练批次的多个样本数据存在异常样本数据。
19.在一种可能的实现方式中,所述纠正模块进一步用于:在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,对所述第n个训练批次的多个样本数据进行数据清洗,获得清洗后的样本数据;通过清洗后的样本数据对第m

1个训练周期的神经网络进行训练,获得第n个训练批次的神经网络,其中,第m个训练周期为误差指标大于或等于预设的误差阈值和/或准确率指标小于或等于预设的准确率阈值的首个训练周期,1≤m≤k,且m为整数。
20.在一种可能的实现方式中,所述纠正模块进一步用于:在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,对所述第n个训练批次的多个样本数据进行数据清洗,获得清洗后的样本数据;通过清洗后的样本数据对第n

1个训练批次的神经网络进行训练,获得第n个训练批次的神经网络。
21.在一种可能的实现方式中,所述纠正模块进一步用于:将误差指标大于或等于预设的误差阈值和/或准确率指标小于或等于预设的准确率阈值的一组或多组样本数据删除,获得所述清洗后的样本数据。
22.在一种可能的实现方式中,所述装置还包括:更新模块,用于在所述第n个训练批次的多个样本数据不存在异常样本数据的情况下,将第k个训练周期的神经网络确定为第n个训练批次的神经网络。
23.在一种可能的实现方式中,所述装置还包括,验证集扩充模块,用于在所述验证数据集的多个样本数据中,确定出使得所述神经网络出现验证错误的第一样本数据;通过样本生成网络根据所述第一样本数据生成第二样本数据,其中,所述样本生成网络是根据所述第一样本数据进行对抗训练获得的;将所述第二样本数据添加至所述验证数据集。
24.在一种可能的实现方式中,所述纠正模块进一步用于:在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,生成警告信息。
25.在一种可能的实现方式中,所述神经网络用于对待处理数据进行识别,所述待处理数据包括网络流量数据、图像数据、语音数据中的至少一种。
26.根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
27.根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
28.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
29.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
30.图1示出根据本公开实施例的异常数据识别方法的流程图;
31.图2示出根据本公开实施例的在线训练的示意图;
32.图3a和图3b示出根据本公开实施例的神经网络漏洞的示意图;
33.图4示出根据本公开实施例的异常数据识别方法的应用示意图;
34.图5示出根据本公开实施例的异常数据识别装置的框图;
35.图6示出根据本公开实施例的一种电子设备的框图;
36.图7示出根据本公开实施例的一种电子设备的框图。
具体实施方式
37.以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
38.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
39.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
40.另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
41.图1示出根据本公开实施例的异常数据识别方法的流程图,如图1所示,所述异常数据识别方法包括:
42.在步骤s11中,将第n个训练批次的第t组样本数据,输入第t

1个训练周期的神经网络进行训练,获得第t个训练周期的神经网络,以及所述第t个训练周期的神经网络的误
差指标,其中,所述第n个训练批次包括k个训练周期,所述第n个训练批次的多个样本数据被划分为k组,n、t和k为正整数,且t≤k;
43.在步骤s12中,通过验证数据集对所述第t个训练周期的神经网络进行验证,获得所述第t个训练周期的神经网络的验证准确率指标;
44.在步骤s13中,根据k个训练周期的误差指标、k个训练周期的验证准确率指标、预设的误差阈值和预设的准确率阈值,确定所述第n个训练批次的多个样本数据是否存在异常样本数据;
45.在步骤s14中,在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,执行相应的异常纠正处理。
46.根据本公开的实施例的异常数据识别方法,可确定在线训练过程中各组样本数据的误差指标和验证准确率指标,从而通过在线训练过程中获得的误差指标和验证准确率指标来确定该批次样本数据中是否包括异常样本数据,可适应在线训练过程中判断训练数据中是否包括异常样本数据的需求,提升网络安全性,减少网络攻击发生的概率。
47.在一种可能的实现方式中,所述异常数据识别方法可以由终端设备或服务器等电子设备执行,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。或者,可通过服务器执行所述方法。
48.在一种可能的实现方式中,在网络流量检测、行人视频检测等领域,可通过神经网络来实现检测目的,例如,通过神经网络来判断网络流量为正常的网络流量还是攻击性的网络流量(例如,非正常访问的网络流量、非正常爬取数据的网络流量等),或者,通过神经网络来进行行人检测,例如,判断拍摄区域中行人的人脸区域进行检测和识别等。
49.在一种可能的实现方式中,在常规的神经网络的应用过程中,可首先离线训练神经网络,例如,可通过带有标注信息的样本,来训练神经网络,使得神经网络的输出结果与标注信息的相似度逐步提升,以达到提高神经网络性能和精度的目的。然而,在上述网络流量检测、行人视频检测等领域,随着时间的推移,攻击性的网络流量的分布特征可能不断发生变化,如果使用离线训练的神经网络,可能难以适应发生变化后的网络流量。或者,行人的面部特征、衣着特征等随着季节、年龄等因素发生变化,使用离线训练的神经网络可能难以对面部和/或衣着的特征变化后的行人进行检测。因此,在一些待处理的数据经常发生变化,或者对时序性要求较高的领域,离线训练的神经网络通常难以适应,因此,可通过在线训练神经网络来不断更新神经网络的参数,使神经网络能够适应不断变化的数据特征。
50.在示例中,可人为设定训练频率,例如,每周更新神经网络、每日更新神经网络等。并利用每个划分的时间段内采集到的数据作为样本,来训练神经网络。以每周更新神经网络为例,可将本周内采集到的数据(或部分数据)作为样本,以前一周使用的神经网络为基础进行训练,例如,可人为选取一部分样本进行标注来训练前一周使用的神经网络,使得神经网络不断更新,以适应不断变化的数据。
51.然而,由于在线训练的神经网络的训练数据的来源为不断采集的新数据,也导致了在线训练的神经网络容易受到攻击,例如,攻击者可能对某些训练数据进行处理,来弱化神经网络的判别能力。
52.图2示出根据本公开实施例的在线训练的示意图,如图2所示,在神经网络的训练过程中,可逐步提升判别能力,例如,可判断出哪些网络流量是正常网络流量数据,哪些数据为攻击性网络流量数据,并形成正常网络流量数据的样本空间和攻击性网络流量数据的样本空间。在进行判断时,神经网络可对网络流量数据进行计算,确定网络流量数据的分布特征,进而确定网络流量数据属于正常网络流量数据的样本空间还是攻击性网络流量数据的样本空间,如果经计算确定网络流量数据属于正常网络流量数据的样本空间,则可确定该网络流量数据属于正常网络流量数据,否则,则确定该网络流量数据属于攻击性网络流量数据。
53.然而,在训练过程中,神经网络是存在误差的,即,可能将某种攻击性网络流量数据误识别为正常网络流量数据,这些数据为神经网络的漏洞,某些攻击者可能利用这些数据来攻击神经网络,例如,可将这些数据的标注信息进行修改(将这些攻击性网络流量数据的标注信息修改为正常网络流量数据),使神经网络不仅在本次训练中误识别该网络流量数据,并使得神经网络在以后的训练中也无法纠正该错误。还可模仿这些网络流量数据的数据特征,仿制类似的网络流量数据,且标注为正常网络流量数据。通过这些网络流量数据训练神经网络,可使得神经网络的漏洞不断扩大,甚至使神经网络错误地划分样本空间,使得神经网络将类似的攻击性网络流量数据全部判断为正常网络流量数据,从而无法防御该类型的攻击性网络流量数据,造成网络安全隐患。
54.图3a和图3b示出根据本公开实施例的神经网络漏洞的示意图,如图3a所示,攻击性网络流量数据中,可能存在被误识别为正常网络流量数据,如图3a中的虚线区域中的三角形标志表示的数据,攻击者可能利用该数据来攻击神经网络,例如,仿制出类似的网络流量数据,并标注为正常网络流量数据。使得神经网络在训练过程中将这些网络流量数据判断为正常网络流量数据,并使得样本空间出现偏移。例如,使正常网络流量数据的样本空间偏移至图3b中的虚线区域,在这种情况下,更多原本属于攻击性网络流量的数据(以三角形表示)被划分至正常网络流量数据的样本空间,使得神经网络无法正确识别该种攻击性网络流量数据,造成网络安全隐患。
55.在一种可能的实现方式中,针对上述问题,本公开可将更新的时间段内采集到的样本数据作为一个训练批次,并可将一个训练批次的样本数据划分为多组,并在训练过程中确定每组样本数据的指标(误差指标和验证准确率指标),以通过各组的指标来确定该训练批次的样本数据中是否包含有被篡改过标注信息的异常样本数据,如果没有这种异常数据,则可正常训练,更新神经网络。如果该批次的样本数据中包含异常样本数据,则进行纠正,例如,可进行数据清洗,去除异常样本数据,并对神经网络重新训练等。
56.在一种可能的实现方式中,如上所述,可对更新频率进行设置,例如,每日更新神经网络,每周更新神经网络等,每个更新时间段内获得的数据可作为该时间段对应的训练批次的样本数据。每个训练批次均可包括多个样本数据。为准确地找出被篡改标注信息的异常样本数据,可将各批次的样本数据划分为多组,并以组为单位,依次输入神经网络进行训练,并确定经每组样本数据训练后的验证准确率指标和误差指标,以进行异常样本数据的判断。
57.在一种可能的实现方式中,在步骤s11中,以第n(n为正整数)个训练批次为例,第n个训练批次可以是利用神经网络上线运行后的第n周、第n日等时间段内采集的多个样本数
据进行训练的批次,第n个训练批次包括多个样本数据。以网络流量数据为例,第n个训练批次可包括多次网络访问的网络流量数据,这其中可能包括正常的访问流量数据,也可能包括攻击性的访问流量数据,还可能包括标注信息被篡改的访问流量数据,即,异常样本数据。样本数据也可包括其他数据,例如,图像数据、语音数据等,异常的样本数据可包括篡改过标注信息的图像数据和/或语音数据,本公开对数据类型不做限制。
58.在一种可能的实现方式中,为了精确查找异常样本数据,提升神经网络的训练精度,可将第n个批次的训练数据划分为k(k为正整数)组。并分组对神经网络进行训练,每组样本数据对神经网络的训练过程可作为一个训练周期。每个训练周期均可产生验证准确率指标和误差指标,如果某个训练周期的验证准确率指标和/或误差指标异常,则可能在该训练周期对应的样本数据组中包含异常样本数据,可据此准确地定位异常样本数据,进行精准地数据清洗,而无需针对整个批次的样本数据进行清洗,提高了查找异常样本数据的准确度以及样本数据的利用效率。
59.在一种可能的实现方式中,篡改标注信息是为了降低神经网络对某种特定的数据特征的样本数据的分辨能力下降,而篡改者并不清楚神经网络的构造,因此,篡改者可能连续多次提供被篡改标注信息的样本数据,例如,进行多次攻击性的网络访问,并将这些攻击性的网络访问的标注信息修改为正常访问。而神经网络对于这种访问,判断的准确率可能较低,因为其判断结果与篡改过的标注信息存在较大差异。
60.在一种可能的实现方式中,基于以上结论,可根据神经网络的判断结果与标注信息之间的差异来确定误差指标,以用于识别异常样本数据。在每个训练周期的训练过程中(例如,第t组样本数据),可依次将样本数据组内多个样本数据输入神经网络,获得神经网络的判断结果,并基于判断结果与标注信息之间的误差来训练神经网络,即,调整神经网络的参数,使得误差逐步缩小。进一步地,可迭代执行上述训练方法,直到该组的样本数据全部输入完毕,即可获得该训练周期的神经网络,例如,第t个训练周期的神经网络。并且,在训练过程中,可记录神经网络对每个样本数据的判断结果和该样本数据的标注信息之间的误差,基于该组内多个样本数据的判断结果与标注信息之间的误差,可确定所述第t个训练周期的神经网络的误差指标。
61.在示例中,可求解该组内多个样本数据的判断结果与标注信息之间的误差的总和、平均值等参数,作为第t个训练周期的神经网络的误差指标,也可确定各误差的均方误差,作为所述第t个训练周期的神经网络的误差指标,在示例中,可通过以下公式(1)确定所述第t个训练周期的神经网络的误差指标:
[0062][0063]
其中,mse为所述第t个训练周期的神经网络的误差指标,y
i
为第i个样本数据的标注信息,y’i
为第i个样本数据的判断结果,k为第t组中的样本数据的数量。
[0064]
如上所述,如果第t组样本数据中含有被篡改过标注信息的异常样本数据,则可能导致神经网络的判断结果准确率下降,造成误差指标增大,即,使得mse的数值增大。可预设误差阈值作为判断标准,如果第t个训练周期的神经网络的误差指标大于或等于误差阈值,则该组内可能包含被篡改过标注信息的异常样本数据。
[0065]
在示例中,误差阈值可以是利用没有异常样本数据的样本数据组确定的均方误差
值,例如,可使用多个经过检测的样本数据构成数据组,该数据组是不包含异常样本数据的,利用该数据组训练神经网络时,获得的均方误差值可作为所述预设的误差阈值。或者,可利用上一个训练批次(第n

1个训练批次)的训练过程中确定的均方误差值作为误差阈值,本公开对误差阈值的设置方式不做限制。
[0066]
在一种可能的实现方式中,除了上述误差指标外,还可确定验证准确率指标。在步骤s12中,如上所述,如果第t组样本数据中含有被篡改过标注信息的异常样本数据,则可能导致神经网络的判断结果准确率下降,因此,可基于每个训练阶段的神经网络的准确率确定验证准确率指标,以判断样本数据组内是否含有篡改过标注信息的异常样本数据。
[0067]
在一种可能的实现方式中,可在每个训练周期结束后,获得该训练周期的神经网络,并通过验证数据集对该训练周期的神经网络进行验证。以第t个训练周期的神经网络为例,可通过验证数据集对第t个训练周期的神经网络进行验证,并确定验证准确率指标,在示例中,验证准确率指标可通过以下公式(2)确定:
[0068]
acc=判断正确的样本数据的数量/验证数据集中样本数据的总数
ꢀꢀꢀ
(2)
[0069]
即,将验证数据集中各样本数据分别输入第t个训练周期的神经网络,获得判断结果,例如,神经网络可输出每个样本数据为正常网络流量数据还是攻击性的访问流量数据。并可将神经网络的判断结果与各样本数据的标注信息进行对比,以确定判断是否正确。进而可将判断正确的样本数据的数量与验证集中样本数据的总数之比确定为第t个训练周期的神经网络的验证准确率指标。与上述误差指标类似,也可预设准确率阈值,如果第t个训练周期的神经网络的验证准确率指标大于或等于准确率阈值,则可认为第t组样本数据中不包含篡改过标注信息的异常样本数据,否则,则可认为第t组样本数据中包含异常样本数据。
[0070]
在示例中,准确率阈值也可以是基于不包含异常样本数据的数据集设置的,例如,可通过神经网络在不包含异常样本数据的数据集中进行测试,以确定准确率,并将该准确率作为预设的准确率阈值,本公开对准确率阈值的设置方式不做限制。
[0071]
在一种可能的实现方式中,为减少神经网络的漏洞,还可在验证集中添加使神经网络出现验证错误的样本数据。在示例中,攻击者在输入异常样本数据时,通常可找到被神经网络误识别的数据,例如,被误识别为正常访问流量的攻击性访问流量,并基于该攻击性访问流量,生产多个特征近似的攻击性访问流量,并篡改这些生成的攻击性访问流量的标注信息。针对这种攻击方式,也可在验证集中添加容易被神经网络误识别的样本数据,有针对性地提升神经网络的性能,减少误识别的概率,与攻击者不同的是,添加进验证集中的样本数据未被篡改标注信息,例如,即使神经网络将攻击性网络流量误识别为正常网络流量,但对于攻击性网络流量的标注信息并未篡改,仍然是标注为攻击性网络流量的标注信息。
[0072]
在一种可能的实现方式中,在设立验证数据集的过程中,可持续寻找被神经网络误识别的样本数据,经过正确标注后,可添加至验证集中。在神经网络进行验证时,如果出现验证错误,则可重新训练神经网络,以提升神经网络的性能。
[0073]
在一种可能的实现方式中,如果神经网络的性能较好,误识别的样本数据的数量较少,可基于误识别的样本数据生成近似的样本数据,并添加至验证集中。所述方法还包括:在所述验证数据集的多个样本数据中,确定出使得所述神经网络出现验证错误的第一样本数据;通过样本生成网络根据所述第一样本数据生成第二样本数据,其中,所述样本生
成网络是根据所述第一样本数据进行对抗训练获得的;将所述第二样本数据添加至所述验证数据集。
[0074]
在一种可能的实现方式中,如果第一样本数据使神经网络出现验证错误(例如,将攻击性网络流量误识别为正常网络流量),则该种样本数据可能是容易被攻击者利用的样本数据,可模仿第一样本数据的特征生成更多样本数据,使得神经网络可经历更多类似样本数据的训练,减少神经网络的漏洞。
[0075]
在一种可能的实现方式中,在生成过程中,可通过生成网络来模拟第一样本数据的数据特征,生成数据特征近似的第二样本数据。生成网络可以是卷积神经网络等深度学习神经网络,本公开对生成网络的类型不做限制。
[0076]
在一种可能的实现方式中,生成网络可以是通过对抗训练获得的神经网络,即,通过生成网络和判别网络共同进行训练,以提升生成网络的性能,使得生成的第二样本数据的特征更接近第一样本数据。
[0077]
在示例中,在对抗训练过程中,可将第一样本数据输入生成网络g,生成网络可模拟第一样本数据的数据特征(例如,数值特征、分布特征等)生成预测样本数据,并可通过判别网络d来鉴别预测样本数据是否为模拟生成的样本。在示例中,可通过将第一样本数据以及预测样本数据分别输入判别网络来进行鉴别,以此提升判别网络的性能。在判别网络性能提升的情况下,可激励生成网络提升性能,即,使得生成网络生成的预测样本数据更逼真,更接近第一样本数据。
[0078]
在示例中,可通过以下损失函数(3)共同训练生成网络和判别网络:
[0079][0080]
其中,x
t
为预测样本数据,x
f
为第一样本数据,为预测样本数据的概率分布,为添加了随机噪声z的第一样本数据的概率分布,e为上述概率分布的期望。基于上述损失函数(3)可确定,对抗训练的目标是使得生成网络g的网络损失最小化(即,使得第一样本数据与预测样本数据之间的误差最小化),并使判别网络d的鉴别能力最大化。
[0081]
在示例中,通过以上训练方式进行多次迭代训练,可获得训练后的生成网络和判别网络,且生成网络生成的预测样本数据与第一样本数据的概率分布特征接近。在这种情况下,可使用训练后的生成网络基于第一样本数据来生成与第一样本数据相似的第二样本数据,以扩充验证集中易被神经网络误识别的样本数据的数量。从而可针对性地训练神经网络,例如,在训练中也可使用这种被误识别的第一样本数据以及生成的第二样本数据进行训练,减少神经网络的漏洞。
[0082]
在一种可能的实现方式中,以上介绍了两种判断样本数据组中是否包括异常样本数据的指标,即,误差指标和验证准确率指标。两种指标可任选一种使用,也可同时使用两种指标来确定第n个批次的样本数据中是否包含异常样本数据。
[0083]
在一种可能的实现方式中,以第t个训练周期为例,如果第t个训练周期的神经网络的误差指标大于或等于预设的误差阈值,则可判断第t组样本数据中含有异常样本数据,在这种情况下,可进行数据清洗,即,删除第t组样本数据,并重新基于第t 1组样本数据训练第t

1个训练周期的神经网络。
[0084]
或者,如果第t个训练周期的神经网络的验证准确率指标小于或等于预设的误差
阈值,则可判断第t组样本数据中含有异常样本数据,在这种情况下,可进行数据清洗,即,删除第t组样本数据,并重新基于第t 1组样本数据训练第t

1个训练周期的神经网络。
[0085]
在一种可能的实现方式中,步骤s13可包括:确定所述k个训练周期的误差指标中的最大误差指标,以及所述k个训练周期的验证准确率指标中的最小准确率指标;在所述最大误差指标大于或等于所述预设的误差阈值,和/或所述最小准确率指标小于或等于所述预设的准确率阈值的情况下,确定所述第n个训练批次的多个样本数据存在异常样本数据。
[0086]
在示例中,可设置第n个训练批次的多个训练周期的指标列表,例如,可设置mse_max_list列表,用于记录每个训练周期的误差指标,并可设置val_min_list列表,用于记录每个训练周期的验证准确率指标。在判断第n个训练批次的多个样本数据中心是否存在异常样本数据时,可在mse_max_list列表中确定误差指标的最大值(即,最大误差指标),并在val_min_list列表中确定验证准确率指标的最小值(即,最小准确率指标)。
[0087]
在一种可能的实现方式中,最大误差指标即为第n个训练批次中所有训练周期的误差指标的最大值,如果最大误差指标大于或等于预设的误差阈值,则可认为第n个训练批次的多个样本数据中包括异常样本数据。类似地,最小准确率指标为第n个训练批次中所有训练周期的验证准确率指标的最小值,如果最小准确率指标小于或等于预设的准确率阈值,则可认为第n个训练批次的多个样本数据中包括异常样本数据。最大误差指标和最小准确率指标可使用任意一个来判断第n个训练批次的多个样本数据中是否包括异常样本数据,也可二者同时使用,即,在最大误差指标大于或等于预设的误差阈值,且最小准确率指标小于或等于预设的准确率阈值的情况下,确定第n个训练批次的多个样本数据存在异常样本数据。
[0088]
在一种可能的实现方式中,如果确定第n个训练批次的多个样本数据存在异常样本数据,则可在步骤s14中执行异常纠正处理。例如,可进行数据清洗,去除异常样本数据,并重新训练神经网络。此外,步骤s14还可包括:在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,生成警告信息。即,如果存在异常样本数据,则可认为神经网络遭受攻击者的攻击,可生成警告信息,提示使用者。
[0089]
在一种可能的实现方式中,步骤s14可包括:在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,对所述第n个训练批次的多个样本数据进行数据清洗,获得清洗后的样本数据;通过清洗后的样本数据对第m

1个训练周期的神经网络进行训练,获得第n个训练批次的神经网络,其中,第m个训练周期为误差指标大于或等于预设的误差阈值和/或准确率指标小于或等于预设的准确率阈值的首个训练周期,1≤m≤k,且m为整数。
[0090]
在一种可能的实现方式中,在每个训练周期中,不仅可将验证准确率指标和误差指标记录在上述列表中,还可保存每个训练周期的神经网络的参数。如果确定第n个训练批次的多个样本数据存在异常样本数据,则可进行数据清洗,并以正常训练的最后一个训练周期的神经网络为基础,使用数据清洗后的样本数据进行重新训练。
[0091]
在示例中,通过各训练周期的验证准确率指标和/或误差指标,可确定出存在异常样本数据的数据组,例如,第m个样本数据组,第m 1个样本数据组

第m j个样本数据组等。其中,第m个样本数据组为包括异常样本数据的数据组中的首个数据组,即,最先进行训练的数据组。换言之,第m个样本数据组之前的数据组中不包括异常样本数据,因此,第m个训练周期之前的训练周期的训练是有效的,即,第m

1个训练周期的神经网络是有效的,因此,
可在数据清洗后,使用不包括异常数据的其他样本数据对第m

1个训练周期的神经网络进行重新训练。
[0092]
在示例中,所述数据清洗可包括去除含有异常样本数据的样本数据组,例如,该步骤可包括:将误差指标大于或等于预设的误差阈值和/或准确率指标小于或等于预设的准确率阈值的一组或多组样本数据删除,获得所述清洗后的样本数据。即,误差指标大于或等于预设的误差阈值和/或准确率指标小于或等于预设的准确率阈值的样本数据组可被认为是包括异常样本数据的样本数据组。可将这些样本数据组去除,并利用剩余的样本数据组重新训练第m

1个训练周期的神经网络。在训练过程中,还可对剩余的样本数据组重新分组,再次执行上述过程,以逐步排查剩余的样本数据中是否依然包括异常样本数据。
[0093]
在一种可能的实现方式中,也可直接对本批次的神经网络重新训练,步骤s14可包括:在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,对所述第n个训练批次的多个样本数据进行数据清洗,获得清洗后的样本数据;通过清洗后的样本数据对第n

1个训练批次的神经网络进行训练,获得第n个训练批次的神经网络。
[0094]
在一种可能的实现方式中,前一个批次(第n

1个)的神经网络是有效的,即,前一个批次的样本数据中不包括异常样本数据。而如果本批次的样本数据中包括异常样本数据,则可在数据清洗后重新训练,即,以第n

1个训练批次的神经网络为基础,使用数据清洗后的样本数据重新训练。数据清洗可与上述数据清洗过程一致,例如,去除包括异常数据的样本数据组等,在此不再赘述。在重新训练的过程中,也可对清洗后的数据重新分组,并再次执行上述过程,以逐步排查剩余的样本数据中是否依然包括异常样本数据。
[0095]
在一种可能的实现方式中,在上述重新训练过程执行完毕后,可获得第n个训练批次的神经网络。并可使用第n个批次的神经网络进行判断网络流量是否为攻击性的网络流量等工作,直到下一个批次的训练。
[0096]
在一种可能的实现方式中,所述方法还包括:在所述第n个训练批次的多个样本数据不存在异常样本数据的情况下,将第k个训练周期的神经网络确定为第n个训练批次的神经网络。即,如果经过上述异常数据识别过程,在本训练批次的多个样本数据中不包括异常样本数据,则在训练后直接获得第n个训练批次的神经网络。可通过这种方式持续更新神经网络,使得神经网络可不断适应新的数据。
[0097]
在一种可能的实现方式中,所述神经网络用于对待处理数据进行识别,所述待处理数据包括网络流量数据、图像数据、语音数据中的至少一种。即,通过上述训练后获得的第n个训练批次的神经网络可对下一次训练之前获得的数据进行识别。所述神经网络可包括多层感知神经网络mlp、深度神经网络dnn、循环神经网络rnn、长短期记忆神经网络lstm、和门控循环单元神经网络gru等神经网络,待处理数据可包括网络流量数据、图像数据、语音数据中的至少一种,即,以上训练方法和识别方法不仅适用于网络流量的识别,还可用于对实时采集的图像数据、语音数据等数据的识别工作。本公开对所述异常数据识别方法的应用范围不做限制。
[0098]
根据本公开的实施例的异常数据识别方法,可确定在线训练过程中各组样本数据的误差指标和验证准确率指标,从而通过在线训练过程中获得的误差指标和验证准确率指标来确定该批次样本数据中是否包括异常样本数据,如果存在异常样本数据,则可分组去除包含异常样本数据的样本数据组,提升样本数据的使用效率。并可使用数据清洗后的数
据重新训练神经网络。可适应在线训练过程中判断训练数据中是否包括异常样本数据的需求,提升网络安全性,减少网络攻击发生的概率,并可使神经网络不断更新,不断适应新的数据。
[0099]
图4示出根据本公开实施例的异常数据识别方法的应用示意图。如图4所示,在神经网络的在线训练过程中,可能存在攻击者篡改样本数据的标注信息,以制造神经网络漏洞的可能,从而造成安全隐患,为此,可在每个训练批次中,确定该批次的样本数据中是否包括被篡改标注信息的异常样本数据,如果存在异常样本数据,则可进行数据清洗,并重新训练神经网络。
[0100]
在一种可能的实现方式中,以第n个训练批次为例,该批次的样本数据可被分为多个样本数据组,可使用各样本数据组依次对神经网络进行训练,获得与各样本数据组对应的训练周期的神经网络,如图4中m1、m2

mt

所示,可保存各训练周期的神经网络的参数。
[0101]
在一种可能的实现方式中,为了确定各样本数据组中是否存在被篡改标注信息的异常样本数据,还可确定每个训练周期的误差指标和验证准确率指标。并保存在指标列表中,如图4中t1、t2

tn

所示。在确定误差指标时,可通过公式(1)来确定均方误差指标,在确定验证准确率指标时,可通过公式(2)来确定。
[0102]
在一种可能的实现方式中,在确定验证准确率指标时,可使用验证数据集对各训练周期的神经网络的准确率进行验证。并且,为了提升神经网络的性能,减少神经网络的漏洞,还可将使神经网络出现验证错误的第一样本数据以及基于第一样本数据生成的第二样本数据添加至验证数据集中,且可通过第一样本数据和第二样本数据再次训练神经网络,以着重提升神经网络对于该种样本数据的验证准确率,减少神经网络的漏洞。其中,第二样本数据是通过生成网络基于第一样本数据的特征生成的样本数据,以弥补第一样本数据的数量。
[0103]
在一种可能的实现方式中,经过上述处理,可获得各训练周期的神经网络、误差指标和验证准确率指标。可通过误差指标和验证准确率指标确定该批次的样本数据中是否存在异常样本数据。可在误差指标列表中确定出最大误差指标,并在验证准确率指标列表中确定出最小准确率指标,如果最大误差指标大于或等于预设的误差阈值,和/或最小准确率指标小于或等于预设的准确率阈值,则可确定该批次的样本数据中存在异常样本数据,需要进行数据清洗,并重新训练神经网络,还可生成警告信息,告知使用者神经网络遭受攻击。否则,可直接获得参数更新后的神经网络,即,第n个训练批次的神经网络。
[0104]
在一种可能的实现方式中,可将误差指标大于或等于预设的误差阈值和/或准确率指标小于或等于预设的准确率阈值的一组或多组样本数据删除,获得清洗后的样本数据。并可确定误差指标大于或等于预设的误差阈值和/或准确率指标小于或等于预设的准确率阈值的首个训练周期,可删除该训练周期及其后续训练周期的神经网络的参数,并将该训练周期的前一个训练周期的神经网络作为基础,通过清洗后的数据重新训练。可对剩余的样本数据组重新分组,再次执行上述过程,以逐步排查剩余的样本数据中是否依然包括异常样本数据。在各训练批次的训练均有效(即,不存在异常样本数据)的情况下,可获得本批次的神经网络。进一步地,可对本批次的神经网络进行验证,如果验证的准确率符合要求,则可上线本批次的神经网络。
[0105]
图5示出根据本公开实施例的异常数据识别装置的框图,如图5所示,所述装置可
包括:误差指标模块11,用于将第n个训练批次的第t组样本数据,输入第t

1个训练周期的神经网络进行训练,获得第t个训练周期的神经网络,以及所述第t个训练周期的神经网络的误差指标,其中,所述第n个训练批次包括k个训练周期,所述第n个训练批次的多个样本数据被划分为k组,n、t和k为正整数,且t≤k;正确率指标模块12,用于通过验证数据集对所述第t个训练周期的神经网络进行验证,获得所述第t个训练周期的神经网络的验证准确率指标;识别模块13,用于根据k个训练周期的误差指标、k个训练周期的验证准确率指标、预设的误差阈值和预设的准确率阈值,确定所述第n个训练批次的多个样本数据是否存在异常样本数据;纠正模块14,用于在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,执行相应的异常纠正处理。
[0106]
在一种可能的实现方式中,所述识别模块进一步用于:确定所述k个训练周期的误差指标中的最大误差指标,以及所述k个训练周期的验证准确率指标中的最小准确率指标;在所述最大误差指标大于或等于所述预设的误差阈值,和/或所述最小准确率指标小于或等于所述预设的准确率阈值的情况下,确定所述第n个训练批次的多个样本数据存在异常样本数据。
[0107]
在一种可能的实现方式中,所述纠正模块进一步用于:在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,对所述第n个训练批次的多个样本数据进行数据清洗,获得清洗后的样本数据;通过清洗后的样本数据对第m

1个训练周期的神经网络进行训练,获得第n个训练批次的神经网络,其中,第m个训练周期为误差指标大于或等于预设的误差阈值和/或准确率指标小于或等于预设的准确率阈值的首个训练周期,1≤m≤k,且m为整数。
[0108]
在一种可能的实现方式中,所述纠正模块进一步用于:在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,对所述第n个训练批次的多个样本数据进行数据清洗,获得清洗后的样本数据;通过清洗后的样本数据对第n

1个训练批次的神经网络进行训练,获得第n个训练批次的神经网络。
[0109]
在一种可能的实现方式中,所述纠正模块进一步用于:将误差指标大于或等于预设的误差阈值和/或准确率指标小于或等于预设的准确率阈值的一组或多组样本数据删除,获得所述清洗后的样本数据。
[0110]
在一种可能的实现方式中,所述装置还包括:更新模块,用于在所述第n个训练批次的多个样本数据不存在异常样本数据的情况下,将第k个训练周期的神经网络确定为第n个训练批次的神经网络。
[0111]
在一种可能的实现方式中,所述装置还包括,验证集扩充模块,用于在所述验证数据集的多个样本数据中,确定出使得所述神经网络出现验证错误的第一样本数据;通过样本生成网络根据所述第一样本数据生成第二样本数据,其中,所述样本生成网络是根据所述第一样本数据进行对抗训练获得的;将所述第二样本数据添加至所述验证数据集。
[0112]
在一种可能的实现方式中,所述纠正模块进一步用于:在所述第n个训练批次的多个样本数据存在异常样本数据的情况下,生成警告信息。
[0113]
在一种可能的实现方式中,所述神经网络用于对待处理数据进行识别,所述待处理数据包括网络流量数据、图像数据、语音数据中的至少一种。
[0114]
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可
以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0115]
此外,本公开还提供了异常数据识别装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种异常数据识别方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
[0116]
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
[0117]
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
[0118]
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
[0119]
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任一实施例提供的异常数据识别方法的指令。
[0120]
本公开实施例还提供了另一种计算机程序产品,用于存储计算机可读指令,指令被执行时使得计算机执行上述任一实施例提供的异常数据识别方法的操作。
[0121]
电子设备可以被提供为终端、服务器或其它形态的设备。
[0122]
图6示出根据本公开实施例的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等终端。
[0123]
参照图6,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(i/o)的接口812,传感器组件814,以及通信组件816。
[0124]
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
[0125]
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0126]
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
[0127]
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边缘,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0128]
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
[0129]
i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0130]
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0131]
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0132]
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0133]
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
[0134]
图7示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图7,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应
于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
[0135]
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(i/o)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如windows server
tm
,mac os x
tm
,unix
tm
,linux
tm
,freebsd
tm
或类似。
[0136]
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
[0137]
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
[0138]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd

rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0139]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0140]
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
[0141]
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/
或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0142]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0143]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0144]
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0145]
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0146]
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
转载请注明原文地址:https://doc.8miu.com/read-1550338.html

最新回复(0)