CADE: 检测和解释安全应用中的概念漂移样本
摘要
概念漂移:因攻击者的行为变化,导致部署的模型出现重大失败
提出CADE:1>可以检测偏离现有类别的样本 2>提供解释来解释检测到的偏移
现状
为应对概念漂移,传统解决方法会定期重新训练安全模型,这样需要标注大量新样本,还需要其确定重新训练的时间,费时费力。
CADE
思想:判断一个样本在对某个分类的相似度与其他属于该分类的样本相比是否正常
CADE:主要包含一个检测器用于检测输入的样本是否产生漂移,包含一个解释器解释检测器筛选出的样本的漂移
检测器
采用对比学习,将高维的样本数据映射到低维,每个类形成紧密的群体。在这个隐空间中,距离函数可以有效地识别新样本从这些群体中漂移开的情况。
首先使用编码器将所有训练样本映射到隐空间中(第2-4行)。对于每个类别 $ i $,我们计算其质心 $ {\mathbf{c}}{i} $(通过在欧几里得空间中取每个维度的平均值,第5行)。给定一个测试样本 $ {\mathbf{x}}{t}^{\left( k\right) } $,我们也使用编码器将其映射到隐空间表示 $ {\mathbf{z}}{t}^{\left( k\right) } $(第14行)。然后,我们计算测试样本与其质心之间的欧氏距离:$ {d}{i}^{\left( k\right) } = {\begin{Vmatrix}{\mathbf{z}}{t}^{\left( k\right) } - {\mathbf{c}}{i}\end{Vmatrix}}_{2} $(第16行)。根据其到质心的距离,我们确定这个测试样本是否对于 $ N $ 个类别中的每一个都是分布外的。在这里,我们根据样本到质心的距离而不是样本到最近训练样本的距离做出决策。这是因为后一种选择很容易受到训练数据中的异常点的影响。
为了根据 $ {d}{i}^{\left( k\right) } $ 确定异常点,挑战在于不同类别的紧密度可能不同,因此需要不同的距离阈值。而不是手动为每个类别设置绝对距离阈值,我们使用了一种称为中位数绝对偏差(MAD)[40]的方法。想法是通过计算 $ {\mathrm}{i} $(第6-10行)来估计每个类别的数据分布 $ i $,它是中位数距离 $ {d}{i}^{\left( j\right) }\left( {j = 1,\ldots ,{n}{i}}\right) $ 的绝对偏差。在这里 $ {d}{i}^{\left( j\right) } $ 表示类别 $ i $ 中每个样本与其质心的潜在距离,以及 $ {n}{i} $ 是类别 $ i $ 中样本的数量(第7行)。然后基于 $ {\mathrm}{i} $,我们可以确定 $ {d}{i}^{\left( k\right) } $ 是否足够大,使得测试样本 $ {\mathbf{x}}_{t}^{\left( k\right) } $ 成为类别 $ i $ 的异常点(第15-24行)。如果测试样本对于所有 $ N $ 个类别都是异常点,那么它被确定为一个漂移样本。否则,我们确定它是一个内分布样本,并且其最近的质心由最近的质心确定(第26行)。MAD的优势在于每个类别都有自己的距离阈值来根据其内类分布确定异常点。例如,如果一个簇更分散,阈值就会更大。
解释器
因为很难移动一个漂移样本跨越决策边界,提出了一个专为漂移样本设计的解释器
首先需要设计一个特征扰动机制。大多数现有的扰动方法都是专门为图像设计的,这些图像的特征是数值值。在我们的情况下,$ {\mathbf{x}}_{t} $的特征可以是数值的也可以是分类的,因此直接应用现有的方法将产生不明确的特征值。为了确保扰动对于数值和分类特征都是有意义的,我们提出通过替换特征值来扰动 $ {\mathbf{x}}_{t} $,这个特征值对应于参考训练样本 $ {\mathbf{x}}_ {{y}_ {t}}^{\left( c\right) } $ 中的特征值。这个 $ {\mathbf{x}}_ {{y}_ {t}}^{\left( c\right) } $ 是训练样本,它与中心点 $ {\mathbf{c}}_ {{y}_ {t}} $ 的潜在距离最短。这样一来,我们的解释目标就是识别一组特征,使得用 $ {\mathbf{x}}_ {{y}_ {t}}^{\left( c\right) } $ 中的特征替换它们,将对 $ f\left( {\mathbf{x}}_ {t}\right) $ 和 $ {\mathbf{c}}_ {{y}_ {t}} $ 之间的距离产生最大的影响