一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

通过替代编码用于鲁棒性的神经网络约束的制作方法

2022-06-11 17:32:41 来源:中国专利 TAG:


1.本公开一般地涉及信息安全,并且具体地涉及保护神经网络免受对手攻击。


背景技术:

2.作为最先进的人工智能(ai)服务的关键组件的机器学习技术在为诸如图像识别、语音识别和自然语言处理等各种任务提供人类级能力方面已经显示出很大成功。大多数主要技术公司正以深度学习模型(例如,深度神经网络(dnn))作为关键组件来构建他们的ai产品和服务。构建生产级深度学习模型不是一件简单的任务,其需要大量的训练数据、强大的计算资源和人类专业知识。例如,针对图像分类设计的卷积神经网络(cnn)的创建在图像数据集具有数百万个图像的情况下可能在多个gpu上花费从几天到几周。此外,设计深度学习模型需要大量的机器学习专业知识和许多试错迭代来定义模型架构和选择模型超参数。
3.深度学习已经在各种现实世界应用(诸如计算机视觉、自然语言处理和语音识别)中显示出是有效的。它还已经在临床信息学中显示了巨大潜力,如医学诊断和调节决策,包括患者记录的学习表示、支持疾病表型分型和进行预测。然而,最近的研究显示,这些模型易受对手攻击的损害,这些攻击被设计成有意地向模型的数据输入中注入小扰动(也被称为“对手示例”)以引起错误分类。在图像分类中,研究人员已经证明,输入中不可察觉的变化可能误导分类器。在文本领域中,对几个字词的同义词替换或字符/字词级别修改还可导致模型错误分类。这些扰动大部分是人类不可察觉的,但可以容易地对高性能深度学习模型造成欺骗。
4.自从对手示例的发现以来,已经提出了许多技术来防御神经网络免遭损害,但这样的技术要么昂贵要么脆弱。迄今为止,仅数据扩增显示出是有效的。第一数据扩增防御(对手训练)涉及在训练期间迭代地生成对手示例并添加这些样本作为附加训练输入。尽管在模型训练中集成对手样本在防御神经网络免遭用于生成对手训练示例的攻击方面是有效的,但是由于生成过程,它在计算上是昂贵的,并且它仅对在训练期间使用的特定类型的对手示例是有效的。
5.值得注意的另一扩增防御是随机平滑,这是一种利用使用高斯噪声编制的数据集的有噪声版本来扩增训练数据集的方法。该方法以对抗鲁棒模型也倾向于针对自然噪声输入鲁棒的概念为前提。尽管随机平滑减少了由对手训练引入的计算开销(因为不需要产生对手样本),但是该方法是不利的,因为它相对地弱化了最终模型。
6.除了这些数据扩增防御之外,已经提出了许多其他方法来改善神经网络的对抗鲁棒性,例如通过使用预处理技术或新类型的网络层。这些技术中的许多依赖于梯度粉碎或其一些变体。具体地,传统的白盒对手攻击使用网络的损失梯度来制作对手样本。梯度粉碎通过使损失梯度消失(通常由于不可微的操作)而打破这些攻击。先前的工作已经显示梯度粉碎机是无效的防御,因为对手能够例如通过跳过不可微(non-differentiable)操作或通过使用可微(differentiable)操作的粗略近似来适配。
7.因此,本领域仍然需要提供技术来确保面对对手示例的神经网络分类器的可靠性
和鲁棒性。


技术实现要素:

