做网站注册哪类商标,ui设计培训平台,河北建设集团官网,如东做网站公司摘要水印技术为通过在数据中嵌入隐蔽信息来保障数据安全提供了一种很有前景的方法。该领域的一个首要挑战在于#xff0c;在水印嵌入过程中保持原始数据的分布。我们的研究拓展并优化了现有的水印框架#xff0c;着重强调了保持分布#xff08;DiP#xff09;水印的重要性。…摘要水印技术为通过在数据中嵌入隐蔽信息来保障数据安全提供了一种很有前景的方法。该领域的一个首要挑战在于在水印嵌入过程中保持原始数据的分布。我们的研究拓展并优化了现有的水印框架着重强调了保持分布DiP水印的重要性。与当前的策略不同我们提出的 DiPMark 在水印嵌入时能保留原始标记token的分布具备隐蔽性无需访问语言模型的应用程序接口API或权重即可被检测具备高效性并且对标记的适度变化具有鲁棒性具备抗干扰性。DiPMark 的工作机制是在生成一个词之前先从一系列 “绿色” 标记中随机选取然后采用一种保持分布的重加权函数来提高这些绿色标记的利用率。我们方法的实证基准突显了它的隐蔽性、高效性和抗干扰性使其成为那些对质量保存有极高要求的水印任务的可靠解决方案。第一章 引言在人工智能已然突破类人文本生成壁垒的时代这类内容的有效性与来源受到了极大的审视。大型语言模型LLMs的崛起以及它们模拟人类文笔的惊人能力是一把双刃剑。一方面其潜在应用十分广泛从简化复杂任务到增强人类能力不一而足。反之也存在着被滥用的潜在威胁比如在学术场景中学生寻求不正当优势又或者像在 Reddit、Twitter 和 StackOverflow 等数字平台上存在错误信息的传播现象。随着机器生成内容与人类撰写内容之间的界限愈发模糊用于区分二者的传统启发式方法也不再奏效。即便是最先进的检测器近来也遭遇失败这充分表明我们迫切需要一种更可靠的解决方案。在这种情况下水印技术作为一种精妙的解决方案应运而生它通过在生成的内容中刻意嵌入独特信号来表明内容的出处。通过在源头对内容进行标记这项技术提供了一种追踪任何传播信息来源的机制。除了人们普遍认为水印应能通过密钥识别这一观念外语言模型中高效水印还需要具备几个基本特征隐蔽性水印应能无缝融入生成的内容保留原始文本的分布和质量使得带水印和不带水印的文本难以区分。高效性借助密钥检测内容或其片段中的水印应快速且直接无需访问语言模型和提示词。鲁棒性如果内容经历适度的更改或修改水印应保持完整且可识别。据我们所知当前的水印技术并不符合上述三个关键特性。这些方法要么影响模型的采样分布进而导致模型性能下降Kirchenbauer 等人2023要么缺乏对文本编辑或裁剪等修改的鲁棒性Christ 等人2023要么在检测过程中需要数千次推理步骤Kuditipudi 等人2023要么在检测时需要语言模型 API 的标记对数概率Hu 等人2023从而产生巨大的计算成本。传统的隐写方法即在语言模型生成的文本中插入细微嵌入往往在可检测性和鲁棒性方面存在不足Ziegler 等人2019Kaptchuk 等人2021。我们的目标是创建一种开创性的水印技术用于将文本归属于某一语言模型且该技术涵盖所有这三个关键特性整体对比见表 1。我们的水印框架与现有模式Kirchenbauer 等人2023一致主要由两个部分组成生成函数它将提示词和专有的水印密钥转换为来自语言模型的样本检测函数它将潜在的带水印文本与密钥进行匹配。在文本生成过程中语言模型提供者会使用保密密钥对当前标记的输出概率进行重新加权。这种重加权函数保持了隐蔽性确保每次文本生成都与原始语言模型的分布一致。在检测阶段仅使用密钥和带水印文本可能辅以 Python 中的标准哈希函数就能高效检测到水印的存在。我们还通过在主要语言模型包括 BART-large 模型Liu 等人2020和 LLaMA-2Touvron 等人2023上进行实验评估验证了我们水印的上述三个基本特性。水印中保持文本分布的重要性我们强调在水印技术中保持文本分布的关键意义主要基于以下充分的理由
a) 隐蔽水印如果一种水印破坏了语言模型的原始分布那么它就缺乏隐蔽性这一属性。这种分布上的改变会让人们通过多次采样相对容易地区分带有水印和不带有水印的大语言模型LLMs。
b) 行业级大语言模型应用当考虑将水印应用于像 ChatGPT 和 Bard 这类行业标准的大语言模型时首要考虑的是确保水印不会损害这些基础大语言模型的性能。任何干扰原始文本分布的水印都不可避免地会影响生成文本的质量而这一结果是行业相关方无法接受的。注记“采样”sampling在大语言模型的语境里指的是模型生成文本的过程。大语言模型生成文本时并非直接 “吐出” 完整内容而是基于自身的训练数据和内部的概率分布一步一步挑选也就是 “采样”下一个要生成的词token。比如当模型要生成 “今天天气____” 时它会从众多可能的词汇像 “很好”“晴朗”“糟糕” 等里按照一定的概率来选择下一个词这个选择的过程就是一次 “采样”。多次这样的采样就组成了完整的文本生成。我们的贡献我们的工作致力于解决为大型语言模型设计水印且不影响其天然性能的问题并在多个方面推动了该领域的前沿发展。我们提出了一种新颖的水印框架 DiPmark它为语言模型引入了一种经证明能保持分布的水印方案。与现有方法不同DiPmark 同时具备隐蔽性、高效性和鲁棒性。我们为 DiPmark 开发了一种有效的水印检测机制。通过利用假设检验和一套定义完善的统计方法我们能够可靠地检测到水印的存在同时保持较低的假阳性率。我们还证明我们的检测算法经证明对文本修改具有鲁棒性。在实验方面我们通过在机器翻译和文本摘要任务上评估生成文本的质量验证了 DiPmark 保持分布的特性。值得注意的是对于由 LLaMA-2 生成的 1000 个带水印的序列检测时间仅为 90 秒且不需要进行 API 访问。此外即使面临 30% 的随机文本修改包括插入、删除和替换操作DiPmark 也表现出了鲁棒性。表1表1分析该表格对比了本文提出的 DiPmark 水印与之前相关工作Kirchenbauer 等人 2023、Christ 等人 2023、Kuditipudi 等人 2023、Hu 等人 2023在 ** 隐蔽性Stealthy、高效性Efficient、鲁棒性Resilient** 这三个关键特性上的表现。隐蔽性DiPmark、Christ 等人 2023 的方案符合要求打勾Kirchenbauer 等人 2023、Kuditipudi 等人 2023、Hu 等人 2023 的方案不符合打叉。这说明 DiPmark 在不破坏文本自然分布、让水印难以被察觉方面和 Christ 等人的工作效果一致优于另外三者。高效性只有 DiPmark 和 Kuditipudi 等人 2023 的方案符合打勾Kirchenbauer 等人 2023、Christ 等人 2023、Hu 等人 2023 的方案不符合打叉。意味着 DiPmark 在检测水印时无需复杂操作如频繁访问模型 API 等、能快速完成检测的能力与 Kuditipudi 等人的工作相当比其他三者更高效。鲁棒性DiPmark、Kirchenbauer 等人 2023、Kuditipudi 等人 2023、Hu 等人 2023 的方案符合打勾Christ 等人 2023 的方案不符合打叉。表明 DiPmark 在文本经历适度修改如插入、删除、替换等后仍能保留并被识别出水印的能力和除 Christ 等人外的其他工作一样可靠强于 Christ 等人的方案。整体来看DiPmark 是唯一在 “隐蔽性、高效性、鲁棒性” 三个特性上都满足要求的水印方案综合性能优于之前的相关研究。第二章 相关工作在近期一项具有开创性的研究中Kirchenbauer 等人2023提出了一种为大型语言模型LLMs量身定制的开创性水印方案。然而这种方法不可避免地会导致生成文本的分布发生重大变化可能会损害生成内容的质量。为了在带水印的内容中保持未受干扰的输出分布研究人员探索了其他策略。Christ 等人2023和 Kuditipudi 等人2023采用了逆采样方法来生成带水印的标记分布。值得注意的是Christ 等人2023的方法在面对修改或变更时存在鲁棒性问题并且缺乏对可检测性的实证验证。同时Kuditipudi 等人2023的方法在检测过程中需要密钥分布这可能会损害数据安全性和水印的隐蔽性。此外它们的检测过程涉及从密钥分布中进行数千次重采样步骤这对于长文本来说是低效的。Hu 等人2023使用了基于逆采样和排列的重加权方法进行水印嵌入但检测器需要语言模型 API 的标记对数概率这降低了其操作效率。关于大型语言模型水印的详细讨论见附录 C。我们的研究与 Kirchenbauer 等人2023的工作密切相关。在他们的方法中他们通过将标记集分为 “红色” 和 “绿色” 列表对来自语言模型的文本进行水印处理。在这一基础上我们的研究保留了红 - 绿列表的配置但引入了一系列改进的重加权策略。这种方法确保了1提高了绿色标记的利用率2带水印的语言模型生成的样本与原始语言模型生成的样本在分布上是等价的。第三章 预备知识符号说明为给后续讨论奠定基础我们首先明确一些基本符号。用 V 表示词汇或标记集合其大小记为 \(N |V|\)。进一步引入集合 \(\mathcal{V}\)它是所有可能字符串序列的集合即便长度为零的序列也包含在内。在语言模型的场景中模型会基于预先确定的上下文生成标记序列。对于这一过程中的单个步骤在考虑当前上下文从 \(x_1\) 到 \(x_n\)的情况下生成下一个标记 \(x_{n1} \in V\) 的概率表示为 \(P_M(x_{n1} \mid x_1, x_2, \dots, x_n)\)。大型语言模型LLM在设计上本身采用自回归的运行模式这意味着生成多个标记具体来说是从 \(x_{n1}\) 到 \(x_{nm}\)的联合概率形式为 \(P_M(x_{n1}, \dots, x_{nm} \mid x_1, x_2, \dots, x_n) \prod_{i1}^{m} P_M(x_{ni} \mid x_1, x_2, \dots, x_n, x_{n1}, \dots, x_{ni-1})\)为简洁清晰起见我们采用简化符号\(P_M(\boldsymbol{x}_{n1:nm} \mid \boldsymbol{x}_{1:n})\)其中 \(\boldsymbol{x}_{n1:nm} (x_{n1}, \dots, x_{nm})\)。需要注意的是在这种表示中提示词被特意省略了。在水印的场景下服务提供商将使用密码空间 \(\Theta\) 上的一组独立同分布i.i.d.水印密码 \(\{\theta_i \in \Theta, i \in \mathbb{N}\}\) 来生成文本。密码 \(\theta_i\) 通常由密钥 k 和之前上下文的一个片段称为纹理密钥 \(s_i\)生成。每个 \(\theta_i\) 相互独立且服从相同分布 \(P_\Theta\)。大型语言模型带水印的输出服从分布 \(P_W(x_{n1} \mid \boldsymbol{x}_{1:n}, \theta_n)\)该分布同时以密码 \(\theta_n\) 和上下文 \(\boldsymbol{x}_{1:n}\) 为条件。我们将 \(P_W\) 称为水印的重加权策略。红 - 绿列表水印基于 Kirchenbauer 等人2023提出的软 / 硬红 - 绿列表词汇集合被系统地分成红列表和绿列表。这一过程在采样时巧妙地突出了绿标记的使用。具体而言为生成第 n 个标记 \(x_n\)红列表和绿列表是通过对词汇集合 V 进行随机排列得到的。然后在排列后的列表中插入一个预先定义的分隔符使得排列后列表中前 \(\gamma \%\) 的标记构成红列表其余 \(1 - \gamma \%\) 的标记构成绿列表。通过这种方式密码空间 \(\Theta\) 涵盖了 V 的所有可能排列其中 \(\theta_n\) 表示 V 的一种独特排列。在标记生成过程中绿列表标记的概率会被提高从而对生成的文本进行水印处理。为了检测水印用户借助密钥能够推断出红 - 绿列表并通过红、绿标记数量的差异来确定水印是否存在。重加权策略重加权策略是水印算法的核心从根本上决定了带水印文本的分布。如 Kirchenbauer 等人2023所述作者提出了一种软重加权技术。给定初始标记概率 \(p(t)\)标记的带水印概率记为 \(p(t)\)其公式为 \(p(t) \begin{cases} \frac{p(t)}{\sum_{t \in \text{red}} p(t) \sum_{t \in \text{green}} e^\delta p(t)}, t \in \text{红列表}; \\ \frac{e^\delta p(t)}{\sum_{t \in \text{red}} p(t) \sum_{t \in \text{green}} e^\delta p(t)}, t \in \text{绿列表}, \end{cases} \tag{1}\) 其中 \(\delta 0\) 是预先确定的常数。对该策略的粗略分析表明带水印的分布存在内在偏差。例如考虑 \(\gamma 0.5\)即 V 的一半构成红列表。假设 \(V \{a, b\}\)且给定概率 \(p(a) 0.99\)\(p(b) 0.01\)那么 V 有两种等价的排列方式出现的可能性相同。对任何 \(\delta 0\) 进行分析可得 \(p(a) 0.5 \left( \frac{e^\delta p(a)}{e^\delta p(a) p(b)} \frac{p(a)}{e^\delta p(b) p(a)} \right) p(a)\)。这就凸显出红 - 绿列表水印无法保留原始文本的概率。保持分布性若重加权策略 \(P_W\) 在单个生成步骤中是保持分布的即对于所有 \(\boldsymbol{x}_{1:n} \in \mathcal{V}\) 和任何 \(i \leq n\)都有 \(P_M(x_i \mid \boldsymbol{x}_{1:i-1}) \mathbb{E}_{\theta_i \sim P_\Theta} [P_W(x_i \mid \boldsymbol{x}_{1:i-1}, \theta_i)]\)。进一步地如果对于水印框架在所有生成步骤中都保留了固有的文本分布即对于所有序列 \(\boldsymbol{x}_{1:n} \in \mathcal{V}\) 和任何正整数 n有 \(P_M(\boldsymbol{x}_{1:n}) \mathbb{E}_{\theta_1, \dots, \theta_n} [P_W(\boldsymbol{x}_{1:n} \mid k, \theta_1, \dots, \theta_n)]\)那么该水印就被认为是保持分布的。需要认识到保持分布的重加权策略自然能带来保持分布的水印如下所示 \(\begin{align*} \mathbb{E}_{\theta_1, \dots, \theta_n} [P_W(\boldsymbol{x}_{1:n} \mid k, \theta_1, \dots, \theta_n)] \mathbb{E}_{\theta_1, \dots, \theta_n} \left[ \prod_{i1}^{n} P_W(x_i \mid \boldsymbol{x}_{1:i-1}, k, \theta_i) \right] \\ \prod_{i1}^{n} \mathbb{E}_{\theta_i} [P_W(x_i \mid \boldsymbol{x}_{1:i-1}, k, \theta_i)] P_M(\boldsymbol{x}_{1:n}). \end{align*} \tag{2}\) 上述等式源于集合 \(\{\theta_i\}\) 的独立性质。因此要建立保持分布的水印必须同时包含a) 保持分布的重加权策略b) 一组独立同分布i.i.d.的密码 \(\{\theta_i\}\)。在我们的研究中我们引入了一种具有 “保持分布” 特性的水印技术。这一特性确保即使在水印过程中我们提高了绿列表标记的利用率文本分布也能保持不变。第四章 DiPMARK动机Kirchenbauer 等人2023提出的重加权策略在采样时优先使用绿标记会破坏文本的固有分布。这种破坏会导致采样出现偏差对生成文本的质量产生显著影响。我们的目标是构思一种新的重加权策略确保在水印过程中标记分布保持不变。与 Kirchenbauer 等人2023中推广使用绿列表所有标记的方法不同我们强调增加绿列表标记的概率总和。通过这种方式当带水印的文本结合密钥时仍会对绿列表标记表现出偏向性。基于这一思路我们设计了一种特殊的重加权函数它能在水印过程中保持文本分布。水印的密码空间我们所选的水印密码空间包含词汇集合的排列记为 \(\Theta \{V_1^p, \dots, V_{N!}^p\}\)其中 \(V_i^p\) 代表 V 的一种排列。对于密码分布 \(P_\Theta\)我们在 \(\Theta\) 上采用均匀分布这意味着每种排列被选中的概率是相等的。α- 重加权设 \(\theta \in \Theta\) 为一个密码它构成了 V 的一种排列。单个标记的概率可根据其在 \(\theta\) 中的各自位置在区间 \([0, 1]\) 内进行排序。给定区间 \([0, 1]\) 内的一个固定常数 \(\alpha\)区间 \([0, \alpha]\) 内的标记概率被调整为 0而区间 \([\alpha, 1]\) 内的标记概率则按 \(\frac{1}{1 - \alpha}\) 的因子进行缩放。通过这一过程对于任意排列分隔符 \(\gamma\)我们提高了绿列表标记的概率总和因为绿列表标记始终出现在有序集合 \(\theta\) 的末尾。如果我们将 \(\theta\) 表示为 \(\{t_1, \dots, t_N\}\)并将 \(P_M(\cdot | \boldsymbol{x})\) 记为原始标记分布令 \(F(i | \theta) \frac{1}{1 - \alpha} \max\left\{ \sum_{j1}^{i} P_M(t_j | \boldsymbol{x}) - \alpha, 0 \right\}\)。最终的 α- 重加权概率分布可表示为 \(P_W(t_i | \boldsymbol{x}, \theta) F(i | \theta) - F(i - 1 | \theta)\)。我们希望强调概率分位数 \(\alpha\) 与红 - 绿列表分隔符 \(\gamma\) 之间的区别。根据 Kirchenbauer 等人2023的定义\(\gamma\) 作为排列后标记列表的划分依据。相比之下\(\alpha\) 分隔的是排列后标记列表的概率区间 \([0, 1]\)。因此α- 重加权和 DiP - 重加权如下文定义都与 \(\gamma\) 无关但仍能有效促进绿列表标记的使用。注记分步描述 α- 重加权的过程辅助理解步骤 1确定原始标记及概率假设词汇表 \(V \{t_1, t_2, t_3, t_4\}\)原始语言模型生成各标记的概率为\(P_M(t_1) 0.1\)\(P_M(t_2) 0.2\)\(P_M(t_3) 0.3\)\(P_M(t_4) 0.4\)步骤 2密码\(\theta\)对标记排序密码 \(\theta\) 是 V 的一种随机排列这里假设 \(\theta [t_2, t_1, t_4, t_3]\)即按 \(t_2\)、\(t_1\)、\(t_4\)、\(t_3\) 的顺序排列标记。按照 \(\theta\) 的顺序将原始概率依次排列并计算累积概率区间从 0 开始累加直到和为 1\(t_2\)概率 0.2对应累积区间 \([0, 0.2]\)\(t_1\)概率 0.1对应累积区间 \([0.2, 0.3]\)\(t_4\)概率 0.4对应累积区间 \([0.3, 0.7]\)\(t_3\)概率 0.3对应累积区间 \([0.7, 1.0]\)步骤 3设置 α 并切割、调整概率设定 \(\alpha 0.3\)即累积概率的 30% 位置为切割点执行以下操作1屏蔽前\(\alpha\)区间的标记累积概率区间 \([0, 0.3]\) 内的标记是 \(t_2\)区间 \([0, 0.2]\)和 \(t_1\)区间 \([0.2, 0.3]\)这部分标记的概率被强制设为 0。2缩放后\(1-\alpha\)区间的标记累积概率区间 \([0.3, 1.0]\) 内的标记是 \(t_4\)区间 \([0.3, 0.7]\)和 \(t_3\)区间 \([0.7, 1.0]\)。这部分标记的概率总和原本是 \(0.4 0.3 0.7\)现在要让它们的概率总和重新为 1所以需要按 \(\frac{1}{1 - \alpha} \frac{1}{0.7} \approx 1.428\) 倍缩放\(t_4\)原概率 0.4 → 缩放后 \(0.4 \div 0.7 \approx 0.571\)\(t_3\)原概率 0.3 → 缩放后 \(0.3 \div 0.7 \approx 0.429\)最终结果经过 α- 重加权后各标记的概率变为\(t_1\)0\(t_2\)0\(t_4\)\(\approx 0.571\)\(t_3\)\(\approx 0.429\)可以看到排列在 \(\theta\) 后半段的标记\(t_4\)、\(t_3\)即绿列表标记概率被提升而前半段标记\(t_2\)、\(t_1\)即红列表标记概率被屏蔽。但由于 \(\theta\) 是随机均匀排列的对所有可能的 \(\theta\) 取平均后每个标记被 “提升” 或 “屏蔽” 的概率均等整体分布会和原始模型一致保证了水印的隐蔽性只有知道具体 \(\theta\)通过密钥才能检测到绿列表标记的概率偏向验证水印。你可能会有疑问如果t10.5,t20.4,t30.05,t40.05这样生成的水印不是会影响文本的质量吗1. 单次 α- 重加权可能 “扭曲” 局部选择但这是可控的假设密码 \(\theta\) 的排列是 \([t_1, t_2, t_3, t_4]\)设定 \(\alpha0.3\)累积区间 \([0, 0.3]\) 对应 \(t_1\) 的部分概率0.5 中的前 0.3这部分会被屏蔽剩余区间 \([0.3, 1.0]\) 包含\(t_1\) 的剩余概率0.2、\(t_2\)0.4、\(t_3\)0.05、\(t_4\)0.05总和为 0.7缩放后这部分概率会被放大到 1即 \(t_1\) 剩余概率变为 \(0.2/0.7≈0.286\)\(t_2\) 变为 \(0.4/0.7≈0.571\)\(t_3\) 和 \(t_4\) 各变为 \(0.05/0.7≈0.071\)。此时单次生成中 \(t_2\) 的概率反而高于原始的 \(t_1\)看起来确实 “扭曲” 了分布。但这只是单次基于特定密码 \(\theta\) 的结果。2. 多次密码平均后分布回归原始不影响文本质量DiPmark 的密码 \(\theta\) 是所有可能排列的均匀分布即每种排列被选中的概率相等。对于你举的例子当考虑所有可能的 \(\theta\) 排列时每个标记在 \(\theta\) 中 “靠前被屏蔽” 和 “靠后被放大” 的概率是均等的对所有排列的重加权结果取平均后每个标记的概率会精确回归原始分布数学上可证明。比如 \(t_1\) 原始概率 0.5在所有排列中它有时被屏蔽、有时被放大但平均后仍为 0.5同理\(t_2\) 平均后仍为 0.4以此类推。本质“局部波动” 不影响 “整体均衡”就像抛硬币时单次可能出现正面或反面局部波动但大量抛掷后正反概率仍趋近 50%整体均衡。DiPmark 正是通过这种机制让单次生成可能偏向绿列表标记实现水印但整体文本分布与原始模型一致保证质量。因此即使原始概率分布不均衡DiPmark 也能在嵌入水印的同时不影响文本的自然性和质量。算法 1DiPmark 生成器输入水印密钥 \(k \in K\)、重加权参数 \(\alpha\)、提示词 \(\boldsymbol{x}_{-m:0}\)、生成长度 \(n \in \mathbb{N}\)、纹理密钥历史 hist 以及排列生成函数 h。循环对于 \(i 1, \dots, n\)计算语言模型LM生成第 i 个标记的分布 \(P_M(\cdot \mid \boldsymbol{x}_{-m:i-1})\)。基于 \(\boldsymbol{x}_{1:i-1}\) 生成纹理密钥 \(s_i\)。条件判断如果 \(s_i \in hist\)则使用原始语言模型分布 \(P_M(\cdot \mid \boldsymbol{x}_{-m:i-1})\) 采样下一个标记 \(x_i\)。否则生成标记集的排列 \(\theta_i h(k, s_i)\)。结合 \(\alpha\) 和定义 4.1计算 DiP - 重加权 \(P_W(\cdot \mid \boldsymbol{x}_{-m:i-1}, \theta_i)\)。使用分布 \(P_W(\cdot \mid \boldsymbol{x}_{-m:i-1}, h(k, s_i))\) 采样下一个标记 \(x_i\)。输出返回生成的序列 \(\boldsymbol{x}_{1:n}\)。利用排列的固有对称性我们可以证明\(\alpha\)- 重加权和 \((1 - \alpha)\)- 重加权的加权组合能产生一种保持分布的重加权策略。关键要认识到\(\alpha\)- 重加权和 \((1 - \alpha)\)- 重加权都会放大绿列表标记的概率总和。因此这些重加权函数的组合效果仍然会对绿列表标记表现出偏好。我们的保持分布重加权策略的形式化表述随后呈现。定义 4.1DiP - 重加权给定原始标记分布 \(P_M(t \mid \boldsymbol{x})\)对所有 \(t \in V\)其中 \(\boldsymbol{x} \in \Sigma\) 是之前的标记序列。记 \(\theta \{t_1, \dots, t_N\}\) 为密码即 V 的一种排列。令 \(F(i \mid \theta) : \max\left\{ \sum_{j1}^{i} P_M(t_j \mid \boldsymbol{x}) - \alpha, 0 \right\} \max\left\{ \sum_{j1}^{i} P_M(t_j \mid \boldsymbol{x}) - (1 - \alpha), 0 \right\}, \quad i \in [1, N], \tag{3}\) 其中 \(0 \alpha 1\)。DiP - 重加权策略可表示为 \(P_W(t_i \mid \boldsymbol{x}, \theta) : F(i \mid \theta) - F(i - 1 \mid \theta)\)且 \(F(0 \mid \theta) : 0\)。容易证明 \(P_W(t_i \mid \boldsymbol{x}, \theta)\) 是 V 上的分布。首先由于 \(F(i \mid \theta)\) 随 i 单调递增故 \(P_W(t_i \mid \boldsymbol{x}, \theta) F(i \mid \theta) - F(i - 1 \mid \theta) \geq 0\)。其次所有标记的概率和为 \(\sum_{i1}^{N} P_W(t_i \mid \boldsymbol{x}, \theta) \sum_{i1}^{N} (F(i \mid \theta) - F(i - 1 \mid \theta)) F(N \mid \theta) 1 - \alpha \alpha 1\)。定理 4.2DiP - 重加权是一种保持分布的重加权策略我们将定理 4.2 的证明推迟到附录 D。借助 DiP - 重加权方法独立同分布i.i.d.密码记为\(\theta_i\)的生成对于构建保持分布的水印至关重要。令k表示从密钥空间K中依据分布\(P_K\)生成的随机密钥令\(s \in \mathcal{V}\)为纹理密钥它是先前生成上下文的子序列。考虑在时间步t之前生成的上下文记为\(\boldsymbol{x}_{1:t-1}\)纹理密钥的实例包括\(x_{t-1}\)、\(x_{t-3:t-1}\)和\(\boldsymbol{x}_{1:t-1}\)。我们引入一个哈希函数\(h(k, s): K \times \mathcal{V} \to \Theta\)用于协调秘密密钥与纹理密钥的映射从而得到标记集V的一个排列。所选的哈希函数h必须满足以下条件 a) 对于不同的纹理密钥即\(s_1 \neq s_2\)当\(k \sim P_K(k)\)时\(h(k, s_1)\)应与\(h(k, s_2)\)统计独立 b) 在保持s不变的情况下对于任意\(V_i^p \in \Sigma\)在给定随机密钥时都有均等的被选中概率具体而言\(\forall V_i^p \in \Sigma\)\(\mathbb{E}_{k \sim P_K}[1_{h(k, s) V_i^p}] 1/N!\)。存在满足上述条件的哈希函数Kirchenbauer 等人2023所阐述的函数就是一个例子。在这种情况下如果每个实例的纹理密钥\(s_i\)都是独特的那么密码\(\theta_i\)可被视为独立同分布的。为确保这种唯一性会使用一个寄存器来保留之前步骤中生成的纹理密钥。如果识别出重复的纹理密钥在历史记录中存在后续的标记生成将使用固有分布否则将应用 DiP - 重加权进行标记生成。详细的方法在算法 1 中进行了阐述。推论 4.3DiPmark算法 1是一种保持分布的水印这一点可通过结合 DiP - 重加权的保持分布特性与密码\(\theta_i\)的独立性轻松验证。算法 2DiPmark 检测器输入文本\(\boldsymbol{x}_{1:n}\)、水印密钥k、标记集的大小N、排列生成函数h、绿列表分隔符\(\gamma\)、阈值z。初始化绿标记计数器基于\(\gamma\)为0\(L_G(\gamma) 0\)。循环对于\(i 2, \dots, n\)基于\(\boldsymbol{x}_{1:i-1}\)生成纹理密钥\(s_i\)。生成标记集的排列\(\theta_i h(k, s_i)\)。通过\(G \theta_i[\lfloor \gamma N \rfloor: N]\)计算绿标记列表。条件判断如果\(x_i \in G\)则绿标记计数器加1\(L_G(\gamma) L_G(\gamma) 1\)。计算得分\(\Phi(\gamma, \boldsymbol{x}_{1:n}) \frac{L_G(\gamma) - (1 - \gamma)n}{\sqrt{n}}\)。输出返回\(\Phi(\gamma, \boldsymbol{x}_{1:n}) z\)即判断得分是否超过阈值以确定是否存在水印。