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

一种面向基于遮挡的CNN解释的混合推理方法

文献发布时间:2024-07-23 01:35:21


一种面向基于遮挡的CNN解释的混合推理方法

技术领域

本发明属于CNN推理领域,尤其涉及一种面向基于遮挡的CNN解释的混合推理方法。

背景技术

在高风险应用中(例如医学诊断和自动驾驶等),基于遮挡的解释(occlusion-based explanation,OBE)是解释卷积神经网络(convolution neural network,CNN)推理结果的一种普遍方法,它允许用户深入了解对推理结果至关重要的图像区域。如图1所示,给定一名患者的胸部X光线图像,OBE的工作原理如下:1)用一个小正方形补丁遮挡原始图像的一个区域;2)对被遮挡的图像进行推理,病理结果以及概率可能会发生改变;3)通过在图像上移动补丁来重复上述两步,突出对推理重要的区域。例如,放射科医生可以在这些区域进行更详细的检查以进行探索。随着补丁位置的变化,OBE需要评估大量被遮挡的图像。然而,这些被遮挡的图像与原始图片之间大部分像素都相同。因此,OBE中大部分CNN推理计算是冗余的。

为了消除这些冗余推理计算,已有加速OBE的系统采用了增量推理方法。如图2所示,利用补丁的位置以及原始图像在CNN中产生的所有张量,增量推理只将补丁所在的区域作为CNN的更新输入进行推理计算。此处人们将全量推理和增量推理在某一层上的执行计划分别称为全量计划和增量计划。然而,如图3所示,由于卷积核在更新区域上的计算特性,为了计算每一层的更新输出,增量计划还需要进一步在该层上根据其更新输入来准备读入区域。增量推理方法没有考虑到增量计划在CNN的某些层上并不总是优于全量计划。这是因为增量计划中准备操作的额外开销可能会减慢增量计划的执行速度,最终使其不如全量计划。

总的来说,现有方法局限性在于,其在CNN的所有层上均执行全量计划或增量计划,无法自适应地在CNN的每一层中选择和应用合适的计划以加速OBE推理过程。

发明内容

本发明的目的是提出一种面向基于遮挡的CNN解释的混合推理方法,该方法为CNN中的每一层选择全量计划或增量计划,最终为整个CNN生成高性能计划组合。面对未引入空间和通道注意力机制的CNN以及基于空间和通道注意力机制的CNN,本发明分别提出了启发式算法和动态规划算法,来自适应地筛选出对性能最高的计划组合。

实现本发明目的的具体技术方案是:

一种面向基于遮挡的CNN解释的混合推理方法,该方法首先于推理执行前以最短执行时间为目标,利用启发式算法或动态规划算法为CNN中的每一层选择全量计划或增量计划;随后,该方法于推理过程中在CNN中的每一层上执行选定的计划,其特点是所述方法包括以下具体步骤:

步骤A:面对未引入空间和通道注意力机制的CNN以及基于空间和通道注意力机制的CNN,分别利用启发式算法和动态规划算法为CNN中的每一层选择全量计划或增量计划;所有层上的计划组成一个计划组合,这个计划组合使得CNN的执行时间最短;

步骤B:根据步骤A中得到的计划组合,在执行CNN每一层时应用计划组合中该层对应的计划;其中:

所述启发式算法包括如下步骤:

步骤1.1:分别为增量计划和全量计划建立代价模型;具体为:全量计划或增量计划p在层l上的执行时间c

步骤1.2:利用代价模型在CNN中寻找一个截断层,在截断层之前的层使用增量计划,在截断层之后的层使用全量计划;

所述动态规划算法包括如下步骤:

步骤2.1:将CNN中的层分类为分叉层、合并层以及分支层;其中,分叉层是含有多个下游层的层,合并层是含有多个上游层的层,而CNN中其余的层则是分支层;

步骤2.2:遍历整个CNN,将相邻的分叉层和合并层之间的分支层封装入一个抽象层,得到重组的CNN;

步骤2.3:利用重组的CNN构建重组的计划转换图;重组的CNN中的每一层在重组的计划转换图中均有对应的若干顶点,每个顶点代表该层的候选计划;具体为:若为抽象层且其中封装了n个分支层,由于每个分支层能够使用增量计划或全量计划,该抽象层在重组的计划转换图中包含2

步骤2.4:利用代价模型,在重组的计划转换图上搜索最小代价的路径,该路径所经过的顶点即代表了执行时间最短的计划组合。

本发明的有益效果包括:

与现有方法相比,本发明不再局限于在CNN的所有层上均执行全量计划或增量计划,而是提出了混合推理方法,能够在CNN推理过程中交替执行全量计划和增量计划。本发明面向未引入空间和通道注意力机制的CNN以及基于空间和通道注意力机制的CNN分别提出了启发式算法和动态规划算法,能够有效降低筛选计划组合的开销,从而支持系统快速且自适应地采用高性能的计划组合,最终降低运行时间。

