人工智能系统风险检测方法、装置、计算机设备与介质与流程

专利2022-06-30  94


本申请涉及计算机技术领域,特别是涉及一种人工智能系统风险检测方法、装置、计算机设备和存储介质。



背景技术:

随着计算机科学的发展,人工智能技术也在不断更新换代,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。

人工智能在帮助人们的生活更便捷,舒适的同时,也带来了巨大的安全风险,而这些安全风险可能不仅会造成财产的损失,甚至会危害人类的生命安全,目前,业界对于人工智能算法/模型、数据等的风险尚未有足够的认知和科学检测方法,无法对其风险进行检测。



技术实现要素:

基于此,有必要对于人工智能算法/模型、数据等的风险尚未有足够的认知和科学检测方法,无法对其风险进行检测的技术问题,提供一种能够有效对人工智能风险进行检测的人工智能系统风险检测方法、装置、计算机设备和存储介质。

一种人工智能系统风险检测方法,所述方法包括:

启动待检测人工智能系统;

运行所述待检测人工智能系统,获取所述待检测人工智能系统在运行中的各个风险评价指标的指标参数;

识别所述待检测人工智能系统的源代码以及应用领域,根据所述待检测人工智能系统的源代码以及应用领域,获取待检测人工智能系统各风险评价指标对应的检测权重参数;

根据各个风险评价指标的指标参数以及各风险评价指标对应的检测权重参数,获取当前待检测人工智能系统的运行风险参数;

当所述运行风险参数大于预设风险阈值时,判定所述待检测人工智能系统存在安全风险。

在其中一个实施例中,所述风险评价指标包括代码安全风险参数、模型准确度、模型可解释度、模型敏感度以及模型输入数据攻击性,所述运行所述待检测人工智能系统,获取所述待检测人工智能系统测试在运行中的各预设检测时刻对应的各个风险评价指标包括:

获取所述待检测人工智能系统对应源代码,根据所述源代码获取代码安全风险参数;

获取带标记预设测试样本数据,将所述测试样本数据输入所述待检测人工智能系统,获取所述带标记预设测试样本数据对应输出数据,根据所述输出数据与对应的预测测试样本数据所带标记,获取模型准确度;

根据所述输出数据与对应的预测测试样本数据所带标记,获取所述输出数据中的出错数据,获取所述出错数据对应的错误解释信息,根据所述错误解释信息获取模型可解释度;

根据所述待检测人工智能系统的出错数据与所述待检测人工智能系统的应用领域,获取所述模型敏感度;

获取所述待检测人工智能系统对应依赖数据集,根据所述依赖数据集获取所述模型输入数据攻击性。

在其中一个实施例中,所述识别所述待检测人工智能系统的源代码以及应用领域,根据所述待检测人工智能系统的源代码以及应用领域,获取待检测人工智能系统各风险评价指标对应的检测权重参数包括:

识别所述待检测人工智能系统的源代码以及应用领域;

确定所述源代码对应的风险参数类别,根据所述风险参数类别查找预设风险参数类别权重参数表,得到与所述风险参数类别对应的权重参数,将所述与所述风险参数类别对应的权重参数,作为与所述代码安全风险参数对应的第一检测权重参数;

根据所述应用领域查找预设模型准确度类别权重分布表,得到与所述应用领域对应的第一权重参数,将所述与所述应用领域对应的第一权重参数,作为与所述模型准确度对应的第二检测权重参数;

确定所述源代码对应的构成算法,根据所述构成算法查找预设模型可解释度权重分布表,得到与所述构成算法对应的权重参数,将所述构成算法对应的权重参数,作为与所述模型可解释度对应的第三检测权重参数;

根据所述应用领域确定业务影响级别,根据所述业务影响级别查找预设模型敏感度权重分布表,得到与所述业务影响级别对应的权重参数,将所述与所述业务影响级别对应的权重参数,作为所述模型敏感度对应的第四检测权重参数;

根据所述应用领域查找预设模型输入数据攻击性权重分布表,得到与所述应用领域对应的第二权重参数,将所述与所述应用领域对应的第二权重参数,作为所述模型输入数据攻击性对应的第五检测权重参数。

在其中一个实施例中,所述根据所述应用领域确定业务影响级别,根据所述业务影响级别查找预设模型敏感度权重分布表,得到与所述业务影响级别对应的权重参数,将所述与所述业务影响级别对应的权重参数,作为所述模型敏感度对应的第四检测权重参数之前,还包括:

根据所述待检测人工智能系统的应用领域,对所述待检测人工智能系统进行业务影响评估,获取所述待检测人工智能系统对应的业务影响级别。

在其中一个实施例中,所述当所述运行风险参数大于预设风险阈值时,判定所述待检测人工智能系统存在安全风险之前还包括:

获取历史记录中出现安全风险的人工智能系统对应的历史运行风险参数;

根据所述历史运行风险参数更新所述预设风险阈值。

在其中一个实施例中,所述根据各个风险评价指标以及各指标对应的检测权重参数,获取当前待检测人工智能系统的运行风险参数之后还包括:

根据所述风险评价指标以及所述运行风险参数生成模型评估报告。

一种人工智能系统风险检测装置,所述装置包括:

模型启动模块,用于启动待检测人工智能系统;

指标获取模块,用于运行所述待检测人工智能系统,获取所述待检测人工智能系统在运行中的各个风险评价指标的指标参数;

权重获取模块,用于识别所述待检测人工智能系统的源代码以及应用领域,根据所述待检测人工智能系统的源代码以及应用领域,获取待检测人工智能系统各风险评价指标对应的检测权重参数;

风险预测模块,用于根据各个风险评价指标的指标参数以及各风险评价指标对应的检测权重参数,获取当前待检测人工智能系统的运行风险参数;

风险判定模块,用于当所述运行风险参数大于预设风险阈值时,判定所述待检测人工智能系统存在安全风险。

在其中一个实施例中,所述风险评价指标包括代码安全风险参数、模型准确度、模型可解释度、模型敏感度以及模型输入数据攻击性,所述指标获取模块用于:

获取所述待检测人工智能系统对应源代码,根据所述源代码获取代码安全风险参数;

获取带标记预设测试样本数据,将所述测试样本数据输入所述待检测人工智能系统,获取所述带标记预设测试样本数据对应输出数据,根据所述输出数据与对应的预测测试样本数据所带标记,获取模型准确度;

根据所述输出数据与对应的预测测试样本数据所带标记,获取所述输出数据中的出错数据,获取所述出错数据对应的错误解释信息,根据所述错误解释信息获取模型可解释度;

根据所述待检测人工智能系统的出错数据与所述待检测人工智能系统的应用领域,获取所述模型敏感度;

获取所述待检测人工智能系统对应依赖数据集,根据所述依赖数据集获取所述模型输入数据攻击性。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

启动待检测人工智能系统;

运行所述待检测人工智能系统,获取所述待检测人工智能系统在运行中的各个风险评价指标的指标参数;

识别所述待检测人工智能系统的源代码以及应用领域,根据所述待检测人工智能系统的源代码以及应用领域,获取待检测人工智能系统各风险评价指标对应的检测权重参数;

根据各个风险评价指标的指标参数以及各风险评价指标对应的检测权重参数,获取当前待检测人工智能系统的运行风险参数;

当所述运行风险参数大于预设风险阈值时,判定所述待检测人工智能系统存在安全风险。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

启动待检测人工智能系统;

运行所述待检测人工智能系统,获取所述待检测人工智能系统在运行中的各个风险评价指标的指标参数;

识别所述待检测人工智能系统的源代码以及应用领域,根据所述待检测人工智能系统的源代码以及应用领域,获取待检测人工智能系统各风险评价指标对应的检测权重参数;

根据各个风险评价指标的指标参数以及各风险评价指标对应的检测权重参数,获取当前待检测人工智能系统的运行风险参数;

当所述运行风险参数大于预设风险阈值时,判定所述待检测人工智能系统存在安全风险。

上述人工智能系统风险检测方法、装置、计算机设备和存储介质,通过运行所述待检测人工智能系统,获取所述待检测人工智能系统在运行中的各个风险评价指标的指标参数,根据各个风险评价指标的指标参数对人工智能系统进行多角度的量化检测,而后通过系统的源代码以及其应用领域,确定其对应的权重参数,综合考虑指标参数以及对应参数来得到待检测人工智能系统的运行风险参数,通过该运行风险参数来对人工智能系统的运行风险检测,来确保已运行的人工智能系统是安全可控的,在人工智能系统的应用过程中把握及规避风险,减少安全问题或者事件的发生。

附图说明

图1为一个实施例中人工智能系统风险检测方法的应用环境图;

图2为一个实施例中人工智能系统风险检测方法的流程示意图;

图3为另一个实施例中人工智能系统风险检测方法的流程示意图;

图4为一个实施例中人工智能系统风险检测装置的结构框图;

图5为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的人工智能系统风险检测方法,可以应用于如图1所示的应用环境中。其中,人工智能服务器102通过网络与检测服务器104通过网络进行通信。人工智能服务器102上搭载有待检测人工智能系统。检测服务器104首先连接人工智能服务器102,启动待检测人工智能系统;运行待检测人工智能系统,获取待检测人工智能系统在运行中的各个风险评价指标的指标参数;识别待检测人工智能系统的源代码以及应用领域,根据待检测人工智能系统的源代码以及应用领域,获取待检测人工智能系统各风险评价指标对应的检测权重参数;根据各个风险评价指标的指标参数以及各风险评价指标对应的检测权重参数,获取当前待检测人工智能系统的运行风险参数;当运行风险参数大于预设风险阈值时,判定待检测人工智能系统存在安全风险。其中,人工智能服务器102与检测服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种人工智能系统风险检测方法,以该方法应用于图1中的检测服务器104为例进行说明,包括以下步骤:

s100,检测服务器启动待检测人工智能系统。

其中,检测服务器具体是指用于进行人工智能系统内生安全检测的服务器,内生安全具体指的是人工智能系统本身的机制所导致的安全问题。原生的人工智能系统的内生安全往往由人工智能系统代码安全、数据完整性、模型保密性、模型鲁棒性等方面所导致。检测服务器可以从上述各个方面对待检测人工智能系统的风险进行判定,以检测其是否存在安全风险。与内生安全相对应的是外生安全,指的是由于人工智能系统本身机制之外的因素---比如人工智能系统在应用过程中所依赖的环境、人工智能系统在应用过程中所需或产生的数据的安全性以及人工智能系统的应用是否符合相应法律法规等,所引发的安全事件。具体的,检测服务器可以通过网络连接搭载有待检测人工智能系统的人工智能服务器,而后启动该待检测人工智能系统,开始检测过程。

s300,运行待检测人工智能系统,获取待检测人工智能系统在运行中的各个风险评价指标的指标参数。

人工智能系统的风险检测中具体包含了5个风险评价指标,包括:代码安全风险,指的是人工智能系统中存在的漏洞而导致的安全。模型的准确度,指的是模型在当前环境下对当前输入进行判断的正确程度。模型可解释度,指的是对模型的运行机制以及对输入数据放入反馈能够让大家信服,当模型给出错误的反馈的时候,能够定位出具体的原因。模型敏感度,指的是人工智能系统在进行应用过程中模型出现误判或偏离人工智能系统设计预期等状况时,对实际业务的影响程度。输入数据的攻击性。输入数据的攻击性,指的是输入数据让模型出错或偏离设计预期的程度。检测服务器可以在运行待检测人工智能系统的同时,通过对人工智能系统进行各方位的检测来获得上述的各个风险评价指标的指标参数,并将其以具体的数字形式表示出来。

s500,识别待检测人工智能系统的源代码以及应用领域,根据待检测人工智能系统的源代码以及应用领域,获取待检测人工智能系统各风险评价指标对应的检测权重参数。

其中检测权重参数是指个风险评价指标在当前待检测人工智能系统中的可参考性,由于人工智能系统的侧重点、用途以及构成都不尽相同,所以对于不同的待检测人工智能系统,其检测的权重也是不相同的,在获得各个相应的各个风险评价指标的同时,服务器还需要识别待检测人工智能系统的源代码以及应用领域,依据待检测人工智能系统自身属性,获取各个风险评价指标对应的检测权重参数。

s700,根据各个风险评价指标的指标参数以及各风险评价指标对应的检测权重参数,获取当前待检测人工智能系统的运行风险参数。

待检测人工智能系统的运行风险参数可以用表示,指的是人工智能系统在运行过程中对事物的表达或判断出错而对业务造成影响的情况发生的概率。运行风险参数的计算公式具体可以为:

其中,w1-w5为各项指标的权重,为简化起见,各个指标的权重和各指标的检测都可以采用百分制,然后乘积进行归一化处理,换算为百分制。coderisk为代码安全风险参数,为模型准确度,inter为模型可解释度,sen为模型敏感度,dataattack为模型输入数据攻击性。本申请中的运行风险参数可以在内生安全维度从代码安全风险参数、模型准确度、模型可解释性、模型敏感度以及输入数据攻击性等方向进行检测,以确保人工智能自身的安全,保证人工智能系统是安全可控的,同时能够向用户、企业等揭示人工智能系统安全风险,以便于在应用过程中把握及规避风险,减少安全问题或者事件的发生。

s900,当运行风险参数大于预设风险阈值时,判定待检测人工智能系统存在安全风险。

当计算确定的运行风险参数大于预先设置的风险阈值时,可以判断当前的待检测人工智能系统存在一定的安全风险,此时可以判定该待检测人工智能系统存在一定的运行缺陷,可能会在实际的使用过程中出现安全风险。

如图3所示,在其中一个实施例中,步骤s900之前还包括:

s810,获取历史记录中出现安全风险的人工智能系统对应的历史运行风险参数。

s830,根据历史运行风险参数更新预设风险阈值。