8.本文中的技术提供用于创建和操作对手鲁棒的神经网络。被配置用于对手鲁棒性的神经网络通常包括第一层或输入层、最后一层或输出层以及可被隐藏的一个或多个中间层。在此方法中,网络经扩增以包含配置有编码方案的一个或多个附加层,所述编码方案提供用于类别的传统独热编码的替代方案。优选地,替代编码是基于向量的编码,其中,特定类别标签由0和1的向量表示。在一个举例实施例中,这种类型的至少一个附加层位于中间层和最后一层之间,并且其中该附加层具有比该一个或多个中间层低的维度(即,更少数量的神经元)。备选层优选地是全连接层,并且其大小适于包括足以唯一地标记网络的输出类(使用编码)的神经元的数量。因此,例如,如果神经网络是具有十(10)个输出类的分类器,则替代层的大小被设定成包括至少四(4)个神经元,其在本示例中表示四个位位置表示十个输出类的编码。在包含附加层且确定其大小(给定输出类的数目)之后,将编码应用于层中的权重。权重包括权重矩阵,矩阵的每一行是第i个输出类的第i个编码向量。此替代编码在本文中有时被称为n热(“n-hot”)编码以将其与传统的独热(1-hot)编码区分开,并且其中“n”的值被配置为超参数。然后典型地以常规方式训练被扩增为包括该附加层的神经网络分类器。基于该训练,编码使得网络将减少数量的活跃特征与每个热点位置(即,权重矩阵中的1)相关联,由此鼓励网络学习包含关于每个类别的大量信息的那些特征。因此,附加层限制(约束)网络,并且具体地限制(约束)用于预测每个类的特征的数量,和/或该层添加那些特征和输出类之间的约束。一旦以这种方式训练,则对抗鲁棒的神经网络随后被应用于分类任务。
9.前面已经概述了本发明的一些更相关的特征。这些特征应被解释为仅是说明性的。通过以不同方式应用所公开的主题或通过修改主题,可以获得许多其他有益的结果,如将描述的。
附图说明
10.为了更完整地理解主题及其优点,现在参考结合附图进行的以下描述,其中:
11.图1描绘了代表性深度学习模型(dnn);
12.图2描绘了与所部署的系统或应用相关联地使用的深度学习模型;
13.图3描绘了根据本公开的将图1中的神经网络扩增为包括n热点编码层;
14.图4是根据一个实施例的用于构建和应用在神经网络的附加层中使用的n热点编码的代表性处理流程;并且
15.图5是可以实现说明性实施例的示例性方面的数据处理系统的框图。
具体实施方式
16.如将看到的,本文的技术提供针对对手攻击提高神经网络的鲁棒性。作为背景,以下提供了深度学习的基本原理。
17.众所周知,深度学习是从训练数据自动学习分层数据表示而不需要手工制作特征表示的机器学习框架的类型。深度学习方法基于称为深度神经网络(dnn)的学习架构,其由
许多基本神经网络单元组成,诸如线性感知器、卷积和非线性激活函数。这些网络单元被组织为层(从几个到超过一千个),并且它们直接从原始数据训练以识别复杂的概念。较低网络层通常对应于低级别特征(例如,在图像识别中,诸如图像的拐角和边缘),而较高层通常对应于高级别语义上有意义的特征。
18.具体地,深度神经网络(dnn)将原始训练数据表示作为输入并经由参数函数将其映射到输出。参数函数由网络架构和在网络架构中使用的所有神经网络单元的集体参数来定义。每个网络单元从其连接的神经元接收输入向量并且输出将被传递到后续层的值。例如,线性单元输出其权重参数与其连接的来自先前层的神经元的输出值之间的点积。为了增加dnn在对训练数据中的复杂结构进行建模中的容量,已经开发了不同类型的网络单元并且将其与线性激活组合使用,如非线性激活单元(双曲线正切、sigmoid、修正线性单元等)、最大池化和批次规格化。如果神经网络的目的是将数据分类为有限的类集合,则输出层中的激活函数通常是softmax函数,其可被视为类集合的预测的类分布。
19.在训练dnn的网络权重之前,初始步骤是确定模型的架构,并且这通常需要非平凡的领域专业知识和工程努力。给定网络架构,网络行为由网络参数的值确定。更正式地,假设d={xi,zi}
ti=1
是训练数据,其中zi·
[0,n-1]是针对xi的基本事实(ground truth)标记,优化网络参数以基于损失函数最小化预测的类标记与基本事实标记之间的差。当前,用于训练dnn的最广泛使用的方法是反向传播算法,其中通过从输出层通过整个网络传播预测损失的梯度来更新网络参数。最常用的dnn是前馈神经网络,其中神经元之间的连接不形成环;其他类型的dnn包括递归神经网络,诸如长短期记忆(lstm),并且这些类型的网络在对顺序数据进行建模方面是有效的。
[0020]
形式上,在文献中通过以下函数描述了dnn,g:x

