1

SoK: Watermarking for AI-Generated Content

第一章节(Introduction)

“Distinguishing between human-created and AI-generated content is becoming increasingly challenging, necessitating the development of effective techniques to maintain transparency,accountability, and the responsible use of GenAI.”

区分人类创造的内容和人工智能生成的内容正变得越来越具有挑战性,需要开发有效的技术来保持透明度、问责制和负责任地使用GenAI。

“While watermarking is not a silver bullet for addressing all risks associated with GenAI, it can play a crucial role in enhancing AI safety and trustworthiness by combating misinformation and deception.”

虽然水印并不是解决与人工智能相关的所有风险的灵丹妙药,但它可以通过打击错误信息和欺骗,在提高人工智能的安全性和可信度方面发挥关键作用。

image-20241203151752811

首先,抛出问题:我们需要一个能区分AIGC和人工生成内容的技术

其次,说出目前使用的解决方案,并突出它们的缺点;

  • 可能的方案一:记录所有AIGC的内容;但缺点有三,1、需要大量存储空间与跨组织协调;2、隐私保护问题;3、无法应用于开源模型
  • 可能的方案二:使用post-hoc的检测方式;通过AIGC的特征来区分;缺点,这类检测方式有时间局限性,随着AIGC技术快速升级,生成内容与真实内容越发难的被划分出来。

最后,抛出预期的解决方案:水印。

  • 与其被动地对生成内容检测,不如“主动出击”
  • 优点:水印技术不受GenAI模型不断发展的能力的限制,而是提供了一种深思熟虑的、持久的识别手段
  • 优点:水印可以在以后检测到,允许在不依赖于固有或统计差异的情况下进行验证,从而提供了一种更有弹性的方法来区分机器生成的内容和人类工作
  • 上述两个优点,正好解决了方案一与方案二的缺点

“Unlike methods that passively attempt to detect incidental differences between human and AI generated content, watermarking involves actively embedding an imperceptible signal within GenAI output at the time of its generation”

被动地尝试检测人类和人工生成内容之间偶然差异的方法不同,水印涉及在生成GenAI输出时主动嵌入难以察觉的信号。

随后,写一段本文后面几个章节的工作总览

第二章节

首先,介绍了post-hoc 的分类

1、zero-shot检测,收集统计特征来判断;

2、training-based检测,使用“包含人类与AIGC”的数据集进行训练;

post-hoc检测方法拥有较差的性能,此外对于不在数据集中的新模型,此检测方式即会失败

其次,简单介绍了水印的历史与分类(可见,不可见)

随后,强调GenAI时代对水印的急需性,从以下五点

1、Combating Misinformation

在人工智能生成的内容中添加水印可以帮助追踪信息来源,从而有助于识别错误信息和虚假信息。

2、Enhancing Fraud Detection

生成模型可以产生定制的诈骗信息,使传统的检测方法不那么有效。水印可以在识别和减轻这种复杂的骗局企图方面发挥关键作用,加强反骗局的努力

3、Deterring Academic Dishonesty.

水印可以帮助防止在一些领域作弊,比如学生论文,在这些领域验证文本是人类写的

4、Avoiding Training Data Contamination

如果模型不经意地在它们自己生成的输出上进行了训练,就会导致“模型崩溃”,在退化数据上进行迭代训练会降低生成内容的整体质量。水印可以帮助标记人工智能生成的内容

5、Providing Signatures and Attribution.

水印可以作为签名,允许用户验证内容是由特定模型生成的。此外,水印可以帮助证明归因于模型的有害内容是否真的由该模型生成。

最后,强调了政府与工业届的政策

1、政府:包含美国、欧盟、中国等国家对AI的法规限制

2、工业届:C2PA与Google SynthID

第三章节(What’s a Watermark)

3.1质量

首先,介绍水印的构成(嵌入&提取)两大部分

设想个应用场景(在AIGC时代),使用模型M和提示词π\pi生成一个内容xx(视频、音频、文本、图像),随后使用一个水印模块WatermarkM(π)Watermark^M(\pi)->xx表示在水印模块下生成的内容

