当前位置: 首页 > news >正文

【大模型水印论文阅读2】前缀文本编码、均匀性约束

@TOC


请添加图片描述

🌈你好呀!我是 是Yu欸
🚀 感谢你的陪伴与支持~ 欢迎添加文末好友
🌌 在所有感兴趣的领域扩展知识,不定期掉落福利资讯(*^▽^*)

写在最前面

版权声明:本文为原创,遵循 CC 4.0 BY-SA 协议。转载请注明出处。

第一个问题关于语义编码过程,第二个关于水印logits的数学约束。

关于前缀文本编码,需要强调三个关键点:
首先是均匀性约束——随着生成过程不断增长;
其次是BERT的编码方式,这里论文用的是[CLS]向量作为全局表示;
最后是固定长度的必要性,否则无法输入后续网络。

用户可能混淆了token嵌入和文本嵌入的区别,需要明确这是句子级表示。

至于均匀性约束,对“均值为0”的实际作用存在疑惑。
这里要区分两个层面:
数学上是通过损失函数强制实现的(公式5),工程上是为了防止统计攻击。
可以类比密码学中的均匀分布要求,比如如果某些token总是获得正logits,攻击者只需提高这些token出现频率就能破坏水印。
论文附录D提到的γ参数调整其实是个很好的延伸案例。

更直观的例子说明,比如当输入“The cat sat”和“A feline perched”时,虽然token完全不同,但BERT输出的768维向量余弦相似度可能达0.92,因此水印logits也相似。而均值为0的特性可以想象成对所有token“雨露均沾”,不会让某些token总是受益。


1. 前缀文本的语义编码:e_i = E(t_{:i-1})

含义
  • t_{:i-1}:生成第 i 个token时,模型已生成的全部前序文本(token序列)。
    例如:生成句子的第5个词时,t_{:4} = ["The", "cat", "sat", "on"]

  • E:预训练的语义编码模型(如BERT),将变长文本映射为固定维度的语义向量
    例:输入 "The cat sat on" → 输出768维向量 e_i

    BERT取[CLS]标记或平均池化输出作为文本表示

关键特性
  • 语义抽象
    向量 e_i 捕捉前序文本的整体语义而非表面形式。
    例:["The", "cat", "sat"]["A", "feline", "perched"] 的嵌入向量余弦相似度≈0.9
  • 长度无关
    无论前序文本多长,输出固定维度向量(如768维)。
  • 位置不变
    同义改写或语序调整不会显著改变 e_i(语义空间连续性)。

2. 均匀性约束:水印logits均值为0

含义
  • 水印logits:模型为每个token生成的水印偏移分数 P_W ∈ R^{|V|}|V|=词表大小)
    例:P_W = [0.3, -1.2, 0.8, ...](每个值对应词表中一个token的偏移)
  • 约束要求
    \frac{1}{|V|}\sum_{j=1}^{|V|} P_W^{(j)} = 0
    
    即:所有token的水印偏移分数总和为0(正负抵消)。
为何需要此约束?
  • 消除统计偏差
    • 若无约束 → 某些token总是获得正偏移(如常见词"the")
    • 结果:这些token在生成文本中频率异常高 → 攻击者可通过词频分析破解水印(如图)
      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
      KGW-1的绿名单词频明显高于普通文本
  • 保障生成质量
    均值为0确保水印不系统性偏向某些token,避免文本失真(如重复出现特定词)。
实现方式

通过损失函数强制约束(论文公式5):

\mathcal{L}_n = \underbrace{\sum_{i}|\sum_{j}P_W^{(j)}|}_{\text{行和=0}} + \underbrace{\sum_{i}|\sum_{j}P_W^{(j)}|}_{\text{列和=0}} + \lambda_1\sum_{i}\sum_{j}|R - |P_W^{(j)}|| 
  • 前两项:约束每行(每个位置)和每列(每个token)的偏移均值为0
  • 第三项:使偏移绝对值接近 R(控制强度)
效果示例
约束情况水印logits示例问题
无约束["the": +0.8, "a": +0.6, "cat": -1.4]“the”/"a"频率虚高,易被检测
均匀约束["the": +1.2, "a": -0.3, "cat": -0.9]各token偏移正负平衡,无统计异常

总结:两个设计的关联性

  1. 语义向量 e_i → 将离散token序列映射到连续语义空间,解决改写鲁棒性问题。
  2. logits均值为0 → 在语义空间中均匀扰动所有token,解决安全漏洞问题。

二者共同实现核心目标:水印强度与文本语义绑定,而非表面形式绑定


hello,我是 是Yu欸 。如果你喜欢我的文章,欢迎三连给我鼓励和支持:👍点赞 📁 关注 💬评论,我会给大家带来更多有用有趣的文章。
原文链接 👉 ,⚡️更新更及时。

欢迎大家点开下面名片,添加好友交流。

相关文章:

  • Java--数组
  • 基于springboot的火锅店点餐系统
  • OpenCV图像添加水印
  • RocketMQ 消息长轮询
  • Day44 预训练模型
  • Python实例题:文件内容搜索工具
  • 探秘AI的秘密:leaked-system-prompts
  • 视图、索引介绍
  • Java底层原理:深入理解JVM内存模型与线程安全
  • 从零开始的二三维CAD|CAE轻量级软件开发:学习以及研发,Gmsh的脚本编辑器设计!
  • 微软全新开源的Agentic Web网络项目:NLWeb详解
  • 性能测试常见指标与瓶颈分析方法
  • [Ethernet in CANoe]1--SOME/IP arxml文件格式的区别
  • 导出docker-compse.yml中docker镜像成tar文件
  • 微调大语言模型后,如何评估效果?一文讲清
  • 领域驱动设计(DDD)【18】之实现聚合的不变规则和持久化
  • 从0到100:房产中介小程序开发笔记(中)
  • day44/60
  • uniapp消息推送
  • Python搭建HTTP服务,如何用内网穿透快速远程访问?