贡献
第一个提出了针对对比学习产生的预训练图像编码器的成员推理
背景知识
对比学习
旨在训练出一个编码器,这个编码器对同一类输入或相似输入,输出相近的特征向量,可将此编码器作为下游任务的特征提取器。
方法论
攻击方法
背后思想
编码器对一个成员样本的多个增强样本输出的特征向量之间更相似。
步骤
1.训练模仿目标编码器的影子编码器。(根据敌手的知识,影子编码器和目标编码器架构和算法可能一致,也可能不一致)
2.为影子数据集的每一个样本生成n个增强版本的样本(增强方法包括随机大小裁剪,随机灰度,随机水平翻转,颜色抖动等),将其feed给影子编码器,每个增强样本得到一个特征向量,即每个影子样本得到n个特征向量。
3.将得到的n个特征向量两两配对,得到n*(n-1)/2对,分别计算这n*(n-1)/2对向量的相似度(注意这里的向量相似度计算方法本文选用了余弦相似度、欧几里得相似度、Pearson相关系数,并对他们进行了效果对比)
4.将这n*(n-1)/2个相似度分别进行如下处理得到样本的成员属性特征
1)将这n*(n-1)/2个相似度进行排序,得到的排好序后的相似度分数可作为一个n*(n-1)/2维向量,此向量即为样本的成员属性特征
2)直接将这n*(n-1)/2个相似度放入一个集合中,此集合即为样本的成员属性特征
3)计算这n*(n-1)/2个相似度的均值,将其作为样本的成员属性特征
5.生成攻击模型训练数据,训练攻击模型。对目标样本进行推理攻击。(基于向量的攻击模型采用具有两个隐藏层的全连接神经网络,基于集合的攻击模型采用DeepSets 架构,基于阈值的分类器无须训练)。根据第四步不同的生成样本的成员属性特征方法,将此步分为以下三种,分别和步骤四的三种方法对应。
1)将样本成员属性特征(即n*(n-1)/2维向量)根据样本是否为训练影子编码器的数据标记为0或1。此标记好的数据即为攻击模型训练数据,将其feed给攻击模型训练即可。将目标样本进行同样的成员属性特征提取后,将特征馈送给训练好的攻击模型,得到预测。
2)将样本成员属性特征(即集合)根据样本是否为训练影子编码器的数据标记为0或1。此标记好的数据即为攻击模型训练数据,将其feed给攻击模型训练即可。将目标样本进行同样的成员属性特征提取后,将特征馈送给训练好的攻击模型,得到预测。
3)以假阴性和假阳性率最低为目标,利用影子数据集确定最佳阈值。将目标样本进行同样的成员属性特征提取后,特征(即相似度的均值)小于阈值判定为非成员,大于阈值判定为成员。
防御方法
本文采用了early stopping,即用更少的epochs去训练编码器,以防止过度拟合。