并根据水印类型,划分成zero-bit水印与multi-bit 水印($ m \in {0,1} ^k),则更新后的演示公式是),则更新后的演示公式是Watermark^M(m,\pi)>->x$

相应的,还有Detect(x)Detect(x)来判断是否存在水印,相应的也分成了

  • Detect(x)Detect(x) -> {true,false}\{true, false\} 进行zero-bit水印判断
  • Detect(x)Detect(x) -> {0,1}k\{0,1\}^k 进行水印recover

另外,还有一种Attribute(X)Attribute(X)-> {true,false}\{true, false\}

Detect is used, for instance, to identify misinformation being spread by malicious users of the model,Attribute is used to accuse the model owner of producing problematic content

DetectDetect用于识别模型恶意用户传播的错误信息,AttributeAttribute用于指责模型所有者产生有问题的内容

其次,介绍水印对质量的影响

经验质量验证和可证明性质量验证(heuristic versus provable)

  • heuristic的更偏向于经验向,水印可能会严重影响实验中未捕获的提示或任务的质量。此外,实验中使用的质量度量可能存在偏差或不可靠。

  • provable可证明质量概念适用于任何可能的提示,并确保水印引入的任何偏差是有限的,甚至不存在。

单反应和多反应(single-response versus multi-response)

一些保证仅适用于水印模型的单个响应。(例如,一些经验质量验证方法,低失真和无失真)

例如,图像水印可能会导致模型只输出狗的图像,但这些图像质量极高。该水印将满足单响应质量概念,因为这种偏差只会出现在多个响应中。

另一方面,其他概念表明,任何数量的水印响应都是高质量的(例如,更强的经验质量验证方法和不可检测性)

经验质量验证(Empirical Quality Validation)

使用其它模型来给水印内容的质量进行打分(HPSv2),或者让用户来比较水印与无水印内容的质量,但实际上,“经验质量”并没有大规模的使用,除了SynthID

SynthID在语法、相关性、正确性、有用性和整体质量5个类别中,使用人工评价来评价水印的效果。他们还根据经验评估了他们提出的方法的检出率,并表明它具有低假阳性率

经验质量验证通常与下面详细说明的可证明的质量验证一起使用。

Distortion-free schemes ensure that the quality is preserved for any single response from the model, but do not guarantee anything about the quality across multiple generations

无失真方案确保模型的任何单个响应都能保持质量,但不能保证多代的质量

3.2 假阳率

在水印方案中,检测器(Detector)的一个重要特性是具有较低的误报率(false positive rate)

3.3 假阳率与鲁棒性

3.4 不可伪造性(Unforgeability)

不可伪造性保证了没有嵌入密钥的攻击者无法生成看似带有水印的内容,除非是完全复制水印模型的输出内容。

特性:确保只有拥有生成密钥嵌入密钥的人才能嵌入有效的水印。

安全性:防止攻击者伪造水印内容,误导他人认为某内容来自特定模型

实际意义

  • 一个健全的水印方案必须确保攻击者在没有嵌入密钥的情况下,难以伪造带水印的输出。
  • 这一特性为水印系统增加了一层可信度,尤其是在涉及责任追究和法律影响的场景中。

伪造攻击问题:如果攻击着拿着别人生成的图A,进行逆向后得到初始噪声,再生成一张有害图B

解决方案:可以通过C2PA解决,假如图A的水印内容(C2PA凭证)已经记录了图A的提示词,哪怕通过图B提取出了水印(即C2PA凭证),可以通过提示词的比对,简单判断出图B的内容与C2PA中的不匹配,说明图像遭到了攻击。

在水印的设计中,Attribute(归因)Detect(检测)是两个关键的功能模块,分别对应不同的应用需求和安全性目标。以下是对两者区别的详细说明,尤其是Attribute的功能和重要性:

Attribute(归因)
  1. 核心目标
    归因的核心目标是确定某个内容是否来自一个特定的水印模型。换句话说,Attribute功能用于对内容的来源进行可靠的追溯和责任划分。

  2. 属性特点

    • 不可伪造性(Unforgeability)
      归因功能需要确保攻击者在不知道归因密钥(Attribute Key, (ak))的情况下,无法生成带有有效水印但不属于模型真实输出的内容。这种不可伪造性对于追责至关重要,特别是在需要证明某模型生成了有害内容时。
    • 独立性
      归因算法及其密钥 (ak) 是独立于检测功能的,避免了归因和检测的目标相互干扰。归因的重点在于精确性和不可伪造性,而非鲁棒性。
    • 公开性选项
      在一些方案中,可以公开归因密钥 (ak) 而不影响不可伪造性。例如,使用数字签名技术,可以允许任何人验证内容是否来自某模型,但无法伪造这种内容。
  3. 应用场景

    • 责任追溯
      如果需要对模型生成的有害内容追责,例如证明某模型输出了虚假或误导性信息,归因功能是不可或缺的。
    • 法律和伦理保障
      当水印方案涉及敏感内容时,归因功能可以为模型的使用者或开发者提供明确的责任界定。

对于平台来说,如果有人想诬陷某种有害内容(假设是个图片A)是使用华为的模型生成的,此时我们对图片A进行归因,如果能解出来它的密钥,则确实是华为模型生成的;否则,就断定不是华为模型生成的,所以归因的重点在于精确性和不可伪造性

Detect(检测)
  1. 核心目标
    检测功能的目标是确认某个内容是否包含水印,而不关心内容的具体来源。它通常被设计为鲁棒的,也就是说,即使内容经过一定程度的修改(如小幅篡改或噪声添加),检测功能仍然可以识别出水印的存在。

  2. 属性特点

    • 鲁棒性(Robustness)
      检测功能强调在内容被轻微修改后,仍然能够识别水印的能力。这对防止简单的攻击和篡改很重要。
    • 低误报率
      检测需要确保尽量减少误报(非水印内容被判定为有水印)和漏报(有水印内容被判定为没有水印)。
  3. 应用场景

    • 内容筛选
      在大规模内容分发中,可以快速检测内容是否带有水印,从而决定是否进一步处理。
    • 版权保护
      用于检查内容是否属于某水印模型的输出,但通常不追溯具体的生成责任。
归因与检测的主要区别
特性 Attribute(归因) Detect(检测)
核心目标 确定内容来源,追溯责任 确认内容是否带有水印
安全性需求 强调不可伪造性 强调鲁棒性
密钥的使用 使用归因密钥(Attribute Key, (ak)) 使用检测密钥(Detect Key, (dtk))
是否允许公开密钥 可以公开 (ak),前提是保障不可伪造性 公开 (dtk) 可能影响鲁棒性
典型应用场景 内容归因、责任划分、法律证明 快速检测、筛选内容、版权保护

归因功能(Attribute)是水印方案中实现不可伪造性的关键部分,旨在提供一种可靠的方法来追溯内容来源并划分生成责任。它的独特性在于,能够确保即使攻击者有意尝试,也无法伪造有效的归因内容。这种特性使归因功能在敏感场景(如法律诉讼、内容归责)中极为重要。与之相对,检测功能更偏向于应用层面的水印存在性验证,其核心是鲁棒性和效率。

我们得明确水印的目标,溯源本质是一种归因,要强调不可伪造性

1、有人用华为模型生成有害内容,需要溯源到用户,需要“归因”,此时不需要有强鲁棒性

2、有人想用有害内容诬陷华为,需要不可伪造性来证明,该内容不是华为生成的,需要“归因”,此时不需要有强鲁棒性

3、如果需要判断某个内容是否是AI生成,可以用“检测”,需要有强鲁棒性

