关于人工智能:深度学习进阶篇6ERNIEDocTHUERNIEKEncoder融合文本信息和KG知识原理和模型结构详解

3次阅读

共计 7533 个字符,预计需要花费 19 分钟才能阅读完成。

深度学习进阶篇 - 国内预训练模型[6]:ERNIE-Doc、THU-ERNIE、K-Encoder 交融文本信息和 KG 常识;原理和模型构造详解。

1.ERNIE-Doc: A Retrospective Long-Document Modeling Transformer

1.1. ERNIE-Doc 简介

经典的 Transformer 在解决数据时,会将文本数据依照固定长度进行截断,这个看起来比拟”果断”的操作会造成 上下文碎片化 以及无奈建模 更长的序列依赖关系 。基于此项思考,ERNIE-Doc 提出了一种 文档层级 的预训练语言模型办法:ERNIE-Doc 在训练某一个 Segment 时,容许该 segment 可能取得整个 Doc 的信息。

如图 1 所示,假如一篇残缺的文档被宰割成 3 个 Segment:$S_1, S_2, S_3$,在编码 segment $S_2$ 时,经典的 Transformer 依赖的只是 $S_2$ 自身:$P(y|S_2)$,Recurrence Transformer (例如 Transformer-XL)依赖的是 $S_1, S_2$:$P(y|S_1,S_2)$,这两种办法均没有使 Segment $S_2$ 取得残缺的文档信息 $S_1, S_2, S_3$。

图 1 ERNIE-Doc 的建模形式图

然而 ERNIE-Doc 在建模过程中,使得每个 Segment 均能取得残缺的文档信息:$P(y|S_1, S_2,S_3)$,其中建模长序列的关键点如下:

  • Retrospective feed mechanism: 将文本两次传入模型取得文本序列的 representation,第一次将取得残缺的文本序列示意,而后该序列的 representation 持续参加第二次的编码过程,这样该文本序列在第二次编码过程中,每个 token 地位便能取得序列残缺的双向信息。
  • Enhanced recurrence mechanism: 应用了一种加强的 Segment 循环机制进行建模。
  • Segment-reordering objective: 对一篇文档中的各个 segment 随机打乱,取得多个乱序文档,而后要求模型预测这些文档中哪个是失常语序的文档。

1.2. 经典 /Recurrence Transformer 的计算

在正式介绍正式 ERNIE-DOC 之前,咱们先来回顾一下经典和 Recurrence Transformer 模型的计算。假如以后存在一个长文档 $D$​被划分为这样几个 Segment:$D=\{S_1, S_2, …, S_T\}$​​,其中每个 Segment 蕴含 $L$​个 token:$S_\tau = \{x_{\tau,1}, x_{\tau, 2}, …, x_{\tau,L}\}$​​。另外约定 $h_\tau^{n} \in \mathbb{R}^{L \times d}$ 为 Transformer 第 $n$ 层第 $\tau$​​个 Segment 的编码向量。对于第 $\tau+1$​个 Segment $S_{\tau+1}$​,Transformer 第 $n$ 层对其相应的编码计算形式为:

