LEMNA-Explaining Deep Learning based Security Applications

CCS2018 最佳论文。 主题是安全领域中机器学习模型的解释性,使用的是黑盒攻击的方法。

0x0000 摘要

0x0001 引言

 稍微介绍一下引言部分

引言部分首先介绍了目前深度学习解释领域的基本现状,很多都是围绕着CNN去工作的的,所以对安全领域的深度学习解释模型意义不大,1.数据类型不一样2.需要解释的粒度不一样(图像像素可以允许一定的误差,但是安全领域会失之毫厘,差之千里)

然后介绍了本文提出的一个模型与先前的研究不同,是要捕捉决策边界的非线性特性和特征的依赖性。简要介绍了融合lasso方法可以捕捉特征的依赖性

介绍了在评估中使用的方法和LEMNA架构得到的解释可以帮助分析人员获得更多的有价值信息。

0x0002 可解释的机器学习

这一部分主要讨论可解释机器学习的背景及现有的相关技术。基于此,将在第三部分讨论应用深度学习模型的重要安全应用,并且讨论现有的解释技术为什么对这些安全应用不适用。

问题定义

可解释的机器学习寻求为分类结果提供可以理解的解释。更具体地,给定一个输入x和分类器C,分类器在做测试时将会为输入x分配一个标签y。解释技术就是旨在描绘实例x为什么被分类为y。这经常是指识别出一组对分类结果起关键作用的重要特征。如果这些选择的特征对人类分析师来说是可解释的,那么这些特征能够提升“解释性”。下图显示了图片分类与情感分析的例子。分类器决策可以被这些选择的特征所解释(例如,高亮的像素和关键词)

本文主要管组深度神经网络的安全应用可解释性。到目前为止,大多数的现存解释方法是针对图片分析和NLP设计的。我们将这些方法分为白盒和黑盒,下面将描述他们如何起作用。

白盒解释方法

大多数的现存解释技术工作是基于白盒设定的,在这里,模型的结构,参数,训练数据是已知的。这些技术一般被称作深度解释方法,主要为CNN设计。这类方法使用两个策略来得到特征的重要性(1)基于输入或者结构闭塞的前向输入(2)基于梯度的后向传播。我们将会在下面讨论这些技术。

基于前向传播的方法  给定一个输入,目的是给输入加入一些扰动然后观察对应的改变。这里面的原理是如果对重要的特征进行扰动,那么改变的结果就会很大。现存的方法一般会使一个子集的特征失效或者移除掉网络的中间部分[17,32,74,76]。一个最近的工作文献[19]扩展了这种方法以检测对抗样本。

基于后向传播的方法 基于后向传播的方法利用深度神经网络的梯度特性获取特征的重要性。这个梯度可以是分类器输出相对输入的或者隐含层的部分。通过传递输出返回至输入,这些方法直接计算输入特征的权重,对于图像分类器,基础的方法是使用输出对于输入图片像素或视频帧的梯度计算显著映射。随后的工作通过将显著映射应用在层与层之间来改进这个想法

基于后向传播的方法面临零梯度的挑战。在一个神经网络中,激活函数经常具有饱和部分,并且对应的梯度将会变为0,零梯度会使得显著映射反向跟踪重要梯度变得困难。最近的工作试图通过近似解决这个问题,然而这会牺牲解释的保真度。

黑盒解释方法

黑盒解释方法不需要分类器内部的信息,例如网络结构和参数。取而代之的,这类方法将分类器作为一个黑盒子,通过传入输入并且观察输出来分析分类器(模型归纳法)。

在这个类别中,最具有代表性的系统是LIME,给定一个输入x(例如一个图片),LIME系统性的扰动x获得一系列的人造图片,这些图片在特征空间上与输入x相邻(如图2,x一撇,x二撇)。然后LIME将这些人造图片送入到目标分类器获得标签,并且使用被标记数据来拟合线性回归模型g(x)。这个g(x)目的是拟合f(x)在输入x附近的一小部分区域。LIME假设分类器的决策边界在输入实例的附近是线性的,因此使用线性回归模型表示f(x)的决策边界是合理的。线性回归是自解释的,因此LIME能够基于回归参数精确捕捉重要特征。一个最近的工作文献[34]试图通过向人造数据添加权重来扩展LIME,其他的工作提出使用其他线性模型(决策数据,决策集合)来进一步近似目标检测边界。

 

