点击蓝字

关注我们

AI TIME欢迎每一位AI爱好者的加入!

劳颖捷:

现任克莱姆森大学电气和计算机工程系助理教授。从浙江大学和明尼苏达大学获得学士和博士学位。研究方向包括机器学习安全和隐私,网络安全,对人工智能和密码学的硬件加速,硬件安全,硬件架构与设计。获得美国国家科学基金会杰出青年职业奖(NSF CAREER)和多个最佳论文奖。

随着深度神经网络(DNN) 的发展,模型构建的复杂性也急剧增加。因此保护模型的知识产权 (IP) 并确保已部署模型的可信度和完整性变得至关重要。本次报告将先介绍我们提出的基于修改极少参数的模型水印嵌入方法。与此同时,有别于现有工作的鲁棒水印,我们提出了一种新的 DNN 身份验证框架 DeepAuth。该框架能够将脆弱的签名嵌入到每个受保护的 DNN 模型中。嵌入后,每个模型将对验证用的关键样本做出独特的反应,因此可以作为身份验证的工具。签名嵌入过程旨在确保签名的脆弱性,能够检测对于模型的恶意修改。

深度神经网络的应用

我们都知道,通过开发强大的算法和设计工具,深度神经网络DNN正在各个领域成为最新颖的技术,如机器翻译、自动驾驶、围棋和图像识别等等。优化的深度神经网络是高价值的知识产权!

我们要设计和训练深度神经网络的花费很大。下面举几个例子:

•BERT: 256 TPU-chip days ~ $6,912

•GPT-3: 355 Tesla-V100 years ~ $4,600,000

与此同时,机器学习当作一种服务“Machine Learning as a Service” (MLaaS)也渐渐流行开来,我们列举了几个常见的MLaaS的供应商。

一些中小企业用户不会自己训练模型,而是需要这些供应商来训练模型并提供部署。

水印技术

我们的研究做了一些保护深度神经网络产权的探索——水印技术。

•水印的主要作用是保护知识产权(IP)

•水印早已在包括图像和视频等传统领域中广泛使用。近期也被应用到深度神经网络(DNN)上。

深度神经网络水印(DNN Watermarking)

目标:在神经网络中嵌入水印 (watermark embedding),使其能够被密钥样本(key samples)验证。

水印的设计者会产生一些独特样本——密钥样本,作用在于嵌入水印后可以被提取验证水印。之后,一旦产生了密钥样本就需要将其嵌入到深度神经网络之中,且需要重新训练DNN模型以确保深度神经网络可以识别这些密钥样本。最后,我们会将模型部署到用户需要的地方。

如上图的例子,我们在加入一些独特水印之后会被认为是不同于原图片的另一种分类。

威胁模型分析(Threat Model)

密钥样本是不会对用户公开的,只有当知识产权拥有者需要的时候才会用来提取水印。我们当前只能通过远程API远程询问水印验证。

主要性能指标

以下是评价水印效果的三个指标:

•效用(Effectiveness): 能够成功嵌入水印

•保真(Fidelity): 不影响原先模型的预测

•鲁棒(Robustness): 无法在不摧毁模型的前提下移除水印

水印的鲁棒性

与神经网络的鲁棒性不同,水印的鲁棒性是指针对移除水印攻击的抵抗力。

变换攻击(Transformation Attacks): 移除水印的同时保留模型的预测精确度。

● 模型微调(Fine-tuning)

● 模型剪枝(Model-pruning)

● 水印覆盖(Watermark overwriting)

以上是在之前的工作中比较常见的几种变换攻击。

之前的工作

• 嵌入水印到特征空间 (Uchida et.al & Rouhani et.al)

• 利用对抗样本 (Le Merrer et.al)

• 利用后门攻击 (Adi et.al)

我们的工作 (* 报告内容)

可以看出STABLE在不同数据集、攻击算法、各种扰动率性能具有一致的优越性。

DeepHardMark: Towards Watermarking Neural Network Hardware (AAAI 2022)

对于硬件方面的角度,该论文提出了一种硬件水印。其主要概念是整合算法领域和硬件领域的信息,来为深度学习硬件添加水印。

不同于嵌入水印到深度神经网络的参数(parameter)中,本文首次提出嵌入水印到运算功能块(functional block)来保护其硬件知识产权(hardware IP)的方法。

Identification for Deep Neural Network:

Simply Adjusting Few Weights!

之前的工作

• 嵌入水印到特征空间 (Uchida et.al & Rouhani et.al)

• 利用对抗样本 (Le Merrer et.al)

• 利用后门攻击 (Adi et.al)

之前的工作都需要端到端重新训练密钥样本,我们的方法可以避免这一点。