在初始时刻,检测服务器可以确定一个初始的预设风险阈值,而后在方法运行的过程中,根据历史记录中已检测的且出现运行出错情况的人工智能系统在测试过程中的运行风险参数,来不断更新目前的预设风险阈值。更新具体可以为,获取出现运行出错情况的人工智能系统在检测过程中的运行风险参数,而后计算所有运行风险参数的最低值,将该最低值作为新的预设风险阈值。通过不断更新预设风险阈值,可以有效提高人工智能系统风险检测的准确性。

上述人工智能系统风险检测方法,通过运行待检测人工智能系统,获取待检测人工智能系统在运行中的各个风险评价指标的指标参数,根据各个风险评价指标的指标参数对人工智能系统进行多角度的量化检测,而后通过系统的源代码以及其应用领域,确定其对应的权重参数,综合考虑指标参数以及对应参数来得到待检测人工智能系统的运行风险参数,通过该运行风险参数来对人工智能系统的运行风险检测,来确保已运行的人工智能系统是安全可控的,在人工智能系统的应用过程中把握及规避风险,减少安全问题或者事件的发生。

在其中一个实施例中,风险评价指标包括代码安全风险参数、模型准确度、模型可解释度、模型敏感度以及模型输入数据攻击性,获取待检测人工智能系统测试在运行中的各预设检测时刻对应的各个风险评价指标包括:

获取待检测人工智能系统对应源代码,根据源代码获取代码安全风险参数。

获取带标记预设测试样本数据,将测试样本数据输入待检测人工智能系统,获取带标记预设测试样本数据对应输出数据,根据输出数据与对应的预测测试样本数据所带标记,获取模型准确度。

根据输出数据与对应的预测测试样本数据所带标记,获取输出数据中的出错数据,获取出错数据对应的错误解释信息,根据错误解释信息获取模型可解释度。

根据待检测人工智能系统的出错数据与待检测人工智能系统的应用领域,获取模型敏感度。

获取待检测人工智能系统对应依赖数据集,根据依赖数据集获取模型输入数据攻击性。

模型的一些风险评价指标可以基于模型本身的构成获取,但是还有的指标需要对模型进行测试运行才能获取,本申请中,获取各个风险评价指标的具体过程包括了:通过获取当前待检测人工智能系统所采用的代码(如开源或者商用)、框架(如tensorflow、pytorch等),通过源代码审计、fuzzing等方法对代码框架风险进行识别,获得待检测人工智能系统对应的代码安全风险,即代码安全风险参数。可以通过使用一定量的测试样本,对模型的准确度进行检测,获得模型的准确度对应的审核分数。获取人工智能系统对测试数据预测或识别出错的数据实例,判断当前待检测人工智能系统是否能对各预测或识别出错的数据实例是否能做出相应的错误解释(如对分类错误的深度学习框架进行说明,指出其卷积层可能影响识别效果等),获取对应的模型可解释程度评分。获取人工智能系统对测试数据预测或识别出错的数据实例,判断该数据实例对当前待检测人工智能系统的实际业务的影响程度,根据该影响程度获取模型敏感度评分。通过对人工智能系统所依赖的数据集,检测其输入数据让模型出错或偏离设计预期的程度,获得该风险指标的风险值,根据该风险获取待检测人工智能系统的输入数据攻击型评分。通过不同的方法分别对模型进行多角度评估,从而获得待检测人工智能系统不同角度的风险评价指标。

在其中一个实施例中,步骤s500包括:

识别待检测人工智能系统的源代码以及应用领域。

确定源代码对应的风险参数类别,根据风险参数类别查找预设风险参数类别权重参数表,得到与风险参数类别对应的权重参数,将与风险参数类别对应的权重参数,作为与代码安全风险参数对应的第一检测权重参数。

根据应用领域查找预设模型准确度类别权重分布表,得到与应用领域对应的第一权重参数,将与应用领域对应的第一权重参数,作为与模型准确度对应的第二检测权重参数。

确定源代码对应的构成算法,根据构成算法查找预设模型可解释度权重分布表,得到与构成算法对应的权重参数,将构成算法对应的权重参数,作为与模型可解释度对应的第三检测权重参数。

根据应用领域确定业务影响级别,根据业务影响级别查找预设模型敏感度权重分布表,得到与业务影响级别对应的权重参数,将与业务影响级别对应的权重参数,作为模型敏感度对应的第四检测权重参数。具体的,可以根据待检测人工智能系统的应用领域,对待检测人工智能系统进行业务影响评估,获取待检测人工智能系统对应的业务影响级别。

根据应用领域查找预设模型输入数据攻击性权重分布表,得到与应用领域对应的第二权重参数,将与应用领域对应的第二权重参数,作为模型输入数据攻击性对应的第五检测权重参数。

在其中一个实施例中,根据应用领域确定业务影响级别,根据业务影响级别查找预设模型敏感度权重分布表,得到与业务影响级别对应的权重参数,将与业务影响级别对应的权重参数,作为模型敏感度对应的第四检测权重参数之前,还包括:

服务器可以识别待检测人工智能系统的源代码以及应用领域,而后根据源代码以及应用领域来获取各风险评价指标对应的检测权重参数。预设权重分布表可以通过总结历史经验数据或者是通过专家经验来获得。一般对于各个类别的模型,其对应的权重分布包含以下规律,比如对于代码安全风险参数对应的检测权重参数来说,对代码执行有重大影响的风险,例如缓冲区溢出、信息泄露、越权查看、sql(structuredquerylanguage、结构化查询语言)注入等风险,分配较大的检测权重参数。而对于对代码执行有一般影响的风险,例如代码逻辑错误、低效率代码等代码风险,则分配一个较低的检测权重参数。模型准确度的检测权重参数选取主要取决于模型准确度所对应的应用。对于越关键的应用,赋予较高的权重区间,反之则赋予较低的区间。比如对于应用于图像识别、语音识别等方面的人工智能系统会被分配一个较低的权重,而对于无人驾驶汽车、飞机等关键方面的人工智能系统会被分配一个较高的权重。模型可解释度的检测权重参数选取主要取决于所对应的算法/模型的可解释程度,与其所对应的人工智能分类相关。可解释性较好的算法/模型赋予较低的风险权重区间,反之则赋予较高的区间。比如对于应用d3、c4.5/c5.0决策树算法等基于规则的机器学习的人工智能系统会被分配一个较高的权重,而对于tensorflow、pytorch、caffe等深度学习模型的人工智能系统会被分配一个较低的权重。模型敏感度的检测权重参数选取主要取决于对应的应用级别的重要度,具体的,可以根据待检测人工智能系统的应用领域,对待检测人工智能系统进行业务影响评估,来获取待检测人工智能系统对应的业务影响级别,而后根据业务影响级别来查表,获取模型敏感度对应的第四检测权重参数。这个权重根据不同的业务影响级别确定。比如对于无人驾驶汽车、飞机、医疗手术等的人工智能系统会被分配一个较高的权重,而对于使用ai进行考勤、打卡等影响力低的人工智能系统会被分配一个较低的权重。输入数据的攻击性的检测权重参数选取主要取决于ai算法/模型/所承载的应用所依赖的数据集可能存在的污染/药饵注入等风险的检测。该数据集越容易被破坏或者误导,其权重越高,反之则越低。对于图像识别类以及语音类等方面的人工智能系统会被分配一个较高的权重,而对于人机问答类以及无人驾驶等方面的人工智能系统会被分配一个较低的权重。

在其中一个实施例中,步骤s700之后还包括:

根据风险评价指标以及运行风险参数生成模型评估报告。

在获得风险评价指标,并根据风险评价指标得到对应的运行风险参数之后,可以整理所有的风险评价指标以及运行风险参数,而后根据这些获得的指标与运行风险参数来生成对应的模型评估报告,用户可以通过该模型评估报告来确定待检测人工智能系统在哪个方面存在运行风险,同时便于在应用过程中把握及规避风险,减少安全问题或者事件的发生。通过生成模型评估报告,可以更加直观地向用户展示待检测人工智能系统的检测结果。

应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图4所示,提供了一种人工智能系统风险检测装置,包括:

模型启动模块100,用于启动待检测人工智能系统;

指标获取模块300,用于运行待检测人工智能系统,获取待检测人工智能系统在运行中的各个风险评价指标的指标参数;

权重获取模块500,用于识别待检测人工智能系统的源代码以及应用领域,根据待检测人工智能系统的源代码以及应用领域,获取待检测人工智能系统各风险评价指标对应的检测权重参数;

风险预测模块700,用于根据各个风险评价指标的指标参数以及各风险评价指标对应的检测权重参数,获取当前待检测人工智能系统的运行风险参数;

风险判定模块900,用于当运行风险参数大于预设风险阈值时,判定待检测人工智能系统存在安全风险。

在其中一个实施例中,风险评价指标包括代码安全风险参数、模型准确度、模型可解释度、模型敏感度以及模型输入数据攻击性,指标获取模块300用于:获取待检测人工智能系统对应源代码,根据源代码获取代码安全风险参数;获取带标记预设测试样本数据,将测试样本数据输入待检测人工智能系统,获取带标记预设测试样本数据对应输出数据,根据输出数据与对应的预测测试样本数据所带标记,获取模型准确度;根据输出数据与对应的预测测试样本数据所带标记,获取输出数据中的出错数据,获取出错数据对应的错误解释信息,根据错误解释信息获取模型可解释度;根据待检测人工智能系统的出错数据与待检测人工智能系统的应用领域,获取模型敏感度;获取待检测人工智能系统对应依赖数据集,根据依赖数据集获取模型输入数据攻击性。