$$\begin{split} \begin{align} & \tilde{h}_{\tau+1}^{n-1} = \left\{\begin{matrix} h_{\tau+1}^{n-1}, \qquad \text{Vanilla Transformers} \\ \left[\text{SG}(h_{\tau}^{n-1}) \; \circ \;h_{\tau+1}^{n-1} \right], \qquad \text{Recurrence Transformers} \end{matrix} \right. \\ & q_{\tau+1}^{n}, \; k_{\tau+1}^n, \; v_{\tau+1}^n = h_{\tau+1}^{n-1}W_{q}^{\mathrm{ T}}, \; \tilde{h}_{\tau+1}^{n-1}W_{k}^{\mathrm{ T}}, \; \tilde{h}_{\tau+1}^{n-1}W_{v}^{\mathrm{ T}} \\ & h_{\tau+1}^n = \text{Transformer-Layer}(q_{\tau+1}^{n}, \; k_{\tau+1}^n, \; v_{\tau+1}^n) \end{align} \end{split}$$

如上述探讨,这两种形式均不能使得每个 Segment 取得 Doc 的残缺信息。

1.3. Retrospective feed mechanism

ERNIE-Doc 借鉴了人类浏览的行为习惯,在人类浏览时会分为两个阶段:首先会疾速略读一下文档内容,而后回过头来仔细阅读。ERNIE-Doc 基于此设计了 Retrospective feed mechanism,该机制同样蕴含两个阶段:Skimming phase 和 Retrospective phase。

具体来讲,一篇文档会传入模型两次,第一次被称为 Skimming phase,在该阶段将会取得改文档的残缺序列示意。第二次被称为 Retrospective phase,在该阶段将会融入 Skimming phase 取得的残缺文档示意,开始进一步的编码计算,从而保障在第二次计算每个 Segment 编码时可能取得残缺的文档信息。Retrospective phase 的计算形式如下:

$$\begin{split} \begin{align} \hat{H} &= \left[\hat{H}_{1:T}^{1} \circ \hat{H}_{1:T}^{2} \cdot \cdot \cdot \circ \; \hat{H}_{1:T}^N \right], \quad \text{(skimming phase)} \\ \hat{H}_{1:T}^{i} &= \left[\hat{h}_1^i \circ \hat{h}_2^i \cdot \cdot \cdot \circ \;\hat{h}_T^i \right] , \quad \text{(skimming phase)} \\ \tilde{h}_{\tau+1}^{n-1} &= \left[{SG}(\hat{H}\circ h_{\tau}^{n-1}) \circ h_{\tau+1}^{n-1} \right], \quad \text{(retrospective phase)} \end{align} \end{split}$$

其中以上公式各个参数解释如下:

  • $T$​:一篇文档的 Segment 数量;$N$:Transformer 模型层的数量;$L$​:每个 Segment 中的最大 token 数量。
  • $\hat{H} \in \mathbb{R}^{(L \times T \times N) \times d}$​​​​​:一篇文档在所有层中输入的编码向量。
  • $\hat{H}_{1:T}^i \in \mathbb{R}^{(L \times T) \times d}$ : 一篇文档在第 $i$​层产生的编码向量。
  • $\hat{h}_\tau^i$:第 $\tau$ 个 Segment 在第 $i$ 层产生的编码向量。

从以上公式能够看到,在 retrospective 阶段,当计算每个 Segment 时,会引入残缺文档的示意 $\hat{H}$​,这样就保障了编码时,每个 token 可能取得残缺文档的信息。

1.4. Enhanced Recurrence Mechanism

ERNIE-Doc 通过应用 Retrospective feed mechanism 和 Enhanced Recurrence Mechanism 两种形式,增大了计算每个 segment 时的无效上下文长度。然而第 3 节引入的公式计算复杂度是很高,因而 Enhanced Recurrence Mechanism 冀望前一个 Segment 便能取得残缺的文档信息,而后间接融入前一个 Segment 便能使得以后 Segment 计算融入残缺的文档信息。

如图 2 所示,ERNIE-Doc 通过将前一个 Segment 的同层编码表示,引入了以后 Segment 的计算中,这个做法同时也有利于下层信息反补上层的编码表示,具体公式为:

$$\tilde{h}_{\tau+1}^{n-1} = \left[{SG}(h_\tau^n) \circ h_{\tau+1}^{n-1} \right]$$

图 2 ERNIE 的 Segment 连贯形式

1.5. Segment-Reordering Objective

在预训练阶段,ERNIE-Doc 应用了两个预训练任务:MLM 和 Segment-Reordering Objective。咱们先来探讨 Segment-Reordering Objective,其旨在帮忙模型显式地建模 Segment 之间的关系,其会将一篇长文档进行划分为若干局部,而后将这些局部进行随机打乱,最初让模型进行预测原始的语序,这是一个 $K$​分类问题:$K=\sum_{i=1}^m i!$​,其中 $m$​​是最大的划分数量。

如图 3 所示,假如存在一篇文档 $D$ 被划分为 3 局部:$D=\{C_1, C_2, C_3\}$,ERNIE-Doc 通过打乱这些局部失去 $\hat{D}=\{C_2, C_3, C_1\}$,而后在最初一个 Segment $S_\tau$ 的地位进行预测原始的文档程序 $C_1, C_2, C_3$。

图 3 预训练任务 Segment-Reordering Objective

另外,在取得 $\hat{D}=\{C_2, C_3, C_1\}$ 后,ERNIE-Doc 会对 $\hat{D}$ 进行划分 Segment:$\hat{D} = \{S_1,S_2,…,S_T \}$​​​​,并且会对这些 Segment 中的某些 Token 进行 Mask,从而结构 MLM 工作,要求模型依据毁坏的 Segment $\hat{S}_\tau$ 复原成原始的 $S_\tau$​。联合 MLM 和 Segment-Reordering Objective 总的预训练指标为:

$$\underset {\theta}{\text{max}} \; \text{log} \; p_\theta(S_\tau|\hat{S}_\tau) + \mathbb{1}_{\tau=T}\; \text{log}\;p_\theta(D|\hat{D})$$

其中,$\mathbb{1}_{\tau=T}$ 示意 Segment-Reordering Objective 仅仅在最初一个 Semgnet $S_T$ 地位被执行,以优化模型。

  • 相干材料
  1. ERNIE-Doc: A Retrospective Long-Document Modeling Transformer
  2. ERNIE-Doc Github

2.ERNIE:Enhanced Language Representation with Informative Entities

2.1. THU-ERNIE 简介

以后的预训练模型(比方 BERT、GPT 等)往往在大规模的语料上进行预训练,学习丰盛的语言常识,而后在上游的特定工作上进行微调。但这些模型根本都没有应用 常识图谱(KG)这种结构化的常识,而 KG 自身能提供大量精确的常识信息,通过向预训练语言模型中引入这些内部常识能够帮忙模型了解语言常识。基于这样的思考,作者提出了一种交融常识图谱的语言模型ERNIE,因为该模型是由清华大学提供的,为区别百度的 ERNIE,故本文后续将此模型标记为THU-ERNIE

这个想法很好,但将常识图谱的常识引入到语言模型存在 两个挑战

  • Structured Knowledge Encoding:如何为预训练模型提取和编码常识图谱的信息?
  • Heterogeneous Information Fusion:语言模型和常识图谱对单词的示意(representation)是齐全不同的两个向量空间,这种状况下如何将两者进行交融?

对于第一个问题,THU-ERNIE应用 TAGME 提取文本中的实体,并将这些实体链指到 KG 中的对应实体对象,而后找出这些实体对象对应的 embedding,这些 embedding 是由一些常识示意办法,例如 TransE 训练失去的。

对于第二个问题,THU-ERNIE在 BERT 模型的根底上进行改良,除了 MLM、NSP 工作外,从新增加了一个和 KG 相干的预训练指标:Mask 掉 token 和 entity (实体) 的对齐关系,并要求模型从图谱的实体中抉择适合的 entity 实现这个对齐。

2.2. THU-ERNIE 的模型构造

图 1 THU-ERNIE 的模型架构

THU-ERNIE在预训练阶段就开始了与 KG 的交融,如 图 1a所示,THU-ERNIE是由两种类型的 Encoder 重叠而成:T-EncoderK-Encoder。其中T-Encoder 在下边重叠了 $N$ 层,K-Encoder在上边重叠了 $M$ 层,所以整个模型共有 $N+M$ 层,T-Encoder的输入和相应的 KG 实体常识作为 K-Encoder 的输出。

从性能上来讲,T-Encoder负责从输出序列中捕捉词法和句法信息;K-Encoder负责将 KG 常识和从 T-Encoder 中提取的文本信息进行交融,其中 KG 常识在这里次要是实体,这些实体是通过 TransE 模型训练进去的。

THU-ERNIE中的 T-Encoder 的构造和 BERT 构造是统一的,K-Encoder则做了一些扭转,K-EncoderT-Encoder 的输入序列和实体输出序列别离进行 Multi-Head Self-Attention 操作,之后将两者通过 Fusion 层进行交融。

2.3. K-Encoder 交融文本信息和 KG 常识

本节将具体探讨 K-Encoder 的内部结构以及 K-Encoder 是如何交融预训练文本信息和 KG 常识的。图 1b展现了 K-Encoder 的外部细节信息。

咱们能够看到,其对文本序列 (token Input) 和 KG 常识 (Entity Input) 别离进行 Multi-Head Self-Attention(MH-ATT)操作,假如在第 $i$ 层中,token Input 对应的 embedding 是 $\{w_{1}^{(i-1)},w_{2}^{(i-1)},…,w_{n}^{(i-1)}\}$,Entity Input 对应的 embedding 是 $\{e_1^{(i-1)},e_2^{(i-1)},…,e_n^{(i-1)}\}$,则 Multi-Head Self-Attention 操作的公式能够示意为:

$$\begin{split} \{\tilde{w}_{1}^{(i-1)},\tilde{w}_{2}^{(i-1)},…,\tilde{w}_{n}^{(i-1)}\} = \text{MH-ATT}(\{w_{1}^{(i-1)},w_{2}^{(i-1)},…,w_{n}^{(i-1)}\}) \\ \{\tilde{e}_{1}^{(i-1)},\tilde{e}_{2}^{(i-1)},…,\tilde{e}_{m}^{(i-1)}\} = \text{MH-ATT}(\{e_{1}^{(i-1)},e_{2}^{(i-1)},…,e_{m}^{(i-1)}\}) \end{split}$$

而后 Entity 序列的输入将被对齐到 token 序列的第一个 token 上,例如实体”bob dylan”将被对齐到第一个单词”bob”上。接下里将这些 MH-ATT 的输出到 Fusion 层,在这里将进行文本信息和 KG 常识的信息交融。因为有些 token 没有对应的 entity,有些 token 有对应的 entity,所以这里须要分两种状况探讨。

对于那些 对应 entity 的 token,信息交融的过程是这样的:

$$\begin{split} h_j = \sigma(\tilde{W}_t^{(i)}\tilde{w}_j^{(i)}+\tilde{W}_e^{(i)}\tilde{e}_k^{(i)}+\tilde{b}^{(i)}) \\ w_j^{(i)} = \sigma({W}_t^{(i)}{h}_j+b_t^{(i)}) \\ e_k^{(i)} = \sigma({W}_e^{(i)}{h}_j+b_e^{(i)}) \end{split}$$

对于那些 没有 对应 entity 的 token,信息交融的过程是这样的:

$$\begin{split} h_j = \sigma(\tilde{W}_t^{(i)}\tilde{w}_j^{(i)}+\tilde{b}^{(i)}) \\ w_j^{(i)} = \sigma({W}_t^{(i)}{h}_j+b_t^{(i)}) \end{split}$$

其中这里的 $\sigma(\cdot)$ 是个非线性的激活函数,通常能够应用 GELU 函数。最初一层的输入将被视作交融文本信息和 KG 常识的最终向量。

2.4. THU-ERNIE 的预训练任务

在预训练阶段,THU-ERNIE的预训练任务蕴含 3 个工作:MLM、NSP 和 dEA。dEA 将随机地 Mask 掉一些 token-entity 对,而后要求模型在这些对齐的 token 下来预测相应的实体散布,其有助于将实体注入到 THU-ERNIE 模型的语言示意中。

因为 KG 中实体的数量往往过于宏大,对于要进行这个工作的 token 来讲,THU-ERNIE将会给定小范畴的实体,让该 token 在这个范畴内去计算要输入的实体散布,而不是全副的 KG 实体。

给定 token 序列 $\{w_{1},w_{2},…,w_{n}\}$ 和对应的实体序 $\{e_1,e_2,…,e_m\}$,对于要对齐的 token $w_i$ 来讲,相应的对齐公式为:

$$p(e_j|w_i) = \frac{exp(\text{linear}(w_i^o) \cdot e_j)}{\sum_{k=1}^{m}exp(\text{linear}(w_i^{o}) \cdot e_k)}$$

相似与 BERT 对 token 的 Mask 策略,THU-ERNIE在 Mask token-entity 对齐的时候也采纳的肯定的策略,如下:

  1. 以 5% 的概率去随机地替换实体,让模型去预测正确的 entity。
  2. 以 15% 的概率间接 Mask 掉 token-entity,让模型去预测相应的 entity。
  3. 以 80% 的概率放弃 token-entity 的对齐不变,以让模型学到 KG 常识,晋升语言理解能力。

最终,THU-ERNIE的总的预训练损失是由 MLM、NSP 和 dEA 三者的加和。

  • 参考资料
  1. ERNIE:Enhanced Language Representation with Informative Entities
  2. ERNIE Githut
正文完
 0