SSLGuard A Watermarking Scheme for Self-supervised Learning Pre-trained Encoders

SSLGuard: A Watermarking Scheme for Self-supervised Learning Pre-trained Encoders

作者:Tianshuo Cong Xinlei He Yang Zhang

清华大学高等研究院

亥姆霍兹信息安全中心

简介

在图像分类任务中,以监督学习(Supervised learning)为主的深度学习模型在过去几年里取得巨大成功,但是监督学习依赖高质量的有标签的数据,且泛化能力较差。与此同时,无标签的数据随时随地都能生成,自监督学习(Self-supervised learning)试图解决如何利用没有标签的数据预训练出和监督学习性能相当的编码器,预训练好的编码器可以被下游任务使用。对比学习(Contrastive learning)是自监督学习的经典范式,其核心是构建正负样本集来产生“标签”,从而指导模型进行训练。SimCLR, MoCo和BYOL是近年来最经典的对比学习算法。

由于自监督预训练编码器可以在多个下游任务场景中使用,并且训练成本昂贵,模型的基本信息(结构,参数等)通常被视为模型持有者的知识产权。在实际生活中,想使用自监督编码器的个体通常难以承受训练成本,因此AI公司可以将自监督学习编码器部署在云端使其商业化,即Encoder-as-a-Service (EaaS),如GPT-3。EaaS通常向客户提供API来上传数据和返回计算结果(embedding)。但是,敌手可以同样访问此API来发起模型窃取攻击,进而在本地训练出性能相当的编码器,并且训练成本极低。敌手可以生成盗版模型(surrogate encoders)以本地使用来减少访问费用,甚至可以部署到云端形成商业竞品,侵犯原模型持有者的知识产权。因此,本文通过向自监督学习编码器嵌入水印来保护模型的知识产权。

image-20221215104005814

工作概述

本文提出SSLGuard框架,通过在预训练编码器中嵌入水印,来保护模型的知识产权。SSLGuard是首个针对自监督学习模型的水印算法。同时,针对自监督学习模型的模型窃取攻击也是被首次研究。以往针对监督学习模型的水印算法被证明很难抵抗模型窃取攻击(知识蒸馏),SSLGuard通过引入shadow encoder来本地模拟模型窃取攻击,从而保证SSLGuard可以在surrogate encoder中提取出水印信息。另外,SSLGuard不受下游任务限制,仅从embbeding层面进行水印的嵌入与提取。

SSLGuard的工作流程如下图所示。给定一个要保护的目标编码器(绿色),SSLGuard可以生成一个嵌有水印的编码器(黄色)以及水印验证组件(key-tuple)。模型持有者能够利用key-tuple完成模型水印的提取,以及将水印编码器部署到云端来抵抗模型窃取攻击。

image-20221215104653972

工作细节

算法

SSLGuard的设计需要满足以下5条性质:

  • 保真性 (Fidelity):SSLGuard需最小化对原模型性能的影响,即原模型的预测准确率基本保持不变
  • 有效性 (Effectiveness):模型拥有者可以成功地从嵌有水印的模型中提取出水印信息
  • 不可检测性 (Undetectability):非模型拥有者无法谎称模型的版权拥有,即无法从水印模型中成功提取出水印
  • 高效性 (Efficiency):SSLGuard嵌入水印所需计算成本要低
  • 鲁棒性 (Robustness):SSLGuard需抵抗多种水印擦除攻击

工作流程

1. 水印嵌入

文中为达到以上目标设计了三个基本损失函数:

Lcorr函数的目标是计算𝐷𝑣中所有元素提取出的向量与秘密向量的平均相似度,并使得这个相似度在训练的过程中越来越高

image-20221215111938656

Luncorr函数的目标是计算𝐷中所有元素提取出的向量与秘密向量的平均相似度,并使得这个相似度在训练的过程中越来越低

image-20221215111945252

Lmatch函数的目标是计算𝐷中所有元素输入模型后得到的两个embedding的相似度,并使得这个相似度在训练的过程中越来越高

image-20221215112020029

(1)训练shadow encoder:此部分是用来模拟模型窃取攻击。通过把来自shadow dataset的同一张图片分别输入clean encoder和shadow encoder,使其embedding的相似度变高来训练shadow encoder。

image-20221215105409465

image-20221215105400086

其中Ls 定义为:

image-20221215122733142

目标是提高通过Ds窃取的水印模型的输出和水印模型本身的输出的相似度。

(2)训练trigger和decoder:SSLGuard的目标是把𝐷𝑣的图片编码到事先指定的秘钥sk附近(cosine similarity较高),而来自非𝐷𝑣的图片产生的embedding都远离sk。同样需保证此性质在shadow encoder中成立。

image-20221215105409465

image-20221215105610436