本文的目标

● 不通过重新训练,只改动极少数量的神经网络参数来嵌入水印

● 通过嵌入独特的水印到不同的模型中,把水印方法扩展到身份识别

故障攻击(Fault Attacks)

最近研究表明,DNN非常容易收到神经网络的故障攻击。最新发展已证明,目标模型的预测精确度非常容易被降低到随机猜测水平。

●通过排锤(rowhammer)或者激光注入(laser injection)等方法来改变存储里参数的比特数值

● 在拥有1千3百万比特的ResNet-18上,只需要改动13个比特,就能将预测准确度(top-1)降到 0.1%

身份识别(Identification)

我们还将水印扩展至深度识别,在过程中补充了额外的密钥样本来规范嵌入过程,以防止其会改变预测。

● 生成一个较大的密钥样本集,从中选取不同的密钥样本来进行不同模型的水印嵌入。不同模型对于选定的密钥样本的预测就可以用做身份识别。

● 水印嵌入过程中加入对未选的密钥样本的考量。要求水印嵌入过程需要保持模型的预测精确度和未选的密钥样本的预测不变。

以下是主要的方法概述。

在我们选定密钥样本之后,将其作为水印嵌入到原始模型中形成加入水印后的模型。这一水印模型的产生是通过调整非常少的参数完成。在理想条件下,模型会对选定的密钥样本产生不同预测。而其他非选定的密钥样本在前后的预测都是一样的。

方法目标

嵌入选定的密钥样本Ds(改变其预测分类)而不改变其他样本包括Du和Dn的分类。

我们的目标可以概括为,最大化所选样本的损失函数和最小化未选择密钥样本和自然输入的损失函数。

产生密钥样本

我们使用基于香农熵( Shannon entropy)的自适应采样,旨在找到对于预测结果香农熵最大的密钥样本:

● 靠近决策边界

● 远离自然输入样本

基于上述因素,我们对这些样本的操作只会对原始模型造成非常小的影响。

基于梯度的参数修改

接下啦,我们在神经网络中搜索已找到要调整的最有效参数来修改水印,好比之前提到的故障攻击概念。我们搜索能够对选定的密钥样本产生非常强的信号,同时又对未选定的密钥样本和自然输入产生非常弱的信号的参数。如果我们修改这些参数,则会对选定的密钥样本预测产生较大影响。我们之后通过利用调整参数规模推导出一种迭代算法,完成水印嵌入的功能。

1. 利用梯度下降来选取修改的参数

2. 修改参数

实验设置

我们在多个模型和数据集上验证提出的方法。

效用和保真度

总体来说,我们提出方法的成功率是非常高的。

K: 选定的密钥样本的数量

Identification Accuracy (Aiden) :水印嵌入成功率百分比

Decrease of Model Accuracy (Adec):模型预测精确度降低的百分比

Number of Modified Parameters (Nw):修改的参数数量

可以看到,我们只需要在很小的预测准确度的基础上调整非常少数量的参数,就能成功的嵌入水印!

改变的参数数量

随着修改参数数量的增加,精度的下降也会增加。

在CIFAR100和 ImageNet, 我们只需要改变0.04%甚至更小的参数就能达到 100%的水印嵌入成功率。

鲁棒性:模型剪枝

我们也评估了各种变换攻击的鲁棒性。

在模型的保持预测准确度的前提下,水印一直保留着。

鲁棒性:水印覆盖

攻击者试图在模型中插入额外的水印,来看是否会使得之前的水印不可读。

● 可以看出,我们的方法对于水印的覆盖具有非常好的鲁棒性。

● 在越复杂的模型 和数据集上性能越好

与之前工作的比较

我们的方法在保真度和鲁棒性上都展现出了优势。

随机选取参数修改

我们还测试了在没有参数搜索步骤的情况下修改随机参数对嵌入水印性能的影响。

验证了选取参数的步骤的必要性。

其他模型

总体而言,我们的方法有很好的泛化性。

总结

● 提出了使用故障攻击来保护神经网络。

● 提出了算法通过选择和修改极少的参数来完成神经网络水印注入。

● 扩展水印方法到身份验证。

DeepAuth: A DNN Authentication Framework

by Model-Unique Signature Embedding

之前的工作

• 嵌入水印到特征空间 (Uchida et.al & Rouhani et.al)

• 利用对抗样本 (Le Merrer et.al)

• 利用后门攻击 (Adi et.al)

这些工作的目标都是使水印无法被轻易移除,从而能够进行所有权验证。不过,水印是具有不同类别的。

水印的类别

脆弱的水印

● 应用目标:验证模型的完整性,是否被篡改

