掌桥专利:专业的专利平台
掌桥专利
首页

训练子模块并且防止AI模块的捕获的方法

文献发布时间:2024-04-18 19:52:40



完整说明书:

以下说明书描述并确认本发明的性质以及其将被执行的方式。

技术领域

本公开涉及一种训练AI系统中的子模块的方法和一种防止AI系统中的AI模块的捕获的方法。

背景技术

随着数据科学的出现,使用人工智能模块来实现数据处理和决策制定系统。人工智能模块使用不同的技术,如机器学习、神经网络、深度学习等。大多数基于AI的系统接收大量数据,并且处理数据来训练AI模型。经训练的AI模型基于用户所请求的用例来生成输出。典型地,AI系统被用于计算机视觉、语音识别、自然语言处理、音频识别、医疗保健、自主驾驶、制造、机器人等领域中,在这些领域中,它们基于通过训练获取的某些规则/智能来处理数据以生成所需的输出。

为了处理输入并给出期望的输出,AI系统使用各种模型/算法,这些模型/算法是使用训练数据来训练的。一旦使用训练数据训练了AI系统,AI系统就使用模型来分析实时数据并且生成适当的结果。可以基于结果来实时地微调模型。AI系统中的模型形成了该系统的核心。许多努力、资源(有形的和无形的)以及知识投入到开发这些模型中。

可能的是某个对抗方可能试图从AI系统中捕获/拷贝/提取该模型。对抗方可能使用不同的技术来从AI系统中捕获该模型。对抗方所使用的简单技术之一是其中对抗方使用其自己的测试数据迭代地向该AI系统发送不同的查询。该测试数据可以以提取关于AI系统中的模型工作的内部信息的方式被设计。对抗方使用所生成的结果来训练其自己的模型。通过迭代地进行这些步骤,可能的是捕获该模型的内部,并且可以使用类似的逻辑来构建并行的模型。这将给AI系统的最初开发者带来困难。困难可能是以商业劣势、机密信息的损失、开发中花费的准备时间(1ead time)的损失、知识产权的损失、未来收入的损失等形式。

现有技术中存在已知的方法来标识对抗方的这种攻击并保护AI系统中使用的模型。现有技术US 20190095629A1“Protecting CognitiveSystems from Model StealingAttacks”公开了一种这样的方法。它公开了一种方法,其中通过将经训练的模型应用于输入数据来处理该输入数据,以生成针对多个预定义类别中的每一个具有值的输出向量。查询引擎通过在与生成输出向量相关联的函数中插入查询来修改输出向量,从而生成经修改的输出向量。然后,输出经修改的输出向量。查询引擎修改一个或多个值来伪装经训练的模型逻辑的经训练的配置,同时维持输入数据的分类的准确性。

附图说明

参考以下附图描述了本发明的实施例:

图1描绘了AI系统。

图2描绘了AI系统中的子模块。

图3图示了训练AI系统中的子模块的方法步骤。

图4图示了防止AI系统中的AI模块的捕获的方法步骤。

具体实施方式

了解人工智能(AI)技术和基于人工智能(AI)的系统或人工智能(AI)系统的某些方面是重要的。本公开涵盖了AI系统的两个方面。第一个方面涉及AI系统中的子模块的训练,并且第二个方面涉及防止AI系统中的AI模块的捕获。

AI技术和AI系统的一些重要方面可以被解释如下。取决于工具的架构,AI系统可以包括许多组件。一个这种组件是AI模块。参考本公开的AI模块可以被解释为运行模型的组件。模型可以被定义为数据的引用或推断集合,其使用不同形式的相关性矩阵。使用这些模型和来自这些模型的数据,可以在不同类型的数据之间建立相关性,以达到对数据的某种逻辑理解。本领域技术人员将意识到不同类型的AI模型,诸如线性回归、朴素贝叶斯分类器、支持向量机、神经网络等。必须理解的是,本公开不特定于在AI模块中正在执行的模型的类型,并且可以被应用于任何AI模块,而不管正在执行的AI模型如何。本领域技术人员还将领会,AI模块可以被实现为一组软件指令、软件和硬件的组合、或者它们的任何组合。

