论文研读|Protecting Intellectual Property of Deep Neural Networks with Watermarking

在这里插入图片描述

目录

  • 论文信息
  • 文章简介
  • 研究动机
  • 研究方法
    • 水印生成
    • 水印嵌入
    • 版权验证
  • 实验结果
    • 有效性(Effectiveness)
    • 高效性(Converge Speed)
    • 保真度(Functionality)
    • 鲁棒性(Robustness)
      • Anti-剪枝攻击(Pruning)
      • Anti-微调攻击(Fine-tuning)
    • 安全性(Security)
      • Anti-模型逆向攻击(Model Inversion)
  • 方法评估
  • 相关文献


论文信息

论文名称:Protecting Intellectual Property of Deep Neural Networks with Watermarking
作者:IBM Research 团队
发表年份:2018年
发表会议:ASIACCS

文章简介

本文是第一篇提出「黑盒模型水印」的文章,文章借鉴模型后门攻击的思想,通过构造触发集的方式,将水印嵌入到模型中;在版权验证阶段,验证者通过输入触发集中的图片,验证水印的存在与否。

研究动机

基于白盒水印的版权认证需要验证者掌握模型的结构和参数,而在现实生活中,模型往往以 API 接口的形式被调用,于是基于白盒水印的应用场景受限。基于此,本文便提出「黑盒水印」的思想,确保验证者在模型结构和参数未知的情况下,验证水印的存在与否。
在这里插入图片描述

研究方法

考虑到在验证阶段无法获取模型结构和参数信息,本文提出利用输入与输出的映射关系嵌入水印,即给定特定的水印图像,模型若能够输出预设的水印标签,则认为该模型含有水印。其中,水印图像水印标签构成触发集。
在这里插入图片描述

本文提出的完整水印框架如上图,分为「(1)水印生成(2)水印嵌入和(3)版权验证」三个阶段。

水印生成

本文借鉴AI安全中后门攻击的思想,将水印嵌入过程看作模型对另一功能的学习,因此,水印嵌入之前要构造触发集,触发集是基于训练集中的部分训练样本改造以后的样本,图像分类任务的训练样本即为图像和它对应的标签。所以,在水印生成阶段,要分别对图像和标签进行改造,将图像变换为水印图像,并修改对应的标签为水印标签

本文将水印标签预设为airplane。关于图像变换方法,本文提出如下三种,分别是(b) W M c o n t e n t WM_{content} WMcontent:在原始图像上添加有意义的内容(本文中使用灰色固定位置的TEST字样)(c) W M u n r e l a t e d WM_{unrelated} WMunrelated:将原始图像替换为训练集外的图像(本文中使用手写体图像1)(d) W M n o i s e WM_{noise} WMnoise:在原始图像上添加预设的噪声(本文中使用的高斯噪声)
在这里插入图片描述
之所以选择不同方式对图像进行变换,是为了测试DNN对于所要嵌入水印的学习能力。

水印嵌入

构造触发集之后,将它与其余训练数据混合,共同作为模型的训练样本,模型在训练过程中完成水印的嵌入,完整流程如下:
在这里插入图片描述

版权验证

D w m D_{wm} Dwm中的 x w m x_{wm} xwm输入可疑模型中,若模型的预测标签为 y w m y_{wm} ywm,说明该模型含有水印,证实了模型被窃取的事实。

实验结果

应用场景:图像分类任务
数据集:MNIST & CIFAR-10

有效性(Effectiveness)

在这里插入图片描述

高效性(Converge Speed)

在训练期间,添加水印的模型收敛速度与不添加水印的模型持平,说明水印的添加对训练代价的影响程度较低。
在这里插入图片描述

保真度(Functionality)

添加水印的模型对原始任务的性能影响较低,说明水印具有较好的保真度。
在这里插入图片描述

鲁棒性(Robustness)

本文主要对水印的抗剪枝攻击和抗微调攻击两个角度进行鲁棒性评估。

Anti-剪枝攻击(Pruning)

结合Table2观察发现,在保证模型可用的情况下,剪枝攻击对水印的影响程度较小。
在这里插入图片描述

Anti-微调攻击(Fine-tuning)

在这里插入图片描述

安全性(Security)