作为附注,我们想要澄清一点,机器学习解释是完全不同于特征选择算法的,例如主成分分析,稀疏编码,卡方检验。解释方法旨在识别特定输入x的关键特征,解释x是如何被分类的。在另一方面,特征选择方法例如PCA是在分类模型训练之前将全部的训练数据做降维处理,以减少特征维度(为了加速训练和减少过拟合),这不能解释一个特定的分类决策时如何产生的。

解释安全应用

深度学习已经在安全领域展现了巨大的潜力,相应的解释方法却非常的落后。透明度的缺失会减少信任。首先安全从业者如果不了解深度学习模型如何制定决策,那么他们不能信任这些深度学习模型,第二如果安全从业人员不能解决分类错误(由训练数据偏置造成的错误),令人关切的是这些错误可能在实践中被放大。接下来,我们将会介绍两种重要的安全应用,深度学习在这两种应用中取得了成功。然后我们会讨论为什么现存的解释方法对安全应用是不适用的。

安全应用中的深度学习

在本文中,我们关注两个安全领域的重要应用:二进制文件逆向与恶意软件分类

二进制文件逆向 在二进制分析中深度学习的应用主要有识别函数边界,确定函数类型签名,追踪相似二进制代码。更具体地,使用双向RNN模型,Shin等提升了函数边界识别的效果,并达到了几乎完美的性能。Chua等也使用RNN正确的追踪到二进制代码中函数的参数和类型。更近一些时间,Xu等使用MLP模型模型编码控制流图成功定位到了漏洞代码片段。

恶意代码分类 现存的工作主要使用MLP模型进行大规模的恶意软件分类。例如,有学者已经训练了MLP在二进制代码级别检测恶意代码和分类安卓恶意软件,最近Wang等提出了一种对抗神经网络基于审计日志来检测恶意软件

一个重要的观察是,RNN和MLP相对于CNN更广泛的应用在这些安全应用中,原因是RNN被设计用来处理序列数据,RNN在处理长序列的二进制代码中取得了异乎寻常好的效果。特别地,双向RNN能够在每一个十六进制代码间捕捉到双向的依赖性。对于恶意软件分类,MLP因为高效性而被广泛使用。在另外一方面,CNN在图片表现优异,因为它能够利用二维图片上特征的群组效果。这些安全应用没有类矩阵的数据机构可以从CNN模型中获益。

现存的解释方法为什么效果不佳

直接将现有的解释方法应用在安全应用中还存在几个关键的太哦站。在table1 我们总结了期望的特性,和为什么吸纳有的方法不能实现他们

支持RNN和MLP 在上述的安全应用选择的模型和现有的解释模型之间具有明显的不匹配。大多数现有的解释方法针对CNN处理图片分类器来设计。然而如3.1节所述,我们感兴趣的安全应用首要选择的是RNN或者MLP。由于模型的不匹配,现有的解释方法基本不适用。例如,后向传播方法,包括显著映射和激活差分传播需要在卷积层和池化层使用特定的操作,这些在RNN或MLP中是不存在的。

 黑盒方法例如LIME并没有很好的支持RNN(稍后对在试验中验证)类似LIME的方法假定特征是独立的,但是这个假设在RNN的设定中是不成立的,RNN显然需要对序列数据的依赖性建模。

支持本地非线性决策边界 大多数现有的方法(例如LIME)假设决策边界的本地线性。然而,对于大多数复杂的模型,本地决策边界非线性才是对的,那些决策解释方法将会产生严重的错误。图3a 展示了一个例子,在x邻域内的决策边界是高度非线性化的。换句话说,线性部分被限制在一个非常小的区域中。典型的采样方法会简单的将人工数据点落在线性区域之外,使得线性模型在x的邻域内拟合一个决策边界非常困难。稍后,在我们的试验中,我们将会验证,一个简单的线性近似将会严重降低解释的保真度。

支持黑盒设定  尽管白盒和黑盒方法有他们各自的应用场景,黑盒方法在安全场景中仍然是更加令人满意的。注意,人们使用预训练是经常性的(例如双向神经网络,预定义树)在这些场景下网络的详细结构,参数和训练数据是不可获取的。虽然少量的前向传播方法能够在黑盒设定之下强制实现(通过放弃中间层的观测),这将会不可避免的使性能退化。