附图说明

图1是现有方法中基于遮挡的CNN解释的工作流程示意图;

图2是现有方法中增量推理方法示意图;

图3是现有方法中卷积层上执行增量计划的示意图;

图4是现有CNN的层的有向无环图结构示意图;

图5是本发明计划转换图示意图;

图6是本发明重组的CNN示意图;

图7是本发明重组的计划转换图示意图;

图8是本发明流程图。

具体实施方式

结合以下具体实施例和附图,对发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。

本发明提出的混合推理方法自适应地在CNN的所有层中选择执行时间最低的计划组合。混合推理方法的过程可分为构建和执行两个步骤(分别对应于发明内容中的步骤A和B)。其中,构建步骤使用计划组合生成算法来确定执行时间最低的计划组合。执行步骤则基于此计划组合在执行CNN每一层时应用该层对应的计划。具体来说,给定计划组合、前一层的更新输出和原始图像在CNN中产生的张量,执行步骤首先为第l层准备读入区域。接着,在读入区域准备完毕之后,应用第l层的转换函数来计算该层更新输出。在系统中,混合推理方法可以通过如下代码实现:

执行步骤的性能取决于构建步骤中确定的计划组合。因此,确定一种执行代价低的计划组合是至关重要的。

其中,为了在未引入空间和通道注意力机制的CNN上快速筛选出执行代价最短的计划组合,本发明提出了启发式算法。启发式算法分为两步(对应于发明内容中的步骤1.1-1.2)。

第一步,为了分析全量计划和增量计划在某一层上的执行时间,本发明构建了代价模型。全量计划或增量计划p在层l上的执行时间c

第二步,基于代价模型,启发式算法寻找一个截断层,在截断层之前的层上应用增量计划,在截断层之后的层上应用全量计划,从而得到一个执行代价最低的计划组合。因此,在寻找截断层l时,启发式算法的目标函数为

然而,采用启发式算法的混合推理方法在基于空间和通道注意力机制的CNN中可能提供与增量推理相近的性能,未能充分发掘混合推理方法的优势。因此,本发明面向基于空间和通道注意力机制的CNN提出了动态规划算法,使得系统能够在较短的时间内生成执行代价最低的计划组合。该算法分为四步(对应于发明内容中的步骤2.1-2.4)。

第一步,将其分类为分叉层、合并层以及分支层。其中,分叉层是含有多个下游层的层,合并层是含有多个上游层的层,而CNN中其余的层则是分支层。

第二步,根据分类结果,将相邻的分叉层和合并层之间的分支层封装入一个抽象层,得到重组的CNN。图4展示了现有CNN的层具有向无环图(DAG)结构。由于每一层可以使用两种计划,得到了图5中的计划转换图,其中顶点表示层的可选计划,边表示计划之间的转换。为了确定该DAG结构中各层的计划,需要在计划转换图中确定一个与DAG结构具有相同拓扑结构的子图(如粗体虚线的子图)。计划转换图中存在许多这样的子图,其中执行代价最小的子图则代表了执行时间最短的计划组合。然而,计划转换图中存在2

第三步,基于重组的CNN,本发明生成了重组的计划转换图,如图7所示。本发明在重组的计划转换图中引入抽象顶点来表示分支中的层的候选计划组合。例如,对于层j和k,本发明定义了四个抽象顶点,每个顶点代表层j和k的一个候选计划组合。因此,在原始计划转换图中寻找最小代价子图的问题可以形式化为在重组的计划转换图上寻找从虚拟源点s到虚拟汇点e的最短路径问题。

第四步,本发明通过动态规划过程在重组后的计划转换图上寻找最短路径。在动态规划过程中,本发明首先逐步计算每层的累积执行代价并收集每层的计划转换信息。一层的累积执行代价包括其自身的执行代价和上游各层的累积执行代价。随后,基于累积执行代价和计划转换信息,本发明通过一个回溯过程构建计划组合。例如,在图7中,为了确定层g的累积代价,本发明计算其之前的四个抽象顶点的累计执行代价。抽象顶点的累计执行代价又依赖于层f应用的计划。首先考虑层f应用增量计划的情况。对于任一抽象顶点,本发明计算其累计执行代价。基于该抽象顶点,得到层g分别应用增量计划和全量计划下的两个累计执行代价,记为

另外,本发明也收集了层f、该抽象节点以及层g之间的计划转换信息,公式如下:

其中,P

最终,通过最小化重组的CNN的总体执行成本,本发明利用回溯过程来获取计划组合。根据最后一层的累计执行代价,回溯过程首先为最后一层选择计划。然后,它逐步从最后一层回溯到第一层,并通过收集的转换信息来为每一层选择计划。

在系统中,动态规划算法可以通过如下代码实现:

相关技术
  • 一种基于多轮生成策略的可解释性知识推理方法
  • 一种基于可解释机器学习的有效生理学特征选择和医学因果推理方法
技术分类

06120116678680