安全性的目标是衡量嵌入的水印是否易于被未经授权的各方识别或修改。这里通过水印的抗模型逆向攻击能力对水印的安全性进行评估。

Anti-模型逆向攻击(Model Inversion)

模型逆向攻击旨在通过模型的输出逆推出训练数据,从而暴露水印。在本文的场景中,模型逆向攻击的目标就是在攻击者已知水印标签的情况下,逆推出对输入图像的变换,即重构出水印图像,从下图可以看出,此种水印方法能够很好地抵御该攻击方式。
在这里插入图片描述
在这里插入图片描述

方法评估

(1)该方法需要掌握模型的API调用接口,若模型为非公开服务状态,此方法失效。
(2)模型窃取攻击:攻击者可以利用查询访问和结果机密性之间的关系来窃取机器学习模型的参数。使用本文方法添加水印的模型仍有被窃取的风险。 [ 53 ] ^{[53]} [53]
(3)逃逸攻击:由于该方法是基于API查询的方式验证水印的存在与否,因此,若攻击者识别出验证者的异常查询并中断查询,该水印框架就会失效。 [ 39 ] ^{[39]} [39]


相关文献

[39] Meng et al. MagNet: a Two-Pronged Defense against Adversarial Examples. CCS, 2017.
[53] Florian Tramer et al. Stealing Machine Learning Models via Prediction APIs. USENIX, 2016.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/154215.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

镜像仓库harbor安装部署

基础配置 systemctl stop firewalld && systemctl disable firewalld setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/configharbor wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install -y docker-ce docke…

Python中套接字实现服务端和客户端3-2

2.3 监听套接字 通过listen()方法监听套接字。该方法的格式如下所示。 socket.listen([backlog]) 其中,参数backlog是一个可选项,表示等待服务器接收连接的客户端的数量。使用listen()方法监听套接字的代码如下所示。 s.listen(1) 当没有客户端连接…

OJ练习第183题——移动机器人

移动机器人 力扣链接:2731. 移动机器人 题目描述 示例 官解思路 当两个机器人相撞时,它们会沿着原本相反的方向移动。由于机器人之间并没有任何区别,相撞可以看做是穿透,原本左边的机器人相撞后交换为右边的机器人&#xff0c…

android Google官网 :支持不同的语言和文化 rtl / ltr : 本地化适配:RTL(right-to-left) 适配

参考 google官网: 支持不同的语言和文化 应用包含可能专门针对特定文化而设计的资源。例如,应用可以包含针对特定文化的字符串,这些字符串将转换为当前语言区域的语言。 将具有文化特异性的资源与应用的其他资源分开是一种很好的做法。And…

HTTPS建立连接的过程

HTTPS 协议是基于 TCP 协议的,因而要先建立 TCP 的连接。在这个例子中,TCP 的连接是在手机上的 App 和负载均衡器 SLB 之间的。 尽管中间要经过很多的路由器和交换机,但是 TCP 的连接是端到端的。TCP 这一层和更上层的 HTTPS 无法看到中间的包…

基于springboot实现家具销售电商平台管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现家具销售电商平台管理系统演示 摘要 社会的发展和科学技术的进步,互联网技术越来越受欢迎。网络计算机的交易方式逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。互联网具有便利性,速度快,效率高&am…

NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器

自然语言处理是机器学习和人工智能的一个迷人领域。这篇博客文章启动了一个具体的 NLP 项目,涉及使用维基百科文章进行聚类、分类和知识提取。灵感和一般方法源自《Applied Text Analysis with Python》一书。 一、说明 该文是系列文章,揭示如何对爬取文…

SQL多表设计--一对多(外键)