由AI系统执行的典型任务中的一些是分类、聚类、回归等。大多数分类任务取决于经标记的数据集;也就是说,数据集被手动地标记,以便神经网络学习标记与数据之间的相关性。这被称为监督学习。分类的典型应用中的一些是:面部识别、对象标识、手势识别、声音识别等。聚类或分组是对输入中的相似性的检测。聚类学习技术不需要标签来检测相似性。不具有标签的学习被称为无监督学习。未标记的数据是世界中的大多数数据。机器学习的一个法则是:算法可以在其上训练的数据越多,它就将越准确。因此,随着训练数据集大小增长,无监督学习模型/算法具有产生准确模型的潜力。

由于AI模块形成AI系统的核心,因此该模块需要被保护以免受攻击。攻击者试图攻击AI模块内的模型,并且从AI模块中窃取信息。攻击是通过攻击向量发起的。在计算技术中,向量可以被定义为恶意代码/病毒数据用来传播其自身(诸如以便感染计算机、计算机系统或计算机网络)的方法。类似地,攻击向量被定义为一种路径或手段,黑客可以通过该路径或手段来获得对计算机或网络的访问,以便递送有效载荷或恶意结果。模型窃取攻击使用一种可以制作AI模块的数字孪生体/副本/拷贝的攻击向量。

攻击者典型地生成对输入规范的大小和形状的随机查询,并且开始利用这些任意查询来查询该模型。该查询产生用于随机查询的输入-输出对,并且生成从预先训练的模型推断的辅助数据集。然后,攻击者取得该I/O对,并且使用该辅助数据集来从头开始训练新的模型。这是黑盒模型攻击向量,其中不需要原始模型的先验知识。随着关于模型的先验信息可用并增加,攻击者转向更智能的攻击。攻击者选择由他支配的相关数据集来更高效地提取模型。这是基于领域智能模型的攻击向量。利用这些方法,可能的是跨不同的模型和数据集来演示模型窃取攻击。

必须理解的是,本公开特别地公开了用于训练AI系统中的子模块的方法技术和用于防止AI系统中的AI模块的捕获的方法技术。虽然这些方法技术仅描述了实现目标的一系列步骤,但是这些方法技术是在AI系统中实现的,该AI系统可以是硬件、软件的组合、以及其组合。

图1描绘了AI系统(10)。AI系统(10)包括输入接口(11)、阻挡器模块(18)、AI模块(12)、子模块(14)、阻挡器通知模块(20)、信息增益模块(16)和至少一个输出接口(22)。输入接口(11)从至少一个用户接收输入数据。输入接口(11)是硬件接口,其中用户可以录入他对AI模块(12)的查询。

阻挡器模块(18)被配置成当基于输入攻击查询所计算的信息增益超过预定义阈值时阻挡该用户。阻挡器模块(18)进一步被配置成修改由AI模块(12)生成的第一输出。这仅当输入被标识为攻击向量时才进行。

AI模块(12),用于处理所述输入数据并且生成对应于所述输入的第一输出数据。AI模块(12)基于所述输入来执行模型以生成第一输出。如上所提到的,该模型可以是来自线性回归、朴素贝叶斯分类器、支持向量机、神经网络等组中的任一个。

子模块(14)被配置成从接收到的输入数据中标识攻击向量。图2描绘了AI系统(10)中的子模块(14)。子模块(14)包括至少两个模型、以及比较器(143)。处理所述输入的子模块(14)内部存在至少两个模型。这至少两个或更多个模型也可以是来自线性回归、朴素贝叶斯分类器、支持向量机、神经网络等组中的任一个。然而,这些模型中的至少一个与由AI模块(12)执行的模型相同。例如,如果AI模块(12)执行卷积神经网络(CNN)模型,则子模块(14)内部的至少一个模块也将执行CNN模型。本领域技术人员将领会,类似地,对于其他形式的数据,将需要数量“n”个模型。“n”的值是动态的,即由子模块执行的模型的数量改变。这取决于由信息增益模块计算的信息增益的当前和历史值。比较器(143)接收并比较在利用相同输入执行各种模型时接收到的输出。

阻挡器通知模块(20)在检测到攻击向量时向所述AI系统(10)的所有者传输通知。该通知可以以任何音频/视频/文本形式来传输。

信息增益模块(16)被配置成计算信息增益,并且将信息增益值发送到阻挡器模块(18)。信息增益是使用信息增益方法技术来计算的。在一个实施例中,如果所提取的信息增益超过预定义阈值,则AI系统(10)被配置成将用户锁定在该系统外。如果由多个用户提取的累积信息增益超过预定义阈值,则发起对该系统的锁定。