在其中一个实施例中,权重获取模块500用于识别待检测人工智能系统的源代码以及应用领域;确定源代码对应的风险参数类别,根据风险参数类别查找预设风险参数类别权重参数表,得到与风险参数类别对应的权重参数,将与风险参数类别对应的权重参数,作为与代码安全风险参数对应的第一检测权重参数;根据应用领域查找预设模型准确度类别权重分布表,得到与应用领域对应的第一权重参数,将与应用领域对应的第一权重参数,作为与模型准确度对应的第二检测权重参数;确定源代码对应的构成算法,根据构成算法查找预设模型可解释度权重分布表,得到与构成算法对应的权重参数,将构成算法对应的权重参数,作为与模型可解释度对应的第三检测权重参数;根据应用领域确定业务影响级别,根据业务影响级别查找预设模型敏感度权重分布表,得到与业务影响级别对应的权重参数,将与业务影响级别对应的权重参数,作为模型敏感度对应的第四检测权重参数;根据应用领域查找预设模型输入数据攻击性权重分布表,得到与应用领域对应的第二权重参数,将与应用领域对应的第二权重参数,作为模型输入数据攻击性对应的第五检测权重参数。

在其中一个实施例中,权重获取模块500还用于根据待检测人工智能系统的应用领域,对待检测人工智能系统进行业务影响评估,获取待检测人工智能系统对应的业务影响级别。

在其中一个实施例中,还报告阈值更新模块,用于获取历史记录中出现安全风险的人工智能系统对应的历史运行风险参数;根据历史运行风险参数更新预设风险阈值。

在其中一个实施例中,还包括报告生成模块,用于根据风险评价指标以及运行风险参数生成模型评估报告。

关于人工智能系统风险检测装置的具体限定可以参见上文中对于人工智能系统风险检测方法的限定,在此不再赘述。上述人工智能系统风险检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储历史人工智能系统的运行风险参数相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种人工智能系统风险检测方法。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

启动待检测人工智能系统;

运行待检测人工智能系统,获取待检测人工智能系统在运行中的各个风险评价指标的指标参数;

识别待检测人工智能系统的源代码以及应用领域,根据待检测人工智能系统的源代码以及应用领域,获取待检测人工智能系统各风险评价指标对应的检测权重参数;

根据各个风险评价指标的指标参数以及各风险评价指标对应的检测权重参数,获取当前待检测人工智能系统的运行风险参数;

当运行风险参数大于预设风险阈值时,判定待检测人工智能系统存在安全风险。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取待检测人工智能系统对应源代码,根据源代码获取代码安全风险参数;获取带标记预设测试样本数据,将测试样本数据输入待检测人工智能系统,获取带标记预设测试样本数据对应输出数据,根据输出数据与对应的预测测试样本数据所带标记,获取模型准确度;根据输出数据与对应的预测测试样本数据所带标记,获取输出数据中的出错数据,获取出错数据对应的错误解释信息,根据错误解释信息获取模型可解释度;根据待检测人工智能系统的出错数据与待检测人工智能系统的应用领域,获取模型敏感度;获取待检测人工智能系统对应依赖数据集,根据依赖数据集获取模型输入数据攻击性。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:识别待检测人工智能系统的源代码以及应用领域;确定源代码对应的风险参数类别,根据风险参数类别查找预设风险参数类别权重参数表,得到与风险参数类别对应的权重参数,将与风险参数类别对应的权重参数,作为与代码安全风险参数对应的第一检测权重参数;根据应用领域查找预设模型准确度类别权重分布表,得到与应用领域对应的第一权重参数,将与应用领域对应的第一权重参数,作为与模型准确度对应的第二检测权重参数;确定源代码对应的构成算法,根据构成算法查找预设模型可解释度权重分布表,得到与构成算法对应的权重参数,将构成算法对应的权重参数,作为与模型可解释度对应的第三检测权重参数;根据应用领域确定业务影响级别,根据业务影响级别查找预设模型敏感度权重分布表,得到与业务影响级别对应的权重参数,将与业务影响级别对应的权重参数,作为模型敏感度对应的第四检测权重参数;根据应用领域查找预设模型输入数据攻击性权重分布表,得到与应用领域对应的第二权重参数,将与应用领域对应的第二权重参数,作为模型输入数据攻击性对应的第五检测权重参数。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据待检测人工智能系统的应用领域,对待检测人工智能系统进行业务影响评估,获取待检测人工智能系统对应的业务影响级别。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取历史记录中出现安全风险的人工智能系统对应的历史运行风险参数;根据历史运行风险参数更新预设风险阈值。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据风险评价指标以及运行风险参数生成模型评估报告。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

启动待检测人工智能系统;

运行待检测人工智能系统,获取待检测人工智能系统在运行中的各个风险评价指标的指标参数;

