LEMNA:针对安全应用的深度学习黑盒解释模型

作者:{WJN}@ArkTeam

原文标题:
LEMNA: Explaining Deep Learning based Security Applications

原文作者:
Wenbo Guo, Dongliang Mu, Jun Xu, Purui Su, Gang Wang, Xinyu Xing

原文出处: CCS’2018Best Paper

原文链接:https://dl.acm.org/citation.cfm?doid=3243734.3243792

深度学习模型不可解释性极大地限制了其在安全应用中的使用。尤其是黑盒场景下,开发人员很难知道模型为什么无效、究竟学习到了什么、如何修改等问题。因此很多学者一直致力于深度学习可解释性的研究,也陆续出现了很多针对CNN(常用于图像识别领域)的解释方法。但目前却很少有针对安全领域常用的RNN(序列模型)和MLP(高效)模型的可解释性研究。由于特征之间的依赖度较高,且对解释精度要求较高,现有解释方法很难用于解释安全领域的深度学习模型。

在这样的背景下,论文作者针对安全应用中常用的深度学习模型,提出了具有高解释精度的黑盒解释模型LEMNA(Local Explanation Method using Nonlinear Approximation)。

一、黑盒场景下模型解释问题的转化

模型解释,主要任务是要说明分类器为什么将样本x分类为类别y,在对样本x进行分类时主要依据了哪些特征及各自的权重如何。找到在特征空间中样本x附近的局部分类边界的线性回归估计g(x),g(x)上各部分特征的系数即可看作是各个特征的权重,该权重即可表明对应的特征在模型决策时所起的影响的大小,最终实现分类器的解释。


1 黑盒模型解释方法说明

二、论文为了实现针对RNN/MLP及高解释精度的特性,所采用的两项技术方法

技术方法 公式 解释 作用
Mixture regression model

各线性回归模型的权重

多个线性回归模型的组合,从而能够更好的拟合样本附近的局部决策边界。 不需要再假设待解释模型的局部决策边界的线性的(更加贴近真实情况,从而实现了高解释精度)。
Fused loss

L(f (x),y) 损失函数

S阈值(超参数)

线性回归模型的参数向量

让相关特征的权重值的差距小于一定阈值,强制分类器给相关的特征相同的权重。从而实现相关特征的聚合 不需要再假设特征之间是独立的(更加符合安全领域的应用情况)。

三、LEMNA应用举例


2 应用LEMNA解释分类器(用于确定二进制函数开始点)

应用LEMNA解释分类器(用于确定二进制函数开始点)。其中83为真实的函数起点,0.99RNN分类器的输出概率。通过将元组(hex-sequence, 83)发送给LEMNALEMNA系统通过对最重要的十六进制进行颜色编码来解释分类决策(特征的重要性从红色降低到黄色)。上图说明LEMNA指出函数开始前的十六进制代码”90“是RNN分类器进行判断的最重要原因。

四、对比实验

论文在实验部分针对二进制逆向工程(RNN模型),恶意PDF检测(MLP模型)两种安全领域常见的深度学习的应用场景,进行了LEMNA的部署和应用。并与此前最优秀的解释模型LIME[1]进行对比,结果如下:

1对局部决策边界拟合的准确性

2 LIMELEMNA对局部决策边界拟合的准确性的对比

LIME表现最好的结果RMSE(Root Mean Square Error)0.1532,仍然比LEMNA表现较差的结果(0.0196)高出近10倍。这一结果表明,作者提出的混合回归模型能够建立一个比简单线性模型更精确的近似。

2)解释精度估计


3 LIMELEMNA解释精度对比,其中

(a)特征去除测试:通过使实例x中选择的特征Fx无效,构造样本t(x)1

(b)特征加强测试:从相反的类中随机选择一个实例r(即,只要r的标签不是y),用Fx的特征值替换实例r的特征值,构造t(x)2

(c)特征生成测试:保留所选特性Fx的特性值,同时为其余特征随机分配值,构建t(x)3

参考文献

[1] Marco Tulio Ribeiro, Sameer Singh, and Carlos Guestrin. 2016. Why should I trust you?: Explaining the predictions of any classifier. In Proceedings of the 22nd International Conference on Knowledge Discovery and Data Mining (KDD)

发表评论

电子邮件地址不会被公开。 必填项已用*标注