CN115004153A - 神经流证明 - Google Patents
神经流证明 Download PDFInfo
- Publication number
- CN115004153A CN115004153A CN202180010132.0A CN202180010132A CN115004153A CN 115004153 A CN115004153 A CN 115004153A CN 202180010132 A CN202180010132 A CN 202180010132A CN 115004153 A CN115004153 A CN 115004153A
- Authority
- CN
- China
- Prior art keywords
- neural
- computer model
- model
- neural flow
- flow
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
提供了用于实现神经流证明引擎并基于神经流执行计算机模型执行完整性验证的机制。输入数据被输入到包括多层神经元的经训练的计算机模型。神经流证明引擎针对输入数据中的输入数据实例集记录由经训练的计算机模型生成的输出类和通过多层神经元的神经流,从而生成所记录的神经流。将经训练的计算机模型部署到计算平台,并且神经流证明引擎基于所部署的经训练的计算机模型的运行时神经流和所记录的神经流来验证所部署的经训练的计算机模型的执行完整性。
Description
技术领域
本申请一般涉及改进的数据处理装置和方法,并且更具体地涉及用于执行神经流证明的机制。
背景技术
由于深度学习系统在执行认知任务时能够接近人类表现,因此深度学习系统已经被广泛地部署为人工智能(AI)服务的一部分。深度学习是一类机器学习技术,其使用级联的多层非线性处理单元来进行特征提取和变换。每个连续层使用来自输入的前一层的输出。使用监督的(例如分类)和/或无监督的(例如模式分析)学习机制来训练深度学习系统。可以关于与不同抽象级别对应的多个表示级别来执行学习,其中这些级别形成概念的层次结构。
大多数现代深度学习模型基于人工神经网络,尽管它们还可以包括在深度生成模型中逐层组织的命题公式或潜在变量,诸如在深度信念网络和深度玻尔兹曼机中的节点。在深度学习中,每个级别,例如神经网络的层,学习将其输入数据变换成稍微更抽象和合成的表示。在图像识别应用中,例如,原始输入可以是像素矩阵,其中像素的多个抽象层作为所识别的特征。重要的是,深度学习过程可以学习哪些特征将其自身最佳地置于哪个级别,但是这并不完全避免对手动调谐的需要。例如,手动调谐可以用于改变层的数量和层大小,以便提供不同的抽象程度。
“深度学习”中的“深度”是指数据通过其被变换的层的数量。更准确地说,深度学习系统具有实质信用分配路径(CAP)深度。CAP是从输入到输出的变换的链。CAP描述输入和输出之间的潜在因果连接。对于前馈神经网络,CAP的深度是网络的深度,并且是隐藏层加一的数目(因为输出层也被参数化)。对于循环神经网络,其中信号可以不止一次地传播通过层,CAP深度可能是无限的。没有普遍同意的深度阈值将浅学习与深学习分开,但是大多数研究者同意深学习涉及大于2的CAP深度。深度为2的CAP在它可以仿真任何功能的意义上已被证明是通用逼近器。除此之外,更多的层不增加网络的函数逼近器能力,但是额外的层帮助学习特征。
然而,至少需要验证所部署的经训练的计算机模型的完整性。因此,在本领域中需要解决前述问题。
发明内容
从另一方面来看,本发明提供了一种在包括至少一个处理器和至少一个存储器的数据处理系统中的方法,至少一个存储器包括指令,该指令由至少一个处理器执行以配置至少一个处理器来实现神经流证明引擎,方法包括:由神经流证明引擎将输入数据输入到经训练的计算机模型,其中经训练的计算机模型包括多层神经元;由神经流证明引擎针对输入数据中的输入数据实例集记录由经训练的计算机模型生成的输出类和通过多层神经元的神经流,从而生成所记录的神经流,其中输出类是多个可能的输出类中的一个;将经训练的计算机模型部署到计算平台;以及由神经流证明引擎基于所部署的经训练的计算机模型的运行时神经流和所记录的神经流来验证所部署的经训练的计算机模型的完整性。
一种计算机程序产品,包括具有存储在其中的计算机可读程序的计算机可读存储介质,其中,计算机可读程序当在数据处理系统上执行时,使得数据处理系统实现神经流证明引擎,神经流证明引擎执行以下操作:将输入数据输入到经训练的计算机模型,其中经训练的计算机模型包括多层神经元;针对输入数据中的输入数据实例集记录由经训练的计算机模型生成的输出类和通过多层神经元的神经流,从而生成所记录的神经流,其中输出类是多个可能的输出类中的一个;将经训练的计算机模型部署到计算平台;以及基于所部署的经训练的计算机模型的运行时神经流和所记录的神经流来验证所部署的经训练的计算机模型的完整性。
从另一方面来看,本发明提供了一种系统,包括:至少一个处理器;以及耦合到至少一个处理器的至少一个存储器,其中至少一个存储器包括指令,该指令在由至少一个处理器执行时,使得至少一个处理器实现神经流证明引擎,神经流证明引擎被配置为:将数据输入到经训练的计算机模型,其中经训练的计算机模型包括多层神经元;针对输入数据中的输入数据实例集记录由经训练的计算机模型生成的输出类和通过多层神经元的神经流,从而生成所记录的神经流,其中输出类是多个可能的输出类中的一个;将经训练的计算机模型部署到计算平台;以及基于所部署的经训练的计算机模型的运行时神经流和所记录的神经流来验证所部署的经训练的计算机模型的执行完整性。
从另一方面来看,本发明提供了一种用于实现神经流证明引擎的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并且存储由处理电路执行以执行用于执行本发明的步骤的方法的指令。
从另一方面来看,本发明提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当所述程序在计算机上运行时,用于执行本发明的步骤。
在一个说明性实施例中,一种在包括至少一个处理器和至少一个存储器的数据处理系统中的方法,至少一个存储器包括指令,该指令由至少一个处理器执行以将至少一个处理器配置为实现神经流证明引擎。该方法包括通过神经流认证引擎将输入数据输入到经训练的计算机模型,其中,经训练的计算机模型包括多层神经元。该方法还包括由神经流认证引擎针对输入数据中的输入数据实例集记录由经训练的计算机模型生成的输出类和通过多层神经元的神经流,从而生成所记录的神经流。输出类是多个可能的输出类中的一个。方法还包括将经训练的计算机模型部署到计算平台,并且由神经流证明引擎基于所部署的经训练的计算机模型的运行时神经流和所记录的神经流来验证所部署的经训练的计算机模型的完整性。
在其他说明性实施例中,提供了一种计算机程序产品,其包括具有计算机可读程序的计算机可用或可读介质。当在计算设备上执行所述计算机可读程序时,所述计算机可读程序使得所述计算设备执行上面关于方法说明性实施例概述的操作中的各种操作和操作的组合。
在又一说明性实施例中,提供了一种系统/装置。该系统/装置可以包括一个或多个处理器和耦合到该一个或多个处理器的存储器。存储器可以包括指令,当由一个或多个处理器执行该指令时,该指令使一个或多个处理器执行上面关于方法说明性实施例概述的操作中的各种操作和操作的组合。
本发明的这些和其它特征和优点将在以下本发明的示例性实施例的详细描述中描述,或者鉴于以下本发明的示例性实施例的详细描述,本发明的这些和其它特征和优点将对于本领域的普通技术人员变得显而易见。
附图说明
当结合附图阅读时,通过参考以下对说明性实施例的详细描述,将最好地理解本发明及其优选使用模式和进一步的目的和优点,在附图中:
图1是示出根据一个说明性实施例的其中为用于训练计算机模型的训练数据而收集神经流信息的操作的预处理阶段的示例图;
图2是示出根据一个说明性实施例的其中执行已部署的计算机模型的操作的运行时神经流证明的操作的部署阶段的示例图;
图3描绘了其中可以实现说明性实施例的各方面的示例分布式数据处理系统的图形表示;
图4是其中可以实现说明性实施例的各方面的示例计算设备的框图;
图5是概述根据一个说明性实施例的用于执行预处理阶段功能的示例操作的流程图;
图6是概述根据一个说明性实施例的用于执行部署阶段功能的示例操作的流程图,该部署阶段功能包括神经流的运行时神经流证明;
图7描绘了根据本发明实施例的云计算环境;以及
图8描绘了根据本发明实施例的抽象模型层。
具体实施方式
人工智能(AI)系统和AI服务利用机器学习(ML)模型作为它们的后端引擎的一部分。例如,许多AI系统和服务使用深度神经网络(DNN)(也称为深度学习模型)来执行支持系统操作和服务的底层智能操作。本发明具体涉及一种改进的计算机工具,用于帮助确保在各种计算机运行时环境中,以及在一些说明性实施例中,在云计算环境中,这种机器学习模型的执行完整性。应当理解,这里描述的说明性实施例将涉及计算机模型,其旨在涉及任何类型的机器学习计算机模型。深度学习模型是一种具有两个或更多神经元中间层的神经网络,其被用作可以与说明性实施例一起使用的计算机模型的主要示例。然而,具有深度学习模型的说明性实施例的实现不旨在限制说明性实施例的潜在应用。相反,可以实现示例性实施例的中间层的各种数量或大小的任何其它已知或以后开发的神经网络模型被认为在本发明的范围内。
深度学习模型正被更普遍地用于公共云计算环境(在本文中也简称为“云”平台、环境等)中以提供人工智能云服务,例如图像识别和分析服务、决策支持服务等。例如,许多云计算环境是多租户云计算环境或云平台,其中该架构允许客户(或租户)共享公共或甚至私有云中的计算资源,该计算资源包括由云提供商提供的硬件和软件。每个租户的数据被隔离并且对其他租户保持不可见。大多数公共云提供商使用多租户架构。关于DL模型,每个租户可以利用单独的DL模型实例。DL模型本身可以由第三方或者甚至由云提供商提供,其中DL模型的单个实例被具体配置用于特定租户以及他们希望提供的特定云服务。
在公共云计算环境中部署深度学习(DL)模型是引导人工智能服务的有效方式,然而,云计算租户通常关注这样的公共云计算环境中的所部署的DL模型执行的运行时完整性。这些关注基于云计算租户的三个主要观点。首先,能够穿透云平台的攻击者往往将后门注入DL模型中,后门即是通过绕过正常认证机制来获取对程序、在线服务或计算系统的访问的未公开方式。这种后门可以由具有特殊嵌入图案的恶意制作的输入来激活,例如图像数据中的水印、特洛伊木马(或“特洛伊木马”)等。因此,攻击者可以偏离DL模型执行,并影响最终预测以获取其自身的益处。
第二,云平台提供商可具有财务激励以用修剪或“压缩”的对应物来替换租户的DL模型,这可以在某种程度的精度损失的情况下降低存储和计算成本。也就是说,DL模型训练器可以通过尝试移除DL模型中的一些组件,例如连接、神经元或层,来重新训练DL模型。然而,DL模型训练器需要保证经修剪的模型能够实现与原始DL模型相同水平的准确度。因此,云提供商,即提供计算资源以托管云服务的实体,可以显著地降低其用于在线服务模型的运营成本。然而,具有高标准的精度的租户可能不接受这样的模型变换和替换。这也可能导致责任问题,即确定谁对针对运行时的错误预测负责,因为这样的模型变换/替换可能是错误预测的原因,或者原始模型可能已经是错误预测的原因。
第三,已知现有的DL模型易受攻击。攻击者可以利用DL模型漏洞来制作对抗样本(adversarial sample)作为在线预测输入。这样的对抗输入将被错误分类为由攻击者预先确定的类别。云租户倾向于检测那些错误分类的样本,并分析为什么将它们分类到不同于训练数据的特定类别。此外,云租户可以收集那些错误分类的样本以进行对抗训练来进一步增强其DL模型的稳健性。如下文将描述的,将理解,通过说明性实施例的机制以及说明性实施例的神经流证明的实现,对抗性示例能够在运行时处被检测到,并且这些对抗性示例可以被收集以供进一步调查。
说明性实施例提供了解决在诸如公共云平台和数据处理环境之类的各种计算平台中的计算机模型(或简称为“模型”),例如深度学习(DL)模型,的执行完整性问题的机制。说明性实施例提供了一种用于在神经流的抽象级别验证计算机模型的执行完整性的运行时神经流证明方案。神经流是深度学习模型的执行顺序,并且由对应于特定输入的跨层神经元激活状态来表示。
对于提供给诸如DL模型等经训练和部署的计算机模型的每一输入实例,可信执行环境(TEE)被利用来如实地记录和日志记录其相关联的神经流以供其执行通过并将证明报告发送给租户。在租户侧,用户维护测量数据库,该测量数据库存储针对不同类的所有训练数据的预先记录的神经流,即DL模型的潜在分类输出。基于预测结果,即由云计算环境中的DL模型生成的分类输出,租户可以验证记录在云中的神经流是否偏离其DL模型的相同类中的训练数据的神经流。如果云计算环境中的DL模型偏离训练数据的神经流,或者偏离超过由一个或多个预定义准则指示的预定量,则这可以被认为是异常神经流,其指示云计算环境中的DL模型可能已经被损害并且需要被收回以用于进一步调查。因此,说明性实施例允许云平台提供商向他们的租户证明运行时执行状态,并且允许租户用他们的本地驻留测量数据库来验证他们的在线DL模型的状态。
对于说明性实施例,假设希望将计算机模型部署到云计算环境的云计算环境用户(即拥有诸如DL模型之类的计算机模型的实体)已经使用它们自己的训练数据(诸如离线预处理操作的一部分)来训练它们的模型。用户(拥有实体的模型;在云计算平台的上下文中也被称为“租户”)意图将模型供应给服务云平台提供商的模型以实例化在线云服务,例如使用诸如DL模型之类的机器学习训练的计算机模型的在线分类或预测服务。例如,用户可能想要实例化图像识别分类服务、保健决策支持服务、或利用基于人工智能的计算机模型(诸如DL模型)来执行分类操作、预测操作等的众多其他服务中的任一个。
在训练模型之后,用户再次将训练数据传递到经训练的模型中,其中说明性实施例的神经流提取引擎操作为在经训练的模型的每层处提取神经元激活信息。神经元激活信息可以基于计算机模型的特定层类型而具有不同的内容。例如,对于卷积层,层内的每个滤波器被认为是单元,并且每个滤波器的平均激活值被计算为神经元激活信息的一部分。对于全连接层,每个神经元被认为是单元,并且其激活值被提取。对于每一层,阈值可以是预定的,并且仅记录满足与阈值相关联的准则的滤波器/神经元的身份和激活值,例如,仅记录满足或超过阈值的过滤器/神经元的激活值。
神经流提取引擎组合跨各层的神经元激活,从而生成每个训练数据实例的神经流。神经流聚合引擎聚合针对相同类中的所有训练数据的神经流并且分别为每个类生成神经流模型。神经流模型被存储在租户的本地计算系统处的测量数据库中,以用于稍后与在计算机模型的远程定位的云部署处生成的神经流进行比较。
在如上所述地训练模型并存储针对由模型生成的每一类输出的神经流模型之后,用户可以将计算机模型部署到云平台提供商的云计算环境,并启动对应于所部署的计算机模型的云服务,例如,经训练的DL模型。此外,可信执行环境(TEE)在云计算环境上生成或启动。TEE是云计算平台的计算资源的隔离执行环境,其提供安全特征,诸如隔离执行、在TEE内执行的应用的完整性、以及在TEE内维护的计算资产的机密性。利用TEE,可以在TEE内以高信任级别执行代码,因为TEE可以忽略来自TEE外部的云计算平台的其余部分的威胁。TEE的创建和使用在本领域中是公知的,因此,这里不提供更详细的解释。
在TEE内,提供一个或多个记录组件以截取所部署的模型的执行并获取针对执行模型的每个输入的神经流信息。也就是说,模型(例如,DL模型)在TEE外部执行,然而,诸如以上讨论的神经流提取引擎的另一实例之类的记录组件在TEE内执行。当模型接收到用于分类、预测等的输入时,TEE内的记录组件通过再次提取部署模型的每一层处的神经元激活信息并组合跨这些层的神经元激活来捕获针对输入的神经流,从而在处理该输入时生成所部署模型的神经流。应当理解,不需要针对TEE内的机制修改模型本身来捕获神经流信息。记录机制在深度学习在线执行框架中被添加。一旦模型开始对特定输入数据实例执行,则当输入通过模型时,每层处的执行被记录机制截取。在每次截取时,TEE内部包含的记录机制被调用来提取激活信息。此后,跨所有层收集的所有激活信息被组合以构建针对该输入数据实例的神经流。
捕获的神经流信息可以存储在TEE的安全存储装置内,并且被提供回用户的本地计算系统,例如,租户的本地计算系统或计算设备。例如,当用户发送输入实例以供所部署的模型处理时,用户可将该输入与用于新鲜度测试的特定质询C相关联。该质询被用于防御“重放攻击”。即,质询C帮助确保所返回的神经流不被计算平台提供商用先前制作或准备的神经流版本替换。因此,对于每个输入,用户或在云计算平台的情况下的云租户向记录组件发送随机或伪随机生成的质询C。该质询仅可以在TEE内使用,并且计算平台提供商不能访问质询C。该质询与所记录的与输入相关联的神经流相关联。当用户(或云租户)接收到神经流时,用户/云租户可以基于该质询C来验证神经流的完整性和新鲜度。
例如,在TEE内,针对输入的神经流与关于该输入和模型的输出的信息一起被捕获,并且与质询C一起散列,并且使用安全密钥加密经证明的神经流或“证明”,作为TEE的启动的一部分,该安全密钥可以在用户或租户、计算系统/设备和TEE之间交换。被交换的安全密钥用于对在TEE和用户之间或在租户计算系统/设备之间交换的数据(诸如,被打包的所记录的神经流、计算机模型的输入/输出以及具有质询C的散列)进行加密,从而生成经密封的证明。
当在用户的本地计算系统的证明引擎处从云计算平台的TEE接收到密封证明时,用户可以使用质询C来首先验证证明的完整性和新鲜度,并提取计算机模型的输入/输出信息和与输入的处理对应的神经流。基于由模型针对输入生成的输出分类或预测,证明引擎从本地测量数据库中检索在先前描述的预处理操作期间基于训练数据存储的针对特定类的对应神经流模型。将证明中的神经流与来自由训练数据生成的测量数据库的已存储的神经流进行比较。
如果所部署的模型按照其应当的方式操作,并且没有攻击者、云计算提供商等执行对所部署模型的修改,则来自证明的神经流应当非常逼近测量数据库中的针对同一类的已存储的神经流。可能存在给定容差内的一些相对小的差异,然而,总体上神经流应当是相同的。然而,如果存在明显的偏差,例如,大于给定容差的偏差,或满足表示损害准则的偏差,则所部署的模型可能已经以某种方式被损害,无论是无辜的还是恶意的。
利用说明性实施例,可以例如通过应用预定义的计算机执行的规则、与指示可接受偏差程度的一个或多个偏差阈值的比较等来评估神经流之间的偏差,以确定是否要触发警报通知,从而向用户通知所部署模型的潜在损害。如果警报通知被触发,则可以向用户输出警报,允许用户选择是否自动收回所部署的模型。如果用户选择收回所部署的模型,则可以向云计算提供商发送计算机命令以使得所部署的模型从经由云计算平台的公共访问中被移除。
因此,说明性实施例提供了用于执行所部署的计算机模型执行的运行时神经流证明的机制,尤其是关于神经网络和深度学习(DL)网络计算机模型。具体地,通过在操作的预处理或训练阶段以及在经训练的计算机模型的部署之后捕获和比较关于计算机模型的执行的神经流来促进运行时神经流证明。运行时神经流证明允许确定所部署的模型在部署之后是否已被损害,使得模型所有者可以执行适当的动作以确保其模型不生成模型使用者不想要的输出。
在开始讨论示例性实施例的各方面之前,首先应当理解,在整个说明书中,术语“机制”将用于指执行各种操作、功能等的本发明的元件。如在此使用的术语“机制”可以是以装置、计算机执行的过程或方法、或计算机程序产品的形式的说明性实施例的功能或方面的实现。在进程的情况下,该进程由一个或多个设备、装置、计算机、数据处理系统等来实现。在计算机程序产品的情况下,由包含在计算机程序产品中或计算机程序产品上的计算机代码或指令表示的逻辑由一个或多个硬件设备执行,以便实现与特定“机制”相关联的功能或执行与特定“机制”相关联的操作。因此,本文所述的机制可以实现为专用硬件、在通用硬件上执行的软件、存储在介质上使得指令可由专用或通用硬件容易地执行的软件指令、用于执行功能的过程或方法、或以上的任何组合。
本说明书和权利要求书可以关于说明性实施例的特定特征和元件使用术语“一”、“至少一个”和“一个或多个”。应当理解,这些术语和短语旨在表明在特定的说明性实施例中存在至少一个特定特征或元件,但是也可以存在多于一个。也就是说,这些术语/短语不旨在将说明书或权利要求限制为存在单个特征/元件或要求存在多个这样的特征/元件。相反,这些术语/短语仅要求至少单个特征/元件,其中多个这样的特征/元件的可能性在说明书和权利要求的范围内。
此外,应当理解,如果在此关于描述本发明的实施例和特征而使用,术语“引擎”的使用不旨在限制用于实现和/或执行可归因于引擎和/或由引擎执行的动作、步骤、过程等的任何特定实施方式。引擎可以是但不限于执行指定功能的软件、硬件和/或固件或其任意组合,包括但不限于通用和/或专用处理器与加载或存储在机器可读存储器中并由处理器执行的适当软件的任意组合。此外,除非另有说明,与特定引擎相关联的任何名称是为了便于参考的目的,而不是旨在限制于特定的实施方式。另外,归于引擎的任何功能性可由多个引擎同等地执行,并入相同或不同类型的另一引擎的功能性中和/或与其组合,或分布在各种配置的一个或多个引擎上。
此外,应当理解,以下描述使用说明性实施例的各种元件的多个各种示例来进一步说明说明性实施例的示例实现方式,并且帮助理解说明性实施例的机制。这些示例旨在是非限制性的,并且不是用于实现说明性实施例的机制的各种可能性的穷举。鉴于本说明书,对于本领域的普通技术人员来说,显然,在不脱离本发明的范围的情况下,除了本文提供的示例之外,或者作为其替代,可以利用这些各种元件的许多其它替代实现。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,例如Java、Smalltalk、C++等,以及常规的过程式编程语言,例如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所提及的功能可不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
如上所述,说明性实施例提供了具体针对促进所部署的机器学习计算机模型的执行的运行时神经流证明的机制,以便确保计算机模型诸如在云计算环境或其他分布式数据处理系统中的部署之后的完整性。说明性实施例的机制在与用户(计算机模型所有者)相关联的本地计算系统中操作以用于在部署之前捕获经训练的计算机模型的神经流的目的,并且在远程定位的计算系统中操作以用于在部署经训练的计算机模型以用于运行时执行之后捕获神经流的目的,其中远程定位的计算系统是诸如提供云计算平台的一个或多个计算系统。该机制允许使用可信执行环境来捕获经训练的和所部署的计算机模型的神经流,并将其报告回用户以对照在部署经训练的计算机模型之前的预处理或训练阶段期间捕获的已存储的神经流来验证神经流。基于该比较,可以确定在训练之后所部署的经训练的计算机模型是否已经被损害,并且可以执行适当的动作。
图1是示出根据一个说明性实施例的其中为用于训练计算机模型的训练数据而收集神经流信息的操作的预处理或训练阶段的示例图。图1中概述的操作假定已经使用训练数据集120和机器学习训练过程来训练深度神经网络(DNN)或深度学习(DL)模型110(以下称为DL模型)。这样的机器学习训练过程在本领域中是公知的,因此,这里不提供训练DNN或DL模型的过程的详细解释。例如,只要机器学习训练过程调整DL模型110的各个层L1-Ln的操作参数,诸如权重等,以使DL模型110将输入适当地分类到多个可识别类之一,或者生成预测输出就足够了。
在训练DL模型110之后,训练数据再次被输入到现在训练的DL模型110中,如图1所示。神经流(NF)证明引擎130捕获并存储针对训练数据的神经流,并且基于所捕获的神经流生成针对可识别类的集合中的各个类或潜在预测的集合中的预测的神经流模型。为了描述的目的,将假设DL模型130被配置成将输入分类到预定的类的集合中的类。在一些说明性实施例中,该分类涉及计算预定数量的已识别类中的每一个类的概率值,使得具有最高概率值或分数的类被选择作为针对输入的输出类。因此,DL模型110的输出可以是向量输出,其中每个向量槽对应于不同的类,并且向量槽中的值表示指示该对应的类是针对DL模型110的输入的正确分类的概率或分数。概率值或分数本身是通过DL模型110的层L1-LN的各种神经元的操作来计算的。
神经流(NF)证明引擎130的神经流提取引擎132提取经训练的DL模型110的每个层L1-LN处的神经元激活信息。神经流提取引擎132组合跨L1-LN的神经元激活(例如,在图1中的神经流中被示为加黑的向量槽),以由此生成训练数据120中的每个训练数据实例的神经流134。因此,当经训练的DL模型110处理训练数据实例作为DL模型110的输入时,DL模型110生成由NF提取引擎132捕获并且与由DL模型110生成的输出分类相关的神经元激活信息。因此,当每个训练数据实例被处理时,为训练数据实例生成对应的神经流134和输出分类,并由NF证明引擎130存储以供NF聚合引擎136处理。
NF聚合引擎136聚合被分类在同一类中的所有训练数据的神经流134,并分别为每一类生成神经流模型140。例如,如果DL模型110被训练成将输入分类成100个不同的可识别类之一,则对于这100个类中的每一个,通过聚合被分类到对应类的训练数据实例的神经流134来生成对应的神经流模型140,即,在该示例中,将生成100个神经流模型140。神经流134的聚合可以以多种不同方式中的任何方式来执行而不脱离本发明的范围。例如,在一个说明性实施例中,可以识别同一类中的所有训练数据的激活的神经元和过滤器的“集合”(取决于层是卷积层和全连接层)。在其它说明性实施例中,可以基于激活的神经元和过滤器来训练机器学习模型,例如贝叶斯模型、SVM模型或图形神经网络模型。机器学习模型可以考虑激活的顺序和激活发生的频率。结果,可以进行在运行时处对未看见的测试数据的逼近的相似性匹配。
神经流动模型140与神经流动模型140所对应的对应类的指示符相关联地存储在测量数据库150中。因此,当使用神经流验证所部署的模型的执行时,可以从测量数据库150中检索针对特定类的对应神经流模型140,并且用于执行模型完整性验证,诸如通过如下文所描述的神经流验证引擎138来执行模型完整性验证。
在如上所述地训练DL模型110并将由DL模型110生成的输出的每一类的神经流程模型140存储在测量数据库150中之后,用户可以将经训练的DL模型110部署到云平台提供商的云计算环境,并启动与所部署的DL模型对应的云服务。图2是示出根据一个说明性实施例的其中执行对所部署的DL模型210的操作的运行时神经流证明的操作的部署阶段的示例图。在图2中,图的右手侧,标记为“云”,指的是其中关于从DL模型210所支持的云服务的用户接收的新输入220来部署和执行DL模型210的云计算平台和云计算环境。例如,图的“云”侧可以是被分配给DL模型210所有者的云计算资源(硬件和/或软件)的特定部分,诸如多租户云计算环境的一部分。
如图2所示,云计算平台提供NF运行时神经流证明引擎230和可信执行环境(TEE)236以用于DL模型210的部署。在一些说明性实施例中,NF运行时神经流证明引擎230或NF运行时神经流证明引擎230的组件的子集可以在TEE 236内执行,或者TEE 236可以被提供为NF运行时神经流证明引擎230的一部分。然而,为了易于描述,运行时神经流证明引擎230被示为在TEE 236外部,然而这不是本发明的要求。然而,特别注意的是,所部署的经训练的DL模型210在TEE 236外部执行,而所部署的经训练的DL模型210的神经流的捕获、存储和报告在TEE 236内执行,以确保所记录的神经流不被篡改。
如图2所示,NF运行时神经流证明引擎230包括NF提取引擎232,其操作为记录DL模型210的对输入220进行操作的神经流(NF)。NF提取引擎232可以以与图1的NF提取引擎132类似的方式操作,但是关于所部署的经训练的DL模型210在云计算平台中执行。在一些说明性实施例中,NF提取引擎232在TEE 236内执行以收集神经流信息,其被称为经证明的神经流信息,因为它被用于证明所部署的经训练的DL模型210的正确执行。
NF运行时神经流证明引擎230还包括证明生成引擎234,其生成被发送到用户的本地计算系统(诸如图1所示)的证明输出,以供NF证明引擎130验证。经由相应的计算系统或平台的运行时神经流证明接口137和238,促进图2中的NF运行时神经流证明引擎230与图1中的NF证明引擎130之间的数据通信。
如图2所示,当所部署的经训练的DL模型210接收到用于诸如分类、预测等之类的处理的输入220时,可以在TEE 236内执行的NF提取引擎232通过再次提取所部署的经训练的DL模型210的每个层L1-LN处的神经元激活信息并组合跨L1-LN的神经元激活来捕获并存储针对输入220的神经流240,以由此生成所部署的经训练的DL模型210的神经流240。所捕获的神经流信息240可以存储在TEE 236的安全存储装置内,并且被提供回在用户的本地计算系统上执行的NF证明引擎130。
例如,当用户计算系统250发送输入220以供所部署的经训练的DL模型210处理时,用户计算系统250可将该输入与特定质询C相关联,以用于确定从NF运行时神经流证明引擎230接收的证明的新鲜度。在TEE 236内,针对该输入220的神经流240连同关于模型的输出的信息一起被NF提取引擎232捕获。所提取的NF和模型输入(即其中输入被分类的类)连同质询C一起被提供给证明生成引擎234。证明生成引擎234将NF和模型输出连同质询C一起散列,并且可以利用作为TEE启动的一部分在用户/租户计算设备与TEE之间交换的安全密钥来对结果加密,以由此将数据密封并生成证明,该证明然后被发送回实现NF证明引擎130的用户计算设备250。或者,在一些说明性实施例中,NF证明引擎130可被提供在与用户计算设备250分开的计算设备上,只要该分开的计算设备也被提供质询,使得经密封的证明可以被访问和验证。
当在用户的本地计算系统(例如,用户计算设备250)的NF证明引擎130处经由接口137和238从TEE 236接收到经密封的证明时,在用户计算设备250上执行的NF证明引擎130(参见图1)的神经流验证引擎138可以使用质询C来首先验证证明的完整性和新鲜度,并提取DL模型的输出信息和对应于输入220的处理的神经流。基于由DL模型210针对输入220生成的输出分类或预测,神经流验证引擎138从本地测量数据库150中检索在先前关于图1描述的预处理操作期间基于训练数据存储的针对特定类的对应神经流模型140。将证明中的神经流240与由训练数据生成的来自测量数据库150的神经流模型140的已存储的神经流进行比较。
如前所述,如果所部署的经训练的DL模型210如其应当的那样操作,并且攻击者、云计算提供商等都没有执行对所部署的经训练的DL模型210的修改,则来自证明的神经流240应当针对同一类紧密地逼近测量数据库150中已存储的神经流140。然而,如果存在明显的偏差,例如,大于给定容限的偏差,或满足例如在一个或多个计算机应用规则中规定的表示损害标准的偏差,则在DL模型110的训练和部署之后,所部署的经训练的DL模型210可能已经以某种方式被损害,无论是无辜的还是恶意的。
利用说明性实施例,神经流140、240之间的偏差可以由神经流验证引擎138评估,例如通过应用预定义的计算机执行的规则、与指示可接受偏差的程度的一个或多个偏差阈值的比较等,以确定是否满足指示所部署的经训练的DL模型210的潜在损害的准则或阈值,并且警报通知将被触发以由此向用户通知所部署的模型的潜在损害。如果这样的标准或阈值被满足,则警报通知被触发,并且通知和响应动作引擎139被调用以组成警报并将警报传输到用户计算设备250或以其他方式在用户计算设备250上输出警报,从而允许用户选择是否自动地收回所部署的经训练的DL模型210。如果用户选择收回所部署的经训练的DL模型210,则可以向云计算提供商传输计算机命令以使得所部署的经训练的DL模型210从公共访问中移除,例如从云计算平台上的可用云服务中注销。
因此,提供了用于执行所部署的计算机模型执行的运行时神经流证明的机制。运行时神经流证明涉及在操作的预处理或训练阶段以及在经训练的计算机模型的部署之后捕获和比较计算机模型的神经流。运行时神经流证明允许确定所部署的模型在部署之后是否已被损害,使得模型所有者可以执行适当的动作以确保其模型不生成模型用户不想要的输出。此外,运行时神经流证明解决了租户具有如上所述的关于他们所部署的DL模型的三个问题。例如,对于将后门注入到所部署的训练的DL模型中的攻击者,如果该攻击者使得DL模型对输入错误地分类,则神经流将被修改以导致这种错误分类,并且神经流的这种修改将由说明性实施例的机制来检测。如果云计算平台提供商修剪或“挤压”DL模型以减少存储和计算成本,则神经流将再次被修改,并且与部署之前的经训练的DL模型的这种偏差将由说明性实施例的机制来检测。此外,如果DL模型受到敌对攻击,则这也将导致神经流的偏差,该偏差由说明性实施例的机制检测。因此,所要求保护的发明使用基于神经流的运行时神经流证明模型提供了用于验证所部署的经训练的DL模型的完整性以及对来自攻击者或云计算平台提供商的潜在损害的检测的机制。
从以上描述中可以明显看出,本发明提供了一种计算机工具,用于提高特别是在云计算或其他分布式数据处理系统环境中的所部署的计算机模型的完整性,并且用于检测这种所部署的计算机模型的损害,使得可以执行适当的通知和响应动作。因此,可以在许多不同类型的数据处理环境中利用说明性实施例。为了提供用于描述说明性实施例的特定元件和功能的上下文,以下提供图3和图4作为其中可以实现说明性实施例的各方面的示例环境。应当理解,图3和图4仅是示例,而不是要断言或暗示关于其中可实现本发明的各方面或实施例的环境的任何限制。在不脱离本发明的范围的情况下,可以对所描述的环境进行许多修改。
图3描绘了其中可以实现示例性实施例的各方面的示例分布式数据处理系统的图形表示。分布式数据处理系统300可以包括其中可以实现示例性实施例的各方面的计算机网络。分布式数据处理系统300包含至少一个网络302,其是用于在分布式数据处理系统300内连接在一起的各种设备和计算机之间提供通信链路的介质。网络302可以包括连接,诸如有线、无线通信链路、卫星通信链路、光缆等。
在所描述的示例中,服务器304A-304C与存储单元308一起连接到网络302。另外,客户端310和312也连接到网络302。这些客户端310和312可以是例如个人计算机、网络计算机等。在所描述的示例中,服务器304A-304C向客户端310-312提供数据,例如引导文件、操作系统映像和应用。在所描述的示例中,客户端310-312是包括服务器304A以及可能的一个或多个其他服务器计算设备304B-304C的云计算系统的客户端。分布式数据处理系统300可以包括未示出的附加服务器、客户端和其他计算、数据存储和通信设备。
在所描述的示例中,分布式数据处理系统300是因特网,其中网络302表示使用传输控制协议/因特网协议(TCP/IP)协议组来相互通信的网络和网关的世界范围的集合。因特网的核心是主节点或主计算机之间的高速数据通信线路的主干,其由路由数据和消息的数千个商业、政府、教育和其它计算机系统组成。当然,分布式数据处理系统300也可以被实现为包括许多不同类型的网络,例如内联网、局域网(LAN)、广域网(WAN)等。如上所述,图3旨在作为示例,而不是作为对本发明的不同实施例的体系架构限制,因此,图3中所示的特定元素不应被认为是对其中可实现本发明的说明性实施例的环境的限制。
如图3所示,根据一个说明性实施方式,计算设备中的一个或多个,例如服务器304A,可以被具体地配置为实现深度学习(deep learning)云服务平台300,其进一步配置有DL云服务平台300与其一起操作的诸如图2所示的运行时神经流证明引擎230。计算设备的配置可以包括提供专用硬件、固件等,以促进这里关于说明性实施例描述的操作的执行和输出的生成。计算设备的配置还可以或替换地包括提供存储在一个或多个存储设备中并加载到诸如服务器304A之类的计算设备的存储器中的软件应用,用于使得计算设备的一个或多个硬件处理器执行软件应用,该软件应配置处理器执行操作并生成关于说明性实施例描述的输出。此外,可以使用专用硬件、固件、在硬件上执行的软件应用等的任何组合,而不脱离说明性实施例的范围。
应当理解,一旦以这些方式之一配置了计算设备,计算设备就变成了专门被配置成实现说明性实施例的机制的专用计算设备,而不是通用计算设备。此外,如本文所述,说明性实施例的机制的实现改进了计算设备的功能,并提供了基于计算机模型的神经流来促进所部署的经训练的计算机模型的完整性的运行时神经流证明的有用且具体的结果。
如图3所示,服务器304A-304C中的一个或多个被配置为实现深度学习云服务300和运行时神经流证明引擎230。虽然图3示出了与单个服务器(即服务器304A)相关联的元件300和230,但是应当理解,多个服务器(例如304A-304C)可以一起构成云计算系统,并且被配置为提供深度学习云服务300和运行时神经流证明引擎230,使得深度学习云服务300和运行时神经流证明引擎230或其部分以及被部署到DL云服务300的DL计算模型305或其部分的机制可以跨多个服务器计算设备304A-304C分布。在一些说明性实施例中,深度学习云服务300、DL模型305和运行时神经流证明引擎230的多个实例可以被提供在云计算系统的多个不同服务器304A-304C上。深度学习云服务300可以提供深度学习系统的任何基于深度学习或AI的功能。
在一些说明性实施例中,深度学习云服务300可以实现认知计算系统(认知系统)。作为概述,认知系统是专用计算机系统或计算机系统组,其配置有硬件和/或软件逻辑(与软件在其上执行的硬件逻辑组合)以仿效人类认知功能。这些认知系统将类人的特征应用于传达和操纵思想,当与数字计算的固有强度结合时,其可以解决具有高准确度和大规模弹性的问题。认知系统执行一个或多个计算机实现的认知操作,该认知操作近似于人类思维过程,并且使得人和机器能够以更自然的方式交互,以便扩展和放大人类专业知识和认知。认知系统包括人工智能逻辑,例如基于自然语言处理(NLP)的逻辑、图像分析和分类逻辑、电子病历分析逻辑等,例如,以及机器学习逻辑,其可以被提供为专用硬件、在硬件上执行的软件、或专用硬件和在硬件上执行的软件的任何组合。认知系统的逻辑实现(一个或多个)认知操作,其示例包括但不限于问题回答、语料库中的内容的不同部分内的相关概念的识别、图像分析和分类操作、诸如因特网网页搜索的智能搜索算法(例如,医疗诊断和治疗推荐)以及其他类型的推荐生成,例如,特定用户感兴趣的项目、潜在的新联系人推荐等。在一些说明性实施例中,深度学习(DL)云服务300可基于所部署的经训练的DL模型305的操作来提供用于执行诸如图像识别和分析等的其他认知操作的功能。通常,被部署到DL云服务300的DL模型305可以提供分类和/或预测功能,例如,DL云服务300对该分类和/或预测功能执行进一步评估。
IBM是一个这种认知系统的示例,其可以处理人类可读语言,并且以比人类快得多的速度和更大的规模,以类似人类的高精度识别文本段之间的推断。通常,这种认知系统能够执行以下功能:导航人类语言和理解的复杂性;摄取并处理大量的结构化和非结构化数据;生成并评估假设;加权并评估仅基于相关证据的响应;提供情况特定建议、洞察和指导;通过机器学习过程,利用每次迭代和交互来改进知识和学习;在碰撞点(pointof impact)(上下文指导)处进行决策;与任务成比例的缩放;扩展和放大人类的专业知识和认知;从自然语言中识别和谐的、类人的属性和特性;从自然语言推断各种语言特定或不可知的属性;从数据点(图像、文本、语音)的高度相关回忆(记忆和回忆);基于经验利用模仿人类认知的情境意识来预测和感测;并基于自然语言和特定证据回答问题。
在一个说明性实施例中,可以被实现为深度学习云服务300的认知系统提供用于经由实现一个或多个DL模型305的一个或多个处理流水线回答来自诸如客户端计算设备310之类的客户端计算设备的问题或处理请求的机制。在其他说明性实施例中,认知系统基于实现一个或多个DL模型305的一个或多个处理流水线来提供图像分析和辨识能力。在任一情况下,一个或多个DL模型305执行分类或预测操作,并且DL模型305的神经流被监视、捕获并报告给模型所有者(用户),以证明所部署和经训练的DL模型305的完整性。
DL模型305操作的一个或多个处理流水线是在数据处理硬件上执行的人工智能应用,其利用基于对输入的认知评估和基于经训练的DL模型305的其他证据数据而生成的结果来响应请求,例如,回答关于以自然语言呈现的给定主题领域的问题,或者处理对可以以自然语言或作为结构化请求/查询呈现的输入数据执行认知操作的请求,分析给定图像以对图像中的对象进行分类并提供分类结果等。
如图3所示,客户端计算系统,例如客户端计算系统310,被配置为实现诸如图1所示的神经流证明引擎130,其如先前所描述的那样操作以创建针对被部署到DL云服务300的经训练的DL模型306的神经流模型,作为在DL云服务300内操作以对用户输入提供服务的经部署的经训练的DL模型305,该用户输入诸如是来自计算设备312的输入308。NF证明引擎130进一步如先前所描述地操作以基于从在服务器304A上操作的运行时神经流证明引擎230接收的证明307结合DL云服务300和所部署的经训练的DL模型305,使用所创建的和存储的针对经训练的DL模型306的NF模型306来验证所部署的经训练的DL模型305的完整性。即,运行时神经流证明引擎230如先前所描述地操作以在可信执行环境内捕获所部署的经训练的DL模型305的神经流,并基于所捕获的神经流来生成证明307,所捕获的神经流被传输到所部署的经训练的DL模型305所有者计算系统310以用于对所部署的经训练的DL模型305的完整性的运行时神经流证明。
此外,NF证明引擎130可操作为针对经训练的DL模型306检索已存储的NF模型(诸如可存储在图1中的测量数据库150中的NF模型)和由如证明307中指定的输入308的由所部署的经训练的DL模型305生成的分类输出。NF证明引擎130还操作为确定证明307中的NF与检索到的NF模型之间的差异是否指示所部署的经训练的DL模型305的潜在损害。此外,NF证明引擎130可生成警报并将该警报传输/输出给授权用户以向他们通知潜在的损害。此外,NF证明引擎130可响应于确定差异指示潜在损害而自动地向云计算服务平台提供商(例如,服务器304A)发送命令,以使所部署的经训练的DL模型305被收回或撤销将所部署的经训练的DL模型305注册为经由DL云服务300可访问。这可响应于请求对所部署的经训练的DL模型305的这种收回的用户输入来完成。
如上所述,说明性实施例的机制利用专门配置的计算设备或数据处理系统来执行用于执行所部署的经训练的计算机模型的完整性的运行时神经流证明的操作。这些计算设备或数据处理系统可以包括各种硬件元件,这些硬件元件通过硬件配置、软件配置、或硬件和软件配置的组合被专门配置成实现本文描述的一个或多个系统和/或子系统。图4是其中可以实现说明性实施例的各方面的仅一个示例数据处理系统的框图。数据处理系统400是诸如图3中的服务器304A或客户端计算设备310的计算机的示例,其中实现本发明的说明性实施例的过程和各方面的计算机可用代码或指令可以被定位和/或执行,以便实现如这里描述的说明性实施例的操作、输出和外部效果。
在所描绘的示例中,数据处理系统400采用集线器体系架构,包括北桥和存储器控制器集线器(NB/MCH)402以及南桥和输入/输出(I/O)控制器集线器(SB/ICH)404。处理单元406、主存储器408和图形处理器410连接到NB/MCH 402。图形处理器410可以通过加速图形端口(AGP)连接到NB/MCH 402。
在所描绘的示例中,局域网(LAN)适配器412连接到SB/ICH 404。音频适配器416、键盘和鼠标适配器420、调制解调器422、只读存储器(ROM)424、硬盘驱动器(HDD)426、CD-ROM驱动器430、通用串行总线(USB)端口和其它通信端口432、以及PCI/PCIe设备434通过总线438和总线440连接到SB/ICH 404。PCI/PCIe设备可以包括例如以太网适配器、附加卡和用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM 424可以是例如闪速基本输入/输出系统(BIOS)。
HDD 426和CD-ROM驱动器430通过总线440连接到SB/ICH 404。HDD426和CD-ROM驱动器430可以使用例如集成驱动电子设备(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备436可以连接到SB/ICH404。
操作系统在处理单元406上运行。操作系统协调并提供对图4中的数据处理系统400内的各种组件的控制。作为客户端,操作系统可以是商业上可获取的操作系统,诸如Windows 10。面向对象的编程系统,例如JavaTM编程系统,可以与操作系统一起运行,并且提供从在数据处理系统400上执行的JavaTM程序或应用到操作系统的调用。
作为服务器,数据处理系统400可以是例如运行高级交互执行(AdvancedInteractive Executive)操作系统或操作系统的eServerTMSystem计算系统、基于处理器的计算机系统等。数据处理系统400可以是在处理单元406中包括多个处理器的对称多处理器(SMP)系统。或者,可以采用单处理器系统。IBM、IBM Watson、eServer、System p5、Power和AIX是国际商业机器公司的商标,在全世界的许多管辖区注册。注册商标是根据Linux基金会的分许可使用的,Linux基金会是Linus Torvalds的独家被许可人,在全球范围内拥有该商标。Java和所有基于Java的商标和徽标是Oracle和/或其附属公司的商标或注册商标。Microsoft和Windows是微软公司在美国和/或其他国家的商标。
用于操作系统、面向对象的编程系统以及应用或程序的指令位于诸如HDD 426的存储设备上,并且可以被加载到主存储器408中以由处理单元406执行。本发明的说明性实施例的过程可以由处理单元406使用计算机可用程序代码来执行,该计算机可用程序代码可以位于例如主存储器408、ROM 424的存储器中,或者位于例如一个或多个外围设备426和430中。
诸如图4所示的总线438或总线440之类的总线系统可以包括一个或多个总线。当然,总线系统可以使用任何类型的通信结构或体系架构来实现,该通信结构或体系架构提供在附接到该结构或体系架构的不同组件或设备之间的数据传输。通信单元,例如图4的调制解调器422或网络适配器412,可以包括用于发送和接收数据的一个或多个设备。存储器可以是例如主存储器408、ROM 424或诸如在图4中的NB/MCH 402中找到的高速缓存。
如上所述,在一些说明性实施例中,说明性实施例的机制可以实现为专用硬件、固件等、存储在诸如HDD 426的存储设备中并加载到诸如主存储器408的存储器中以由诸如处理单元406等的一个或多个硬件处理器执行的应用软件。这样,图4中所示的计算设备变得被专门配置成实现说明性实施例的机制,并且被专门配置成执行操作并生成本文关于实现隐私增强深度学习云服务框架和一个或多个处理管线的深度学习云服务描述的输出。
本领域的普通技术人员将理解,图3和图4中的硬件可以根据实现而变化。除了图3和图4中描述的硬件之外,或者作为其替代,还可以使用其它内部硬件或外围设备,例如闪存、等效的非易失性存储器或光盘驱动器等。此外,在不脱离本发明的范围的情况下,除了前面提到的SMP系统之外,还可以将示例性实施例的处理应用于多处理器数据处理系统。
此外,数据处理系统400可以采取多种不同数据处理系统中的任何一种的形式,包括客户端计算设备、服务器计算设备、平板计算机、膝上型计算机、电话或其他通信设备、个人数字助理(PDA)等。在一些说明性示例中,数据处理系统400可以是便携式计算设备,其配置有闪存以提供用于存储例如操作系统文件和/或用户生成的数据的非易失性存储器。实质上,数据处理系统400可以是任何已知的或以后开发的数据处理系统而没有体系架构限制。
图5是概述根据一个说明性实施例的用于执行预处理阶段功能的示例操作的流程图。如图5所示,操作开始于使用训练数据集来训练DL模型(步骤510)。在训练了DL模型之后,经训练的数据再次被输入到经训练的DL模型(步骤515),使得可以捕获针对每个训练数据实例的经训练的DL模型的神经流(步骤520)。然后,针对经训练的DL模型的每个输出类聚合所捕获的神经流,使得类的聚合是该类的神经流模型(步骤525)。然后,将神经流程模型存储在测量数据库中,以便以后在验证所部署的经训练的DL模型的完整性时使用(步骤530)。
在已经训练了DL模型、已经捕获了经训练的DL模型的神经流、并且已经生成并存储了针对各种类的神经流模型之后,经训练的DL模型被部署到云计算平台(步骤535)。在稍后的某个时间,用户可以经由计算系统向云计算平台发送请求以验证所部署的DL模型的完整性(步骤540)。该请求可以包括质询C,该质询C用于密封或保护从在云计算平台中操作的运行时神经流证明引擎返回的证明。
响应于该请求,云计算平台处的运行时神经流证明引擎生成证明,该证明随后由NF证明引擎接收(步骤545)。该证明包括由运行时神经流证明引擎捕获的神经流连同由所部署的经训练的DL模型针对与该请求一起提交的输入而生成的输出类。NF证明引擎检索输出类的对应的已存储的神经流模型,并将证明中的神经流与所检索的针对该输出类的神经流模型进行比较(步骤550)。确定该比较是否满足指示所部署的经训练的DL模型的潜在损害的准则(步骤555)。例如,计算机可执行规则、阈值等可以应用于证明中的神经流与神经流模型之间的差异,以确定差异是否指示损害。
如果该比较生成没有损害的结果,则操作终止。否则,如果比较生成存在潜在损害的结果,则生成警报并将该警报输出给授权用户(步骤560)。可选地,所部署的经训练的DL模型可以被收回(步骤565)。在向授权用户发出警报并请求授权用户确认需要收回所部署的经训练的DL模型之后,执行所部署的经训练的DL模型的撤销。然后操作终止。
图6是概述根据一个说明性实施例的用于执行部署阶段功能的示例操作的流程图,包括神经流的运行时神经流证明。图6中概述的操作假定已将经训练的DL模型提供给云计算平台并部署以供使用。
如图6所示,操作开始于接收验证所部署的DL模型的执行完整性的请求(步骤610)。如上所述,该请求可以伴随有要由所部署的DL模型处理以生成输出分类的输入数据,并且还可以包括用于完整性验证和新鲜度测试的质询C。在一些实施例中,如上所述,安全密钥也可被交换以用于加密或密封由可信执行环境生成的证明。响应于该请求,在云计算平台的可信执行环境中,基于给定输入来捕获所部署的DL模型的神经流(步骤620)。基于所捕获的神经流、输出分类和质询C,生成证明以响应请求(步骤630)。然后,该证明被传输到请求者计算系统处的NF证明引擎,以基于神经流来验证所部署的DL模型的运行时执行完整性(步骤640)。然后操作终止。
因此,说明性实施例提供了用于通过基于计算机模型内的神经流提供运行时神经流证明能力来确保所部署的经训练的计算机模型的完整性的机制。说明性实施例在计算机模型的部署之前记录神经流模型,并且在经训练的计算机模型被部署为云计算服务的一部分之后,使用这作为用于验证来自云计算平台的证明的基础。因此,在用户提供经训练的计算机模型以用于部署在云计算平台上之后,用户(经训练的计算机模型的所有者)可以确定他们的经训练的计算机模型是否被损害,无论是无辜地还是恶意地。结果,用户能够采取响应动作,诸如收回所部署的计算机模型,以确保用户不依赖于已损害的计算机模型。
本发明的实施例能够结合现在已知或以后开发的任何类型的计算环境来实现。在一些说明性实施例中,说明性实施例的机制在云计算系统上实现,然而,本文中所记叙的教导的实现不限于云计算环境。各种类型的分布式数据处理系统环境可以被利用来实现示例性实施例的机制。
假设云计算实施例被利用,应当理解云计算是用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问的服务递送模型,该可配置计算资源可以以最小的管理努力或与服务的提供商的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
云模型的特征如下:
(1)按需自助:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供商进行人工交互。
(2)广域网接入:能力在网络上可用,并且通过促进由异构的瘦和胖客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。
(3)资源池化:供应商的计算资源被池化以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的意义,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在较高抽象级别(例如国家、州或数据中心)指定位置。
(4)快速弹性:在一些情况下,可以快速且弹性地提供快速向外扩展的能力和快速向内扩展的能力。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。
(5)测量服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象级别的计量能力来自动地控制和优化资源使用。可以监视、控制和报告资源使用,从而为所利用服务的提供商和消费者两者提供透明性。
服务模型如下:
(1)软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供商的应用。应用可通过诸如web浏览器(例如,基于web的电子邮件)等瘦客户端界面从各种客户端设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力的底层云基础结构,可能的例外是有限的用户专用应用配置设置。
(2)平台即服务(PaaS):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该消费者创建或获取的应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储装置的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。
(3)基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储装置、网络和消费者能够部署和运行任意软件的其它基本计算资源,该软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储装置、所部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
部署模型如下:
(1)私有云:云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
(2)社区云:云基础设施由若干组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
(3)公有云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。
(4)混合云:云基础设施是两个或更多云(私有、共同体或公共)的组合,所述云保持唯一实体,但是通过使数据和应用能够移植的标准化或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心处是包括互连节点的网络的基础设施。
现在参考图7,描绘了说明性云计算环境750。如图所示,云计算环境750包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点710,所述本地计算设备例如个人数字助理(PDA)或蜂窝电话754A、桌上型计算机754B、膝上型计算机754C和/或汽车计算机系统754N。节点710可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境750提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图7中所示的计算设备754A-N的类型仅是说明性的,并且计算节点710和云计算环境750可以通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。
现在参考图8,示出了由云计算环境750(图7)提供的一组功能抽象层。应当预先理解,图8中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描绘的,提供了以下层和对应的功能:
(1)硬件和软件层860包括硬件和软件组件。硬件组件的示例包括:主机861;基于RISC(精简指令集计算机)体系架构的服务器862;服务器863;刀片服务器864;存储设备865;以及网络和网络组件866。在一些实施例中,软件组件包括网络应用服务器软件867和数据库软件868。
(2)虚拟化层870提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器871;虚拟存储装置872;虚拟网络873,包括虚拟专用网络;虚拟应用和操作系统874;以及虚拟客户端875。
在一个示例中,管理层880可以提供以下描述的功能。资源供应881提供对被用来在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价882提供在云计算环境内利用资源时的成本跟踪,以及针对这些资源的消耗的记账或发票开具。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户883为消费者和系统管理员提供对云计算环境的访问。服务级别管理884提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)计划和履行885提供了对云计算资源的预先安排和采购,其中根据SLA预期未来需求。
工作负载层890提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:映射和导航891;软件开发和生命周期管理892;虚拟教室教育传送893;数据分析处理894;交易处理895;以及深度学习云计算服务处理896。深度学习云计算服务处理896可以包括流水线、计算机模型(例如,DL模型)和运行时神经流证明引擎机制,诸如先前在上文关于所描述的说明性实施例中的一个或多个描述的图2中的运行时神经流证明引擎230。
如上所述,应当理解,说明性实施例可以采取完全硬件实施例、完全软件实施例或包含硬件和软件元素两者的实施例的形式。在一个示例实施例中,以软件或程序代码来实现说明性实施例的机制,所述软件或程序代码包括但不限于固件、驻留软件、微代码等。
适于存储和/或执行程序代码的数据处理系统将包括至少一个处理器,该至少一个处理器通过诸如系统总线的通信总线直接或间接地耦合到存储器元件。存储器元件可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置和高速缓冲存储器,该高速缓冲存储器提供至少一些程序代码的临时存储以便减少在执行期间必须从大容量存储装置检索代码的次数。存储器可以是各种类型,包括但不限于ROM、PROM、EPROM、EEPROM、DRAM、SRAM、闪存、固态存储器等。
输入/输出或I/O设备(包括但不限于键盘、显示器、指示设备等)可以直接或通过居间的有线或无线I/O接口和/或控制器等耦合到系统。I/O设备可以采取除了常规键盘、显示器、指示设备等之外的许多不同形式,例如通过有线或无线连接耦合的通信设备,包括但不限于智能电话、平板计算机、触摸屏设备、语音识别设备等。任何已知的或以后开发的I/O设备都旨在处于说明性实施例的范围内。
网络适配器也可以耦合到系统,以使数据处理系统能够通过中间专用或公共网络耦合到其它数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡只是用于有线通信的网络适配器的当前可用类型中的几种。还可以利用基于无线通信的网络适配器,包括但不限于802.11a/b/g/n无线通信适配器、蓝牙无线适配器等。任何已知的或以后开发的网络适配器都旨在处于本发明的范围内。
本发明的描述是为了说明和描述的目的而呈现的,并且不旨在是穷尽的或将本发明限制于所公开的形式。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择和描述实施例是为了最好地解释本发明的原理、实际应用,并且使本领域的其他普通技术人员能够理解本发明的具有各种修改的各种实施例,这些修改适合于所设想的特定用途。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
Claims (21)
1.一种在包括至少一个处理器和至少一个存储器的数据处理系统中的方法,所述至少一个存储器包括指令,所述指令由所述至少一个处理器执行以将所述至少一个处理器配置为实现神经流证明引擎,所述方法包括:
由所述神经流证明引擎将输入数据输入到经训练的计算机模型,其中所述经训练的计算机模型包括多层神经元;
由所述神经流证明引擎针对所述输入数据中的输入数据实例集,记录由所述经训练的计算机模型生成的输出类和通过所述多层神经元的神经流,从而生成所记录的神经流,其中所述输出类是多个可能的输出类中的一个;
将所述经训练的计算机模型部署到计算平台;以及
由所述神经流证明引擎基于所部署的经训练的计算机模型的运行时神经流和所述记录的神经流来验证所部署的经训练的计算机模型的完整性。
2.根据权利要求1所述的方法,还包括:
由所述神经流证明引擎针对所述多个可能的输出类中的每个类,基于所记录的神经流生成神经流模型;以及
由所述神经流证明引擎将每个神经流模型存储在测量数据库中,其中验证所部署的经训练的计算机模型的执行完整性包括将所述运行时神经流与所述测量数据库中的已存储的神经流模型中的一个或多个进行比较。
3.根据权利要求2所述的方法,其中,针对所述多个可能的输出类中的每个类,基于所记录的神经流生成神经流模型包括,针对每个类,通过以下各项中的至少一项来聚合与该类相关联的所记录的神经流:识别激活的神经元和滤波器的集合、或者基于激活的神经元和滤波器考虑激活和激活发生的频率来训练机器学习模型。
4.根据权利要求2或3中的任一项所述的方法,其中,所述测量数据库被存储在与所述经训练的计算机模型的提供商相关联的租户计算设备上,并且其中所述数据处理系统是云计算平台的单独计算系统。
5.根据权利要求4所述的方法,其中验证所部署的经训练的计算机模型的执行完整性包括:
基于由所部署的经训练的计算机模型处理的运行时输入数据来记录所部署的经训练的计算机模型的所述运行时神经流;
从所述数据处理系统向所述租户计算设备传输所记录的运行时神经流;以及
将所记录的运行时神经流与测量数据库中的一个或多个已存储的神经流模型进行比较,所述一个或多个已存储的神经流模型对应于与由所部署的经训练的计算机模型针对所述运行时输入数据生成的运行时输出类相同的类。
6.根据前述权利要求中的任一项所述的方法,其中,基于所部署的经训练的计算机模型的运行时神经流和所记录的神经流来验证所部署的经训练的计算机模型的完整性包括:
确定所述运行时神经流与一个或多个所记录的神经流之间的偏差,所述一个或多个所记录的神经流对应于与由所部署的经训练的计算模型针对所述运行时输入数据生成的相同的输出类;以及
响应于所述偏差满足预定准则,确定所部署的经训练的计算机模型的所述执行完整性已被损害。
7.根据权利要求6所述的方法,还包括:
响应于确定所部署的经训练的计算机模型的所述完整性已被损害,根据所部署的经训练的计算机模型的用户的进一步访问收回所部署的经训练的计算机模型。
8.根据前述权利要求中任一项所述的方法,其中,针对所述输入数据中的所述输入数据实例集,记录由所述经训练的计算机模型生成的所述输出类以及通过所述多层神经元的所述神经流包括:
在所述数据处理系统中生成可信执行环境(TEE);
由在所述可信执行环境内执行的神经流记录组件记录针对所述输入数据实例的通过所述多层神经元的神经流;以及
由在所述可信执行环境内执行的证明生成引擎生成证明,所述证明包括针对所述输入数据实例记录的通过所述多层神经元的神经流以及针对所述输入数据实例的由所部署的经训练的计算机模型生成的输出类。
9.根据权利要求8所述的方法,其中,针对所述输入数据中的所述输入数据实例集记录由所述经训练的计算机模型生成的输出类以及通过所述多层神经元的神经流还包括:
由所述证明生成引擎进一步基于由所述计算机模型的提供商的计算设备提供的质询生成所述证明;
由所述证明生成引擎基于在所述计算机模型的提供商的计算设备和所述TEE之间交换的安全密钥来加密所述证明,从而生成经加密的证明;以及
由所述数据处理系统将所述经加密的证明传输到所述计算机模型的提供商的计算设备。
10.根据前述权利要求中任一项所述的方法,其中,所述计算平台是具有一个或多个租户的云计算平台。
11.一种系统,包括:
至少一个处理器;以及
耦合到所述至少一个处理器的至少一个存储器,其中,所述至少一个存储器包括指令,所述指令在由所述至少一个处理器执行时使所述至少一个处理器实现神经流证明引擎,所述神经流证明引擎被配置为:
将输入数据输入到经训练的计算机模型,其中所述经训练的计算机模型包括多层神经元;
针对所述输入数据中的输入数据实例集,记录由所述经训练的计算机模型生成的输出类和通过所述多层神经元的神经流,从而生成所记录的神经流,其中所述输出类是多个可能的输出类中的一个;
将所述经训练的计算机模型部署到计算平台;以及
基于所部署的经训练的计算机模型的运行时神经流和所记录的神经流来验证所部署的经训练的计算机模型的完整性。
12.根据权利要求11所述的系统,其中,所述神经流证明引擎被配置为:
针对所述多个可能的输出类中的每个类,基于所记录的神经流来生成神经流模型;以及
将每个神经流模型存储在测量数据库中,其中验证所部署的经训练的计算机模型的完整性包括将所述运行时神经流与所述测量数据库中的已存储的神经流模型中的一个或多个进行比较。
13.根据权利要求11或12中任一项所述的系统,其中,所述神经流证明引擎被配置为针对所述多个可能的输出类中的每个类基于所记录的神经流生成神经流模型包括,针对每个类,通过以下各项中至少一项来聚合与该类相关联的所记录的神经流:识别激活的神经元和滤波器的集合、或者基于激活的神经元和滤波器考虑激活和激活发生的频率来训练机器学习模型。
14.根据权利要求12所述的系统,其中所述测量数据库被存储在与所述经训练的计算机模型的提供商相关联的租户计算设备上,并且其中所述数据处理系统是云计算平台的单独计算系统。
15.根据权利要求14所述的系统,其中,所述神经流证明引擎被配置为通过以下操作来验证所部署的经训练的计算机模型的完整性:
基于由所部署的经训练的计算机模型处理的运行时输入数据来记录所部署的经训练的计算机模型的所述运行时神经流;
从所述数据处理系统向所述租户计算设备传输所记录的运行时神经流;以及
将所记录的运行时神经流与测量数据库中的一个或多个已存储的神经流模型进行比较,所述一个或多个已存储的神经流模型对应于与由所部署的经训练的计算机模型针对运行时输入数据生成的运行时输出类相同的类。
16.根据权利要求11至15中任一项所述的系统,其中,所述神经流证明引擎被配置为通过以下操作来验证所部署的经训练的计算机模型的完整性:
确定所述运行时神经流与一个或多个所记录的神经流之间的偏差,所述一个或多个所记录的神经流对应于与由所部署的经训练的计算模型针对所述运行时输入数据生成的相同的输出类;以及
响应于所述偏差满足预定准则,确定所部署的经训练的计算机模型的完整性已被损害。
17.根据权利要求16所述的系统,其中,所述神经流证明引擎可操作为还执行以下操作:响应于确定所部署的经训练的计算机模型的所述执行完整性已被损害,收回所部署的经训练的计算机模型以免被所部署的经训练的计算机模型的用户进一步访问。
18.根据权利要求11至17中任一项所述的系统,其中针对所述输入数据中的所述输入数据实例集,记录由所述经训练的计算机模型生成的所述输出类和通过所述多层神经元的所述神经流包括:
在所述数据处理系统中生成可信执行环境(TEE);
由在所述可信执行环境内执行的神经流记录组件记录针对所述输入数据实例的通过所述多层神经元的神经流;以及
由在所述可信执行环境内执行的证明生成引擎生成证明,所述证明包括针对所述输入数据实例记录的通过所述多层神经元的神经流以及针对所述输入数据实例的由所部署的经训练的计算机模型生成的输出类。
19.根据权利要求18所述的系统,其中针对所述输入数据中的所述输入数据实例集记录由所述经训练的计算机模型生成的所述输出类和通过所述多层神经元的所述神经流还包括:
由所述证明生成引擎还基于由所述计算机模型的提供商的计算设备提供的质询生成所述证明;
由所述证明生成引擎基于在所述计算机模型的提供商的计算设备和所述TEE之间交换的安全密钥来加密所述证明,从而生成经加密的证明;以及
由所述数据处理系统将所述经加密的证明传输到所述计算机模型的提供商的计算设备。
20.一种用于实现神经流证明引擎的计算机程序产品,所述计算机程序产品包括:
计算机可读存储介质,其可由处理电路读取并且存储用于由所述处理电路执行以执行根据权利要求1至10中任一项所述的方法的指令。
21.一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当所述程序在计算机上运行时,用于执行根据权利要求1至10中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/750,328 | 2020-01-23 | ||
US16/750,328 US11783201B2 (en) | 2020-01-23 | 2020-01-23 | Neural flow attestation |
PCT/IB2021/050346 WO2021148926A1 (en) | 2020-01-23 | 2021-01-18 | Neural flow attestation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115004153A true CN115004153A (zh) | 2022-09-02 |
Family
ID=76970136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180010132.0A Pending CN115004153A (zh) | 2020-01-23 | 2021-01-18 | 神经流证明 |
Country Status (8)
Country | Link |
---|---|
US (2) | US11783201B2 (zh) |
JP (1) | JP2023511514A (zh) |
KR (1) | KR20220109418A (zh) |
CN (1) | CN115004153A (zh) |
AU (1) | AU2021210217B2 (zh) |
DE (1) | DE112021000689T5 (zh) |
GB (1) | GB2608033A (zh) |
WO (1) | WO2021148926A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11451480B2 (en) * | 2020-03-31 | 2022-09-20 | Micron Technology, Inc. | Lightweight artificial intelligence layer to control the transfer of big data |
US20220237503A1 (en) * | 2021-01-26 | 2022-07-28 | International Business Machines Corporation | Machine learning model deployment within a database management system |
CN114861912B (zh) * | 2022-07-06 | 2022-09-16 | 武汉山川软件有限公司 | 一种基于大数据的数据验证方法和装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2002259258A1 (en) | 2001-05-17 | 2002-11-25 | Entelos, Inc. | Apparatus and method for validating a computer model |
WO2008063155A2 (en) | 2005-10-18 | 2008-05-29 | Drexel University | Deception detection via functional near-infrared spectroscopy |
US10977571B2 (en) * | 2015-03-02 | 2021-04-13 | Bluvector, Inc. | System and method for training machine learning applications |
CN105373785B (zh) | 2015-11-30 | 2019-08-02 | 北京地平线机器人技术研发有限公司 | 基于深度神经网络的手势识别检测方法与装置 |
US10929996B2 (en) | 2016-09-15 | 2021-02-23 | Google Llc | Image depth prediction neural networks |
CN107544904B (zh) | 2017-08-21 | 2020-11-03 | 哈尔滨工程大学 | 一种基于深度cg-lstm神经网络的软件可靠性预测方法 |
EP3471005B1 (en) | 2017-10-13 | 2021-11-03 | Nokia Technologies Oy | Artificial neural network |
US10223610B1 (en) * | 2017-10-15 | 2019-03-05 | International Business Machines Corporation | System and method for detection and classification of findings in images |
US11301762B1 (en) * | 2018-11-02 | 2022-04-12 | Amazon Technologies, Inc. | High perforamance machine learning inference framework for edge devices |
US11313950B2 (en) * | 2019-01-15 | 2022-04-26 | Image Sensing Systems, Inc. | Machine learning based highway radar vehicle classification across multiple lanes and speeds |
US11295242B2 (en) * | 2019-11-13 | 2022-04-05 | International Business Machines Corporation | Automated data and label creation for supervised machine learning regression testing |
WO2021101945A1 (en) * | 2019-11-19 | 2021-05-27 | Captiv8, Inc. | Systems and methods for identifying, tracking, and managing a plurality of social network users having predefined characteristcs |
-
2020
- 2020-01-23 US US16/750,328 patent/US11783201B2/en active Active
-
2021
- 2021-01-18 KR KR1020227021173A patent/KR20220109418A/ko active Search and Examination
- 2021-01-18 AU AU2021210217A patent/AU2021210217B2/en active Active
- 2021-01-18 CN CN202180010132.0A patent/CN115004153A/zh active Pending
- 2021-01-18 DE DE112021000689.4T patent/DE112021000689T5/de active Pending
- 2021-01-18 WO PCT/IB2021/050346 patent/WO2021148926A1/en active Application Filing
- 2021-01-18 GB GB2212229.5A patent/GB2608033A/en active Pending
- 2021-01-18 JP JP2022539370A patent/JP2023511514A/ja active Pending
-
2023
- 2023-08-22 US US18/236,590 patent/US20230394324A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210232933A1 (en) | 2021-07-29 |
US20230394324A1 (en) | 2023-12-07 |
US11783201B2 (en) | 2023-10-10 |
DE112021000689T5 (de) | 2022-12-08 |
AU2021210217A1 (en) | 2022-06-16 |
AU2021210217B2 (en) | 2023-03-30 |
GB2608033A (en) | 2022-12-21 |
WO2021148926A1 (en) | 2021-07-29 |
GB202212229D0 (en) | 2022-10-05 |
JP2023511514A (ja) | 2023-03-20 |
KR20220109418A (ko) | 2022-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733292B2 (en) | Defending against model inversion attacks on neural networks | |
US11775637B2 (en) | Recurrent neural network based anomaly detection | |
Li et al. | Trustworthy AI: From principles to practices | |
Kaloudi et al. | The ai-based cyber threat landscape: A survey | |
US20220269942A1 (en) | Privacy Enhancing Deep Learning Cloud Service Using a Trusted Execution Environment | |
US11816575B2 (en) | Verifiable deep learning training service | |
De Azambuja et al. | Artificial intelligence-based cyber security in the context of industry 4.0—a survey | |
Janeja | Data analytics for cybersecurity | |
US11620481B2 (en) | Dynamic machine learning model selection | |
US20190260764A1 (en) | Autonomous report composer | |
Moustafa et al. | Explainable intrusion detection for cyber defences in the internet of things: Opportunities and solutions | |
Charmet et al. | Explainable artificial intelligence for cybersecurity: a literature survey | |
AU2021210217B2 (en) | Neural flow attestation | |
US20200082272A1 (en) | Enhancing Data Privacy in Remote Deep Learning Services | |
Ali et al. | HuntGPT: Integrating machine learning-based anomaly detection and explainable AI with large language models (LLMs) | |
Hariharan et al. | Explainable artificial intelligence in cybersecurity: A brief review | |
Rawat et al. | Autonomous artificial intelligence systems for fraud detection and forensics in dark web environments | |
Reznik | Intelligent Security Systems: How Artificial Intelligence, Machine Learning and Data Science Work for and Against Computer Security | |
GB2619589A (en) | Fuzz testing of machine learning models to detect malicious activity on a computer | |
Rajagopal et al. | Adopting artificial intelligence in ITIL for information security management—way forward in industry 4.0 | |
Loaiza et al. | Utility of artificial intelligence and machine learning in cybersecurity | |
Al-Sada et al. | MITRE ATT&CK: State of the Art and Way Forward | |
Kapoor et al. | Platform and Model Design for Responsible AI: Design and build resilient, private, fair, and transparent machine learning models | |
Xu et al. | Cybersecurity in Intelligent Networking Systems | |
Tendikov et al. | Security Information Event Management data acquisition and analysis methods with machine learning principles |
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 |