传统网络安全威胁分析依赖专家知识及基本的数据分析,然而随着攻击技术的复杂化、安全数据接入的多元化,高性能人工智能技术越来越多的应用到威胁分析中,试图解放安全行业的生产力。更复杂的模型往往具备高知识容量,能够支持大规模、高维非线性数据的分析,于此同时,其内部表示学习过程、决策过程愈发不可解释,执行逻辑难以被人类直观理解,逐渐成为“黑盒”模型,反而降低了安全应用的智能化、自动化程度。
本文为XAI(eXplainable Artificial Intelligence)系列文章的第二篇,主要讨论XAI模型可解释性的主要技术实现,也包括与安全应用相关的技术方案。内容包括基于“白盒”模型的内在可解释性以及基于黑盒模型推断的可解释性。
一、XAI实现概览
XAI技术没有明确的范畴,能够提供人类可理解的决策说明的AI系统可称为可解释的AI。在此,我们不将AI技术局限在机器学习或深度学习技术。基于图以及语义网络为基础的知识图谱,具备自然的可解释性,在此也划入了XAI技术的行列。
1 XAI技术分类简介
总体而言,XAI技术研究可覆盖模型可解释性、人机交互应用以及可解释性的心理学研究等多个方面,本文重点关注模型可解释性的研究。模型可解释性的研究可根据解释的局部性(具体样本的局部解释还是整个模型的全局解释)、解释性实现的阶段(建模的前、中、后)、模型依赖性(模型相关、模型无关)等不同维度进行划分。以下是根据可解释性实现的阶段对XAI技术的一个粗略划分,列举的方法覆盖了可解释性模型实现的主要类型。其中,建模前的可解释性能力主要是针对数据层面的分析技术,可以通过基本的统计数据分析方法及可视化方法,得出关于待分析样本的初步结论,进而支持人类决策,如通过阈值检测异常,通过画像技术观测性质、趋势等等。建模前的数据分析能够避免构建复杂的模型,或者辅助模型的构建。此类方法应用涉及范围广,但几乎不涉及更自动化的AI系统。本文重点关注可解释的模型(explainable modelling)和建模后的可解释性(post-modelling explainability)的相关研究,针对每种方法举典型技术来说明具体实现及应用。
图1 XAI模型可解释性技术分类
1.1 可解释的模型
1.1.1 使用内在可解释的机器学习算法
以下表格概括了具备内在可解释性的机器学习算法[1]。这些“朴素”算法及其优化、变种方法,在许多实际场景下有大规模的应用。通过简洁的统计特性和可视化方法,即使最简单的机器学习方法也能够辅助人发现数据的基本规律并完成决策。例如线性回归(Linear regression),模型学习到的参数,能够直观的反映其决策原理:相关特征以加权值的形式决定最终预测结果”KNN模型虽然非线性也不具备单调性,但其决策结果产生依赖最相似的K个实例,而这些实例是可被人理解的。与之相对的,多数复杂模型不具备这种内在可解释性,即输入与输出之间的学习过程高度分线性、不单调,参数之间相互影响,远超过人类可直接理解的范畴。
当然,显而易见的是这些算法一般情况下难以胜任复杂的数据分析任务,只使用此类算法将限制可用场景。
1.1.2 优化的深度模型增强可解释性
针对深度学习可解释性的研究不同于一般的深度神经网络的层次化可视化方法。可视化“忠实”输出网络学习的知识,而可解释性需要考虑学习到的知识是否是人类更容易理解的。举例来说,CNN模型在图像分析应用中很大的优势,然而传统的模型往往被看做黑盒模型,为了使模型具备可解释性,CVPR 2017上研究者提出了Interpretable CNN[2]。通过添加损失函数,保证每个高层过滤器必须编码一个明显的对象局部(object part),并且该对象局部包含在一个独立的对象类中;同时该过滤器只能被某对象的一个局部激活,从而保证了过滤器与对象局部的对应关系。该方法在保持较高分类性能的基础上,能够在使用与传统CNN相同的训练数据的情况下,让高层卷积的过滤器在训练过程中“记住”图像的局部特征,从而能帮助模型使用者理解该CNN学习到的内部逻辑。下图展示了Interpretable CNN与传统CNN所学习到的内在模式的显著不同:Interpretable CNN记住了更有可解释意义的图片内部结构。
图2 Interpretable CNN与传统CNN对比
嵌入可解释性的深度学习在推荐系统中也有不少研究。例如微软研究员通过Attentive Multi-View Learning对深度网络参数进行优化,以提供层次化的推荐可解释性[3]。
1.1.3 基于图的可解释性
图结构及算法能够更自然的表达数据的关联关系,是具备可解释性的模型类别。知识图谱可定义为基于语义网络的知识库,通过点、边及其类型的本体化、语义化定义,规范某应用领域内的信息表达和知识结构。大部分XAI研究关注可解释的机器学习模型,在XAI技术分类中往往不包含图、知识图谱及图算法技术。不过,AI技术不止通过机器学习、深度学习技术实现,知识图谱及图算法通过对关联世界的自然表达方法,同样具备内在可解释性,也是AI的重要组成部分。因此,本文将知识图谱划分到XAI可解释的模型类别下。同时,本文重点关注的是知识图谱及图算法在安全场景中的应用,而非知识图谱相关的NLP等技术,以展示图的原生可解释性。
本文重点关注网络信息安全场景下的图及图算法。多源安全日志数据构建的多种类型的图结构也可以具备语义结构,因此也可归类为知识图谱。美国的MITRE公司研究者提出将任务依赖、网络架构、网络暴露状况以及网络威胁统一组织成多层的知识图谱[4],通过自定义的图查询语言CyQL,能够实现诸如威胁狩猎、任务可视化、时序图分析等任务。
图3 MITRE CyGraph本体设计
CCS 2018会议上IBM研究员提出威胁情报计算(TIC,Threat Intelligence Computing)的概念[5],通过构建时序图结构,实现敏捷的网络推理和威胁狩猎。在TIC框架下,所有的安全日志、告警日志以及流量日志都存储为统一的时序图,进而通过攻击子图描述威胁或者攻击,威胁发现的问题被转化成子图计算问题。
图4 Threat Intelligence Computing模型设计及示例
NDSS 2019会议上,研究者提出了NoDoze[6],通过在溯源图(Provenance Graph)上定义、查找低频事件路径,有效解决告警的溯源问题,降低误报事件的影响。其核心思路是通过低频事件的挖掘,将“异常”进程行为与实际的告警进行图上的关联。下图展示了通过在溯源图中评估告警依赖路径的异常程度,能够有效区分真正的攻击事件和运维调查导致的误报,并返回完整的事件上下文,有效解释了真实的攻击路径。
图5 NoDoze实现威胁溯源
IEEE S&P 2019研究者提出了Holmes系统[7]。该系统同样基于终端侧的溯源图进行分析,采用了层次聚合的策略。与NoDoze不同的是,该系统采用了基于攻击链视角的分析思路。将底层进程行为归一化为TTP (Tactics, Techniques, and Procedures),从全局视角语义化了攻击行为,有效将时序上松散的可疑进程事件关联,能够有效提取APT攻击行为及意图。
图6 Holmes层次化APT技术战术聚合
以上简要分析了图或者知识图谱在安全场景下的典型应用。依赖于语义图的内在可解释性,图结构及图算法广泛的应用在诸多场景下,如推荐系统、欺诈检测、网络安全等,为自然存在的大规模数据关系的挖掘提供了系统性的可解释的方法,成为XAI技术的重要组成部分。此外,针对图算法的研究,如基于深度学习的图嵌入、图遍历、图上异常检测等,增强其可解释性也是重要的研究方向。
1.2 建模后的可解释性
建模后(post-hoc)的可解释性研究是XAI研究的重点,该类研究一般将包含机器学习模型的AI系统看做黑盒,从而能够保证解释模型与方法和原AI系统之间是解耦的,保持解释层的模型无关性。以下介绍几种经典的模型无关的可解释性构建方法。
1.2.1 部分依赖图(Partial Dependence Plot)
针对复杂模型,部分依赖绘图Partial Dependence Plot (PDP)[8]计算中可以考虑所有样本点,在保持样本其他特征原始值不变的条件下,计算某(一般是1~2个)特征所有可能值情况下的模型预测均值,从而全局化的描述该特征对模型预测的边际影响,能够可视化特征的重要性,描述特征与目标结果之间的关系。PDP可视化结果非常的直观,并且全局性的分析了特征对模型输出的影响,但是可解释性的可信度很大程度上依赖特征之间的相关性:PDP没有考虑特征之间的相关性,在某特征值遍历求均值的过程中不可避免的引入一些不可能存在的点,导致最终结果出现偏差。
图7 PDP的可视化效果[9]
1.2.2 特征归因
特征归因(Feature Attribution),是分析模型决策依赖于指定特征程度的一种度量。该方法同样符合人类直觉:特征重要性越高,则模型预测中越“依赖”该特征,从而能够直观发现特征对结果的影响。
值得注意的一个问题是,许多Boosting方法及框架,如XGBoost、LightGBM以及Catboost等能够提供模型的Feature Importance参数。此类模型构建过程中获得的特征指数,能够反映模型在训练数据上对特征的依赖,有效辅助特征工程任务,可归属于建模前的可解释性部分,以辅助模型的构建;但此类Feature Importance不能够回答模型如何在任务中做出决策的问题:这些方法获取的特征重要性完全依赖于训练集,而训练集很难真实反映实际环境下的数据分布。
当然,说明哪些特征对模型的预测结果起到关键作用还不足以保证“可解释”,要么通过可解释层屏蔽模型的原始输入,呈现给人可解释的内容;否则原模型选取的特征本身的可解释性就显得尤为重要了。比如,文本中哪些单词或者词语决定了最终文本主题的判断,图像的哪一个局部决定了图像的分类,这些都是具有可解释性的;而类似高维矩阵的某些位置、图像的离散的像素值,则难以被人类理解。以下介绍几种经典子方法。
A. LIME
Local Interpretable Model-agnostic Explanations (LIME) 是2016年KDD会议上学者提出的一种可解释方法[10]。Local指出该方法是一种局部的可解释方法,即用于解释具体样本的预测原由。Model-agnostic表示了该方法是模型无关的,将任何机器学习模型看做黑盒。算法直观、效果明显,LIME目前在各类场景中应用较广泛。
图8 LIME基本原理示意[11]
LIME的核心思路很简单,使用线性模型(或其他可解释的朴素模型)g(x)作为待解释黑盒模型f(x)的局部代理模型。获取某样本的可解释结果的工作流程可以直观上描述为:
首先将样本以人类可理解的方式表示,例如将文本划分为单词、将图像划分为超像素块(连续的像素组成的块);
在该样本表示的周围进行采样,例如去掉文本单词列表中的某些单词、将图像的某些超像素块屏蔽;将采样生成的新样本集合(可解释表示样本集)输入局部代理;
局部代理将输入的可解释表示样本集中的每个新样本转换为原黑盒模型可识别的输入矩阵,并获取这些新样本的预测标签,最终以可解释表示样本集及其预测标签集为输入,以输入样本与待解释样本的相似度为度量,以加权的方式训练生成线性模型,从而评估可解释表示样本集中每个样本(代表原始样本的某一部分)对该样本预测的影响。
图9 LIME预测解释效果
上图展示了LIME对图像的可解释能力,右侧三个子图分别标明了谷歌的Inception network模型根据图像的哪一部分将该图预测为电子吉他、木吉他或者拉布拉多犬(从左到右,类别预测概率依次降低)。虽然该模型的预测结果并不准确(我们更希望拉布拉多犬标签排在第一位),但是LIME解释了该模型判断的依据,增强了人与机器系统的信任,也为模型的优化提供了提示。
B. LEMNA
类似LIME的工作,LEMNA针对基于深度学习的安全应用,如PDF恶意软件识别、二进制逆向等进行了优化[11]。相较于LIME做出的模型的局部是线性的强假设,LEMNA方案是可以处理局部非线性的代理,并且将特征之间的依赖性考虑在内。LEMNA可用于二进制逆向中场景中函数起始位置检测模型的解释。如下图所示,RNN模型预测0x83为函数的实际起始位置,并给出了置信度0.99。而LEMNA通过对该样本进行代理分析,给出了模型判断0x83为起始位置的依据:红色、橙色、金黄色和黄色,分别表示了关联字节特征对最终预测的贡献程度,颜色越深重要性越高。
图10 LEMNA解释RNN模型预测结果
C. Backward Propagation
ICML2017上研究者提出的DeepLift[12],为避免类似LIME等方法计算中的正向传播的效率和饱和问题,通过反向传播的方法,提供一种特征对深度而学习模型预测输出的重要性度量计算方法。该方法的一个局限性是需要用户提供指定的参照(Reference),而该参照样本的选择目前没有系统的选择方法。而不同的参照对最终的特征重要性计算影响非常大。
除了DeepLift,还有多种面向深度学习框架的可解释技术实现方案。下图展示了包括DeepLift在内的多种基于梯度计算的特征归因方法,着色的像素点即展示了特征像素的归因图谱(attribution maps)。
图11 多种基于梯度计算的深度可解释方法[13]
D. Shapley Values
Shapley值方法是博弈论中解决合作对策问题的一种方法,能够根据一个利益集团中各成员对联盟所得的贡献程度来进行集团的利益分配。将Shapley值方法应用到模型解释性的特征重要性分析中,就是将模型预测类比为多个特征成员的合作问题,将最终预测结果类比合作中的总收益,而特征的贡献程度将决定其最终分配到的收益——重要性评估值。有多种基于Shapley Values估计的方法,其中SHAP (SHapley Additive exPlanations)是一项NIPS 2017上提出的研究[14]。该研究提出的SHAP方法也是一种局部可解释性方法,与前述的局部模型代理(LIME、LEMNA等)相比,该方法具有数学理论的严格证明,理论上保证其特征重要性结果的与人的直觉的跟具一致性。SHAP架构提供的特征重要性解释如下所示,该结果显示了将模型预测从基准值(训练数据集中的平均模型输出)推进到待解释样本的模型预测,每个特征的贡献,将预测值推高的特征用红色表示,将预测值推低的特征用蓝色表示。SHAP方法对传统Shapley Values的计算进行了优化,但有研究表明该算法计算效率仍然较低。
图12 SHAP特征贡献可视化图
1.2.3 全局代理模型(Global Surrogate Models)
不同于LIME等局部代理模型,全局代理模型能够提供整个模型的可解释性,而不仅仅是针对某个或某些个样本实例的解释。一种朴素的思路是,将原始数据集中的实际标签替换为黑盒模型的预测标签,生成新的样本集,在该样本集上,训练一个内在可解释的模型。显然该方法能够直观的解释复杂模型的决策流程,但是不可避免的丢失模型的预测性能,因为代理模型直接学习的是关于黑盒模型的知识,而不是原始数据本身的知识。
图13 使用决策树作为全局解释代理[15]
代理模型的核心思想可以概括为:使用简单可解释的模型模拟复杂模型的行为,即学习一种模型的可解释压缩表示。深度学习中模型蒸馏(Distilling)等压缩技术,也是生成代理模型的可用方法,关键是如何限制模型架构,保证最终代理模型的可解释性。
2 可解释性技术分类维度
以上,我们从可解释性引入的阶段这一维度进行了划分,初步介绍了多种XAI领域中的可解释性的技术实现。关于机器学习模型可解释性以及其他XAI技术的研究虽然还处在研究的早期阶段,但研究的热度持续上升,相关研究众多,本文很难覆盖所有技术点。下表从解释阶段、解释域、模型相关性三个维度对本文涉及的主要可解释技术的特性进行了小结,以区分不同技术在不同场景需求下的可用性。
总体而言,建模后(Post-hoc)及模型无关(Model-agnostic)的可解释性技术在不同的应用场景下适应性较强,可作为独立的可解释层构建在现有的AI系统之上,无论是在研究中还是实际使用场景使用中都颇受欢迎;全局可解释性能够反映模型的整体运行机制,例如分析对整个模型来说,最关键的特征是什么,但是想要回答某个具体决策结果、预测结果的背后逻辑,还是需要依赖局部可解释性方法;作为主流的AI实现方案,针对深度学习技术的深度可解释性的同样受到广泛的关注;基于图及图算法的可解释应用在诸多领域都有应用落地,同样是XAI技术的重要一环。
二、总结
本文重点介绍了XAI技术中模型可解释性的相关研究成果。XAI相关研究正如火如荼的展开,针对可解释性的量化建模、可解释模型以及人机交互的应用成果,是促进人工智能走向通用智能的重要技术支撑,将极大促进各个行业高度自动化、智能化方案的涌现,引领新的科技产业浪潮。
参考文献:
[1].https://christophm.github.io/interpretable-ml-book/
[2].Zhang Q, Nian Wu Y, Zhu S-C. Interpretable convolutional neural networks[C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018: 8827-8836.
[3].Gao J, Wang X, Wang Y, et al. Explainable Recommendation Through Attentive Multi-View Learning[C]. AAAI, 2019.
[4].Noel S, Harley E, Tam K H, et al. CyGraph: Graph-Based Analytics and Visualization for Cybersecurity. Cognitive Computing: Theory and Applications Elsevier , 2016.
[5].Shu X, Araujo F, Schales D L, et al. Threat Intelligence Computing[C]. Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, 2018: 1883-1898.
[6].Hassan W U, Guo S, Li D, et al. NoDoze: Combatting Threat Alert Fatigue with Automated Provenance Triage[C]. NDSS, 2019.
[7].Milajerdi S M, Gjomemo R, Eshete B, et al. HOLMES: real-time APT detection through correlation of suspicious information flows[J]. arXiv preprint arXiv:1810.01594, 2018.
[8].Adadi A, Berrada M. Peeking inside the black-box: A survey on Explainable Artificial Intelligence (XAI)[J]. IEEE Access, 2018, 6: 52138-52160.
[9].https://ww2.mathworks.cn/help/stats/regressiontree.plotpartialdependence.html
[10].Ribeiro M T, Singh S, Guestrin C. Why should i trust you?: Explaining the predictions of any classifier[C]. Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining, 2016: 1135-1144.
[11].Guo W, Mu D, Xu J, et al. Lemna: Explaining deep learning based security applications[C]. Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, 2018: 364-379.
[12].Shrikumar A, Greenside P, Kundaje A. Learning important features through propagating activation differences[C]. Proceedings of the 34th International Conference on Machine Learning-Volume 70, 2017: 3145-3153.
[13].https://github.com/marcoancona/DeepExplain
[14].Lundberg S M, Lee S-I. A unified approach to interpreting model predictions[C]. Advances in Neural Information Processing Systems, 2017: 4765-4774.
[15].https://towardsdatascience.com/explainable-artificial-intelligence-part-2-model-interpretation-strategies-75d4afa6b739
声明:本文来自绿盟科技研究通讯,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。