方法比较
神经语言隐写方法:从词表分组到算术编码与分布保持
比较六类生成式文本隐写方法,沿着秘密比特如何决定词元、接收方如何恢复消息来读原始论文。
Yuntian Deng 撰写 ·
神经语言隐写(neural linguistic steganography)用神经语言模型生成承载秘密消息的文本。在每一步,模型根据上下文给出下一个词或词元(token)的概率分布;编码方法根据秘密比特选择延续,接收方再逆向恢复消息。在中文研究中,这类问题也归入生成式文本隐写。
LSTM、循环神经网络、GPT-2 和大语言模型描述的是生成器;词表分组、Huffman 编码、算术编码和耦合描述的是消息与文本之间的映射。比较方法时,需要把语言模型与编码规则分开。
秘密比特如何变成文本
1. 词表分组:比特块选择词所在的组
Tina Fang、Martin Jaggi 和 Katerina Argyraki 的 Generating Steganographic Text with LSTMs(2017)把词表划分为与秘密比特块对应的组。LSTM 从指定组中选择下一个词;接收方根据该词所属的组恢复比特块。增加组数会提高每词的名义比特数,同时限制每一步可选的词。
这种方法直接把比特块对应到词组。评价时,需要检查分组约束怎样改变生成文本及其概率分布。原论文介绍了分组构造与实验。
2. 定长码与 Huffman 编码:为候选词分配码字
Zhong-Liang Yang 等人的 RNN-Stega: Linguistic Steganography Based on Recurrent Neural Networks(2018 年在线发表,2019 年期刊卷期)利用循环语言模型的条件概率,为候选词构造编码。定长码消耗固定数量的消息比特;Huffman 变长码为不同词分配不同长度的码字。上下文变化后,映射也随之重建。
Huffman 树给高概率词分配较短码字。对于均匀的消息比特,长度为 l 的码字使相应词以 2^-l 的概率被选中。把这个诱导分布与语言模型分布比较,就能研究编码带来的偏差。RNN-Stega 分别评估嵌入容量、文本质量、效率和实验检测器的表现。2019 年论文第 2、4 节给出了共享 GPT-2 模型下的 Huffman 对照。
3. Patient-Huffman:在分布合适时再嵌入
Falcon Z. Dai 和 Zheng Cai 的 Towards Near-imperceptible Steganographic Text(2019)逐步比较 Huffman 诱导分布与基础语言模型分布。当总变差距离或 KL 散度超过给定阈值时,编码器按基础模型采样,不消耗消息比特,等待后续合适的步骤。
该方法把分布检验加入嵌入决策。阈值决定哪些步骤携带消息,因此传输率取决于生成中遇到的分布。阅读原论文与 patient-Huffman 算法。
4. 算术编码:按概率不断细分区间
Neural Linguistic Steganography 的作者是 Zachary M. Ziegler*、Yuntian Deng* 和 Alexander M. Rush,前两位作者同等贡献。该工作将算术编码与大型预训练语言模型结合:秘密比特流在下一个词元的累积概率区间中选择子区间,反复细分区间,得到可以解码的词元序列。
论文提出编码方法,分析诱导分布,并在 GPT-2 上分别评估信息容量、统计散度和上下文续写的人工判断。它还展示了把自然语言消息编码为内容无关的载体文本。首次 arXiv 提交日期是 2019 年 9 月 3 日,正式发表于 EMNLP-IJCNLP,2019 年 11 月。
阅读正式论文,跟随算术编码示例理解机制,或试用配套的 STEGASURAS 交互演示。
5. 自适应算术编码:根据当前分布调整候选集
Jiaming Shen、Heng Ji 和 Jiawei Han 的 Near-imperceptible Neural Linguistic Steganography via Self-Adjusting Arithmetic Coding(2020)明确建立在 Ziegler、Deng 和 Rush 的算术编码方法之上。SAAC 在每一步选择满足相对原模型散度条件的最小候选集。
这里改变的是候选选择规则:固定的 top-K 截断改为自适应截断。论文给出隐蔽性分析,并评估容量、散度与人工判断。阅读 SAAC 的构造与实验。
6. 最小熵耦合:保持载体边缘分布
Christian Schroeder de Witt 等人的 Perfectly Secure Steganography Using Minimum Entropy Coupling(2022 年预印本,ICLR 2023)构造连接消息分布与载体分布的联合分布。在其信息论模型中,保持载体边缘分布不变得到完全安全性;最小化联合熵则在完全安全的编码器中最大化信息吞吐量。
迭代实现采用近似最小熵耦合子程序,并保持边缘分布。其假设包括被动观察者与未经修改的传输。原论文给出了耦合刻画、算法和适用假设。
怎样比较这些方法
- 编码机制:比较词表分组、定长码、Huffman 树、概率区间和耦合。逐步追踪秘密比特怎样影响词元,以及接收方怎样逆向恢复。
- 分布控制:比较 patient-Huffman 跳过嵌入的决策、SAAC 的自适应候选集,以及耦合保持载体边缘分布的构造。
- 容量与文本质量:在相同语言模型、上下文与评价设置下比较。2019 年论文在同一个 GPT-2 模型上重新实现 Block 和 Huffman,与算术编码一起实验。
消息恢复与隐蔽性分别检验
逐词元算术解码需要收发双方复现相同的模型概率、上下文、参数与词元序列。重新分词得到不同序列时,解码器重建的区间发生变化,造成提取错误。Yan 和 Murawaki 的分词一致性研究(2025)全部采用 2019 年的算术编码器开展隐写实验;SyncPool 则通过同步采样处理子词切分歧义。
匹配语言模型分布不等于与人类写作不可区分。实验应说明载体参照分布、观察者掌握的信息、嵌入率、文本质量和精确消息恢复率。详见容量、可检测性与安全性指南。
沿着机制阅读原论文
从词表分组和 Huffman 编码开始,再读分布分析、神经语言模型与算术编码、自适应截断和耦合安全性。