总结  在本文中,我们旨在为安全应用开发一种专用的解释方法,以加深理解。我们的方法旨在黑盒设定下工作,并且有效的支持流行的深度学习模型,例如RNN,MLP和CNN。更加重要的是,方法需要达到更高的解释保真度来支持安全应用。

我们的解释方法

为了达到上述的目标,我们设计并开发了LEMNA。在高层级上,我们将目标深度学习分类器看作是黑盒,并且通过模型近似来到处解释方法。为了提供高保真度的解释,LEMNA需要采用一种与现有方法不同的设计途径。首先我们引入融合lasso来处理特征依赖性问题,这是一个在安全应用和RNN中经常被考虑的东西。(例如时间序列分析,二进制代码序列分析)。然后,我们将融合lasso集成到混合回归模型中[28]以近似本地非线性决策边界来支持复杂的安全应用。在接下来的部分,我们首先讨论使用融合lasso与混合回归模型设计的背后的观察。然后,我们描述组合他们成为一个简单模型的技术细节,这个简单模型可以同时处理特征的依赖性和本地的非线性特点。最后,我们介绍一些附加的步骤来利用LEMNA到处高保真的解释。

4.1 在设计背后的

融合lasso(Fused lasso).   融合lasso是一种经常用于捕捉特征依赖性的惩罚项,在处理深度学习模型中的依赖性特征上是有用的例如RNN。在更高的视角上,融合lasso使LEMNA可以组合相关的或者是邻接的特征来产生有意义的解释。在下面,我们介绍这个直觉的技术细节。

为了从一组例子中学习一个模型,机器学习算法需要最小化损失函数L(f(x),y),这个公式定义了真实标签与预测标签之间的差异。例如,为了从一组包含N个样本的数据中学习一个线性回归模型$f(x) = beta*x+sigm$ 一个学习算法需要在具有参数beta下使用最大似然估计来最小化下述的等式

 

在这里,xi是训练样本,由M维的特征向量表示。xi的标签表示为yi。向量beta=(beta1,beta2..)包含了线性模型的系数。||·||是L2正则化,来测量模型预测与真实标签之间的不相似度

融合lasso是一个惩罚项,他可以被引入任意的线性算法使用的损失函数。融合lasso表现为施加在系数上的约束。即:

当学习算法最小化损失函数时,融合lasso限制了指派给邻接特征系数的不相似性,使用了一个阈值S(一个超参数)。结果,惩罚项强制学习算法为相邻矩阵分派相等的权重。直观上,这能够被理解为强制学习算法将特征作为一个组,并学习到基于特征组的目标模型。

安全应用,例如时间序列分析和代码序列分析,经常需要使用RNN对特征依赖性进行显著的建模。最终的分类器基于特征的共现做出分类决策。如果我们使用标准的线性回归模型(例如LIME)导出一个解释,我们不能 正确的近似一个本地的决策边界。这是因为一个线性的回归模型不能捕捉特征的依赖性并且将他们独立对待。

通过在近似的本地决策边界引入融合lasso,我们希望最终的线性模型具有如下的形式:

在这里,特征被组合在一起,因此重要的特征像是被选择为一个组或多个组。在LEMNA中明显的对这个处理建模有助于导出一个更准确的解释,尤其是RNN模型做出的决策。我们使用一个图1b的情感分析的例子来进一步解释这个想法。在融合lasso的支持下,一个回归模型将会共同考虑邻接特征。当导出解释时,我们的模型不会简单的产生一个单词not,而是能够准确的捕捉到词组“not worth the price”作为情感分析结果的解释。

混合回归模型。混合回归模型允许我们更准确的近似本地的非线性决策边界。如图3b所示,一个混合回归模型是多个线性回归模型的联合,这使得它针对下面的近似更具有表现力:

在这里K是一个超参数规定了组成混合模型的线性组建的个数;pik表示分派给对应组件的权重。

给定充足的数据样本,分类其具有线性或非线性的决策边界,混合回归模型能够接近完美的近似巨册边界(使用有限的线性模型集)。因此,在深度学习解释性的背景下,混合模型能够有助于避免上述提及的非线性问题并导出更多的准确解释。