● 为了区分于强健的水印,我们称呼脆弱的水印为签名(signature)

● 利用签名,我们可以对模型的完整性进行认证(authentication)

DeepAuth框架

本文提出了一种端到端的DNN框架——DeepAuth框架。我们的目标是嵌入脆弱的签名,而不影响模型的精确度。

第一个步骤是从产生敏感的密钥样本开始,再对模型选定的密钥样本子集上嵌入以达到模型独特的签名。在嵌入签名之后,我们可以选用一个保护好的可信服务器,来对于不同模型进行测试并观察其分类预测如何。正确的密钥样本和签名会被分发到可信的服务器之上,最后模型的建立者会将模型部署到用户端。在签名验证过程中,服务器会将一个验证向量传送给待验证的模型以看其是否会给出原先存在服务器上的相同签名。如果一样,说明其是可信的;如果不一样,说明已被恶意修改。

密钥样本:Input Space

寻找对抗样本,adversarial examples (AE)。但与一般对抗样本的选取不同的是:我们选取与自然输入距离较大的对抗样本

- 靠近决策边界

- 远离自然输入

- 只需要很小的改动就能嵌入这些密钥样本

我们发现,选取与自然输入距离较大的对抗样本的性能更好!

密钥样本:Latent Space

● 使用统计学习的一个方法,leverage score sampling (Rudi et.al),来估计一个样本的不确定度(uncertainty)

●  ||Hl||A的数值越高,表示之前学习的知识对与当前样本的不确定越高。

●  我们选取分数高的样本当作最终的密钥样本。

密钥样本:Logit Space

为了进一步缩小密钥样本与决策边界之间的差距,我们操纵logit缩小目标分类和原先分类的差距,进一步增加密钥样本的敏感度。

签名嵌入

成功的签名嵌入是通过重新训练后改变选定密钥样本预测实现的,因此我们需要将产生密钥样本的标签从对抗样本更改为原始标签。

● 投影梯度下降(PGD)产生对抗样本。

● 选取只有达到较大迭代数才能成功生成的当作密钥样本。

假设在迭代 t 时成功生成对抗样本 x’t

把迭代 t-1,t,t+1 的样本都放入嵌入批(embedding batch)中来确保嵌入后的样本的敏感度,而且达到脆弱的特性。

我们通过在验证数据中测量小批量的分类变化,更改数据百分比达到阈值的时候就停止训练。

效用和效率

我们不止关系推理的准确性,还关注嵌入水印后的各类数据。

● 精确度的变化, |C2W - W2C|,都小于 0.1%.

● 只需要训练嵌入批 10 到 150个 epochs.

● 通信的开销也很小。

保真度

● 对自然输入的影响非常小。

脆弱性: 模型微调

我们需要验证我们提出方法的脆弱性,并通过实验进行评估。

ϵa:容错约束。对密钥样本预测错误率小于ϵa时代表认证成功。

由下图,可以看到我么考虑了30%、20%、10%和0%的错误率,但在一般情况下用到的错误率都是小于10%的。

我们可以得出结论,即使在如此轻微的模型修改下,我们提出方法受保护的模型也是无法通过身份验证的,从而可以检测到潜在的完整性破坏或是非法的模型和用户。

脆弱性: 模型剪枝

我们可以看到在模型剪枝之后,即使是在较大的容错约束之下,几乎所有的身份验证也都会失败。

脆弱性: 后门攻击

● 在保持模型准确性的同时改变模型以注入恶意行为

ImageNet (ResNet)

我们观察到,即使进行很小的微调,签名也会被破坏。

与强健的水印的比较

据我们所知,我们的方法是第一个深度神经网络身份验证框架,通过脆弱的签名可以生成身份验证方案来验证用户的身份和完整性。

先前方法中的强健的水印是用来验证知识产权的所有权,而DeepAuth是用来验证用户和模型的完整性。

● DeepAuth 拥有最好的保真度,且实现了最低的精度下降。

总结

● DeepAuth 是第一个 DNN 认证框架。

● 提出了DNN上脆弱签名的概念。

● 我们引入了一种生成密钥样本和嵌入签名的新方法,以确保DNN签名的高效、透明和脆弱特性,可以作为验证DNN系统的有效工具。

整理:林  则

作者:劳颖捷

往期精彩文章推荐

记得关注我们呀!每天都有新知识!

关于AI TIME

AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。

迄今为止,AI TIME已经邀请了800多位海内外讲者,举办了逾400场活动,超400万人次观看

我知道你

在看

~

点击 阅读原文 查看回放!