其中𝐷𝑣由下面的方法构成。其中M是一个掩码,用于确定在新的数据集𝐷𝑣中,原数据集元素与插入的Trigger的权重。即M的值越大,新数据集中的元素相对于原数据集中的元素的更改越大。在本轮训练过程中,目标是训练T和G,使得G能够从模型输出的embedding中解码出T的特征

image-20221215110901749

image-20221215110914858

LTD由以下方式定义:

image-20221215122954694

image-20221215123001004

image-20221215123007516

(3) 训练水印模型:嵌入水印的模型首先要保证保真性,即对于来自𝐷𝑡(与预训练数据集的分布相同)数据集的图片产生的embedding,需与原模型的embedding相似,同时还需保证可以成功提取出sk。

image-20221215105409465

image-20221215105658637

2. 水印提取

本文中的水印提取其实并非将打入模型中的水印真的提取出来,因为文中的水印指的是使得模型具有区分验证数据集的能力,这种能力本身无法提取出来,文中水印提取指的是通过使用验证数据集进行验证,目标模型是否具有这种区分特殊数据集的能力,以验证水印的存在。

具体来讲,SSLGuard利用key-tuple中的验证数据集,以及解码器G,从待验证的编码器中获得解码向量sk’,若sk’与sk的余弦相似度大于设定阈值 (如文中设置的0.5),即可判断模型的归属权。作者利用watermark rate (WR) 作为判断模型所有权的检测值,即验证数据集中的图片被编码到sk附近的比率。需要说明的是,在高维空间中,两个随机向量几乎是正交的,即其夹角的余弦值分布近似成均值为0的高斯分布,且维度越高,余弦值为0的概率越大。此条性质可以保证提取出与sk余弦值靠近的sk‘是证明模型所有权的“强信号”,且可保证SSLGuard性质中的不可检测性。

image-20221215105409465

image-20221215110028888

实验结果

原模型的下游任务准确率