输出接口(22)向所述至少一个用户发送输出。当子模块(14)没有从接收到的输入中标识攻击向量时,由输出接口(22)发送的输出包括第一输出数据。当从输入中检测到攻击向量时,由输出接口(22)发送的输出包括从阻挡器模块(18)接收到的经修改的输出。

必须理解的是,AI系统(10)的每个构建块可以取决于应用在不同的架构框架中实现。在架构框架的一个实施例中,AI系统(10)的所有构建块都在硬件中实现,即每个构建块可以被硬编码到微处理器芯片上。当构建块物理地分布在网络上——其中每个构建块在跨网络的个体计算机系统上时,这是特别可能的。在AI系统(10)的架构框架的另一个实施例中,被实现为硬件和软件的组合,即一些构建块被硬编码到微处理器芯片上,而其他构建块在软件中实现,该软件可以驻留在微处理器芯片中或者在云上。

图3图示了训练AI系统(10)中的子模块(14)的方法步骤(200)。AI系统(10)包括上面在图1和2中描述的组件。子模块(14)是使用用于训练AI模块(12)的数据集来训练的。子模块(14)是使用用于训练AI模块(12)的数据集来训练的。子模块(14)执行至少两个模型,所述子模块(14)包括用于比较至少两个模型的输出的比较器。所述至少两个模型中的模型之一是第一模型(M)。在如前面段落中解释的该第一模型(M)是由AI模块(12)来执行的。

在步骤201中,所述至少两个模型接收原始数据集作为输入,并且利用所述输入来执行。“n”个模型(N>1)包含针对标签的不同类别或类别数量。当攻击向量通过所有这些模型时,则跨模型的类别值可能是不同的。如果跨模型的类别值是不同的,则我们将数据指针视为攻击向量。在步骤202中,记录所述子模块(14)的行为。

图4图示了防止AI系统(10)中的AI模块(12)的捕获的方法步骤(300)。AI系统(10)以及其组件已经在前面段落中借助于图1和2被解释。本领域技术人员将理解,由方法步骤(200)训练的子模块(14)现在被实时地用于防止AI系统(10)中的AI模块(12)的捕获。

在方法步骤301中,输入接口(11)从至少一个用户接收输入数据。在步骤302中,通过阻挡器模块(18)将该输入数据传输到AI模块(12)。在步骤303中,AI模块(12)通过AI模块(12)基于该输入数据执行第一模型(M)来计算第一输出数据。

在步骤304中,在由子模块(14)从输入数据中标识攻击向量的处理中,该攻击向量的标识信息被发送到信息增益模块(16)。处理该输入数据和该输入数据的所述至少一个子集进一步包括两个阶段。首先,利用该输入数据和所述至少一个子集来执行子模块(14)内部的至少两个模型。模型中的一个是第一模型(M),即它与AI模块(12)所执行的模型相同。接下来,比较在执行所述至少两个模型时接收到的输出。基于该比较,从该输入来确定攻击向量。如果接收到的输出是相同的,这意味着该输入不是攻击向量。然而,如果比较器(143)发现输出中的差异,则它推断该输入是攻击向量。

一旦攻击向量标识信息被发送到信息增益模块(16),就计算信息增益。信息增益被发送到阻挡器模块(18)。在实施例中,如果信息增益超过预定义阈值,则阻止该用户,并且使用阻挡器通知模块(20)向AI系统(10)的所有者发送通知。如果信息增益低于预定义阈值,那么尽管攻击向量被检测到,阻挡器模块(18)也可以修改由AI模块(12)生成的第一输出,以将其发送到输出接口(22)。

此外,可以使用用户简档来确定用户是习惯性攻击者、还是它是一次性攻击、还是它只是偶然攻击等。取决于用户简档,可以确定用于解锁该系统的步骤。如果它是第一次攻击者,则用户可以被暂时锁定在外。如果攻击者是习惯性攻击者,则可以建议更严格的锁定步骤。

必须理解的是,以上详细描述中解释的实施例仅仅是说明性的,并且不限制本发明的范围。对训练子模块(14)和防止AI模块(12)的捕获的方法的任何修改都是设想到的,并且形成本发明的一部分。本发明的范围仅由权利要求来限定。

技术分类

06120116334225