干货!深度学习模型的水印和验证相关推荐

  1. 干货 | 深度学习模型超参数搜索实用指南

    乾明 整理编译自 FloydHub Blog 量子位 报道 | 公众号 QbitAI 在文章开始之前,我想问你一个问题:你已经厌倦了小心翼翼地照看你的深度学习模型吗? 如果是的话,那你就来对地方了. ...

  2. 用于阿尔茨海默症分期早期检测的多模态深度学习模型

    目前大多数阿尔茨海默症(AD)和轻度认知障碍(MCI)研究使用单一数据模式来预测,例如AD的分期.多种数据模式的融合可以提供AD分期分析的整体视图.因此,我们使用深度学习对成像(磁共振成像(MRI)) ...

  3. 训练好的深度学习模型原来这样部署的!(干货满满,收藏慢慢看)

    点击上方蓝字关注我们 计算机视觉研究院专栏 作者:Edison_G 当我们辛苦收集数据.数据清洗.搭建环境.训练模型.模型评估测试后,终于可以应用到具体场景,但是,突然发现不知道怎么调用自己的模型,更 ...

  4. 判断深度学习模型的稳定性_人工智能干货|一线工程师带你学习深度学习模型量化理论+实践...

    2019年的最后一天,送给自己一份特殊的礼物. 模型量化作为一种能够有效减少模型大小,加速深度学习推理的优化技术,已经得到了学术界和工业界的广泛研究和应用.模型量化有 8/4/2/1 bit等,本文主 ...

  5. 可视化深度学习模型的训练误差和验证误差

    可视化深度学习模型的训练误差和验证误差 #导入基础包和库 # Load libraries import numpy as np from keras.datasets import imdb fro ...

  6. 干货 | 深度学习的可解释性研究(一):让模型「说人话」

    在这篇文章中: 可解释性是什么? 我们为什么需要可解释性? 有哪些可解释性方法? 在建模之前的可解释性方法 建立本身具备可解释性的模型 在建模之后使用可解释性性方法作出解释 关于 BIGSCity 参 ...

  7. 干货 | 深度学习之卷积神经网络(CNN)的模型结构

    微信公众号 关键字全网搜索最新排名 [机器学习算法]:排名第一 [机器学习]:排名第一 [Python]:排名第三 [算法]:排名第四 前言 在前面我们讲述了DNN的模型与前向反向传播算法.而在DNN ...

  8. 手动/自动/交叉验证评估Keras深度学习模型的性能

    Keras是Python中一个的强大而易用的库,主要用于深度学习. 在设计和配置你的深度学习模型时,需要做很多决策.大多数决定必须通过反复试错的方法来解决,并在真实的数据上进行评估. 因此,有一个可靠 ...

  9. 干货!⻘光眼估计和预测的深度学习模型

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 青光眼可对人眼的视力造成不可逆转的损害.青光眼通常通过视野敏感性来诊断.然而,测量视野敏感性是很费时和费力的.最近,光学相干断层扫描已被 ...

最新文章

  1. linux内核网络协议栈--架构分析(十八)
  2. PHPCMS V9 框架代码分析(入口程序)
  3. 48.聊一聊constexpr变量
  4. C#一元运算重载的深入理解
  5. java max sum_杭电1024 Max Sum Plus Plus状压dp(java)
  6. PERL模拟飞鸽传书文件传输总结
  7. TomTom导航新增IFTTT功能 可连接到车主日常生活设备
  8. java复制重命名,JAVA操作文件的复制和重命名失败的原因
  9. Win10微软帐户切换不回Administrator本地帐户的解决方法【亲测】
  10. fasthttp中的协程池实现
  11. html画圣诞树—动态效果展示【炫酷合集 免费获取源码】
  12. CorelDRAWX4的VBA插件开发(十九)渲染显示开关
  13. apollo 横纵向控制改成MPC控制方式
  14. 内网代理——常用工具
  15. 面试逻辑题 三个精灵说真话假话的判断难题
  16. 怎么让代码的逻辑更清晰?
  17. JAVA实现邮箱注册功能
  18. appcan 开发步骤
  19. 毕业设计-基于SpringBoot幼儿园管理系统
  20. 在模仿学习中进步的智能机器人

热门文章

  1. win8系统保护服务器,Win8整合SmartScreen升级功能保护系统安全
  2. mc服务器物品展示,我的世界物品展示框怎么做
  3. 查询选修了2号和3号课程的学生学号及姓名。
  4. 对于工作学习的一些感想
  5. CSS实现两行input框样式
  6. pandas中isin()函数及其逆函数使用
  7. 让最好用的印象笔记更好用
  8. 住房公积金联名卡密码修改步骤
  9. VMware无法启动虚拟机里面没网络解决方法
  10. OS和Linux笔记