为了描绘这个想法,我们使用图3中的例子。如图3a所示,一个标准的线性近似不能保证输入x邻域内的数据样本仍然能够在本地的线性区域内保持不变。这将会轻易的造成不准确的近似和低保真度的解释。在图3b我们的方法使用一个多边形边界近似本地决策边界,在图中每一个蓝色的线表示一个独立的线性回归模型。能够产生解释的最好的线性模型是红色的能够经过数据点x。在这个角度,近似处理能够产生最优的线性回归模型来定位重要的特征作为解释。

4.2 模型开发

接下来,我们转换这些设计思路成为一个功能型的系统。我们引入技术措施将融合lasso整合进混合回归模型的学习步骤,所以我们能够同时处理特征依赖与决策边界的非线性。技术上讲,我们需要通过最小化下面的公式导出一个混合的决策模型,

 

在这个公式里,f(·)表示公式4混合回归模型,betakj表示在第k歌线性分类回归模型有关的j个特征

与标准的线性模型不同,我们的优化目标是困难的,我们不能简单的使用MLE来处理最小化。为了有效地估计混合回归模型的参数,我们使用一种替代的方法。

 第一,我们将混合回归模型表示为概率分布的形式

然后,我们将pi beta和sigma作为参数,通过估计这些参数,我们初始化他们的值并通过期望最大化来计算参数的估计值,期望最大化是一种通过重复执行e和m估算参数的算法,更多细节将会在附录A中给出。

在公式(6)中,yi服从数个高斯分布,并且每一个这样的分布都具有平均值BETAkXi,方差sigma2k。在E步骤中,我们将每一个数据样本的值通过学习普通混合回归模型的标准步骤赋给一个高斯分布,基于先前的E步骤中赋给的数据样本值,我们重新计算出pi,beta和sigma。对于参数beta和sigma,重复计算仍然使用普通混合模型的标准步骤。但是,对于beta中的每一个参数,重复计算服从一个定制的策略。通过关于beta最小化下面的公式来计算beta

在这里Nk是赋予第k个部件的样本数量,在这里,重计算定制的原因是为了赋予混合回归模型处理特征依赖性的能力融合lasso不得不被用于参数beta。如我们能够观察到的,上述的等式与等式(2)具有相同的形式。因此,我们能够通过MLE方法最小化这个等式,因此能够计算beta的值

使用标准的EM算法,我们重复计算E和M步骤。知道达到一定能够的稳定度(即,高斯分布在EM步骤中差距变小),我们输出混合回归模型。注意我们通过使用普通混合模型学习的方法转换sigma2为模型参数ϵ1:K

4.3 应用解释模型

使用加强的混合回归模型,我们现在讨论如何针对深度学习分类器推导出高保真度的解释。

近似本地决策边界. 给定一个输入实例x,产生解释的关键是为目标分类器近似一个本地决策边界。最终的产出是一个可解释的线性模型,这个允许我们选择一小部分最好的特征作为解释。为了做到这些,我们首先按照文献[45]的方法合成一组临近x的数据样本。思路是随机的去除x的特征子集。

使用合成的数据样本集合,我们然后近似本地的决策边界。有两个可能的策略,一个是训练单混合回归模型执行多分类的任务;另一个策略是训练多混合回归模型,每一个选择的模型执行二分类的任务。出于有效性考虑,我们选择第二种策略并在附录B中贴出严格的分析。

导出解释  给定输入x和他的结果y,我们现在能够产生解释作为x分类的一组重要的特征。更加具体地,我们获得一个经过融合lasso强化的混合回归模型。从这个混合模型中,我们将会识别与本地决策边界近似最好的线性组件。线性模型中的权重(或系数)能够被用来对特征排序。一小部分最好的特征将会作为解释结果。 

需要注意的是LEMNA被设计同时处理非线性与特征依赖性,但是这并不意味着LEMNA不能处理那些特征独立的深度学习模型,例如MLP和CNN。实际上,LEMNA为了适应目标模型的解释方法提供了设计灵活性。例如通过增加超参数S(融合lasso的阈值),我们能够放松对beta参数的约束,来允许LEMNA更好的处理弱依赖特征。在第五部分,我们将会在基于RNN,MLP的安全应用中展现应用LEMNA的普遍性特点。

 

转载于:https://www.cnblogs.com/bybabo/p/10093996.html

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值