y,其中x是输入空间,并且y是表示分类集合的输出空间。对于作为x的元素的样本x,g(x)=f
l
(f
l-1
(...((f1(x))))。每个fi表示层,并且f
l
是最后的输出层。最后一个输出层通过softmax函数创建从隐藏空间到输出空间(类别标签)的映射,softmax函数输出在范围[0,1]内加起来为1的实数的向量。softmax函数的输出是输入x在c个不同可能输出类上的概率分布。
[0021]
图1描绘了有时被称为人工神经网络的代表性dnn 100。如所描绘的,dnn 100是互连节点(神经元)群,其中每个节点103表示人工神经元,并且线105表示从一个人工神经元的输出到另一人工神经元的输入的连接。在dnn中,每一神经元的输出由其输入总和的某一非线性函数来计算。神经元之间的连接被称为边缘。神经元和边缘通常具有随着学习的进行而调整的权重。权重增加或减少在连接处的信号的强度。如所描绘的,在dnn 100中,神经元通常在层中聚集,并且不同的层可对其输入执行不同的变换。如所描绘的,信号(通常是实数)经由遍历一个或多个中间(隐藏层)106从第一层(输入层)102行进到最后一层(输出层)104。隐藏层106提供从输入层102提取特征的能力。如图1所示,存在两个隐藏层,但这不是限制。通常,隐藏层的数目(以及每一层中的神经元的数目)是网络正解决的问题的函数。在隐藏层中包括过多神经元的网络可以使其过拟合并且因此记忆输入模式,由此限制网络概括的能力。另一方面,如果在隐藏层中存在过少的神经元,则网络不能表示输入空间特征,这也限制了网络概括的能力。一般而言,网络越小(神经元和权重越少),则网络越好。
[0022]
使用训练数据集来训练dnn 100,从而导致生成与经训练的dnn相对应的权重集。在形式上,训练集包含n个经标记的输入,其中第i个输入被表示为(xi,yi)。在训练期间,随
机初始化与每个层相关的参数,并且通过网络馈送输入样本(xi,yi)。网络的输出是与第i个样本相关联的预测g(xi)。为了训练dnn,用损失函数j(g(xi,yi)对预测输出g(xi)与其真实标签yi之间的差进行建模,该损失函数被反向传播到网络中以更新模型参数。
[0023]
通常,诸如图1中所描绘的神经网络模型接受数值作为输入。然而,为了与分类数据一起工作,这样的数据通常需要以某种方式被编码。独热编码是将类别数据转换为1和0的向量或整数的已知技术。在该方法中,向量的长度取决于期望的类或类别的数量,并且向量中的每个元素表示类。在独热编码中,使用一来指示类别,且向量中的所有其他值为零。换言之,如果类别数据不是序数的,则独热编码因此提供与这样的数据一起工作的有用方式。标签编码将分类变量转换成机器可读的数值表示。
[0024]
图2描绘了被部署为所部署的系统、应用、任务等202的前端的dnn 200。所部署的系统可以是其中使用机器学习来支持决策的任何类型。如上所述,诸如所描述的神经网络易受对手攻击的损害,这些攻击被设计成有意地将小干扰(“对手示例”)注入模型的数据输入以引起错误分类。在图像分类中,研究人员已经证明,输入中不可察觉的变化可能误导分类器。在文本领域中,对几个字词的同义词替换或字符/字词级别修改还可导致模型错误分类。这些扰动大部分是人类不可察觉的,但可以容易地对高性能深度学习模型造成欺骗。出于示例性目的,假设上述dnn 100(图1)或dnn 200(图2)经受对手攻击。本公开的技术则用以提高该网络的鲁棒性。所得网络则被认为是对手鲁棒的,这意味着——与不并入所描述的技术的网络相比——所得网络能够更好地提供必要的分类任务,甚至在面对对手示例的情况下。
[0025]
特定神经网络、其分类的性质和/或特定部署系统或策略不是本文技术的限制,其可用于增强任何类型的网络分类器,而不管其结构和使用如何。
[0026]
以上述为背景,现描述本公开的技术。
[0027]
通过替代编码用于鲁棒性的神经网络约束
[0028]
参照图3,如左边所示的标准dnn 300被转换成如右边所示的对手鲁棒的神经网络302。在该示例中,标准dnn 300包括输入层304、隐藏(中间)层(l1、l2和l3)306、以及输出(倒数第二)层305。对手鲁棒的神经网络302同样包括输入层310、输出层312和隐藏层314。标准训练创建网络300,但是该网络由鲁棒和非鲁棒特征组成。照此,网络300不是对手鲁棒的。为了解决这一缺陷,本公开的技术扩增dnn 300以创建对手鲁棒的网络302。可以看出,网络300和302之间的区别在于包括附加层316,与其他中间层相比,该附加层316具有减小的维度。维度的概念在此以其通常的方式使用,即引用特定数据集(在该情况下是附加层)的输入变量或特征的数量。如图3中描绘,附加层316与输出层312相关联地定位,在此情况下恰在最后隐藏层l3之前。然而,此定位并非限制,因为附加层316还可定位于最后隐藏层l3与输出层312之间。概括而言,附加层316则位于神经网络的输出层312处或附近。如本文中所使用的,具有减小的维度的概念意味着附加层具有与其所耦合的至少最后一个中间层相比少数量的神经元。尽管附加层的维度将变化(基于中间层本身的大小),但优选地,附加层具有比一个或多个(或至少相邻的)中间层显著低的维度。如将描述的,优选地,附加层316是全连接层。此外,尽管图3中仅描绘了一个附加层316,但是可以存在一个或多个类似的附加层。在一个非限制性实施例中,在对数层(例如,l3)之前(或等效地,在倒数第二层之后)添加全连接层316。在该实施例中,全连接层具有sigmoid激活,尽管可以使用其他激活
(例如,tanh)。
[0029]
如所描绘的,附加层316有时在此被称为“n热”层,因为其实现n热编码方案(如将进一步描述的),并且是针对类的传统独热编码的替代方案。n热编码层316中的神经元的数量优选地小于前一层中的神经元的数量,但是神经元的数量也不会小于表达分类器输出类的数量所需的最小位数。例如,如果分类器具有十(10)个输出类,则n热层316应具有至少四(4)个神经元(≥√10)以便唯一地标记类。优选地,在训练期间例如通过实验来确定n热层的最佳大小,或者可以根据上文所描述的约束来使用一些预先配置的大小。在将n热编码层316添加到模型并确定层的大小之后,将n热编码(优选地为0和1的向量)应用于层的权重。这种编码可以是手动构造的、随机生成的、或通过其他手段(例如,使用领域知识、本体或知识图)确定性来提供的。
[0030]
图4描绘了生成编码的一个方法的处理流程,在该示例中是随机生成。在步骤400,识别层的大小和输出类的数量。在步骤402,接着生成每个输出类的随机n热向量,其中热位的数量(即,1的数量)大于0。在步骤404,这些随机n热向量作为用于添加的n热层与最终输出层之间的连接的固定权重被引入到网络中。更正式地,n热编码层(其中,值n可以被设置为超参数)的输出被表示为y=wx,其中,x是至该层的输入,并且w是权重矩阵,并且w的行是{e1,e2,
…en
},其中,ei是输出类i的第i个随机n热编码向量。在机器学习中,超参数是其值用于控制学习过程的参数。如所指出的,这种编码有时在此被称为n热点编码以将其与传统的独热编码区分开,并且其中“n”的值优选地被配置或指定为超参数。然后,对扩增为包括该附加层的神经网络进行训练。这是步骤406。基于训练,编码使得网络将减少数量的活跃特征与每个热位置(即,权重矩阵中的1)相关联,由此鼓励网络学习包含关于每个类别的大量信息的那些特征。因此,附加层限制(约束)网络,并且具体地限制(约束)用于预测每个类的特征的数量,和/或该层添加那些特征和输出类之间的约束。一旦以这种方式训练,则在步骤405输出所得到的对手鲁棒的神经网络。在步骤410,即,在训练之后,对手鲁棒的神经网络被应用于分类任务。如上所述,由对手鲁棒的网络分类器执行的分类任务的性质变化,并且通常其取决于特定的部署或部署目标。
[0031]
由此,根据本公开,一个或多个层被添加到神经网络,并提供针对类的传统独热编码的替换编码。如所描述的,应用于附加层的n热编码在训练期间被使用,并且鼓励网络将特征(特征集)与每个热位置相关联。在图4的示例中,其中随机生成编码,针对每个输出类生成随机n热向量。这些随机n热向量作为固定权重被引入到网络中,用于添加的n热层与最终输出层之间的连接。当网络被训练(通常以正常方式)时,固定编码权重优选地保持不变。n热编码层的输出则由y=wx表示,如以上所描述的。
[0032]
如指出的,替代编码层的特定放置可变化。典型地,它被放置在倒数第二层之前以便使噪声最小化。也就是说,在技术上,该层可以被放置在最后一层之前的任何位置。不论特定放置如何,低维数层起作用以找到相关特征。具体地,通过将中间层约束为与周围层相比低得多(在维度上),该模型实际上需要在低维度层周围执行压缩和解压缩(即,重构)步骤。因此,为了最大化解压缩的准确性,在低维度层中学习的特征应该是包含与输出类中的每个输出类相关的最多信息的特征。在如所描述的n热编码框架中,可以使用预定义的编码或甚至随机编码(默认地)。当编码随后是固定的,并且给定针对某个类的输入时,网络必须识别在n热层之前的层中的哪些特征可以被组合以获得固定编码。当使用预定义的编码而
不是随机编码(例如,用于数字的数字时钟编码)时,这种类型的操作可能更加明晰,但是在两种情形中均获得益处。具体地,通过训练,网络学习提取n热层中定义的特征,而不仅仅是随机学习一组相关特征,后者是正常的训练方法。
[0033]
上述技术具有显著的优点。与现有的数据扩增技术相比,它在计算上效率高得多,并且该方法不依赖于使用不可微(non-differentiable)构造来隐藏来自对手的损失梯度。该技术易于实现,因为附加层具有比其他网络层显著低的维度,并且编码方案确保网络快速且可靠地学习减少数量的活跃特征。进一步,该方法不需要对现有训练进行任何改变。
[0034]
上述技术的另一实例化将该问题作为多任务学习来解决,该多任务学习训练分类器以使用多个类集合来对输入进行分类。多任务学习的示例解决方案涉及用关于这些类集合(包括原始类集合和辅助/特征类集合)的多个损失函数的加权和来训练上述模型。该方法提高了输入的学习编码为鲁棒且语义上有意义的,并且其还迫使模型使用可概括的编码。例如,考虑将给定图像分类为{鸟,飞机,狗}之一的图像分类器。则代替训练分类器以仅将输入分类到三个类别之一,该方法还可以考虑其他集合,例如{翼,无翼},以及{动物,植物,无生命}。
[0035]
上述变体实施例在独立计算每个损失函数的同时通过损失函数对共享编码引入约束。替代独立地使用每个损失函数,另一种方法是首先训练神经网络以使用多任务学习将输入分类到特征类,然后用原始类集合在输入之上构建超分类器。然后,将超分类器约束为仅使用所提取的特征;然后可以训练超分类器或使手动映射分配给超分类器。更一般地,该方法涉及训练分类器以将输入映射到特征,并且然后训练新的分类器以将特征映射到输出类。这提供了端到端分类流水线。在这些变体实施例中的任何变体实施例中,类别的辅助/特征集或从这样的特征集到原始目标类别的映射可以使用训练数据来学习、手动地制作、或从本体或知识图提取。
[0036]
本文中的技术可单独地或与其他现有对手防御(例如,数据扩增(对手训练、高斯平滑及其他))组合地实施为架构修改。
[0037]
本公开的一个或多个方面(例如,扩增nn、测试对手样本等)可例如由第三方实现为服务。该主题可以在提供基于云的计算、数据存储或相关服务的数据中心内或与其相关联地实现。
[0038]
在典型的使用情况下,siem或其他安全系统具有与其相关联的接口,该接口可用于向经训练的模型发出api查询,并接收对那些查询的响应,包括对手输入的响应指示符。
[0039]
本文的方法被设计为按需或以自动方式实现。
[0040]
可经由任何合适的请求-响应协议或工作流(具有或不具有api)来执行对用于模型训练的服务的访问或用于识别对手输入。
[0041]
图5描绘了示例性分布式数据处理系统,其中可以实现所部署系统或与本文的技术相关联的任何其他计算任务。数据处理系统500是计算机的示例,其中针对说明性实施例可以定位实现处理的计算机可用程序代码或指令。在这个说明性示例中,数据处理系统500包括通信结构502,其提供处理器单元504、存储器506、持久存储508、通信单元510、输入/输出(i/o)单元512和显示器514之间的通信。
[0042]
处理器单元504用于执行可以加载到存储器506中的软件的指令。处理器单元504可以是一组一个或多个处理器或者可以是多处理器核心,这取决于特定的实现方式。进一
步,处理器单元504可使用一个或多个异构处理器系统来实施,其中主处理器与次要处理器一起存在于单个芯片上。作为另一说明性示例,处理器单元504可以是包含相同类型的多个处理器的对称多处理器(smp)系统。
[0043]
存储器506和持久存储508是存储设备的示例。存储设备是能够临时和/或永久地存储信息的任何硬件。在这些实例中,存储器506可为例如随机存取存储器或任何其他合适的易失性或非易失性存储装置。持久存储508可取决于特定实现而采取不同形式。例如,持久存储508可包含一个或多个组件或设备。例如,持久存储508可以是硬盘驱动器、闪速存储器、可重写光盘、可重写磁带或上述的某种组合。持久存储508所使用的介质也可以是可移除的。例如,可移除硬盘驱动器可用于持久存储508。
[0044]
在这些实例中,通信单元510提供与其他数据处理系统或装置的通信。在这些实例中,通信单元510是网络接口卡。通信单元510可以通过使用物理和无线通信链路之一或两者来提供通信。
[0045]
输入/输出单元512允许与可以连接到数据处理系统500的其他设备输入和输出数据。例如,输入/输出单元512可以通过键盘和鼠标为用户输入提供连接。此外,输入/输出单元512可以向打印机发送输出。显示器514提供向用户显示信息的机制。
[0046]
用于操作系统和应用或程序的指令位于持久存储508上。这些指令可被加载到存储器506中以供处理器单元504执行。不同实施例的处理可由处理器单元504使用计算机实现的指令来执行,这些指令可位于存储器(诸如存储器506)中。这些指令被称为可由处理器单元504中的处理器读取和执行的程序代码、计算机可用程序代码或计算机可读程序代码。不同实施例中的程序代码可以体现在不同的物理或有形的计算机可读介质上,诸如存储器506或持久存储508。
[0047]
程序代码516以功能形式位于计算机可读介质518上,所述计算机可读介质518是可选择性地移除的,并且程序代码516可以加载到或转移到数据处理系统500上以由处理器单元504执行。在这些示例中,程序代码516和计算机可读介质518形成计算机程序产品520。在一个示例中,计算机可读介质518可以是有形形式,诸如例如被插入或放置到驱动器或其他设备(作为持久存储508的一部分)中的光盘或磁盘,用于转移到存储设备(诸如作为持久存储508的一部分的硬盘驱动器)上。作为有形形式,计算机可读介质518还可以采取持久存储的形式,诸如连接到数据处理系统500的硬盘驱动器、拇指驱动器或闪存。计算机可读介质518的有形形式也被称为计算机可记录存储介质。在一些实例中,计算机可读介质518可能不是可移除的。
[0048]
或者,程序代码516可以通过到通信单元510的通信链路和/或通过到输入/输出单元512的连接从计算机可读介质518传输到数据处理系统500。在说明性实例中,通信链路和/或连接可为物理或无线的。计算机可读介质还可以采取非有形介质的形式,诸如包含程序代码的通信链路或无线传输。为数据处理系统500示出的不同组件不意味着对可以实现不同实施例的方式提供架构限制。可以在数据处理系统中实现不同的说明性实施例,该数据处理系统包括除了数据处理系统500所示出的那些组件之外的组件或代替数据处理系统500所示出的那些组件的组件。图5中所示的其他部件可不同于所示的说明性实例。作为一个示例,数据处理系统500中的存储设备是可存储数据的任何硬件装置。存储器506、持久存储508和计算机可读介质518是有形形式的存储设备的示例。
[0049]
在另一示例中,总线系统可用于实现通信结构502,并且可包括一个或多个总线,诸如系统总线或输入/输出总线。当然,总线系统可以使用任何合适类型的架构来实现,所述架构在附接到总线系统的不同组件或设备之间提供数据传输。另外,通信单元可包括用于发送和接收数据的一个或多个设备,诸如调制解调器或网络适配器。进一步,存储器可以是例如存储器506或例如在可存在于通信结构502中的接口和存储器控制器集线器中找到的高速缓存。
[0050]
本文的技术可以与以独立方式操作的主控机器(或一组机器,例如运行集群)一起使用,或者在联网环境(诸如云计算环境)中使用。云计算是一种信息技术(it)递送模型,通过该模型在互联网上按需向计算机和其他设备提供共享资源、软件和信息。通过这种方法,应用实例被托管并且可从基于互联网的资源获得,所述基于互联网的资源可通过常规web浏览器或移动应用通过http来访问。云计算资源通常容纳在大型服务器群中,该大型服务器群通常使用虚拟化架构来运行一个或多个网络应用,其中,应用在被映射到数据中心设施中的物理服务器上的虚拟服务器或所谓的“虚拟机”(vm)内部运行。虚拟机通常在管理程序之上运行,该管理程序是将物理资源分配给虚拟机的控制程序。
[0051]
典型的云计算服务模型如下:
[0052]
软件即服务(saas):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用可通过诸如web浏览器(例如,基于web的电子邮件)的瘦客户端接口从不同客户端设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至个体应用能力的底层云基础结构,可能的例外是有限的用户特定的应用配置设置。
[0053]
平台即服务(paas):向消费者提供的能力是在云基础结构上部署消费者创建或获取的应用,所述应用是使用提供者所支持的编程语言和工具来创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础结构,但是具有对所部署的应用以及可能的应用托管环境配置的控制。
[0054]
基础设施即服务(iaas):提供给消费者的能力是提供消费者能够部署和运行可包括操作系统和应用的任意软件的处理、存储、网络和其他基本计算资源。消费者不管理或控制底层云基础结构,而是具有对操作系统、存储、所部署的应用的控制,以及对所选联网组件(例如,主机防火墙)的可能有限的控制。
[0055]
典型的部署模型如下:
[0056]
私有云:云基础结构仅为组织操作。它可由组织或第三方管理,并且可存在于场所内或场所外。
[0057]
社区云:云基础结构由若干组织共享并且支持具有共享的关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可由组织或第三方管理,并且可存在于场所内或场所外。
[0058]
公共云:使云基础结构对公众或大型产业组可用并且由销售云服务的组织拥有。
[0059]
混合云:云基础架构是两个或更多个云(私有、社区或公共的)的组成,这些云保持唯一实体但通过标准化或专有技术来绑定在一起,这些技术实现数据和应用便携性(例如,用于云之间的负载平衡的云突发)。
[0060]
一些云基于非传统的ip网络。由此,例如,云可以基于具有使用mac地址散列的特殊单层ip路由的基于两层clos的网络。本文中所描述的技术可以在这样的非传统云中使
用。
[0061]
该系统,特别是建模和一致性检查组件,典型地各自被实施为软件,即,被实施为在一个或多个硬件处理器中执行的一组计算机程序指令。这些部件还可以整体或部分地彼此整合。所述组件中的一者或多者可在专用位置中执行,或远离彼此执行。一个或多个组件可具有一起执行以提供功能的子组件。不要求特定功能由如上所称的特定组件执行,因为本文中的功能(或其任何方面)可在其他系统中实现。
[0062]
该方法可以由操作基础设施的任何服务提供商来实现。它可以作为受管理服务(例如,由云服务提供)是可用的。这种类型的代表性深度学习架构是studio。
[0063]
组件可以同步地或异步地、连续地和/或周期性地实现工作流。
[0064]
该方法可以与其他基于企业或网络的安全方法和系统集成,诸如在siem、apt、基于图的网络安全分析等中。
[0065]
能够以一种或多种程序设计语言的任意组合来编写用于执行本发明的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java
tm
、smalltalk、c 等,还包括常规的过程式程序设计语言,诸如“c”程序设计语言或类似的程序设计语言。程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。
[0066]
本领域的普通技术人员将认识到,图5中的硬件可以取决于实现方式而变化。除了所描绘的硬件之外或代替所描绘的硬件,可以使用其他内部硬件或外围设备,诸如闪存、等效非易失性存储器或光盘驱动器等。而且,在不脱离所公开的主题的精神和范围的情况下,说明性实施例的处理可以应用于除了前面提到的smp系统之外的多处理器数据处理系统。
[0067]
本发明中所描述的功能性可整体或部分地实施为独立方法,例如,由硬件处理器执行的基于软件的功能,或其可用作受管理服务(包含作为经由soap/xml接口的网络服务)。本文所描述的特定硬件和软件实现细节仅用于说明性目的,并不意味着限制所描述的主题的范围。
[0068]
更一般地,在所公开的主题的上下文中的计算设备各自是包括硬件和软件的数据处理系统(诸如图5中所示),并且这些实体通过网络(诸如互联网、内联网、外联网、专用网络或任何其他通信介质或链路)彼此通信。
[0069]
本文描述的方案可以在包括简单n层体系结构、web门户、联合系统等的不同服务器侧体系结构中实现或结合不同服务器侧体系结构来实现。本文中的技术可以在松散耦合的服务器(包括基于“云”的)环境中实践。
[0070]
更一般地,本文描述的主题可以采取完全硬件实施例、完全软件实施例或包含硬件和软件元件两者的实施例的形式。在优选实施例中,在软件中实现该功能,该软件包括但不限于固件、常驻软件、微代码等。此外,如上所述,基于身份上下文的访问控制功能可采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,该计算机可用或计算机可读介质提供用于由计算机或任何指令执行系统使用或结合计算机或任何指令执行系统使用的程序代码。出于本说明书的目的,计算机可用或计算机可读介质可以是能够包含或
存储程序的任何装置,该程序由指令执行系统、装置或设备使用或结合指令执行系统、装置或设备使用。该介质可以是电子、磁性、光学、电磁、红外或半导体系统(或装置或设备)。计算机可读介质的实例包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(ram)、只读存储器(rom)、刚性磁盘和光盘。光盘的当前示例包括致密盘-只读存储器(cd-rom)、致密盘-读/写(cd-r/w)和dvd。计算机可读介质是有形物件。
[0071]
在代表性实施例中,本文中描述的技术在专用计算机中实现,优选地在由一个或多个处理器执行的软件中实现。软件被维护在与一个或多个处理器相关联的一个或多个数据存储或存储器中,并且软件可被实现为一个或多个计算机程序。共同地,此专用硬件和软件包括上述功能。
[0072]
虽然上文描述了由某些实施例执行的操作的特定顺序,但是应当理解,这样的顺序是示范性的,因为替代实施例可以以不同的顺序执行操作、组合某些操作、重叠某些操作等。说明书中对给定实施例的引用指示所描述的实施例可包括特定特征、结构或特性,但是每个实施例可能不一定包括该特定特征、结构或特性。
[0073]
最后,虽然已经单独地描述了系统的给定组件,但普通技术人员将认识到,可以在给定指令、程序序列、代码部分、执行线程等中组合或共享一些功能。
[0074]
本文的技术提供对另一技术或技术领域的改进,例如,深度学习系统、深度学习模型的真实世界应用(包括但不限于医疗分类、其他安全系统),以及对使用深度学习模型来促进关于那些所部署系统的命令和控制操作的所部署系统的改进。
[0075]
如前所述,本文的技术可用于任何领域和任何应用,其中神经网络分类器可经受对手攻击。
[0076]
本文中描述的技术不限于与任何特定类型的深度学习模型一起使用。该方法可以扩展到具有内部处理状态(即,隐藏权重)的任何机器学习模型,包括但不限于支持向量机(svm)、逻辑回归(lr)模型等,并且该方法还可以扩展到与基于决策树的模型一起使用。
[0077]
可以实现的特定分类任务不旨在被限制。代表性的分类任务包括但不限于图像分类、文本识别、语音识别、自然语言处理和许多其他任务。
[0078]
已经描述了本主题,要求保护的内容如下。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献