识别待检测人工智能系统的源代码以及应用领域,根据待检测人工智能系统的源代码以及应用领域,获取待检测人工智能系统各风险评价指标对应的检测权重参数;

根据各个风险评价指标的指标参数以及各风险评价指标对应的检测权重参数,获取当前待检测人工智能系统的运行风险参数;

当运行风险参数大于预设风险阈值时,判定待检测人工智能系统存在安全风险。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取待检测人工智能系统对应源代码,根据源代码获取代码安全风险参数;获取带标记预设测试样本数据,将测试样本数据输入待检测人工智能系统,获取带标记预设测试样本数据对应输出数据,根据输出数据与对应的预测测试样本数据所带标记,获取模型准确度;根据输出数据与对应的预测测试样本数据所带标记,获取输出数据中的出错数据,获取出错数据对应的错误解释信息,根据错误解释信息获取模型可解释度;根据待检测人工智能系统的出错数据与待检测人工智能系统的应用领域,获取模型敏感度;获取待检测人工智能系统对应依赖数据集,根据依赖数据集获取模型输入数据攻击性。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:识别待检测人工智能系统的源代码以及应用领域;确定源代码对应的风险参数类别,根据风险参数类别查找预设风险参数类别权重参数表,得到与风险参数类别对应的权重参数,将与风险参数类别对应的权重参数,作为与代码安全风险参数对应的第一检测权重参数;根据应用领域查找预设模型准确度类别权重分布表,得到与应用领域对应的第一权重参数,将与应用领域对应的第一权重参数,作为与模型准确度对应的第二检测权重参数;确定源代码对应的构成算法,根据构成算法查找预设模型可解释度权重分布表,得到与构成算法对应的权重参数,将构成算法对应的权重参数,作为与模型可解释度对应的第三检测权重参数;根据应用领域确定业务影响级别,根据业务影响级别查找预设模型敏感度权重分布表,得到与业务影响级别对应的权重参数,将与业务影响级别对应的权重参数,作为模型敏感度对应的第四检测权重参数;根据应用领域查找预设模型输入数据攻击性权重分布表,得到与应用领域对应的第二权重参数,将与应用领域对应的第二权重参数,作为模型输入数据攻击性对应的第五检测权重参数。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据待检测人工智能系统的应用领域,对待检测人工智能系统进行业务影响评估,获取待检测人工智能系统对应的业务影响级别。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取历史记录中出现安全风险的人工智能系统对应的历史运行风险参数;根据历史运行风险参数更新预设风险阈值。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据风险评价指标以及运行风险参数生成模型评估报告。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。


技术特征:

1.一种人工智能系统风险检测方法,所述方法包括:

启动待检测人工智能系统;

运行所述待检测人工智能系统,获取所述待检测人工智能系统在运行中的各个风险评价指标的指标参数;

识别所述待检测人工智能系统的源代码以及应用领域,根据所述待检测人工智能系统的源代码以及应用领域,获取待检测人工智能系统各风险评价指标对应的检测权重参数;

根据各个风险评价指标的指标参数以及各风险评价指标对应的检测权重参数,获取当前待检测人工智能系统的运行风险参数;

当所述运行风险参数大于预设风险阈值时,判定所述待检测人工智能系统存在安全风险。

2.根据权利要求1所述的方法,其特征在于,所述风险评价指标包括代码安全风险参数、模型准确度、模型可解释度、模型敏感度以及模型输入数据攻击性,所述运行所述待检测人工智能系统,获取所述待检测人工智能系统测试在运行中的各预设检测时刻对应的各个风险评价指标包括:

获取所述待检测人工智能系统对应源代码,根据所述源代码获取代码安全风险参数;

获取带标记预设测试样本数据,将所述测试样本数据输入所述待检测人工智能系统,获取所述带标记预设测试样本数据对应输出数据,根据所述输出数据与对应的预测测试样本数据所带标记,获取模型准确度;

根据所述输出数据与对应的预测测试样本数据所带标记,获取所述输出数据中的出错数据,获取所述出错数据对应的错误解释信息,根据所述错误解释信息获取模型可解释度;

根据所述待检测人工智能系统的出错数据与所述待检测人工智能系统的应用领域,获取所述模型敏感度;

获取所述待检测人工智能系统对应依赖数据集,根据所述依赖数据集获取所述模型输入数据攻击性。

3.根据权利要求2所述的方法,其特征在于,所述识别所述待检测人工智能系统的源代码以及应用领域,根据所述待检测人工智能系统的源代码以及应用领域,获取待检测人工智能系统各风险评价指标对应的检测权重参数包括:

识别所述待检测人工智能系统的源代码以及应用领域;

