CN110033013B - 创建用于识别特定机器学习模型的签名 - Google Patents
创建用于识别特定机器学习模型的签名 Download PDFInfo
- Publication number
- CN110033013B CN110033013B CN201910011002.3A CN201910011002A CN110033013B CN 110033013 B CN110033013 B CN 110033013B CN 201910011002 A CN201910011002 A CN 201910011002A CN 110033013 B CN110033013 B CN 110033013B
- Authority
- CN
- China
- Prior art keywords
- samples
- machine learning
- computer system
- learning model
- computer
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及创建用于识别特定机器学习模型的签名。计算机访问机器学习模型和多个样本,每个样本利用用于训练机器学习模型以识别类别中的每个类别的训练数据内的多个类别中的单独原始类别进行分类。计算机生成多个合成样本,每个合成样本包括样本,该样本被扭曲以诱导机器学习模型将该样本错误分类到与原始类别不同的类别。计算机创建合成样本签名,用于在运行时从合成样本和返回的类别标签的矩阵验证机器学习模型的身份,每个返回的类别标签标识根据响应于在机器学习模型上运行合成样本的每个合成样本的实际分类确定的类别中的一个类别。
Description
技术领域
本发明的一个或多个实施例一般而言涉及数据处理,特别地涉及创建用于识别特定机器学习模型的签名。
背景技术
机器学习在许多人工智能应用中起着中心作用。训练机器学习应用的过程的结果之一是被称为模型的数据对象,该数据对象是从训练数据推断出的模式的参数表示。在创建模型之后,将模型部署到一个或多个环境中以供使用。在运行时,基于从数小时的开发和大量数据得到的结构,模型是机器学习系统的核心。
发明内容
在一个实施例中,一种方法涉及通过计算机系统访问机器学习模型和多个样本,多个样本中的每个样本利用训练数据内的多个类别中的单独原始类别进行分类,该训练数据用于训练机器学习模型以识别该多个类别中的每个类别。该方法涉及通过计算机系统生成多个合成样本,每个合成样本包括多个样本中被扭曲的单独样本,以诱导机器学习模型将单独样本错误分类到与多个类别中的单独原始类别不同的类别。该方法涉及通过计算机系统从多个合成样本和多个返回的类别标签的矩阵创建合成样本签名,用于在运行时验证机器学习模型的身份,每个返回的类别标签标识如根据在机器学习模型上运行多个合成样本而从多个合成样本中的每个合成样本的实际分类确定的多个类别中的单独类别。
在另一个实施例中,一种计算机系统包括一个或多个处理器、一个或多个计算机可读存储器、一个或多个计算机可读存储设备以及存储在一个或多个存储设备中的至少一个存储设备上用于由一个或多个处理器中的至少一个处理器经由一个或多个存储器中的至少一个存储器执行的程序指令。所存储的程序指令包括访问机器学习模型和多个样本的程序指令,多个样本中的每个样本利用训练数据内的多个类别中的单独原始类别进行分类,该训练数据用于训练机器学习模型以识别多个类别中的每个类别。所存储的程序指令包括生成多个合成样本的程序指令,每个合成样本包括多个样本中被扭曲的单独样本,以诱导机器学习模型将单独样本错误分类到与多个类别中的单独原始类别不同的类别。所存储的程序指令包括从多个合成样本和多个返回的类别标签的矩阵创建合成样本签名以用于在运行时验证机器学习模型的身份的程序指令,每个返回的类别标签识别如根据在机器学习模型上运行多个合成样本而从多个合成样本中的每个合成样本的实际分类确定的多个类别中的单独类别。
在另一个实施例中,一种计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有与其一起实施的程序指令,其中该计算机可读存储介质本身不是瞬态信号。程序指令可由计算机执行以使计算机通过计算机从一个或多个电池启用设备接收一种或多种类型的个体电流使用。程序指令可由计算机执行以使计算机通过计算机访问机器学习模型和多个样本,多个样本中的每个样本利用训练数据内的多个类别中的单独原始类别进行分类,该训练数据用于训练机器学习模型以识别多个类别中的每个类别。程序指令可由计算机执行以使计算机通过计算机生成多个合成样本,每个合成样本包括多个样本中被扭曲的单独样本,以诱导机器学习模型将单独样本错误分类到与多个类别中的单独原始类别不同的类别。程序指令可由计算机执行以使计算机通过计算机从多个合成样本和多个返回的类别标签的矩阵创建合成样本签名,用于在运行时验证机器学习模型的身份,每个返回的类别标签识别如根据在机器学习模型上运行多个合成样本而从多个合成样本中的每个合成样本的实际分类确定的多个类别中的单独类别。
附图说明
被认为是本发明的一个或多个实施例的特性的新颖特征在所附权利要求中阐述。但是,当结合附图阅读时,通过参考说明性实施例的以下详细描述,将最好地理解本发明的一个或多个实施例,其中:
图1示出了用于服务环境中的机器学习模型的部署模型的框图的一个示例;
图2示出了签名训练系统的框图的一个示例,该签名训练系统用于通过扭曲用于训练专有模型的训练数据创建合成样本集合,并且训练合成样本集合的预期输出的合成样本签名,以识别训练的专有模型;
图3示出了合成样本签名的框图的一个示例,该合成样本签名被创建以用于使用针对特定训练的专有模型的训练数据的扭曲子集来识别特定训练的专有模型;
图4示出了签名验证系统的框图的一个示例,该签名验证系统用于将合成样本签名应用于服务API以确定在经由服务API可访问的已部署系统中操作的机器学习模型的身份;
图5示出了校准系统的框图的一个示例,该校准系统用于校准由签名验证系统应用的阈值,以确定在服务环境中操作的专有模型的合成样本签名探测(probe)的结果是否验证专有模型的身份;
图6示出了可以实现本发明的一个实施例的计算机系统的一个示例的框图的一个示例;
图7示出了用于通过扭曲用于训练专有模型的训练数据来创建合成样本集合并训练合成样本集合的预期输出的合成样本签名,以识别训练的专有模型的过程和计算机程序的高级逻辑流程图的一个示例;
图8示出了用于将合成样本签名应用于服务API以确定在经由服务API可访问的已部署系统中操作的机器学习模型的身份的过程和计算机程序的高级逻辑流程图的一个示例;以及
图9示出了用于校准由签名验证系统应用的阈值以确定在服务环境中操作的专有模型的合成样本签名探测的结果是否验证专有模型的身份的过程和计算机程序的高级逻辑流程图的一个示例。
具体实施方式
在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对本发明的透彻理解。但是,对于本领域技术人员将明显的是,可以在没有这些具体细节的情况下实践本发明。在其它情况下,以框图形式示出了公知的结构和设备,以避免不必要地模糊本发明。
此外,在以下描述中,出于解释的目的,描述了许多系统。重要的是要注意,并且对于本领域技术人员来说将明显的是,本发明可以在各种系统中执行,该各种系统包括操作任何数量的不同类型的操作系统的各种计算机系统和电子设备。
图1示出了用于服务环境中的机器学习模型的部署模型的一个示例的框图。
在一个示例中,机器学习可以在基于人工智能(AI)的应用中起着中心作用,基于AI的应用诸如语音识别、自然语言处理、音频识别、视觉场景分析、电子邮件过滤、社交网络过滤、机器翻译、数据泄露、光学字符识别、学习排序和生物信息学。在一个示例中,基于AI的应用可以指计算机系统,该计算机系统可以在一种或多种类型的计算环境中操作,从而执行需要一种或多种类型的分析的任务。在一个示例中,机器学习可以表示基于利用数据和从数据中学习并且对数据做出预测的算法来训练机器的一种或多种类型的AI。创建和训练机器学习环境的过程的主要结果之一是被称为模型的、从样本输入构建的数据对象。在一个示例中,专有模型112表示机器学习环境的数据对象,其已经从样本输入的训练数据的一个或多个源被创建和训练并且然后被部署。在一个示例中,专有模型112可以是从特定训练数据推断出的模式的参数表示。
在一个示例中,实体可能花费大量时间来训练专有模型112。实体还可以发布专有模型112用于部署在受制于由实体指定的一个或多个使用限制的一种或多种类型的环境中。例如,实体可以将专有模型112发布为授权用于非商业、公共服务用途,但是对于商业服务用途,要求商业服务用户与实体签订许可协议以授权使用专有模型112。在另一个示例中,实体可以将专有模型112发布为仅授权用于由注册服务使用并提供接口,通过该接口,计划在环境中部署专有模型112的实例的服务可以向实体注册以接收对在环境中使用专有模型112的实例的授权。在另一个示例中,服务可以初始地以每次使用一定成本来注册专有模型112的授权使用,但是如果服务是对专有模型112的数据对象进行逆向工程并且基于专有模型112重新创建模型,那么重新创建的模型根据注册协议可以表示对专有模型112的未授权使用。
在一个示例中,图1示出了在用于提供服务的服务环境110中与记分器140或其它模型控制器一起部署的专有模型112的示例,终端用户通过服务应用编程接口(API)114可访问该服务,服务环境110诸如用于提供云服务的云环境。在一个示例中,如参考图2所描述的,在训练专有模型112时,实体可以通过记分器140直接访问专有模型112。在一个示例中,一旦专有模型112被授权由第三方部署并且被放置在诸如服务环境110之类的服务环境中以用于作为对于用户的服务通过服务API 114访问,用户就可能无法查看什么专有模型正在提供通过服务API 114提供的服务或者专有模型是否正在提供通过服务API 114提供的服务。特别地,服务API 114可以通过对服务API 114的输入和来自服务API 114的输出来限制对服务环境110所提供的服务的用户访问,而无需识别是否在服务环境110中部署了任何特定专有模型,或者无需识别服务环境110中部署的任何特定专有模型。在一个示例中,服务环境110还可以包括经由服务API 114可访问的专有模型的多个部署配置。
特别地,在一个示例中,服务API 114可以向用户提供分类服务,用于对图像进行分类。在一个示例中,用户120可以表示能够访问由服务环境110提供的服务、利用图像112向服务API 114发送API调用的任何用户。在一个示例中,服务API 114可以将图像122传递给记分器140。记分器140可以表示模型控制器,该模型控制器被指定用于通过接收测试数据输入、在专有模型112上运行测试数据输入以及输出由专有模型112预测的类别标签来评估专有模型112。特别地,在图1的示例中,为了访问专有模型112的机器学习功能,用户120可以被限制为通过对服务API 114的输入和来自服务API 114的输出来访问服务。例如,用户120可以将图像122发送到服务API114,用于让服务API 114应用于专有模型112以确定要指派给图像122的类别标签,并且服务API 114可以将识别图像的类别标签作为返回的标签124返回给用户120。
在一个示例中,专有模型112可以表示专有模型112的授权使用,或者可以表示专有模型112的未授权使用,但是,一旦被部署在服务环境110中,专有模型112对于用户120就表现为黑盒,其中服务环境110和在服务环境110内操作的专有模型112只能在服务API 114的输入和输出方面由用户120查看,而不提供服务环境110的内部工作情况的任何知识。特别地,专有模型112可以对任何特定用户表现为黑盒,无论该用户是实体还是通过服务API114所提供的服务的任何其它用户。
在一个示例中,具有对专有模型112的专有权的实体可能期望确定通过服务API114提供的服务是否正在使用服务环境110内的专有模型112的实例,使得如果服务环境110正在使用专有模型112,那么实体可以确定用户是否被授权或者在服务环境110中使用专有模型112是否是未经授权的侵权使用。但是,实体不能直接访问服务环境110内部以直接向记分器140发送输入以确定专有模型112是否是由实体发布的专有模型的实例。虽然实体可以包括专有模型112中的将响应于显式触发而返回专有模型112的数字签名的隐藏机制,但是与正常有效输入不同的可检测到的显式触发(trigger)也可以是由其它方可以更容易地检测到的,并且可以由在专有模型112的未授权使用下在服务环境110中部署专有模型112的一方在服务环境110的服务API层或其它层处阻止或移除。
在该示例中,在本发明中,为了使得能够控制专有模型112的专有权的实体能够检测到通过服务API 114提供的服务是否正在通过使用专有模型112的实例来提供服务(其中服务环境110对用户120是黑盒),在训练专有模型112之后,但是在部署专有模型112之前,实体可以将签名训练系统应用于专有模型112,如图2所示,用于创建与正常有效输入几乎无法区分的合成样本集合,并且在专有模型112上训练合成样本的预期输出集合。一旦专有模型112被部署,实体就可以应用签名验证系统来将与正常的有效输入几乎无法区分的合成样本的探测输入作为图像122发送到服务API 114,并且然后测试在返回的标签124中的对应的输出,以确定输出标签是否与探测输入的预期输出值相匹配,而不发送可由另一方检测到的显式触发。
图2示出了签名训练系统的一个示例的框图,该签名训练系统用于通过扭曲用于训练专有模型的训练数据来创建合成样本集合并训练合成样本集合的预期输出的合成样本签名,以识别训练的专有模型。
在一个示例中,一个或多个训练系统可以初始地使用训练数据220训练专有模型112。在一个示例中,训练数据220可以包括多个样本,每个样本被指派要由专有模型112识别的“N”个目标类别中的单独类别标签。在一个示例中,经过训练的专有模型112可以表示用于图像识别或其它类型的分类的神经网络。在一个示例中,经过训练的专有模型112可以采用一种或多种类型的分类器,该一种或多种类型的分类器基于在专有模型112中应用训练数据的数学函数或算法对输入进行分类,并预测用于输入的类别标签。在一个示例中,一种或多种类型的分类器可以包括但不限于朴素贝叶斯分类器、逻辑回归分类器和决策树分类器。在一个示例中,训练数据220可以包括大的样本语料库,包括但不限于图像、语音和文本,其也可以是实体专有的并且生成起来很昂贵。
在一个示例中,在运行时记分器140可以评估专有模型112、接收测试数据输入、在专有模型112上运行测试数据输入并输出由专有模型112预测的用于数据输入的类别标签,以便测量模型是否为测试数据输入指派了正确的类别。特别地,记分器140可以表示连接到专有模型112的已经被训练的机器学习模型的控制器或模块。在一个示例中,诸如专有模型112之类的机器学习模型的特性可以是它对在图像中导致错误分类的几个比特的小扭曲(distortion)相对敏感,即使是在训练数据220中使用了大量数据并且应用了其它鲁棒性保护措施之后。例如,对于包含猫并且应该被归类为猫图像的图像,由于机器学习模型的敏感性,图像可能会稍微扭曲几个比特或比特模式,使得将诱导专有模型112的分类器在100%的时间把该图像错误分类在狗图像的类别下,而不是在猫图像的类别下。在一个示例中,应该被分类在第一类别下但相反被错误分类在第二类别下的图像中的轻微扭曲可以是如此之小以至于该扭曲对于人眼不看见,但是确实会诱导专有模型112将图像错误分类。
在一个示例中,为了创建可以应用于识别专有模型112的合成样本集合,签名训练系统200使用来自训练数据220的一个或多个样本来测试专有模型112,以创建合成样本签名250。在一个示例中,合成样本签名250可以包括合成样本246的集合,该合成样本246的集合由变换训练数据220中的实际样本的子集的对抗性变换234创建。在一个示例中,来自训练数据220的样本的子集被变换成合成样本246,使得它们最小程度地偏离它们的有效对应物,但是显著地偏离以足以诱导专有模型112的分类器产生预定的分类错误。
在一个示例中,对抗性变换234可以应用一种或多种类型的变换度量。在一个示例中,对抗性变换234可以应用为每种类型的分类指定的单独距离度量。在一个示例中,每个距离度量可以指定在图像中要更改的像素的数量、更改的像素之间的距离以及对每个更改的像素的最大改变。在一个示例中,可以进一步指定度量以选择导致分类并通过由人执行的测试的距离度量,该由人执行的测试指示图像和如由对抗性变换234变换的图像的预期分类的感知相似性。
此外,在一个示例中,对抗性变换234可以首先检测图像中导致发生错误分类的偏差的度量,并且然后诸如在当应用防御性精馏(distillation)控制或其它鲁棒性控制器来检测导致错误分类的偏差度量的类型时专有模型112的训练阶段期间将偏差的度量应用于其它图像以触发相同类型的错误分类。特别地,在机器学习环境的一些上下文中,图像的对抗性变换可以由第三方使用以允许第三方通过将通过最小偏差被对抗性变换的图像发送到系统来使系统采取不想要的动作,该最小偏差有意诱导系统对图像类型的错误分类。在本发明中,对抗性变换234有意地对样本进行对抗性变换以生成合成样本,并在专有模型112上测试合成样本以确定合成样本的分类,以便创建一旦专有模型112被部署就可以在专有模型112上进行测试而不需要第三方检测的专有模型112的有效签名。
在一个示例中,在签名训练系统200的合成签名训练期间,对抗性变换234可以经由记分器140完全可访问专有模型112,并且专有模型112的身份对于签名训练系统200是可见的,相比之下在图1中,服务环境110中部署的专有模型的身份对于服务API 114后面的用户120是不可见的。在一个示例中,签名训练系统200可以生成合成样本签名250,用于在将来的运行时当专有模型112在黑盒中操作时识别专有模型112,如参考图1所描述的。在一个示例中,针对执行分类任务的模型类型描述专有模型112的签名训练,但是在附加的或可替代的实施例中签名训练系统200可以对执行附加的或可替代的类型的任务的模型执行签名训练,这些任务包括但不限于检测和排序。
在一个示例中,签名训练系统200的样本选择器224可以从训练数据220中检索训练样本222。在一个示例中,训练样本222可以表示用于训练专有模型112的训练数据220中的真实样本的子集。在一个示例中,训练样本222可以包括用于“N”个总类别中的一个或多个类别的一个或多个对象,诸如一个或多个图像。在一个示例中,对于每个类别“C”并且对于该类别中的每个样本,样本选择器224可以从训练数据220中选择样本222,并且可以将特定对象作为样本230发送到签名训练系统200的对抗性变换234。此外,对于每个类别“C”以及对于该类别中的每个样本,样本选择器224可以将指派给所选样本对象的类别标签“C”作为样本类别标签226传递给类别选择器228。在一个示例中,类别选择器228可以选择“N”个类别中的类别标签“R”,而不是在样本类别标签226中识别的类别“C”,并将所选类别标签“R”作为目标标签232输出到对抗性变换234。在该示例中,对抗性变换234的变换器236可以将变换应用于样本230以最小程度地使样本230扭曲,使得记分器140将把样本分类为类别“R”。在一个示例中,由对抗性变换234应用的最小扭曲可以包括在样本230中扭曲的几个比特或比特的模式。对抗性变换234可以将扭曲的样本230作为合成样本236输出到记分器140。在该示例中,对于类别“C”中的相同样本,签名训练系统200类别选择器228可以将目标标签232发送到“N”个类别中除“C”类别以外的每个“R”类别。对于作为输入在样本230的目标标签232中接收到的其它“R”类别中的每个“R”类别,对抗性变换234可以将变换器236应用于每个样本,并且可以将每个变换后的样本作为合成样本236发送给记分器140。
在一个示例中,记分器140可以从来自对抗性变换234的合成样本236的输入接收输入测试数据,将输入测试数据应用于专有模型112,并且将来自专有模型112的输出作为返回的标签244返回到对抗性变换234。在专有模型112是分类模型的示例中,记分器140可以输出对输入样本的类别的预测值,诸如作为返回的标签244输出的图像的类别类型以及预测值的概率,并且还可以返回预测值的概率。在其它示例中,在专有模型112是不同类型的分类模型或其它类型的模型的情况下,记分器140可以输出其它类型的值,并且可以包括用于管理多个值的输出(诸如针对排序模型的链表输出)的一个或多个附加步骤。
在该示例中,对抗性变换234可以将作为合成样本236输入发送到记分器240的每个合成样本组织在合成样本签名250的合成样本246的数据库中。此外,对抗性变换234可以将每个合成样本组织为对应于合成样本签名250的混淆矩阵248的元素。在一个示例中,混淆矩阵248可以表示单个C×C矩阵或者可以表示多个矩阵。在一个示例中,对于C×C混淆矩阵248中的每个合成样本,除了由记分器240返回的预测值的概率之外,在返回的标签244中标识的类别标签还可以指示由目标标签232指定的预测目标类别类型是否匹配返回的标签244中的相同类别类型,或者由目标标签232指定的预测目标类别类型是否匹配返回的标签244中的不同类别类型。
特别地,虽然对抗性变换234可以将训练样本变换为旨在触发特定错误分类的合成样本,但是由合成样本触发的实际分类可以与预期的错误分类不同。C×C混淆矩阵248可以反映合成样本的预期类别分类与从专有模型112返回的得到的分类之间的真实匹配或错误匹配。在一个示例中,即使对于合成样本的从专有模型112返回的标签与合成样本的目标标签不匹配,C×C混淆矩阵248也记录错误分类,并且在运行时专有模型112最有可能为相同的合成样本重复相同的返回的标签。
在一个示例中,可以将训练系统200作为服务提供给已经使用训练数据220开发了专有模型112的实体。在一个示例中,实体可以向签名训练系统200的可信训练服务提供商提供训练数据220和对记分器140的访问。在一个示例中,可信训练服务提供商可以代表实体生成合成样本签名250,在多个专有模型上应用由可信训练服务提供商训练的对抗性变换234。在一个示例中,可信训练服务提供商可以基于由可信服务提供商提供的用于测试专有模型的附加服务来开发对抗性变换234,以通过检测将诱导专有模型把图像错误分类、但是最不可检测到的对抗性变换的类型,来检测对抗性模型的弱点。
图3示出了合成样本签名的一个示例的框图,该合成样本签名被创建以用于使用针对特定训练的专有模型的训练数据的扭曲子集来识别特定训练的专有模型。
在一个示例中,图3示出了针对示出“样本A,类别C”310的训练样本222的示例的签名训练系统200内的输入和输出的示例,其中样本ID是“A”并且样本被识别为具有“类别C”的分类。
在一个示例中,样本选择器224和类别选择器228可以首先选择发送作为具有“类别R1”313的目标标签232的样本“A”312的训练样本。对抗性变换234可以将样本“A”和“类别R1”变换为合成样本236“AR1”,该合成样本236对于类别“R1”316的样本“A”被扭曲。记分器240可以测试合成样本“AR1”并返回“AR1的标签”320的返回的标签244。在一个示例中,对抗性变换234可以将合成样本作为“AR1”324添加到合成样本246,并且可以向混淆矩阵248添加“类别R1标签的条目,AR1的返回标签”326的条目,这将合成样本“AR1”的矩阵条目添加到混淆矩阵248的C×C矩阵。
在一个示例中,样本选择器224和类别选择器228可以接下来选择发送作为具有“类别R2”315的目标标签232的样本“A”314的训练样本。对抗性变换234可以将样本“A”和“R2类别”变换为合成样本236“AR2”,该合成样本236对于类别“R2”318的样本“A”被扭曲。记分器240可以测试合成样本“AR2”并返回“AR2的标签”322的返回的标签244。在一个示例中,对抗性变换234可以将合成样本作为“AR2”328添加到合成样本246并且可以将“用于类别R2标签的条目,用于AR2的返回标签”328的条目添加到混淆矩阵248,这将合成样本“AR1”的矩阵条目添加到混淆矩阵248的C×C矩阵。
例如,如果专有模型242提供动物图像的分类,那么“样本A,类别C”310可以表示猫的图像,其中“类别C”被设置为“猫”。在第一示例中,样本选择器224和类别选择器228可以首先选择样本“A”312并将目标标签232设置为“类别R1”313,其中“类别R1”是“狗”的分类。在第一示例中,变换器236可以以使得专有模型112有可能将“样本A”错误分类为“狗”而不是“猫”的方式最小程度地扭曲样本“A”,以创建合成样本“AR1”316。在一个示例中,“AR1的标签”320的返回的标签可以被设置为“狗”的“类别R1”,其中当由人观看时,合成样本“AR1”应该被分类为“猫”,但是由于稍微的扭曲,专有模型112将一致地把合成样本“AR1”分类为“狗”。“AR1”的混淆矩阵条目可以包括利用百分比概率匹配将“狗”的“类别R1”标签与“狗”的返回的“AR1的标签”相交的矩阵条目。
在第二示例中,样本选择器224和类别选择器228可以接下来选择样本“A”314并将目标标签232设置为“类别R2”315,其中“类别R2”是“鸟”的分类。在第二示例中,变换器236可以以使得专有模型112有可能将“样本A”错误分类为“鸟”而不是“猫”的方式最小程度地扭曲样本“A”,以创建合成样本“AR1”318。在一个示例中,“AR2的标签”的返回的标签322可以被设置为“猫”的“类别C”,其中当由人观看时,合成样本“AR1”应该被分类为“猫”,并且尽管有被设置以触发专有模型112将合成样本“AR1”错误分类为“鸟”的轻微扭曲,专有模型112将一致地把合成样本“AR1”分类为“猫”。“AR1”的混淆矩阵条目可以包括利用百分比概率匹配将“鸟”的“类别R1”标签与“猫”的返回的“AR1的标签”相交的矩阵条目。
在该示例中,返回的“AR1的标签”320和返回的“AR2的标签”322可以匹配每个合成样本的对应“R”目标标签设置,可以被设置为每个合成样本的原始“类别C”设置,或者可以被设置为N个类别设置中的替代类别设置。特别地,虽然变换器236可以以使得专有模型112有可能将扭曲样本错误分类为另一个类别(诸如“R1”)的方式利用预期分类“类别C”最小程度地扭曲样本“A”,但是专有模型112也可以返回合成样本被分类为原始“类别C”或类别“N”中的另一个类别的返回的标签。
图4示出了签名验证系统的一个示例的框图,该签名验证系统用于将合成样本签名应用于服务API以确定在经由服务API可访问的已部署系统中操作的机器学习模型的身份。
在一个示例中,如先前在图1中描述的,一个或多个机器学习模型(诸如专有模型112)可以被部署在诸如服务环境110之类的一个或多个服务环境中,但是,用户只能通过服务API 114访问由服务环境110提供的服务。在一个示例中,与服务API 114对接的用户可以将服务环境110视为黑盒,但是由服务API 114返回的类别的类型可以包括对由专有模型112支持的“N个”分类类别的选择或全部“N个”分类类别。部署专有模型112的实体可能期望验证由服务API114提供的基于机器学习的服务是否是专有模型112的实例,服务API 114至少返回对由专有模型112支持的“N个”分类类别的选择。
在该示例中,服务环境110可以表示针对仅能够通过服务API114访问服务环境110的任何用户(诸如图1的用户120)的黑盒。在一个示例中,当表示期望验证部署在服务环境100中的一个或多个机器学习模型的身份的实体时,签名验证系统400可以充当用户120,发送与任何其它用户类似的正常有效的输入。在一个示例中,签名验证系统400可以利用被设置为合成样本436的图像122(其是正常有效的输入图像)调用服务API 114,并且可以以与服务API 114向对服务API 114发送服务API调用的任何用户返回返回的标签124相同的方式来接收由服务API 114返回的返回标签444。通过利用正常有效的输入调用服务API 114,服务API 114可能不能检测到发送合成样本436的用户是发送输入以验证在服务环境110中操作的一个或多个机器学习模型的身份的签名验证系统400。
在一个示例中,签名验证系统400可以利用合成样本436来实现调用服务API 114的匹配估计器450。在一个示例中,匹配估计器450可以首先从合成样本签名250的合成样本246中选择一个或多个合成样本作为样本430。此外,对于每个合成样本,与混淆矩阵248中的每个合成样本对应的返回的标签可以作为到匹配估计器450的输入被选择,以作为预期标签432。在一个示例中,对于从合成样本签名250检索到的样本430的每个输入和对应的预期标签432,匹配估计器450可以向服务API 114发出查询,从而发送合成样本436的测试样本。在一个示例中,服务API 114可以作为正常有效输入接收合成样本436并将合成样本436传递给服务环境110内的记分器140。在一个示例中,记分器140可以将合成样本436应用于专有模型112,识别分类标签,并通过服务API 114返回具有标签正确的概率的分类标签。服务API 114可以将标签作为输出的返回的标签444返回给匹配估计器450。
在一个示例中,匹配估计器450可以将预期标签432与返回的标签444进行比较,并输出匹配分数452,该匹配分数452向签名验证系统400的决策逻辑454指示预期标签432和返回的标签444匹配还是不匹配。决策逻辑454可以接收针对合成样本246中的合成样本的选择或所有合成样本的匹配分数452的每个输出,并且更新累积分数460,从而将匹配计数为成功,并且将不匹配计数为失败。在该示例中,决策逻辑454可以对接收到的匹配的数量进行计数,并确定更新累积分数460的接收到的匹配分数的哪个数量达到至少在容量阈值464中所需的匹配分数的数量。在该示例中,一旦接收到的匹配分数的数量达到至少在容量阈值464中所需的匹配分数的数量,决策逻辑454就可以将阈值462应用于累积分数以确定合成样本签名250曾在专有模型112上被训练的可能性,使得具有专有模型112的专有权的实体可以确定由服务环境110通过服务API 114提供的服务是否有可能采用专有模型112的实例。在一个示例中,通过签名验证系统400确定由服务环境110通过服务API 114提供的服务是否有可能采用专有模型112的实例,服务验证系统400向已经训练合成样本签名250的实体提供用于测试在服务环境110中操作的专有模型的身份的方式,以监视专有模型的潜在未授权使用以及针对专有模型的潜在未授权使用进行响应。
在一个示例中,阈值462和容量阈值464可以被设置为这样的值,即,该值需要在累积分数460中编译的匹配的数量以及累积分数460的水平达到在特定置信概率下验证在服务环境110的黑盒中运行的模型是用于创建和训练合成样本签名250的专有模型112的实例的水平。在一个示例中,可以应用容量阈值464和阈值462以向概率进程提供附加的预测层,而不是应用绝对值来考虑在运行时可能影响累积分数460的计算的数据丢失、噪声和其它因素。在一个示例中,可能影响累积分数460达到预期分数的一个或多个因素可以包括但不限于签名验证系统400和服务API 114之间的信道上的噪声、服务环境110内的信道上的噪声,以及服务环境110内的或由服务API 114在网络上的前端处理,该前端处理进一步扭曲对服务API 114的调用中的合成样本。在一个示例中,阈值462和容量阈值464可以被设置为这样的值,即,该值使得如果决策逻辑454指示肯定结果,该肯定结果指示在合成样本签名250和通过服务API 114提供的服务之间的匹配,那么在达到容量阈值464并且将阈值462应用于累积分数460之后,肯定结果可以指示身份验证的置信水平,诸如在给定可能影响累积分数460达到预期分数的运行时因子的情况下,有99%置信度专有模型112在服务环境110中运行。
在一个示例中,签名验证系统400可以包括被选择性地设置以实现预定的置信水平的阈值462和容量阈值464中的每一个,并且可以设置需要被采样的合成样本的预定水平。在另一个示例中,签名验证系统400的用户还可以指定用户请求签名验证系统400进行身份验证的置信水平,该置信水平指示签名验证系统400选择性地调整阈值462或指示阈值462的调整以实现所请求的置信水平。此外,签名验证系统400的用户还可以指定容量阈值464的容量值。
在一个示例中,阈值462可以是为特定类型的分类模型选择的静态值或由分类模型识别出的类别的数量。在另一个示例中,签名验证系统400可以触发校准系统(诸如图5中的校准系统500),以基于在其它类似专有模型上运行的合成样本签名250的累积分数来动态调整阈值462。在另一个示例中,签名验证系统400可以根据与由模型执行的机器学习的类型相关的一个或多个因素、可用于由签名验证系统400进行测试的合成样本的类型和数量、通过服务API 114访问的服务环境的类型、由服务API 114应用于对服务API 114的调用的安全性要求的类型、使用通过服务API 114提供的服务的成本、以及可能影响由匹配估计器450执行以计算累积分数460的匹配的数量和类型的其它因素来在运行时动态调整阈值462。
特别地,在该示例中,从匹配估计器450到服务API 114的合成样本436的输入探测可能与正常有效输入几乎无法区分。服务API114可以以与处理任何其它正常有效输入相同的方式来处理合成样本436。因此,签名验证系统400可以使用合成样本436的输入探测来测试服务环境110,而不提供服务环境110可能检测为探测(probe)的任何类型的显式触发。
虽然示例将服务环境110示为黑盒,其中通过服务API 112提供访问接口,但是在附加的或可替代的示例中,服务环境110可以提供附加的或可替代的类型的输入/输出接口,其中专有模型112的身份不能由用户直接访问,并且用户将把专有模型112操作于其中的服务环境视为黑盒。在附加的或可替代的实施例中,服务环境110还可以表示附加的或可替代的类型的系统环境。在附加的或可替代的实施例中,签名验证系统400可以作为输入应用合成样本签名250,并且可以匹配从用户通过其访问由专有模型112提供的服务的一个或多个附加类型的接口输出的估计,但是可能不能直接访问专有模型。此外,在附加的或可替代的实施例中,签名验证系统400还可以作为输入应用合成样本签名250,并且可以匹配从用户可以通过其直接访问专有模型的一个或多个附加类型的接口输出的估计,诸如在图2中。
在一个示例中,可信验证服务提供商可以将签名验证系统400作为服务提供给实体。在一个示例中,从可信验证服务提供商请求签名验证系统服务的实体可以授权可信验证服务提供商访问合成样本签名250,或者可以请求可信验证服务提供商在云环境的持久性数据结构中存储合成样本签名250的副本。在一个示例中,实体还可以提供用于服务API114的指令,用于请求验证在特定服务环境中使用的模型的身份,或者可以请求签名验证系统自动搜索和识别提供具有与在合成样本签名250中标识的类别的相同分类集合或子集的服务的潜在服务环境。在一个示例中,可信验证服务提供商可以运行签名验证系统400的一个或多个实例作为用于应用实体的合成样本签名250的服务,并向实体返回肯定身份验证或否定身份验证的结果。
图5示出了校准系统的一个示例,该校准系统用于校准由签名验证系统应用的阈值,以确定在服务环境中操作的专有模型的合成样本签名探测的结果是否验证专有模型的身份。
在一个示例中,为了校准被应用于专有模型112的合成样本签名250的阈值462,签名验证系统400可以创建或选择一个或多个附加专有模型的群组集合508,该一个或多个附加专有模型可以各自具有不同于专有模型112的一个或多个配置,但是具有与专有模型112相同的对分类标签506的选择。在一个示例中,群组集合508可以包括由记分器510控制的专有模型A 512、由记分器514控制的专有模型B 514、以及由记分器518控制的专有模型C520。在附加的或可替代的示例中,群组集合508可以包括附加的或可替代的数量的专有模型。
在一个示例中,校准系统500的校准控制器510可以指示签名验证系统400通过匹配估计器450将合成样本签名250应用于记分器510、记分器514和记分器518中的每一个,如参考图4所述。在一个示例中,匹配估计器450可以如参考图4所述的那样向API发送调用,或者可以如参考图3所述的那样直接与记分器对接。在一个示例中,签名验证系统400的决策逻辑454可以对于在群组集合508中的每个专有模型上的每个测试生成单独的累积分数。例如,对于专有模型A 512上的测试,决策逻辑454计算累积分数A 530,对于专有模型B 516上的测试,决策逻辑454计算累积分数B 532,并且对于专有模型C 520上的测试,决策逻辑454计算累积分数C 534。
在一个示例中,校准控制器510可以存储群组集合508的累积分数。此外,校准控制器510可以应用群组集合508的累积分数来校准专有模型112的阈值462以更准确地评估在黑盒环境上测试合成样本签名250得到的累积分数是真阳性(true positive)(这指示黑盒环境正在运行专有模型112)的可能性。特别地,校准控制器510可以基于群组集合508的累积分数并且依赖于样本的对抗性变换不会转移到其它类似的专有模型的机器学习模型的特征来校准阈值462。
在一个示例中,校准控制器510可以基于累积分数和选择的置信水平来应用确定阈值462的校准的一种或多种类型的规则。特别地,校准控制器510可以应用基于以下原则的规则:合成样本246中的训练数据的对抗性变换不太可能转移到其它类似的专有模型,当在本发明中应用时,这导致可以基于针对群组集合508计算的累积分数范围的尺寸和针对所选置信水平的阈值462来调整阈值462的规则。在另一个示例中,校准控制器510可以应用如下规则:如果群组集合508的累积分数中的一个或多个返回并且大于累积分数460的60%,那么可以确定为合成样本签名250创建的对抗样本可能已经以较高的概率转移到其它类似的专有模型,并且阈值462应该被设置为高于针对群组集合508计算的最大累积分数。在另一个示例中,校准控制器510可以应用规则来对群组集合508的累积分数取平均,并且然后将阈值462设置为大于平均值的设定百分比的值。在另一个示例中,校准控制器510可以应用规则,该规则基于群组508中测试的专有模型的数量根据群组508的累积分数附加地调整所应用的阈值。在另一个示例中,校准控制器510可以计算群组集合508的分数的平均值和标准偏差,并且然后评估所遇到的分数与通过群组分数的标准偏差相除或归一化的平均群组分数之间的差异,从而允许对测试分数偏离平均群组分数多少标准偏差的给定测试分数进行归一化评估。
在一个示例中,校准控制器510可以在部署专有模型112之前运行。在另一个示例中,校准控制器510可以在专有模型112被部署之后(包括但不限于,在签名验证系统400利用合成样本签名250测试特定服务API的运行时期间)动态运行一次或多次。
图6示出了其中可以实现本发明的一个实施例的计算机系统的一个示例的框图。本发明可以在各种系统和系统组合中执行,由诸如参考计算机系统600描述的功能组件之类的功能组件构成,并且可以通信地连接到网络,诸如网络602。
计算机系统600包括用于在计算机系统600内传送信息的总线622或其它通信设备,以及耦合到总线622用于处理信息的至少一个硬件处理设备,诸如处理器612。总线622优选地包括通过桥和适配器连接并且在计算机系统600内由多个总线控制器控制的低延迟和较高延迟的路径。当实现为服务器或节点时,计算机系统600可以包括被设计用于提高网络服务能力的多个处理器。
处理器612可以是至少一个通用处理器,其在正常操作期间在软件650的控制下处理数据,软件650可以包括应用软件、操作系统、中间件以及从动态存储设备可访问的其它代码和计算机可执行程序中的至少一个,动态存储设备诸如随机存取存储器(RAM)614、诸如只读存储器(ROM)616之类的静态存储设备、诸如大容量存储设备618之类的数据存储设备、或其它数据存储介质。软件650可以包括但不限于用于控制网络内的一个或多个系统的代码、应用、协议、接口和过程,网络包括但不限于适配器、交换机、服务器、集群系统和网格环境。
计算机系统600可以与远程计算机(诸如服务器640或远程客户端)通信。在一个示例中,服务器640可以通过诸如网络602之类的任何类型的网络、通过诸如网络接口632之类的通信接口、或通过可以连接到例如网络602的网络链路连接到计算机系统600。
在该示例中,网络环境内的多个系统可以经由网络602通信地连接,网络602是用于在各种设备和通信连接的计算机系统之间提供通信链路的介质。网络602可以包括诸如有线或光纤线缆之类的永久连接,以及通过例如电话连接和无线传输连接进行的临时连接,并且可以包括路由器、交换机、网关和其它硬件,以实现经由网络602连接的系统之间的通信信道。网络602可以表示基于分组交换的网络、基于电话的网络、广播电视网络、局域网和有线区域网络、公共网络和受限网络中的一个或多个。
网络602和经由网络602通信地连接到计算机600的系统可以实现一种或多种类型的网络协议栈的一个或多个层,其可以包括物理层、链路层、网络层、传输层、表示层和应用层中的一个或多个。例如,网络602可以实现传输控制协议/互联网协议(TCP/IP)协议栈或开放系统互连(OSI)协议栈中的一个或多个。此外,例如,网络602可以表示使用TCP/IP协议套件彼此通信的全球网络和网关的集合。网络602可以实现安全HTTP协议层或其它安全性协议,以便保护系统之间的通信。
在该示例中,网络接口632包括适配器634,用于通过链路将计算机系统600连接到网络602,并且用于经由网络602将计算机系统600通信地连接到服务器640或其它计算系统。虽然未绘出,但网络接口632可以包括诸如设备驱动程序之类的附加软件、附加硬件和使得能够通信的其它控制器。当被实现为服务器时,计算机系统600可以包括经由例如连接到输入/输出控制器的多个外围组件互连(PCI)总线桥接器可访问的多个通信接口。以这种方式,计算机系统600允许经由多个单独端口连接到多个客户端,并且每个端口也可以支持到多个客户端的多个连接。
在一个实施例中,由处理器612执行的操作可以控制图7-图9的流程图的操作和本文描述的其它操作。由处理器612执行的操作可以由软件650或其它代码请求,或者本发明的一个实施例的步骤可以由包含用于执行步骤的硬连线逻辑的特定硬件组件执行,或者由编程的计算机组件和定制硬件组件的任何组合执行。在一个实施例中,计算机系统600的一个或多个组件或可以集成到计算机系统600的一个或多个组件中的其它组件可以包含用于执行图7-图9中的流程图的操作的硬连线逻辑。
此外,计算机系统600可以包括便于输入和输出的多个外围组件。这些外围组件连接到耦合到多级总线622中的一级的多个控制器、适配器和扩展槽,诸如输入/输出(I/O)接口626。例如,输入设备624可以包括例如麦克风、视频捕获设备、图像扫描系统、键盘、鼠标或经由控制输入的I/O接口626在总线622上可通信地启用的其它输入外围设备。此外,例如,经由I/O接口626在总线622上可通信地启用的用于控制输出的输出设备620可以包括例如一个或多个图形显示设备、音频扬声器和触觉可检测输出接口,但是还可以包括其它输出接口。在本发明的替代实施例中,可以添加附加的或替代的输入和输出外围组件。
关于图6,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的示例(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上记录有指令的凹槽中的穿孔卡或凸起结构,以及前述的任何合适的组合。如本文所使用的,计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其它自由传播的电磁波,通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆传递的光脉冲)或通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如互联网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域普通技术人员将认识到的是,图6中描绘的硬件可以变化。此外,本领域普通技术人员将认识到的是,所描绘的示例并不意味着暗示关于本发明的体系架构的限制。
图7示出了用于通过扭曲用于训练专有模型的训练数据来创建合成样本集合并训练合成样本集合的预期输出的合成样本签名,以识别训练的专有模型的过程和计算机程序的高级逻辑流程图。
在一个示例中,过程和计算机程序在方框700处开始,并且此后进行到方框702。方框702示出了访问训练的模型和用于训练模型以识别“N个”类别的训练数据。接下来,方框704示出了从训练数据中选择每个类别的一个或多个样本的子集。此后,方框706示出了对于每个类别“C”对该类别中的每个样本执行附加步骤。接下来,方框708示出了将对抗性变换应用于样本,使得分类器输出不是“C”的类别标签“R”。此后,方框710示出了将变换后的样本发送到专有模型作为合成样本输入。接下来,方框712示出了从专有模型检索结果。此后,方框714示出了在C×C混淆矩阵中组织合成样本和返回的结果,并且该过程转到方框716。
方框716示出了确定对于样本是否已执行除“C”之外的所有类别“R”。在方框716处,如果对于样本不是已执行除了“C”之外的所有类别“R”,则该过程转到方框720。方框720示出了选择下一个目标类别“R”,并且该过程返回到方框708。
返回到方框716,在方框716处,如果对于样本已经执行除“C”之外的所有类别“R”,则该过程转到方框718。方框718示出了确定是否已执行所有类别“C”。在方框718处,如果已执行所有类别“C”,则该过程结束。否则,在方框718处,如果还没有执行所有类别“C”,则该过程转到方框722。方框722示出了选择下一个类别“C”,并且该过程返回到方框706。
图8示出了用于将合成样本签名应用于服务API以确定在经由服务API可访问的已部署系统中操作的机器学习模型的身份的过程和计算机程序的高级逻辑流程图。
在一个示例中,过程和计算机程序在方框800处开始,并且此后进行到方框802。方框802示出了对于混淆矩阵中的每个合成样本以及相关联的预期结果执行的步骤。接下来,方框804示出了向API发出查询,将测试样本集合发送到合成样本。此后,方框806示出了确定是否接收到来自API的关于模型确定为最可能的特定返回类别标签的输出。在方框806处,如果接收到API输出,则该过程转到方框808。
方框808示出了将混淆矩阵中的预期结果中的类别标签与来自API的特定返回结果中的类别标签进行比较。接下来,方框810示出了基于比较的结果,利用匹配作为成功或不匹配作为没有成功来更新累积分数。此后,方框812示出了确定是否所有合成样本已被计数。在方框812处,如果并非所有合成样本都已被计数,则该过程返回到方框802。否则,在方框812处,如果已计数了所有合成样本,则该过程转到方框814。
方框814示出了将阈值应用于累积分数。接下来,方框816示出了确定累积分数是否超过阈值。在方框816处,如果累积分数超过阈值,则该过程转到方框818。方框818示出了输出肯定匹配,并且该过程结束。否则,返回到方框816,在方框816处,如果累积分数超过阈值,则该过程转到方框820。方框820示出了输出肯定匹配,并且该过程结束。
图9示出了用于校准由签名验证系统应用的阈值,以确定在服务环境中操作的专有模型的合成样本签名探测的结果是否验证专有模型的身份的过程和计算机程序的高级逻辑流程图。
在一个示例中,过程和计算机程序在方框900处开始,并且此后进行到方框902。方框902示出了创建一个或多个配置的附加模型的群组集合,但是要识别与专有模型相同的分类标签集合。接下来,方框904示出了在每个群组模型上测试专有模型的合成样本签名。此后,方框906示出了记录每个群组模型的每个累积分数。接下来,方框908示出了将一个或多个校准规则应用于群组分数来校准阈值,以评估黑盒模型匹配是真阳性的可能性,并且该过程结束。
本文使用的术语仅用于描述特定实施例的目的,并不旨在限制本发明。如本文所使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确说明。将进一步理解的是,当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整数、步骤、操作、元素和/或组件的存在,但不排除存在或添加一个或多个其它特征、整数、步骤、操作、元素、组件和/或其组。
以下权利要求中的所有部件或步骤加功能元件的对应结构、材料、动作和等同物旨在包括用于结合如具体要求保护的其它要求保护的元件执行功能的任何结构、材料或动作。已经出于说明和描述的目的给出了对本发明的一个或多个实施例的描述,但是并不旨在穷举或将本发明限于所公开的形式。在不脱离本发明的范围和精神的情况下,许多修改和变化对于本领域普通技术人员来说将是明显的。选择和描述实施例是为了最好地解释本发明的原理和实际应用,并且使本领域普通技术人员能够理解本发明具有适合于预期的特定用途的各种修改的各种实施例。
虽然已经参考一个或多个实施例具体示出和描述了本发明,但是本领域技术人员将理解的是,在不脱离本发明的精神和范围的情况下,可以在其中做出形式和细节上的各种改变。
Claims (18)
1.一种方法,包括:
通过计算机系统访问机器学习模型和多个样本,所述多个样本利用训练数据内的多个类别中的单独原始类别进行分类,所述训练数据用于训练机器学习模型以识别所述多个类别,其中所述机器学习模型是专有的并对用户表现为黑盒子;
通过所述计算机系统生成多个合成样本,合成样本包括所述多个样本中的单独样本,其中基于扭曲与单独样本相关联的比特的比特模式来扭曲单独样本,以诱导机器学习模型将所述单独样本错误分类到与所述单独样本的原始类别不同的类别,并且其中所述扭曲对人眼不可见;以及
通过所述计算机系统从所述多个合成样本和多个返回的类别标签的混淆矩阵创建合成样本签名,用于在运行时验证机器学习模型的身份,返回的类别标签标识如根据在机器学习模型上运行所述多个合成样本而从所述多个合成样本的实际分类确定的所述多个类别中的单独类别,其中所述多个合成样本被组织为对应于合成样本签名的混淆矩阵的元素。
2.如权利要求1所述的方法,其中访问机器学习模型和多个样本还包括:
通过所述计算机系统选择所述多个样本的子集,其中为所述多个类别选择一个或多个样本。
3.如权利要求1所述的方法,其中生成多个合成样本还包括:
通过所述计算机系统对单独样本应用对抗性变换来扭曲单独样本的第二选择比特,以诱导机器学习模型将单独样本错误分类为所述多个类别中除了所述单独原始类别之外的第二组不同类别。
4.如权利要求1所述的方法,还包括:
通过所述计算机系统将所述多个合成样本发送到机器学习模型作为样本输入;以及
通过所述计算机系统为所述多个合成样本从机器学习模型中检索单独的返回的类别标签,其中单独的返回的类别标签指定所述多个类别中的由机器学习模型针对单独的合成样本分类的类别。
5.如权利要求1所述的方法,其中创建合成样本签名还包括:
通过所述计算机系统为所述多个合成样本从机器学习模型接收单独的返回的类别标签;以及
通过所述计算机系统在混淆矩阵中组织所述多个返回的类别标签中的单独的返回的类别标签,所述混淆矩阵的尺寸为所述多个类别的尺寸乘以所述多个类别的尺寸,其中所述混淆矩阵中的条目与合成样本签名中的所述多个合成样本中的特定合成样本相关联。
6.如权利要求1所述的方法,还包括:
通过所述计算机系统输出用于一个或多个应用编程接口API上运行的合成样本签名,其中所述一个或多个API提供对一个或多个服务的访问,其中所述一个或多个服务返回结果,其中所述结果至少包括对所述多个类别的选择,其中所述多个合成样本是在所述一个或多个服务上运行的有效输入,其中在所述一个或多个服务上运行所述多个合成样本的结果与所述混淆矩阵的比较指示所述一个或多个服务是否正在运行用于提供所述一个或多个服务的机器学习模型。
7.一种计算机系统,包括一个或多个处理器、一个或多个计算机可读存储器、一个或多个计算机可读存储设备和程序指令,所述程序指令存储在所述一个或多个存储设备中的至少一个存储设备上、用于由所述一个或多个处理器中的至少一个处理器经由所述一个或多个存储器中的至少一个存储器执行,所存储的程序指令能够由计算机执行以使所述计算机执行如前述权利要求1至6中任一项所述的方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质具有与其一起实施的程序指令,其中所述计算机可读存储介质本身不是瞬态信号,所述程序指令能够由计算机执行以使所述计算机执行如权利要求1至6中任一项所述的方法的步骤。
9.一种方法,包括:
通过计算机系统利用多个合成样本来查询应用编程接口,所述多个合成样本表示单独样本,所述单独样本被指派了由特定机器学习模型分类的多个类别中的原始类别,其中所述特定机器学习模型是专有的并对用户表现为黑盒子,其中基于扭曲与单独样本相关联的比特模式来扭曲单独样本,以诱导所述特定机器学习模型将所述单独样本错误分类为所述多个类别中的不同类别,并且其中所述扭曲对人眼不可见;
通过所述计算机系统累积由所述应用编程接口返回的、与所述多个合成样本的不同类别的预期类别标签指派匹配的多个结果的分数,其中所述多个合成样本被组织为对应于合成样本签名的混淆矩阵的元素;以及
响应于所述分数超过阈值,通过所述计算机系统验证由所述应用编程接口提供的服务正在运行所述特定机器学习模型。
10.如权利要求9所述的方法,还包括:
通过所述计算机系统针对所述多个合成样本向所述应用编程接口发送单独查询调用,其中请求利用所述多个合成样本来查询所述应用编程接口的用户仅能够通过对所述应用编程接口的查询来访问服务;以及
通过所述计算机系统从所述应用编程接口接收针对单独查询调用的输出,所述输出包括所述多个类别的结果标签。
11.如权利要求9所述的方法,其中所述累积还包括:
通过所述计算机系统累积由所述应用编程接口返回的、与预期类别标签的混淆矩阵中的与所述多个合成样本相关联的预期类别标签指派匹配的多个结果的分数,其中预期类别标签的混淆矩阵根据在部署之前将所述多个合成样本应用于所述特定机器学习模型的多个结果创建。
12.如权利要求11所述的方法,其中所述累积还包括:
响应于由所述应用编程接口返回的、与所述多个合成样本的选择相关联的预期类别标签的混淆矩阵中的所述预期类别标签匹配的结果,通过所述计算机系统用成功来更新累积分数;以及
响应于由所述应用编程接口返回的、与和所述多个合成样本的附加选择相关联的预期类别标签的混淆矩阵中的所述预期类别标签不匹配的结果,通过所述计算机系统用没有成功来更新累积分数。
13.如权利要求9所述的方法,还包括:
通过所述计算机系统从用户接收对所请求的确定性的百分比概率的选择;以及
通过所述计算机系统将阈值动态调整到如下值,该值要求分数达到由所述应用编程接口提供的服务正在运行所述特定机器学习模型的确定性水平达到所请求的确定性的百分比概率。
14.如权利要求9所述的方法,还包括:
通过所述计算机系统创建对与所述特定机器学习模型相同的所述多个类别进行分类的一个或多个配置的多个附加机器学习模型的群组集合;
通过所述计算机系统在所述多个附加机器学习模型上运行所述多个合成样本;
对于所述多个附加机器学习模型,通过所述计算机系统累积与所述多个合成样本的不同类别的预期类别标签指派匹配的单独的多个结果的单独分数;以及
通过所述计算机系统将一个或多个校准规则应用于单独分数以校准阈值,以评估由所述应用编程接口提供的服务正在运行所述特定机器学习模型的可能性。
15.如权利要求9所述的方法,其中通过计算机系统利用多个合成样本来查询应用编程接口,所述多个合成样本表示单独样本,所述单独样本被指派了由特定机器学习模型分类的多个类别中的原始类别并且被扭曲以诱导所述特定机器学习模型将所述单独样本错误分类为所述多个类别中的不同类别,还包括:
通过所述计算机系统利用所述多个合成样本作为对所述应用编程接口的正常有效输入来查询所述应用编程接口,以验证在所述应用编程接口后面部署和运行的所述特定机器学习模型的身份,所述正常有效输入无法由所述应用编程接口检测为测试输入。
16.如权利要求9所述的方法,其中,响应于所述分数超过阈值,通过所述计算机系统验证由所述应用编程接口提供的服务正在运行所述特定机器学习模型还包括:
通过所述计算机系统通过与所述阈值相关联的概率的百分比来验证由所述应用编程接口提供的服务正在运行所述特定机器学习模型。
17.一种计算机系统,包括一个或多个处理器、一个或多个计算机可读存储器、一个或多个计算机可读存储设备和程序指令,所述程序指令存储在所述一个或多个存储设备中的至少一个存储设备上、用于由所述一个或多个处理器中的至少一个处理器经由所述一个或多个存储器中的至少一个存储器执行,所存储的程序指令能够由计算机执行以使所述计算机执行如前述权利要求9至16中任一项所述的方法的步骤。
18.一种计算机可读存储介质,所述计算机可读存储介质具有与其一起实施的程序指令,其中所述计算机可读存储介质本身不是瞬态信号,所述程序指令能够由计算机执行以使所述计算机执行如权利要求9至16中任一项所述的方法的步骤。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/863,982 US20190213503A1 (en) | 2018-01-08 | 2018-01-08 | Identifying a deployed machine learning model |
US15/863,980 US20190213502A1 (en) | 2018-01-08 | 2018-01-08 | Creating a signature for identifying a particular machine learning model |
US15/863,980 | 2018-01-08 | ||
US15/863,982 | 2018-01-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110033013A CN110033013A (zh) | 2019-07-19 |
CN110033013B true CN110033013B (zh) | 2023-06-30 |
Family
ID=67235467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910011002.3A Active CN110033013B (zh) | 2018-01-08 | 2019-01-07 | 创建用于识别特定机器学习模型的签名 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110033013B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11516311B2 (en) * | 2021-01-22 | 2022-11-29 | Avago Technologies International Sales Pte. Limited | Distributed machine-learning resource sharing and request routing |
CN114296809B (zh) * | 2021-12-24 | 2023-05-05 | 深圳航天科技创新研究院 | 一种基于操作系统的对象模型构建方法及其系统调用接口 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201710877D0 (en) * | 2017-07-06 | 2017-08-23 | Nokia Technologies Oy | A method and an apparatus for evaluating generative machine learning model |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2429335A1 (en) * | 2003-05-22 | 2004-11-22 | Cognos Incorporated | System and method of determining impact of reports based on metadata model changes |
US7496500B2 (en) * | 2004-03-01 | 2009-02-24 | Microsoft Corporation | Systems and methods that determine intent of data and respond to the data based on the intent |
US8352387B2 (en) * | 2010-05-20 | 2013-01-08 | Verizon Patent And Licensing Inc. | Legacy system support |
US20120284212A1 (en) * | 2011-05-04 | 2012-11-08 | Google Inc. | Predictive Analytical Modeling Accuracy Assessment |
US20130031371A1 (en) * | 2011-07-25 | 2013-01-31 | Alcatel-Lucent Usa Inc. | Software Run-Time Provenance |
CN104134021B (zh) * | 2013-06-20 | 2016-03-02 | 腾讯科技(深圳)有限公司 | 软件的防篡改验证方法及装置 |
US10007866B2 (en) * | 2016-04-28 | 2018-06-26 | Microsoft Technology Licensing, Llc | Neural network image classifier |
-
2019
- 2019-01-07 CN CN201910011002.3A patent/CN110033013B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201710877D0 (en) * | 2017-07-06 | 2017-08-23 | Nokia Technologies Oy | A method and an apparatus for evaluating generative machine learning model |
Non-Patent Citations (2)
Title |
---|
Generative adversarial network based novelty detection using minimized reconstruction error;Huan-gang WANG等;Frontiers of Information Technology & Electronic Engineering;第19卷(第01期);第116-125页 * |
贝叶斯先验约束下的混合判别方法;姚婷婷等;模式识别与人工智能;第28卷(第03期);第193-201页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110033013A (zh) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190213503A1 (en) | Identifying a deployed machine learning model | |
US20190213502A1 (en) | Creating a signature for identifying a particular machine learning model | |
US20230222381A1 (en) | System And Method For Machine Learning Model Determination And Malware Identification | |
US11734433B2 (en) | Open source vulnerability remediation tool | |
US11677781B2 (en) | Automated device data retrieval and analysis platform | |
CN110443274B (zh) | 异常检测方法、装置、计算机设备及存储介质 | |
US11568049B2 (en) | Methods and apparatus to defend against adversarial machine learning | |
US10977562B2 (en) | Filter for harmful training samples in active learning systems | |
US10896083B2 (en) | Dynamic cloud deployment and calibration tool | |
US12107841B2 (en) | Systems and methods for verifying activity computer-implemented methods, systems comprising computer-readable media, and electronic devices for activity verification within a network computing environment | |
US12069099B2 (en) | Computer-implemented methods, systems comprising computer-readable media, and electronic devices for autonomous cybersecurity within a network computing environment | |
CN110033013B (zh) | 创建用于识别特定机器学习模型的签名 | |
WO2022245581A1 (en) | Methods and systems for facilitating secure authentication of users based on known data | |
US12099599B2 (en) | Apparatuses and methods for detecting malware | |
US20170302516A1 (en) | Entity embedding-based anomaly detection for heterogeneous categorical events | |
US11316886B2 (en) | Preventing vulnerable configurations in sensor-based devices | |
WO2022081930A1 (en) | Automated device data retrieval and analysis platform | |
US20180336323A1 (en) | Selecting identifier file using machine learning | |
KR102325293B1 (ko) | 기계 학습 기반의 악성 코드를 탐지하기 위한 적응적 방법, 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 | |
US20240185090A1 (en) | Assessment of artificial intelligence errors using machine learning | |
US20200356779A1 (en) | Abnormal video filtering | |
CN109726242A (zh) | 数据处理方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |