深度神经网络的解释方法、装置、终端及存储介质与流程

文档序号:22679141发布日期:2020-10-28 12:38阅读:122来源:国知局
深度神经网络的解释方法、装置、终端及存储介质与流程

本发明涉及人工智能技术领域,尤其涉及一种深度神经网络的解释方法、装置、终端及存储介质。



背景技术:

神经网络算法,是20世纪80年代以来人工智能领域兴起的研究热点。它从信息处理角度对神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。其具有自主学习功能,可通过训练慢慢学会识别和预测;联想存储功能,具有很高算法健壮性;并行度高,具有高速寻找优化解的能力,可针对大数据复杂问题快速找到优化解;可塑性强,可充分逼近任意复杂的非线性关系;具有很强的信息综合能力,能同时处理定量和定性的信息,适用于多信息融合和多媒体技术。近年来,神经网络的研究工作不断深入,已经取得了很大的进展,其在图像处理、模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域已成功地解决了许多传统计算机方法难以解决的实际问题,表现出了良好的智能特性,推动着信息处理技术和人工智能不断地发展。

深度神经网络模型的可解释性一直是业内的重点关注领域,模型的可解释性对于模型改进和模型可信性与透明度都有重要作用。特征可视化是目前常用的神经网络的解释方法,其寻找模型输入中各个区域对模型预测的影响并进行可视化表示,可以在一定程度上说明模型的关注点,但是在实际应用中,仅通过特征可视化很难对模型进行定量的解释,也不能反映影响模型判断的主要因素,无法很好的解释模型是根据哪些因子得到的预测结果。



技术实现要素:

本发明提供一种深度神经网络的解释方法、装置、终端及存储介质,以解决难以确定影响深度神经网络预测结果的因素的问题。

为实现上述目的,本发明提供一种深度神经网络的解释方法,包括:输入多个数据至训练好的深度神经网络模型中,得到每一个数据对应的第一预测类别;当第一预测类别为预设目标类别时,将第一预测类别对应的目标数据输入至解释因子预测模型中,以得到预设目标类别对应的解释因子,解释因子预测模型根据预先设定的目标数量和预设目标类别的第一预测值训练得到;统计每一个解释因子的出现次数并排序后,筛选排名最高的目标数量个解释因子作为预设目标类别的目标解释因子。

作为本发明的进一步改进,还包括预先训练解释因子预测模型,包括:逐个输入样本至训练好的深度神经网络模型中,得到每个样本对应的预测类别以及第一预测值;当预测类别为预设目标类别时,将预测类别对应的目标样本输入至解释因子预测模型中,得到每个解释因子的第二预测值;根据第一预测值、第二预测值和目标数量构建解释因子标签;基于解释因子标签和第二预测值反向传播更新解释因子预测模型;循环执行上述步骤直至解释因子预测模型收敛,并将收敛的解释因子预测模型与预设目标类别绑定。

作为本发明的进一步改进,利用第一预测值、每个解释因子的第二预测值和目标数量构建解释因子标签,包括:根据第一预测值和目标数量计算所有的解释因子中取值为1的解释因子的数目w,w=ceil(m×sk),其中,ceil表示向上取整,m表示目标数量,sk表示第一预测值;根据每个解释因子的第二预测值的大小,将第二预测值最大的w个解释因子的值设置为1,将其余的解释因子的值设置为0,得到解释因子标签。

作为本发明的进一步改进,逐个输入样本至训练好的深度神经网络模型中之前,还包括:获取用户预先输入的至少一个预设目标类别,以及每个预设目标类别对应的目标解释因子的目标数量。

作为本发明的进一步改进,输入多个数据至训练好的深度神经网络模型中之前,还包括:获取用户预先输入的至少一个预设目标类别,每个预设目标类别均对应有预先训练至收敛状态的解释因子预测模型。

作为本发明的进一步改进,将第一预测类别对应的目标数据输入至解释因子预测模型中,以得到预设目标类别对应的解释因子,包括:将预设目标类别对应的目标数据输入至与预设目标类别对应的解释因子预测模型中,得到每个解释因子的第二预测值;将第二预测值超过预设阈值的解释因子的值取1,并作为预设目标类别对应的解释因子。

作为本发明的进一步改进,将第一预测类别对应的目标数据输入至解释因子预测模型中之前,还包括:获取与预设目标类别对应的解释因子预测模型。

为实现上述目的,本发明还提供了一种深度神经网络的解释装置,包括:第一输入模块,用于输入多个数据至训练好的深度神经网络模型中,得到每一个数据对应的第一预测类别;第二输入模块,用于当第一预测类别为预设目标类别时,将第一预测类别对应的目标数据输入至解释因子预测模型中,以得到预设目标类别对应的解释因子,解释因子预测模型根据预先设定的目标数量和预设目标类别的第一预测值训练得到;筛选模块,用于统计每一个解释因子的出现次数并排序后,筛选排名最高的目标数量个解释因子作为预设目标类别的目标解释因子。

为实现上述目的,本发明还提供了一种终端,终端包括处理器、与处理器耦接的存储器,其中,存储器存储有用于实现上述中任一项的深度神经网络的解释方法的程序指令;处理器用于执行存储器存储的程序指令以得到预设目标类别的目标解释因子。

为实现上述目的,本发明还提供了一种存储介质,存储有能够实现上述中任一项的深度神经网络的解释方法的程序文件。

本发明提出的深度神经网络的解释方法,通过当深度神经网络输出的第一预测类别为预设目标类别时,将第一预设类别对应的目标数据输入至训练好的解释因子预测模型中,得到预设目标类别对应的解释因子,通过输入不同的目标数据,从而得到多组解释因子,再统计每个解释因子的出现次数,从中筛选出排名最高的目标数量个解释因子作为该预设目标类别的目标解释因子,该目标解释因子将作为深度神经网络将目标数据的输出结果划分为预设目标类别的主要影响因素,方便用户找出影响深度神经网络模型进行分类预测的影响因子。此外,本申请的深度神经网络的解释方法还可应用于智慧政务/智慧城管/智慧社区/智慧安防/智慧物流/智慧医疗/智慧教育/智慧环保/智慧交通场景中,从而推动智慧城市的建设。

附图说明

图1为本发明深度神经网络的解释方法第一实施例的流程示意图;

图2为本发明深度神经网络的解释方法实施例的解释因子预测模型训练的流程示意图;

图3为深度神经网络的结构示意图;

图4为本发明深度神经网络的解释方法第二实施例的流程示意图;

图5为本发明深度神经网络的解释装置实施例的功能模块示意图;

图6为本发明终端实施例的结构示意图;

图7为本发明存储介质实施例的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

图1是本发明第一实施例的深度神经网络的解释方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括步骤:

步骤s101:输入多个数据至训练好的深度神经网络模型中,得到每一个数据对应的第一预测类别。

需要说明的是,深度神经网络是一种广泛应用于图像处理、模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域神经网络算法,其通常包括输入层、隐藏层和输出层,请一并参阅图2,一般第一层(inputlayer)是输入层,最后一层(outputlayer)是输出层,而中间的层数(hiddenlayer)都是隐藏层,层与层之间是全连接的,即第i层的任意一个神经元一定与第i+1层的任意一个神经元相连,输出层的神经元可以为一个或多个,每个神经元对应一个输出结果。在使用深度神经网络对处理分类任务时,将数据输入至深度神经网络模型,得到每个类别的预测值,再将预测值最大的类别作为深度神经网络的输出结果,例如,以动物分类为例,使用训练好的深度神经网络识别一张图片中的动物时,其可得到该动物为猫、狗、牛、羊等动物时的预测值,然后从中选取预测值最大的动物作为输出结果。

步骤s102:当第一预测类别为预设目标类别时,将第一预测类别对应的目标数据输入至解释因子预测模型中,以得到预设目标类别对应的解释因子。

需要说明的是,解释因子预测模型根据预先设定的目标数量和预设目标类别的第一预测值训练得到。其中,目标数量是指目标解释因子的个数,可由用户预先设定;该预设目标类别为用户预先设定的类别;解释因子是指影响深度神经网络模型判断的因素,例如,通过深度神经网络模型识别一张图片中的动物是什么动物,其影响深度神经网络模型判断的因素可以包括动物的脚的数量、毛发生长情况、眼睛大小等,这些因素均可能对深度神经网络模型的输出造成影响。

需要理解的是,在使用深度神经网络模型对物品进行分类时,每一个类别均受到不同解释因子的影响,例如:以动物分类为例,通过深度神经网络模型识别动物时,“猫”这一预测类别的解释因子可以包括全身毛发、四条腿行走、眼睛大、长有胡须、隐藏爪子、脚掌有肉垫等,“狗”这一预测类别的解释因子可以包括全身毛发、四条腿行走、喜欢蹲坐、显示爪子、脚掌无肉垫等,本申请旨在使用深度神经网络时确定影响输出结果的主要因素。

在步骤s102中,每当第一预测类别为预设目标类别时,将该第一预测类别对应的目标数据输入至解释因子预测模型中,以得到预设目标类别对应的解释因子。通过输入多个目标数据至解释因子预测模型,即可得到多组预设目标类别对应的解释因子,而该多组预设目标类别对应的解释因子可能相同或不同,例如:以动物分类为例,a、b两个目标数据的预测结果均为猫,但是a目标数据是通过大眼睛、四条腿、全身毛发进行预测的,而b目标数据是通过四条腿、全身毛发、毛发上带有斑纹进行预测的,两者的解释因子只有四条腿、全身毛发相同。

进一步的,步骤s102具体包括:将预设目标类别对应的目标数据输入至与预设目标类别对应的解释因子预测模型中,得到每个解释因子的第二预测值;将第二预测值超过预设阈值的解释因子的值取1,并作为预设目标类别对应的解释因子。

具体地,将目标数据输入至解释因子预测模型,从而得到每个解释因子的第二预测值,再根据第二预测值的大小,将第二预测值超过预设阈值的解释因子的值设置为1,其余解释因子的值设置为0。

进一步的,需要理解的是,不同的预设目标类通过利用不同的样本训练得到,其对应的解释因子预测模型各不相同,因此,步骤s102中,在将第一预测类别对应的目标数据输入至解释因子预测模型之前,还包括:获取与预设目标类别对应的解释因子预测模型。

步骤s103:统计每一个解释因子的出现次数并排序后,筛选排名最高的目标数量个解释因子作为预设目标类别的目标解释因子。

在步骤s103中,通过统计多个目标数据对应的解释因子中,每个解释因子的出现次数,并进行排序,从中筛选出排名最高的目标数量个解释因子作为预设目标类别的目标解释因子。例如,以动物分类为例,解释因子的总数量为100个,通过上述解释因子预测模型,从100个解释因子中筛选将动物划分为猫的10个相关性最高的解释因子作为目标解释因子。

本实施例通过当深度神经网络输出的第一预测类别为预设目标类别时,将第一预设类别对应的目标数据输入至训练好的解释因子预测模型中,得到预设目标类别对应的解释因子,通过输入不同的目标数据,从而得到多组解释因子,再统计每个解释因子的出现次数,从中筛选出排名最高的目标数量个解释因子作为该预设目标类别的目标解释因子,该目标解释因子将作为深度神经网络将目标数据的输出结果划分为预设目标类别的主要影响因素,方便用户找出影响深度神经网络模型进行分类预测的影响因子。此外,本申请的深度神经网络的解释方法还可应用于智慧城管/智慧社区/智慧安防/智慧物流等场景中,从而推动智慧城市的建设。

进一步的,上述实施例中,每个预设目标类别对应的解释因子预测模型预先训练得到,如图3所示,解释因子预测模型的训练步骤具体包括:

步骤s201:逐个输入样本至训练好的深度神经网络模型中,得到每个样本对应的预测类别以及第一预测值。

需要说明的是,深度神经网络模型的输出通常包括多个预测类别,每个预测类别对应一个预测值,其中预测值最高的结果作为最终输出结果。

进一步的,在步骤s201之前,还包括:获取用户预先输入的至少一个预设目标类别,以及每个预设目标类别对应的目标解释因子的目标数量。

本实施例中,用户可根据需求选择需要训练的类别,并且,用户还可设定最终输出的解释因子的目标数量。例如:用户可以设定动物分类中猫这一类别的目标解释因子的目标数量为10个。

步骤s202:当预测类别为预设目标类别时,将预测类别对应的目标样本输入至解释因子预测模型中,得到每个解释因子的第二预测值。

步骤s203:根据第一预测值、第二预测值和目标数量构建解释因子标签。

本实施例中,该构建解释因子标签的步骤具体包括:

1、根据第一预测值和目标数量计算所有的解释因子中取值为1的解释因子的数目w。计算公式为:

w=ceil(m×sk);

其中,ceil表示向上取整,m表示目标数量,sk表示第一预测值。

2、根据每个解释因子的第二预测值的大小,将第二预测值最大的w个解释因子的值设置为1,将其余的解释因子的值设置为0,得到解释因子标签。

具体地,该解释因子标签具体如下:

aq1=aq2=…=aqw=1;

ai=0,i≤m且

其中,q1,q2,…,qw是指第二预测值最大的w个解释因子的角标。

例如:以一个例子进行说明,m为10,sk为80%,根据上述公式计算得到w为8,假设所有的解释因子共有30个,将目标样本输入至解释因子预测模型中,即可得到该30个解释因子的第二预测值,再从中挑选出第二预测值最高的8个解释因子,将其值设置为1,其余的22个解释因子的值设置为0,从而得到该预测类别对应的解释因子标签。

需要理解的是,每一个预测类别的解释因子标签均是基于预测类别当前的第一预测值构建,因此,每次输入目标样本得到预测类别时,均需构建一次解释因子标签。

步骤s204:基于解释因子标签和第二预测值反向传播更新解释因子预测模型。

在步骤s204中,通过比对解释因子标签与每个解释因子的第二预测值反向传播更新解释因子预测模型的方式与深度神经网络训练时的反向传播更新过程相同。

步骤s205:循环执行上述步骤直至解释因子预测模型收敛,并将收敛的解释因子预测模型与预设目标类别绑定。

具体地,通过循环输入样本至训练好的深度神经网络模型,从而对解释因子预测模型进行反复迭代训练,直至解释因子预测模型收敛时,停止训练并将收敛的解释因子预测模型,并将收敛的解释因子预测模型与预设目标类别绑定。

本实施例中,通过结合预测类别的第一预测值动态得到解释因子的标签,并利用该标签对解释因子预测模型进行训练,从而使得预设目标类别对应的解释因子将对于预设目标类别的样本取较大值1,对于其他类别样本取较小值0。

图4展示了本发明第二实施例的深度神经网络的解释方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图4所示的流程顺序为限。如图4所示,该方法包括步骤:

步骤s301:获取用户预先输入的至少一个预设目标类别,每个预设目标类别均对应有预先训练至收敛状态的解释因子预测模型。

在步骤s301中,预设目标类别可由用户预先指定,用户可以一次性指定一个或多个预设目标类别,而每个预设目标类别在分别利用解释因子预测模型确认目标解释因子时,分别通过每个预设目标类别对应的解释因子预测模型得到,相互之间互不干扰。

步骤s302:输入多个数据至训练好的深度神经网络模型中,得到每一个数据对应的第一预测类别。

在本实施例中,图4中的步骤s302和图1中的步骤s101类似,为简约起见,在此不再赘述。

步骤s303:当第一预测类别为预设目标类别时,将第一预测类别对应的目标数据输入至解释因子预测模型中,以得到预设目标类别对应的解释因子。

在本实施例中,图4中的步骤s303和图1中的步骤s102类似,为简约起见,在此不再赘述。

步骤s304:统计每一个解释因子的出现次数并排序后,筛选排名最高的目标数量个解释因子作为预设目标类别的目标解释因子。

在本实施例中,图4中的步骤s304和图1中的步骤s103类似,为简约起见,在此不再赘述。

本实施例中,预设目标类别可以由用户自行指定,通过获取用户预先输入预设目标类别即可为用户确定该深度神经网络模型输出该预设目标类别的主要影响因素,并且,用户可以一次性输入多个预设目标类别,帮助用户快速确认每个预设目标类别的主要影响因素。

图5展示了本发明实施例深度神经网络的解释装置的功能模块示意图。如图5所示,该深度神经网络的解释装置10包括第一输入模块11、第二输入模块12和筛选模块13。

第一输入模块11,用于输入多个数据至训练好的深度神经网络模型中,得到每一个数据对应的第一预测类别;

第二输入模块12,用于当第一预测类别为预设目标类别时,将第一预测类别对应的目标数据输入至解释因子预测模型中,以得到预设目标类别对应的解释因子,解释因子预测模型根据预先设定的目标数量和预设目标类别的第一预测值训练得到;

筛选模块13,用于统计每一个解释因子的出现次数并排序后,筛选排名最高的目标数量个解释因子作为预设目标类别的目标解释因子。

可选地,第二输入模块12将第一预测类别对应的目标数据输入至解释因子预测模型之前,还包括预先训练解释因子预测模型,包括:逐个输入样本至训练好的深度神经网络模型中,得到每个样本对应的预测类别以及第一预测值;当预测类别为预设目标类别时,将预测类别对应的目标样本输入至解释因子预测模型中,得到每个解释因子的第二预测值;根据第一预测值、第二预测值和目标数量构建解释因子标签;基于解释因子标签和第二预测值反向传播更新解释因子预测模型;循环执行上述步骤直至解释因子预测模型收敛,并将收敛的解释因子预测模型与预设目标类别绑定。

可选地,利用第一预测值、每个解释因子的第二预测值和目标数量构建解释因子标签操作还可以为:根据第一预测值和目标数量计算所有的解释因子中取值为1的解释因子的数目w,w=ceil(m×sk),其中,ceil表示向上取整,m表示目标数量,sk表示第一预测值;根据每个解释因子的第二预测值的大小,将第二预测值最大的w个解释因子的值设置为1,将其余的解释因子的值设置为0,得到解释因子标签。

可选地,逐个输入样本至训练好的深度神经网络模型的操作之前还包括:获取用户预先输入的至少一个预设目标类别,以及每个预设目标类别对应的目标解释因子的目标数量。

可选地,第一输入模块11输入多个数据至训练好的深度神经网络模型中之前,还用于获取用户预先输入的至少一个预设目标类别,每个预设目标类别均对应有预先训练至收敛状态的解释因子预测模型。

可选地,第二输入模块12将第一预测类别对应的目标数据输入至解释因子预测模型中,以得到预设目标类别对应的解释因子的操作还可以为:将预设目标类别对应的目标数据输入至与预设目标类别对应的解释因子预测模型中,得到每个解释因子的第二预测值;将第二预测值超过预设阈值的解释因子的值取1,并作为预设目标类别对应的解释因子。

可选地,第一输入模块11将第一预测类别对应的目标数据输入至解释因子预测模型的操作之前,还包括:获取与预设目标类别对应的解释因子预测模型。

请参阅图6,图6为本发明实施例的终端的结构示意图。如图6所示,该终端20包括处理器200及和处理器200耦接的存储器201。

存储器201存储有用于实现上述任一实施例所述的深度神经网络的解释方法的程序指令。

处理器200用于执行存储器201存储的程序指令以训练得到预设目标类别的目标解释因子。

其中,处理器200还可以称为cpu(centralprocessingunit,中央处理单元)。处理器200可能是一种集成电路芯片,具有信号的处理能力。处理器200还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

参阅图7,图7为本发明实施例的存储介质的结构示意图。本发明实施例的存储介质存储有能够实现上述所有方法的程序文件30,其中,该程序文件30可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。

在本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1