用于序列标注的近似结构化扩散
摘要
本文介绍了近似结构化扩散(Approximate Structured Diffusion),一种将条件随机场(CRF)与离散扩散相结合用于序列标注的方法。它使用以噪声标签序列为条件的CRF和近似平均场推理,在词性标注上实现了16.5%的错误率降低。
arXiv:2606.18856v1 Announce Type: new
Abstract: 序列标注是自然语言处理(NLP)的核心任务,旨在为输入句子的每个标记分配一个标签。
从机器学习的角度来看,序列标注通常被建模为由神经网络参数化的线性链条件随机场(CRF)。
尽管这种方法在实验上取得了良好结果,但CRF假设了有限的决策跨度(例如标签二元组),这可能会限制其表达能力,并在需要长距离依赖时损害性能。
我们展示了可以利用扩散来训练一个以整个标签序列为条件的CRF,但条件是标签的噪声版本。
实验表明,该方法结合近似CRF推理,在词性标注任务上将错误率降低了16.5%,从而提高了标签准确率。
查看缓存全文
缓存时间: 2026/06/18 05:46
# 用于序列标注的近似结构化扩散
来源:https://arxiv.org/html/2606.18856
Nicolas Floquet, Joseph Le Roux, Nadi Tomeh
巴黎北索邦大学,CNRS,巴黎北计算机科学实验室,LIPN,F-93430 维勒塔讷斯,法国
\{floquet, leroux, tomeh\}@lipn.fr
###### 摘要
序列标注作为自然语言处理(NLP)的核心任务,旨在为输入句子的每个词元分配一个标签。从机器学习的角度看,序列标注通常被建模为由神经网络参数化的线性链条件随机场(CRF)。虽然这种方法在实证中表现良好,但CRF假设决策跨度有限(例如标签二元组),这限制了其表达能力,并在需要长距离依赖时影响性能。
我们展示了一种利用扩散模型来训练以完整标签序列为条件的CRF的方法,但条件是标签的*含噪声*版本。实验表明,该方法结合近似CRF推断,可将词性标注的标签准确率提升16.5%²²。代码将在论文接收后公开。
\todostyle
jlrcolor=red,shadow
用于序列标注的近似结构化扩散
Nicolas Floquet、Joseph Le Roux、Nadi Tomeh
巴黎北索邦大学,CNRS,巴黎北计算机科学实验室,LIPN,F-93430 维勒塔讷斯,法国
\{floquet, leroux, tomeh\}@lipn.fr
## 1 引言
序列标注是NLP中的一项基础任务,即为输入句子的每个词元分配一个标签。它是多种NLP应用的基石,例如词性标注、命名实体识别或句法分析。现代方法通常采用神经网络参数化的CRF(Lafferty 等人,2001 (https://arxiv.org/html/2606.18856#bib.bib13);Zheng 等人,2015 (https://arxiv.org/html/2606.18856#bib.bib14))。虽然结构化模型(如CRF)考虑了标签之间的相互作用,但可处理性带来了限制。因此,许多提议的模型仅限于二元组,即相邻标签的关联。
近期,扩散模型已被应用于语言建模,以有效基于无边界上下文进行条件生成(Hoogeboom 等人,2021 (https://arxiv.org/html/2606.18856#bib.bib2);Austin 等人,2021 (https://arxiv.org/html/2606.18856#bib.bib3);Sahoo 等人,2024 (https://arxiv.org/html/2606.18856#bib.bib15))。在实践中,这些模型训练去噪器以*独立地*从干净输出的噪声版本中预测每个词元。
在本工作中,我们结合了这两个概念,即结构化预测和离散扩散,用于序列标注。我们定义了一个CRF,其预测的标签序列不仅以输入句子为条件,还以有噪声的标签序列为条件。这有助于模型考虑无界的标签交互,同时仍能对预测的相邻标签施加偏好。使用扩散模型解码需要迭代采样,从随机噪声逐步细化预测。由于采样CRF分布的成本较高(复杂度与输入大小成线性关系),我们通过平均场近似来加速解码和训练。
我们在词性标注上进行了评估,结果表明该模型比基线CRF具有更好的扩展性,无论是采用一元扩散模型,还是添加CRF去噪器或其平均场近似,都取得了更优的性能。
## 2 模型
### 2.1 标准序列标注模型
给定一个句子 \(\bm{s}=s_1\dots s_n\),其中 \(s_i\) 是第 \(i\) 个词,标注产生一个序列 \(\bm{y}=y_1\dots y_n\),其中 \(y_i \in \mathcal{L}\) 是 \(s_i\) 的标签。更精确地,序列标注模型定义一个参数化的概率分布 \(p_\theta(\bm{y}|\bm{s})\),因此标注归结为返回众数 \(\widehat{\bm{y}}=\operatorname*{argmax}_{\bm{y}} p_\theta(\bm{y}|\bm{s})\),而学习参数 \(\theta\) 则通过最大似然估计实现。这些分布通常写作能量模型 \(p_\theta(\bm{y}|\bm{s}) \propto \exp f(\bm{x},\bm{y};\theta)\),由实现 \(f\) 的神经网络计算,即参数 \(\theta\) 是 \(f\) 的参数。\(f\) 在序列上的分解对效率至关重要。
**一元模型**:在序列上对一元势求和:\(f(\bm{s},\bm{y};\theta) = \sum_{i=1}^n f(\bm{s},y_i;\theta)\)。通常这由一个 Transformer(Vaswani 等人,2017 (https://arxiv.org/html/2606.18856#bib.bib17))实现,其在位置 \(i\) 的输出向量馈入一个 MLP,用于为所有标签计算 \(f\) 在该位置的值。由于 \(f\) 的这种分解,\(p_\theta\) 是因子化的,即 \(p_\theta(\bm{y}|\bm{s}) = \prod_{i=1}^n p_\theta(y_i|\bm{s})\)。标注和训练效率高,但预测之间的独立性损害了建模细粒度标签交互所需的表达能力。
**二元模型**:对一元势和二元势(这些模型可以扩展到 \(n\) 元势)在相邻位置求和:\(f(\bm{s},\bm{y};\theta) = \sum_{i=1}^n f_1(\bm{s},y_i;\theta) + \sum_{i=1}^{n-1} f_2(\bm{s},y_i,y_{i+1};\theta)\)。Transformer 输出被馈入 \(f_1\),如同一元模型一样。对于 \(f_2\),我们需要为所有标签对 \(y_i, y_{i+1}\) 计算一个转移矩阵。这可以实现为一个位置无关的矩阵,或者是一个 MLP,在每个位置根据 Transformer 的输出计算转移权重。使用维特比算法(Forney, 1973 (https://arxiv.org/html/2606.18856#bib.bib12))和前向/后向算法(Rabiner, 1989 (https://arxiv.org/html/2606.18856#bib.bib11)),标注和训练可以在与句子长度成线性关系的时间内完成,包括计算边际概率。二元 CRF 难以并行化,但诸如平均场(Wang 等人,2020 (https://arxiv.org/html/2606.18856#bib.bib6))或平均正则化(Corro 等人,2025 (https://arxiv.org/html/2606.18856#bib.bib10))的近似方法恢复了位置独立的计算,从而获得了与一元模型相同的效率。
### 2.2 用于标注的离散扩散模型
我们遵循扩散语言模型(Hoogeboom 等人,2021 (https://arxiv.org/html/2606.18856#bib.bib2);Austin 等人,2021 (https://arxiv.org/html/2606.18856#bib.bib3)),将标注定义为给定词的情况下标签的生成。
**前向扩散**:一个标签序列 \(\bm{y}^0\) 被一个前向扩散过程 \(q\) 所改变,该过程由 \(T\) 步组成:\(\mathbf{y}^1\dots\mathbf{y}^T\),最终得到一个随机序列³³(所有大小为 \(|\bm{y}^0|\) 的序列等概率)\(\bm{y}^T\)。生成这样的序列是一个马尔可夫过程:\(q(\mathbf{y}^1\dots\mathbf{y}^T|\mathbf{y}^0) = \prod_{t=1}^T q_t(\mathbf{y}^t|\mathbf{y}^{t-1})\),且在每个位置 \(i\) 上独立添加噪声:\(q_t(\bm{y}^t|\bm{y}^{t-1}) = \prod_{i=1}^n q_t(y_i^t|y_i^{t-1})\)。
噪声分布由破坏比例 \(\beta_t\) 参数化,遵循预定义的计划⁴⁴(我们仅考虑余弦计划(Hoogeboom 等人,2021 (https://arxiv.org/html/2606.18856#bib.bib2))):
\[
q_t(y_i^{t+1}|y_i^t) =
\begin{cases}
\beta_t + \frac{1-\beta_t}{|\mathcal{L}|} & \text{if } y_i^{t+1} = y_i^t \\
\frac{1-\beta_t}{|\mathcal{L}|} & \text{otherwise}
\end{cases}
\]
时间步 \(t\) 的这些条件分布 \(q_t(\cdot|\cdot)\) 的参数可以编码为一个矩阵 \(Q_t\)。我们还可以预先计算 \(t\) 个扩散步骤的连续应用:\(q_{0|t}(y_i^t|y_i^0) = \sum_{y_i^{t-1}} q_t(y_i^t|y_i^{t-1}) q_{0|t-1}(y_i^{t-1}|y_i^0)\)。
**去噪**:我们的模型,遵循 Hoogeboom 等人(2021);Austin 等人(2021)的语言模型做法,通过逆转扩散过程,从随机序列生成一个标签序列的参数化分布。略有滥用记号,我们也将此分布记为 \(p_\theta\)。该模型可以为逐渐降低噪声的序列分配概率,这也是一个马尔可夫过程:
\[
p_\theta(\mathbf{y}^0\mathbf{y}^1\dots\mathbf{y}^T|\bm{s}) = p(\mathbf{y}^T) \prod_{i=t}^T p_\theta(\mathbf{y}^{t-1}|\mathbf{y}^t,\mathbf{s})
\]
其中先验 \(p(\bm{y}^T)\) 是均匀分布。我们在后续记号中省略了以 \(\bm{s}\) 为条件。
去噪器 \(p_\theta\) 由 §2.3 中介绍的神经网络实现。该网络对所有 \(t\) 共享:为了加入时间信息,我们向神经网络馈入一个学习到的 \(t\) 表示。我们遵循广泛采用的 Ho 等人(2020 (https://arxiv.org/html/2606.18856#bib.bib4))架构,并将从 \(t\) 开始的单步去噪描述为完全去噪后紧跟 \((t-1)\) 步前向步骤:
\[
\begin{aligned}
p_\theta(\bm{y}^{t-1}|\bm{y}^t) &= \sum_{\mathbf{y}^0} p_\theta(\bm{y}^0|\bm{y}^t) q(\bm{y}^{t-1}|\bm{y}^t,\bm{y}^0) \\
&= \mathbb{E}_{\bm{y}^0 \sim p_\theta(\cdot|\bm{y}^t)} \big[ q(\bm{y}^{t-1}|\bm{y}^t,\bm{y}^0) \big] \\
&\approx q(\bm{y}^{t-1}|\bm{y}^t,\widehat{\bm{y}^0})
\end{aligned}
\]
其中 \(\widehat{\bm{y}^0} = \mathbb{E}_{\bm{y}^0 \sim p_\theta(\cdot|\bm{y}^t)} [\bm{y}^0]\)。
因此,一个去噪步骤可以建模为:(i)从所谓的后验分布中采样,以及(ii)用期望序列 \(\widehat{\bm{y}^0}\) 替换干净序列 \(\bm{y}_0\)。在实践中,解决(i)需要计算后验分布,通过贝叶斯定理和马尔可夫假设,用三个可计算的分布表示:
\[
\begin{aligned}
q(\bm{y}^{t-1}|\bm{y}^t,\bm{y}^0) &= \frac{q(\bm{y}^{t-1},\bm{y}^t|\bm{y}^0)}{q(\bm{y}^t|\bm{y}^0)} \\
&= \frac{q(\bm{y}^t|\bm{y}^{t-1},\bm{y}^0) q(\bm{y}^{t-1}|\bm{y}^0)}{q(\bm{y}^t|\bm{y}^0)} \\
&= \frac{q_t(\bm{y}^t|\bm{y}^{t-1}) q(\bm{y}^{t-1}|\bm{y}^0)}{q(\bm{y}^t|\bm{y}^0)}.
\end{aligned}
\]
虽然上述解释表明去噪是从 \(t\) 到 \(t-1\) 逐步进行的,但我们可以改写它以一次执行多个步骤,从 \(t\) 到 \(t-k\)。这可能会影响生成序列的质量,因为去噪器被调用的次数减少,从而利用输入序列的机会也随之减少。在我们的实验中,我们采用“减半”策略,从步骤 \(t\) 跳到步骤 \(\lfloor t/2 \rfloor\),从步骤 \(T\) 开始直到达到 0,因此去噪器的调用次数与扩散步数的对数成正比。
**结构化去噪**:我们可以将之前的解码方法应用于去噪器 \(p_\theta\) 由 CRF 实现的情况。回忆一下,去噪器的作用是生成 \(\widehat{\bm{y}^0} = \mathbb{E}_{\bm{y}^0 \sim p_\theta(\cdot|\bm{y}^t)} [\bm{y}^0]\),即每个变量的分数计数,由标签的边际概率给出。对于线性链 CRF,我们可以通过前向-后向算法(Rabiner, 1989 (https://arxiv.org/html/2606.18856#bib.bib11))或通过对数配分函数反向传播(Eisner, 2016 (https://arxiv.org/html/2606.18856#bib.bib16))在 \(O(n)\) 时间复杂度内计算边际。不幸的是,这种方法在我们的情境中是不可行的,因为维特比算法或其变体的并行性有限。此外,去噪器在解码时必须多次调用,而这些方法的线性空间复杂度也在训练时增加了内存消耗。
相反,我们可以通过平均正则化(Corro 等人,2025 (https://arxiv.org/html/2606.18856#bib.bib10))来近似 CRF 分布,或者通过平均场(Wang 等人,2020 (https://arxiv.org/html/2606.18856#bib.bib6))找到最接近的因子化分布。我们对后者进行了实验,并展示了如何在保持效率的同时利用扩散模型中的结构。
**训练**是通过最大化似然来实现的,其中去噪器在每个时间步与扩散模型同步。更精确地说,我们优化对数似然的变分下界:
\[
\begin{aligned}
\log p_\theta(\bm{y}^0) &= \log \sum_{\mathbf{y}^1\dots\mathbf{y}^T \sim q(\cdot|\mathbf{y}^0)} p_\theta(\bm{y}^0,\bm{y}^1,\dots,\bm{y}^T) \\
&\geq \operatorname{\mathbb{E}}_{\bm{y}^1 \sim q_{0|1}(\cdot \mid \bm{y}^0)} \Big[ \log p_\theta(\bm{y}^0 \mid \bm{y}^1) \Big] \\
&\quad - \sum_{t=2}^T \; \operatorname{\mathbb{E}}_{\bm{y}^t \sim q_{0|t}(\cdot \mid \bm{y}^0)} \left[ \, D_{\mathrm{KL}} \! \vbox{\hbox{$\left( \begin{array}[ ]{@{}l@{}} q(\bm{y}^{t-1} \mid \bm{y}^t, \bm{y}^0) \\[2.58334pt] \|\; p_\theta(\bm{y}^{t-1} \mid \bm{y}^t) \end{array} \right)$}} \, \right] \\
&\quad - D_{\mathrm{KL}} \Big( q_{0|T}(\bm{y}^T \mid \bm{y}^0) \, \big\| \, p(\bm{y}^T) \Big),
\end{aligned}
\]
其中 \(D_{\mathrm{KL}}\) 是两个分布之间的 Kullback-Leibler 散度。最后一项可以忽略,因为根据定义,两个分布都是均匀的,因此散度为零。我们通过均匀采样一个介于 1 和 \(T\) 之间的 \(t\),然后采样一个序列 \(\bm{y}^t \sim q_{0|t}(\cdot|\bm{y}^0)\)(模拟了 \(t\) 步扩散步骤)来训练模型。如果 \(t=1\),我们只考虑第一项;如果 \(t \geq 2\),我们只考虑基于该 \(t\) 的第二项中的均值,这使我们回到优化单个 KL 散度。
我们注意到,一旦采样得到 \(\bm{y}^t\),第一项就是一个对数似然。对于第二项,我们有:
\[
D_{KL}[q(\bm{y}^{t-1}|\bm{y}^t,\bm{y}^0) \| p_\theta(\bm{y}^{t-1}|\bm{y}^t)] = D_{KL}[q(\bm{y}^{t-1}|\bm{y}^t,\bm{y}^0) \| q(\bm{y}^{t-1}|\bm{y}^t,\widehat{\bm{y}^0})] + C,
\]
即我们看到...相似文章
Set Diffusion:在自回归与扩散之间插值令牌顺序以实现快速灵活的解码
Set Diffusion 引入了一类新的语言模型,通过在灵活位置、灵活长度的令牌集合上分解令牌生成,在自回归模型和扩散模型之间进行插值。这使得解码速度更快,令牌排序更灵活,在推理、摘要和无条件生成任务上实现了更好的速度-质量权衡。
CRoCoDiL: 用于语言的连续且鲁棒的条件扩散
CRoCoDiL提出了一种用于语言的连续且鲁棒的条件扩散方法,将掩码扩散模型转移到连续语义空间中,相比LLaDA等离散方法,生成质量更优,采样速度快10倍。
Dystruct:基于贝叶斯推理的动态结构化扩散语言模型解码
DyStruct 是一种无需训练的贝叶斯解码框架,专为离散扩散语言模型设计。它通过动态确定扩展规模和解码顺序来实现灵活长度生成,从而提高了数学和代码任务的准确性。
线性约束下的条件扩散:Langevin 混合与信息论保证
本文分析了预训练扩散模型在线性逆问题上的零样本条件采样,提供了信息论保证并提出了一种投影 Langevin 初始化方法。
基于离散扩散的约束代码生成
本文介绍了Constrained Diffusion for Code (CDC),这是一种无需训练的神经符号推理框架,它将约束满足直接集成到离散扩散模型的逆向去噪过程中,用于代码生成。CDC在功能正确性、安全性和语法方面持续提升约束满足率,在多个基准测试中优于现有的扩散模型和自回归基线。