确定所述源代码对应的风险参数类别,根据所述风险参数类别查找预设风险参数类别权重参数表,得到与所述风险参数类别对应的权重参数,将所述与所述风险参数类别对应的权重参数,作为与所述代码安全风险参数对应的第一检测权重参数;

根据所述应用领域查找预设模型准确度类别权重分布表,得到与所述应用领域对应的第一权重参数,将所述与所述应用领域对应的第一权重参数,作为与所述模型准确度对应的第二检测权重参数;

确定所述源代码对应的构成算法,根据所述构成算法查找预设模型可解释度权重分布表,得到与所述构成算法对应的权重参数,将所述构成算法对应的权重参数,作为与所述模型可解释度对应的第三检测权重参数;

根据所述应用领域确定业务影响级别,根据所述业务影响级别查找预设模型敏感度权重分布表,得到与所述业务影响级别对应的权重参数,将所述与所述业务影响级别对应的权重参数,作为所述模型敏感度对应的第四检测权重参数;

根据所述应用领域查找预设模型输入数据攻击性权重分布表,得到与所述应用领域对应的第二权重参数,将所述与所述应用领域对应的第二权重参数,作为所述模型输入数据攻击性对应的第五检测权重参数。

4.根据权利要求3所述的方法,其特征在于,所述根据所述应用领域确定业务影响级别,根据所述业务影响级别查找预设模型敏感度权重分布表,得到与所述业务影响级别对应的权重参数,将所述与所述业务影响级别对应的权重参数,作为所述模型敏感度对应的第四检测权重参数之前,还包括:

根据所述待检测人工智能系统的应用领域,对所述待检测人工智能系统进行业务影响评估,获取所述待检测人工智能系统对应的业务影响级别。

5.根据权利要求1的方法,其特征在于,所述当所述运行风险参数大于预设风险阈值时,判定所述待检测人工智能系统存在安全风险之前还包括:

获取历史记录中出现安全风险的人工智能系统对应的历史运行风险参数;

根据所述历史运行风险参数更新所述预设风险阈值。

6.根据权利要求1的方法,其特征在于,所述根据各个风险评价指标以及各指标对应的检测权重参数,获取当前待检测人工智能系统的运行风险参数之后还包括:

根据所述风险评价指标以及所述运行风险参数生成模型评估报告。

7.一种人工智能系统风险检测装置,其特征在于,所述装置包括:

启动模块,用于启动待检测人工智能系统;

指标获取模块,用于运行所述待检测人工智能系统,获取所述待检测人工智能系统在运行中的各个风险评价指标的指标参数;

权重获取模块,用于识别所述待检测人工智能系统的源代码以及应用领域,根据所述待检测人工智能系统的源代码以及应用领域,获取待检测人工智能系统各风险评价指标对应的检测权重参数;

风险预测模块,用于根据各个风险评价指标的指标参数以及各风险评价指标对应的检测权重参数,获取当前待检测人工智能系统的运行风险参数;

风险判定模块,用于当所述运行风险参数大于预设风险阈值时,判定所述待检测人工智能系统存在安全风险。

8.根据权利要求7所述的装置,其特征在于,所述风险评价指标包括代码安全风险参数、模型准确度、模型可解释度、模型敏感度以及模型输入数据攻击性,所述指标获取模块还用于:

获取所述待检测人工智能系统对应源代码,根据所述源代码获取代码安全风险参数;获取带标记预设测试样本数据,将所述测试样本数据输入所述待检测人工智能系统,获取所述带标记预设测试样本数据对应输出数据,根据所述输出数据与对应的预测测试样本数据所带标记,获取模型准确度;根据所述输出数据与对应的预测测试样本数据所带标记,获取所述输出数据中的出错数据,获取所述出错数据对应的错误解释信息,根据所述错误解释信息获取模型可解释度;根据所述待检测人工智能系统的出错数据与所述待检测人工智能系统的应用领域,获取所述模型敏感度;获取所述待检测人工智能系统对应依赖数据集,根据所述依赖数据集获取所述模型输入数据攻击性。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

技术总结
本申请涉及人工智能的模型部署领域,具体涉及一种人工智能系统风险检测方法、装置、计算机设备和存储介质。所述方法通过运行待检测人工智能系统,获取待检测人工智能系统在运行中的各个风险评价指标的指标参数,根据各个风险评价指标的指标参数对人工智能系统进行多角度的量化检测,而后通过系统的源代码以及其用途,确定其对应的权重参数,综合考虑指标参数以及对应参数来得到待检测人工智能系统的运行风险参数,通过该运行风险参数来对人工智能系统的运行风险检测,来确保已运行的人工智能系统是安全可控的,在人工智能系统的应用过程中把握及规避风险,减少安全问题或者事件的发生。

技术研发人员:李洋
受保护的技术使用者:平安科技(深圳)有限公司
技术研发日:2020.01.07
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-58897.html

最新回复(0)