给定三个干净的SSL预训练编码器(即,由SimCLR、MoCo v2和MmageNet上的BYOL预训练),作者首先测量它们的下游精度(表示为干净下游精度(CDA)。作者考虑了4个下游分类任务,即STL-10、CIFAR-10、MNIST和F-MNIST。准确率如表2所示。我们观察到,SSL预训练的编码器可以在不同的下游任务上取得显著的性能,这意味着SSL预训练的编码器可以从一个任务(即ImageNet)学习高级语义信息,而信息嵌入可以推广到其他任务(即STL-10和CIFAR-10)。

image-20221215181628950

训练自监督模型的成本

表3显示了SSL预训练SSL编码器的成本比,这说明了SSL模型的成本保护SSL预训练编码器的版权的必要性。

image-20221215123817335

模型窃取攻击过程中的影响因素

图4显示了对于使用不同的体系结构,即ResNet-18、ResNet-34、ResNet-50或ResNet-101进行窃取。最后在结果中观察到,如果输出维度不同于ResNet-50(受害者编码器的体系结构),例如,ResNet-18/ResNet-34输出512维嵌入,作者利用一个额外的线性层将它们转换为2048维。代理编码器的DA总结如图4所示。一般的趋势是,代理编码器的体系结构越深,它在下游任务上可以实现的性能就越好。

图5显示了对于使用STL-10训练的SimCLR、MoCo v2、BYOL模型,使用STL-10、CIFAR-10、FashionMNIST、MNIST四个数据集进行窃取攻击所获得的下游任务准确率,这显示了当查询数据集与训练前数据集相同时,模型窃取攻击更有效。另一个观察结果是,窃取数据集的分布也可能影响不同任务上的准确率。

图6显示了在窃取攻击中使用不同的相似性函数,对窃取到的模型的下游任务准确率的影响,在这里,作者假设窃取者利用ResNet-50作为代理模型的架构,而STL-10作为查询数据集。结果显示,余弦相似性在大多数设置下优于MAE和MSE。这可能归功于余弦相似度的归一化效应,这有助于更好地学习嵌入。

image-20221215123800541

SSLGuard

有效性

然后作者评估了SSLGuard的有效性。具体地说,作者检查模型所有者是否可以从水印编码器中提取水印。模型所有者应该能够从水印编码器和窃取编码器中验证出水印,而从原始编码器中,不能得到水印信息。实验结果如表4所示,F∗和Fs的WR均为1.00,这意味着编码器F∗和Fs都包含了Dv和sk的信息。同时,F的WR为0.00,SSLGuard并不会将一个干净的编码器识别为水印编码器

性能干扰

随后作者检测了SSLGuard是否会对原编码器的结果造成干扰,作者以BYOL为例,使用t-分布式邻域嵌入(t-SNE)将Fbyol(由BYOL预训练的干净编码器)和F∗BYOL的嵌入输出可视化,如图7所示。观察到F byol和F∗byol的t-SNE结果几乎相同,嵌入都被两个编码器成功地分离。

image-20221215123842845

表5中则显示了在其他状态下的水印编码器与原编码器的性能差异,结果显示,水印编码器的DA与干净编码器的DA几乎相同。

image-20221215123853619

不可检测性

然后,作者检查水印是否可以通过一个不匹配的键元组来提取。作者通过SSLGuard生成了三个Key向量: κ simclr,κ moco和κ byol。作者使用其中一个K向量来验证其他水印编码器。如表6所示,作者可以看到在无匹配对中的WR都是0.00,这意味着没有与水印相匹配的密钥,无法检测出模型中是否被加入的水印。

image-20221215123901406

可操作性

SSLGuard在只使用了一个GPU的情况下,分别使用17.5小时、17.36小时和10.70小时注入SimCLR、MoCo v2和BYOL,分别占SSL编码器训练前时间成本的29.17%、8.19%和14.86%,水印提取时间分别为1.51s、2.08s和1.82s。这比训练编码器本身所需时间要少得多,这说明这种加入水印的方式是理论可行的。

鲁棒性

为了验证SSLGuard具有鲁棒性,作者对每个窃取攻击中使用的输入图像加入高斯噪声,为x0 = x+ε1·N(0,1)。当使用不同的ε1时,作者评估四个下游任务和DA的WR。WR的结果如图8a所示,DA如图9a所示。首先观察到DA随着ε1的增加而下降。而对于SimCLR、MoCo和BYOL上的不同ε1,WR始终为1.00。这可能是因为Dv的分布太特殊了,所以水印编码器可以记住这些特殊的样本,该实验表明对输入噪声攻击是鲁棒性的。

此外,对手还可以通过在编码器输出的embedding中加入噪声,于是作者设计实验给每个编码器产生的embedding加入高斯噪声,为h0 = h + ε2·N(0,1),其中h为原始embedding,h0为扰动embedding,ε2为控制噪声水平的超参数。然后,作者在不同的ε2上评估DA和WR。从图9b中,可以观察到,随着ε2的增加,DA减少。然而,所有水印编码器的WR都保持在0.50以上(见图8b),这意味着将噪声嵌入到解码器时,仍然可以成功提取秘密向量。因此,即使对手以降低模型的性能为代价,向embedding中添加随机噪声,也不能删除水印。

对手可能会通过利用截断embedding中的小数位数来降低embedding的精度。于是作者设计实验为嵌入中的每个值保留k个小数位。图8c和图9c显示了不同k下的WR和DA。可以观察到,当k从1减小到0时,DA会急剧下降。同时,除MoCo以外,其他编码器的WR均在0.5以上,虽然当k=为0时,MoCo的WR下降到0.00,但此时STL-10上的DA仅为0.10。因此,对手不能从编码器中删除水印,同时保留其功能

image-20221215123913078

对手还可以利用SSLGuard向SSL编码器注入新的水印,不管他们是否知道编码器已经注入了水印。作者希望确认在水印叠加的情况下依然可以有效提取水印。在表7中观察到,虽然用一个新的键元组覆盖水印编码器来生成一个新的编码器,但原始水印仍然保留,即新编码器中原始水印的WR为1.00。这表明,即使对手在模型中覆盖一个新的水印,仍然可以保留原始的水印。

image-20221215123923572

剪枝技术是一种水印去除攻击,因为许多神经元可能被禁用,这降低了水印的有效性。在这一部分中,作者利用全局和局部的非结构化剪枝方法来处理水标编码器。在全局剪枝设置中,作者将卷积层中绝对值最小的卷积层中权重的r个分数设为0。局部剪枝的目的是在同一层中修剪绝对值最小的连接比例。图10和图11的前两个子图中显示了该组WR和DA。可以观察到,随着全局修剪比例的增加,DA和WR略有下降。而在局部修剪方面,DA有较大的下降趋势。

在修剪后,对手可以在受害者编码器的监督下微调代理编码器。这个过程也被称为精细修剪。微调的目标是重新获得DA的下降。作者通过MSE损失函数来微调修剪过的编码器的所有权重(全局和局部)。我们注意到,WR如图10c和图10d所示,DA如图11c和图11d所示。这意味着SSLGuard对微调是健壮的。image-20221215123940867

然后,作者通过模型窃取攻击的镜头来量化SSLGuard的鲁棒性。请注意,作者只考虑最有效的代理编码器的架构和最有效的查询数据集。具体来讲,作者将ResNet-50和ResNet-101作为代理编码器的架构,将STL-10作为查询数据集。作者命名为三个攻击Steal1,Steal2,和Steal3。每次攻击的细节如表8所示。

image-20221215123931603

不同攻击的WR和DA如表9所示。可以观察到,虽然模型窃取攻击窃取到了水印编码器,但我们可以通过验证窃取到的模型的所有权。SSLGuard注入的水印仍然可以保留在被对手窃取的代理编码器中。我们对窃取-1和窃取-3也有类似的观察,这证明了SSLGuard在模型窃取攻击下的鲁棒性。

image-20221215123950223

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2021-2024 Kery
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信