机器学习模型保护的制作方法

文档序号:37370352发布日期:2024-03-22 10:23阅读:18来源:国知局
机器学习模型保护的制作方法

本发明涉及机器学习模型保护方法,以及用于实行这种方法的系统和计算机程序。


背景技术:

1、机器学习(ml)是公知的技术领域——例如,参见https://en.wikipedia.org/wiki/machine_learning,其全部内容通过引用并入本文。在ml中,计算模型或算法是基于数据“学习”的,这与由程序员显式编程相反。模型的这种学习(或推导或拟合或训练)可以使用若干公知的ml算法(诸如反向传播)来实现——例如参见https://en.wikipedia.org/wiki/backpropagation,其全部内容通过引用并入本文。

2、使用ml算法导出的模型通常被称为“ml模型”。存在许多类型的ml模型,诸如:神经网络、支持向量机、决策树、随机森林等——例如,分别参见https://en.wikipedia.org/wiki/neural_network,https://en.wikipedia.org/wiki/support-vector_machine,https://en.wikipedia.org/wiki/decision_tree,和https://en.wikipedia.org/wiki/random_forest,其全部内容通过引用并入本文。

3、存在许多用于设计或生成ml模型的系统——例如,参见(a)keras(https://en.wikipedia.org/wiki/keras,其全部内容通过引用并入本文),其利用tensorflow库(https://en.wikipedia.org/wiki/tensorflow,其全部内容通过引用并入本文);以及(b)torch(https://en.wikipedia.org/wiki/torch_(machine_learning),其全部内容通过引用并入本文)。

4、ml模型可以表示为参数集(在本文中称为“参数文件”)或由该参数集定义。参数文件一般包括指定或指示ml模型的特定特性(或属性或配置)的数据——即参数文件包括定义或指定ml模型的数据。这可以包括指定以下各项中的一项或多项的数据:(a)ml模型的类型;(b)ml模型的结构/针对ml模型的结构中的一些或全部;(c)ml模型在处理数据时要使用的一个或多个值(例如,用于配置这种结构化ml模型的值)。例如,神经网络模型可以被表示为参数文件,其定义以下各项中的一项或多项:模型层的数量和类型;各层的神经元的数量和类型;神经元的相应激活函数;神经元之间的连通性或链接;神经元之间链接的相应权重;神经元的相应偏差;等等。类似地,决策树模型的参数文件可以定义以下各项中的一项或多项:决策树的节点和链接(例如,决策节点和叶节点);决策节点处相应决策的性质;等等。支持向量机模型的参数文件可以定义以下各项中的一项或多项:支持向量机的超平面;支持向量机的核函数:等等。

5、参数文件可以存储为数据文件——当需要时,参数文件由ml系统或框架(诸如keras、tensorflow、torch等)加载到存储器中,该ml系统或框架具有根据参数文件的参数执行ml模型的指令。因此,参数文件可以被视为可由ml框架软件应用解释以实施ml模型的数据。

6、ml模型本质上非常容易受到算法分析的影响,并且因此历来已经易于受到各种各样的攻击,包括静态攻击和动态攻击两者。这种攻击的示例包括嵌入恶意软件、对抗性ml和逆向工程。例如,在一个针对商业部署的神经网络模型的已知攻击中,攻击者能够从操作系统内提取神经网络参数。攻击者然后能够使用提取的神经网络参数将神经网络模型加载到公开可用的对抗性ml框架中,这使得攻击者能够成功地执行自动化攻击——例如,参见https://techcrunch.com/2021/08/18/apple-csam-detection-tech-is-under-fire-again/。在另一个已知的攻击中,攻击者展示了在不一定以显著或可检测的方式影响模型的性能的情况下,ml模型参数文件对操纵的敏感性如何使其有可能在那些文件内隐藏恶意软件成为可能——例如,参见https://arxiv.org/abs/2107.08590。

7、在ml模型应用在安全关键过程中(诸如医疗诊断或自主车辆的对象检测)的情况下,对ml模型的攻击尤其成问题。


技术实现思路

1、因此,将合期望的是能够更好地保护ml模型。

2、因此,根据本发明的第一方面,提供了一种机器学习模型保护方法,包括:基于定义机器学习模型的参数集,生成软件项目,该软件项目当由一个或多个处理器执行时提供机器学习模型的实施方式;以及将一种或多种软件保护技术应用于软件项目。

3、在一些实施例中,软件项目将算术运算实施为定点运算。在一些这样的实施例中,该方法包括获得定点运算的用户定义的精度,供在所述生成软件项目中使用。附加地或替代地,该方法包括获得用于表示算术运算的输入和/或输出的比特数的用户定义的规范。

4、在一些实施例中,机器学习模型至少部分地可表示为多个节点,每个节点具有对应的节点功能;并且该软件项目包括多个节点函数,其中每个节点函数当由一个或多个处理器执行时提供多个节点的相应子集的节点功能的实施方式。在一些这样的实施例中,多个节点的相应子集是多个节点中的单个节点。附加地或替代地,机器学习模型是神经网络的模型,并且多个节点中的每一个是神经网络的相应神经元。附加地或替代地,机器学习模型是决策树模型或随机森林模型,并且多个节点中的每一个是决策树或随机森林的相应节点。

5、在一些实施例中,机器学习模型是支持向量机。

6、在一些实施例中,参数集是可由机器学习框架软件应用解释的数据,以执行机器学习模型。

7、在一些实施例中,参数集指定以下各项中的一项或多项:(a)机器学习模型的类型;(b)机器学习模型的一些或全部结构;(c)机器学习模型在处理数据时要使用的一个或多个值。

8、在一些实施例中,生成软件项目包括:包含作为软件项目的一部分的指令,该指令当由一个或多个处理器执行时结合机器学习模型的实施方式提供一个或多个安全特征。

9、根据本发明的第二方面,提供了一种装置,所述装置被布置成实行根据上述第一方面或其任何实施例的方法。

10、根据本发明的第三方面,提供了一种计算机程序,其在由一个或多个处理器执行时,使得所述一个或多个处理器实行根据上述第一方面或其任何实施例的方法。所述计算机程序可以被存储在计算机可读介质上。



技术特征:

1.一种机器学习模型保护方法,包括:

2.根据权利要求1所述的方法,其中,所述软件项目将算术运算实施为定点运算。

3.根据权利要求2所述的方法,包括获得所述定点运算的用户定义的精度,供在所述生成软件项目中使用。

4.根据权利要求2或权利要求3所述的方法,包括获得用于表示所述算术运算的输入和/或输出的比特数的用户定义的规范。

5.根据前述权利要求中任一项所述的方法,其中:

6.根据权利要求5所述的方法,其中,所述多个节点的相应子集是所述多个节点中的单个节点。

7.根据权利要求5或6所述的方法,其中,所述机器学习模型是神经网络的模型,并且所述多个节点中的每一个是所述神经网络的相应神经元。

8.根据权利要求5或6所述的方法,其中,所述机器学习模型是决策树模型或随机森林模型,并且所述多个节点中的每一个都是决策树或随机森林的相应节点。

9.根据权利要求1至4中任一项所述的方法,其中,所述机器学习模型是支持向量机。

10.根据前述权利要求中任一项所述的方法,其中,所述参数集是可由机器学习框架软件应用解释的数据,以执行所述机器学习模型。

11.根据前述权利要求中任一项所述的方法,其中,所述参数集指定以下各项中的一项或多项:

12.根据前述权利要求中任一项所述的方法,其中生成所述软件项目包括包含作为所述软件项目的一部分的指令,所述指令在由所述一个或多个处理器执行时结合所述机器学习模型的实施方式提供一个或多个安全特征。

13.一种装置,其被布置成实行根据权利要求1至12中任一项所述的方法。

14.一种计算机程序,其在由一个或多个处理器执行时,使得所述一个或多个处理器实行根据权利要求1至13中任一项所述的方法。

15.一种计算机可读介质,其存储根据权利要求14所述的计算机程序。


技术总结
一种机器学习模型保护方法,包括:基于定义机器学习模型的参数集,生成软件项目,该软件项目当由一个或多个处理器执行时提供机器学习模型的实施方式;以及将一种或多种软件保护技术应用于软件项目。

技术研发人员:R·杜兰德,P·艾森,T·希基
受保护的技术使用者:爱迪德技术有限公司
技术研发日:
技术公布日:2024/3/21
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1