**归因(Attribute)检测(Detect)**看似在功能上有一定重叠,但它们的目标和设计侧重点不同:

  1. 归因确实能完成检测
    归因功能本质上包含了“检测是否带有水印”的能力。既然它能判断某个内容是否来自特定模型,那么它自然也能判断内容是否包含水印。然而,归因强调的是不可伪造性,因此它可以牺牲一些对鲁棒性的需求。

  2. 检测专注于鲁棒性
    检测的目标是即便内容被篡改(如添加噪声、调整格式),仍然能够识别出水印存在。这种鲁棒性使得检测功能在版权保护和内容筛选等场景中非常高效。


同时满足归因和检测的需求

是的,可以设计一种混合方案,满足两者的需求。具体方法如下:

分离密钥和算法

可以将归因和检测分开设计,但在水印生成时统一实现。这样在检测和归因时可以根据需求选择不同的算法和密钥:

  • 归因算法与密钥(Attribute and (ak)):
    • 强调不可伪造性,确保内容来源可靠。
    • 可以设计为更严格,但允许牺牲鲁棒性。
  • 检测算法与密钥(Detect and (dtk)):
    • 强调鲁棒性,确保即使内容被修改也能检测出水印。
    • 允许更宽松的验证条件。

通过这种设计,归因和检测可以基于同一个水印生成算法,但在实际使用时根据需求分别调用不同的功能。


统一的水印生成机制,分层次需求满足

设计一个同时支持归因和检测的水印方案,允许在不同场景下权衡两者:

  1. 水印生成阶段

    • 使用单一算法生成水印,水印中包含既可供检测的鲁棒部分,又包含归因所需的不可伪造部分。
    • 例如,基于加密签名的方法,生成的水印既包含公开检测的信息,也包含只有持有私密密钥才能验证的归因信息。
  2. 检测阶段

    • 使用检测密钥 (dtk) 快速验证水印是否存在。
    • 重点在于效率和鲁棒性,适合大规模内容筛选。
  3. 归因阶段

    • 使用归因密钥 (ak) 进一步验证内容来源。
    • 重点在于不可伪造性,适合小范围高精度分析。

动态水印切换

现代水印算法可以根据应用场景动态选择功能。例如:

  • 在常规内容筛选中,使用鲁棒的检测算法。
  • 当需要追溯责任时,再切换到严格的归因算法。

这样的动态切换可以通过密钥分级算法模块化实现,确保归因和检测在同一个水印系统中共存且高效。


小结

归因和检测虽然目标不同,但它们可以通过统一的水印生成机制、分离的密钥和算法实现共存。具体来说:

  • 检测满足效率和鲁棒性需求。
  • 归因满足不可伪造性需求。
    通过分层设计,可以在一个系统中同时实现归因和检测的需求,适应不同的应用场景。

3.5 嵌入“消息”

指嵌入用户信息,模型信息,提示词,生成时间等这种定制化内容,类似于C2PA

3.6 高效计算

带水印的生成过程应该施加最小的计算开销,确保在计算、内存使用和吞吐量方面,计算效率与未带水印的生成过程相当。显著的计算复杂性会阻碍现实世界的部署,使模型对实际应用不那么有吸引力。

检测、解码和归因的计算需求也应保持在最低限度。

第四章节 (Threat Models)

介绍了一些攻击方式

1、水印去除

2、伪造水印

攻击者试图创建被错误地分类为水印的内容,尽管没有被指定的水印方案处理,从而实现一些诬陷(参考第三章节的不可伪造性)

3、秘密信息提取

更高级的对抗目标是提取水印方案中使用的密钥。这种攻击比移除或锻造攻击要困难得多。在大多数情况下,如果攻击者成功地提取了密钥,他们可以很容易地删除或伪造水印。然而,重要的是要注意,提取密钥并不是执行删除或伪造攻击的先决条件

Phoneme-Level Feature Discrepancies: A Key to Detecting Sophisticated Speech Deepfakes

Speech deep fakes are synthetic recordings that closely mimic a person’s speech, making it challenging to verify the authenticity of information (Tan et al. 2024)

Advancements in deep learning technologies for generating realistic speech have made it increasingly difficult to detect these forgeries with conventional methods (Zhang et al. 2024).

2024年的论文,讲音频可以模仿人类音频的风险