论文研读|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.hqwc.cn/news/127855.html

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

相关文章

【数据结构】迷宫问题DFS非递归(c语言实现)

本来之前写过一个推箱子,就想着写个迷宫游戏,因为想着推箱子游戏里面也有墙,也有玩家的移动,比推箱子简单的是还不用判断前面是否有箱子的情况,但是自己写的迷宫游戏如果自己随机生成的迷宫地图的话,不一定…

Uniapp 新手专用 抖音登录 获取用户头像、名称、openid、unionid、anonymous_openid、session_key

TC-dylogin 一定请选择 源码授权版 教程 第一步 将代码拷贝至您所需要的页面 该代码位置:pages/index.vue 第二步 修改appid和secret 第三步 获取appid和secret 获取appid和secret链接 注意事项 为了安全,我将默认的自己的appid和secret在云函数中删…

RPC分布式网络通信框架项目

文章目录 对比单机聊天服务器、集群聊天服务器以及分布式聊天服务器RPC通信原理使用Protobuf做数据的序列化,相比较于json,有哪些优点?环境配置使用项目代码工程目录vscode远程开发Linux项目muduo网络库编程示例CMake构建项目集成编译环境Lin…

MySQL:主从复制-基础复制(6)

环境 主服务器 192.168.254.1 从服务器(1)192.168.254.2 从服务器(2)192.168.253.3 我在主服务器上执行的操作会同步至从服务器 主服务器 yum -y install ntp 我们去配置ntp是需要让从服务器和我们主服务器时间同步 sed -i /…

探秘小米增程汽车与仿生机器人的未来:AI大模型的潜在影响及苹果iPhone15Pro发热问题解决之道

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

一本没有任何数学公式的自然语言处理入门书

ChatGPT 时代来了,AI 从旧时王谢堂前燕,飞入寻常百姓家。越来越多非 AI 领域 的软件开发者涌进 NLP(自然语言处理)领域。在这个快速发展的时代,如果这些软件开发 者要像读书那样先读 4 年本科、2 年硕士、3 年博士才能搞 AI,风口早…

Ubuntu20.04.1编译qt6.5.3版mysql驱动

下载qtbase6.5.3源码,将plugin中sqldrivers源码拷至于项目工程中,使用qtcreator打开文件 1、下载mysql开发库 sudo apt-get update sudo apt-get install build-essential libmysqlclient-dev 2、在msyql子目录中CMakeLists.txt第一行添加头文件、引…

scala数组函数合集

目录 1. 添加类函数 2.生成类函数 3.删除类函数 4.查找类函数 5.统计类函数 6.修改类函数 7.判断类函数 8.获取集合元素 9.集合操作类函数 10.转换类函数 11.工具类函数 12.集合内与集合间计算函数 在 scala 中Array数组是一种可变的、可索引的数据集合 创建数组…

聪明应对工程项目管理难题的方法和技巧

对于国内的工程项目管理中,经常需要面对以下几个问题: 1.项目问题相互牵扯,积累成堆:通常一个问题不能及时的解决,就会导致更多的任务无法完成,问题越堆积越严重。 2.项目延期,增加成本&#xf…

2023年H1汽车社媒营销趋势报告

2023上半年车市“内卷”,汽车营销玩法越来越多样,品牌的矩阵式营销也成为头部车企重点营销战略。 据乘联会预测,2023下半年车市将受到二季度价格战的透支,需要一定修复期。在整体形势较不利的情况下,车企如何破局实现销…

【无标题】Delayed延迟队列不工作

背景 项目中使用java 自带的延迟队列Delayed,只有添加进队列的消息,并没有被消费到 版本 jdk1.8 问题原因 上一个消费队列出现异常并且没有捕获,下一个队列就没有进行消费 复现代码 没有抛异常的情况下 package com.ccb.core.config.…

微信小程序button按钮去除边框去除背景色

button边框 去除button边框 在button上添加plain“true”在css中添加button.avatar-wrapper {background: none}用于去除button背景色在css中添加button.avatar-wrapper[plain]{ border:0 }用于去除button边框