-- 完成部门和员工的-- 选择当前db03 这个数据库use db03;-- 查看当前选中的数据库select database();-- 创建员工表create table tb_emp (id int unsigned primary key auto_increment comment ID,username varchar(20) not null unique comment 用户名,password varchar(32)…

多线程(线程互斥)

抢票代码编写 学习了前面有关线程库的操作后,我们就可以模拟抢票的过程 假设我们创建四个线程,分别代表我们的用户 然后设定总票数为1000张,四个线程分别将进行循环抢票操作,其实就是循环对票数进行打印,并进行对应的…

粘性文本整页滚动效果

效果展示 CSS 知识点 background 相关属性综合运用position 属性的 sticky 值运用scroll-behavior 属性运用scroll-snap-type 属性运用scroll-snap-align 属性运用 整体页面效果实现 <div class"container"><!-- 第一屏 --><div class"sec&qu…

高级深入--day29

入门案例 学习目标 创建一个Scrapy项目定义提取的结构化数据(Item)编写爬取网站的 Spider 并提取出结构化数据(Item)编写 Item Pipelines 来存储提取到的Item(即结构化数据)一. 新建项目(scrapy startproject) 在开始爬取之前,必须创建一个新的Scrapy项目。进入自定义的项目目…

Redis三种模式(主从复制,哨兵,集群)

Redis三种模式&#xff08;主从复制&#xff0c;哨兵&#xff0c;集群&#xff09; 一、主从复制1.1、主从复制概述1.2、 Redis主从复制流程1.3、 Redis主从复制作用1.4 、部署Redis 主从复制 二、Redis 哨兵模式2.1、哨兵模式的原理2.2、哨兵模式的作用2.3、哨兵的结构组成2.4…

PHP聊天系统源码 在线聊天系统网站源码 后台自适应PC与移动端

程序前台与后台自适应PC与移动端&#xff0c;支持一对多交流&#xff0c;可以自由创建新的房间与解散创建的房间&#xff0c;集成签到功能&#xff0c;等级功能&#xff0c;房间创建者可以对用户进行禁言、拉黑处理&#xff0c;房间可以由房间创建者自由设置进入密码&#xff0…

【软件测试】JUnit详解

文章目录 一. Junit是什么?二.Junit中常见的注解1. Test2. BeforeAll & AfterAll3. BeforeEach & AfterEach4. ParameterizedTest参数化5. Disabled6. Order 三. 测试套件1. 通过class运行测试用例2. 通过包运行测试用例 四. 断言 一. Junit是什么? JUnit是一个用于…

TCP协议总结

一、TCP协议概念。 TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是一种面向连接的、可靠的传输层协议。它主要用于在计算机网络中&#xff0c;通过建立可靠的通信连接来进行数据传输。 TCP协议的特点如下&#xff1a; 可靠性&#xf…

unity操作_光源组件 c#

准备工作 添加资源导入后先不管&#xff0c;现在主要学习自带Directional Light 我们首先创建一个平面Plane 然后重置一下位置 然后创建一个Cube 也重置一下位置然后修改y0.5刚好在这个平面上 ctrl d复制一个Cube 修改位置和旋转角度 给物体一个颜色 接下来创建一个点光源 我们…

大型语言模型:RoBERTa — 一种鲁棒优化的 BERT 方法

一、介绍 BERT模型的出现导致了NLP的重大进展。BERT的架构源自Transformer&#xff0c;在各种下游任务上实现了最先进的结果&#xff1a;语言建模&#xff0c;下一句预测&#xff0c;问答&#xff0c;NER标记等。 大型语言模型&#xff1a;BERT — 来自变压器的双向编码器表示 …

用于物体识别和跟踪的下游任务自监督学习-2-背景

2.1用于现实世界应用的计算机视觉的基本概念 有许多中间步骤涉及应用计算机视觉算法来解决现实世界中的问题。机器视觉算法从光学传感器的图像采集开始,并最终解决现实世界的决策任务,如自动驾驶汽车、机器人自动化和监控。设计现代计算机视觉算法包括传感器数据编码、解码、…

php单独使用think-rom数据库 | thinkphp手动关闭数据库连接

背景&#xff08;think-orm2.0.61&#xff09; 由于需要长时间运行一个php脚本&#xff0c;而运行过程并不是需要一直与数据库交互&#xff0c;但thinkphp主要是为web站点开发的框架&#xff0c;而站点一般都是数据获取完则进程结束&#xff0c;所以thinkphp没提供手动关闭数据…

底部Taber的抽取

1.会抽取一个布局样式 2.布局样式里面抽取一个底部样式 这个是layout的代码 <template><view class"layout-wrapper"><view class"layout-content"><slot></slot></view><!-- 底部 --><Tabbar :activeInde…