ACL 2021 | 结构化知识蒸馏方法

本研究报道了上海科技大学屠可伟课题组与阿里巴巴达摩院的合作研究。该研究开发了一种在预测问题上广泛应用的结构化知识蒸馏方法。该论文已被 ACL 2021 接受为长文。

论文标题:
Structured Knowledge Transfer: Efficiently Extracting and Condensing Information into a Structured Prediction Model
论文地址:
http://faculty.sist.shanghaitech.edu.cn/faculty/tukw/acl21kd.pdf

简介
知识蒸馏(knowledge distillation,简称 KD)是一种常见的模型压缩技术,在自然语言处理与计算机视觉领域得到了广泛应用。该技术的核心目标是通过训练学生成员网络使其模仿教师成员网络的行为模式,并最终实现学生成员对教师成员的知识进行模仿学习以提高自身性能水平
在这种情况下,就要求我们采用一种称为"结构知识蒸馏"(structural KD)的方法,在不同模型之间进行知识的转移工作。然而由于结构输出空间通常与输出尺寸呈指数级增长这一特性使得直接求解并优化 structural KD 目标函数变得不切实际。此前的研究大多局限于特定场景下采用近似方法解决这一问题或将问题转化为非结构化的蒸馏形式来处理
本文基于多种常见的结构预测模型将输出结构的得分数值分解为多个子结构得分之和,并指出其子结构性空间远小于整体输出空间特征,在此特定条件下提出了一种具有多项式复杂度精确求解方法的目标函数。

背景知识
2.1 知识蒸馏
典型的蒸馏架构一般整合了至少一个经过充分训练的教师网络以及相对较小的学生网络,在蒸馏过程中, 系统旨在引导学生网络模仿教师网络的行为, 通常采用的方法是将两者之间的差异度作为优化目标, 最终实现高效的知识转移.
为了训练一个多分类模型,在给定类别集合 的情况下,在样本x处教师网络(teacher network)的概率分布情况与学生网络(student network)的概率分布情况需要被比较分析。在此过程中,“知识蒸馏”(knowledge distillation)的目标是使得两者之间的交叉熵损失达到最小化。

同时我们使用训练集上的样本 训练学生模型,目标函数为:

是指示函数。训练时最终的目标函数是两者的加权求和
λ λ
2.2 词级别知识蒸馏
对于给定的输入序列 X=\{x_1,x_2,…,x_n\} ,对应输出序列为 Y=\{y_1,y_2,…,y_n\} 。假设所有输出结果被视为相互独立,则可以在序列的每一个位置上分别执行知识蒸馏过程。具体而言,在词级别知识蒸馏(token-wise knowledge distillation)框架下,在每一个位置上进行累加操作以获得其知识蒸馏的目标函数:\mathcal{L}_{KD} = \sum_{i=1}^n \mathcal{L}_t(y_i, p_i)其中\mathcal{L}_t表示任务相关的损失函数。

2.3 结构知识蒸馏
实际上,在不同位置的输出之间通常并非完全独立。例如,在自然语言处理领域中常用的一种标注方法是:“希尔顿离开北京机场”的动作结果带有特定标签(如B-PER、I-PER等),具体来说,“希尔顿离开北京机场”的动作被标记为:B-PER、I-PER、E-PER等。需要注意的是,在标注时I标签必须紧跟B标签,并且E标签必须紧随其后跟有相应关系的I或B标签等规则。
在这样一个案例中仅涉及 PER 和 LOC 这两个 NER 标签类别的情况下,请问每个词都有多少种不同的标注可能性?具体来说就是 9^{10} 种不同的组合(即 9 \times 9 \times \dots \times 9 共乘以十次)。然而需要注意的是,在实际应用中通常采用如线性链条件随机场(CRF)等序列模型来捕捉各位置之间存在的依存关系。
类似地, 其他多种类型的结构预测模型(例如基于树或图进行预测)也会通过建模输出部分之间的相互关联. 我们旨在使学生成员在教师模型的知识蒸馏过程中, 学习教师关于整体结构的知识表示. 亦即, 结构知识蒸馏(structrual knowledge distillation).
注

考虑到结构输出的空间规模通常会随着输出序列长度 n 的增加而呈指数增长。
前一年我们在 ACL2020 发布的论文《Structure-Level Knowledge Distillation For Multilingual Sequence Labeling》提出了一套替代方案。
该方法仅关注具有最高概率的若干输出结构,并将这些序列的特征进行汇总以估计其目标函数值。其中通过动态规划算法能够预测出前k个概率最高的输出结构,并且其中假设教师模型在这些k个序列上的分布是均匀的。从而实现top-K知识蒸馏过程

如果对教师模型对于这 k 个输出结构的预测概率进行评估,则可获得 weighted top-K 蒸馏知识:

在特定条件下,在整体布局中计算各部分的概率估计结果,并将其被迫地转化为一个非结构化知识蒸馏任务。Posterior Distillation 其机制主要包括:利用线性链条件随机场模型之间的关系进行知识提取,在向前传播与向后传播结合的方式下获得各token位置的概率估计结果,并通过token-wise KD过程用于优化教师模型的知识表示能力。
上述第一种方法排除了概率较低的结构输出;第二种方法则重新定义了其蒸馏目标函数,并采用近似策略来处理这一问题。

本文的工作
3.1 Structural KD
之前所介绍的均为近似方法。而本文则提出了一种精确的方法用于从特定条件下的结构知识中提取蒸馏目标函数的一种精确方法。
在众多的结构预测模型中,通常会将整体的输出分解为多个子机构,其中整体得分值则是各子机构得分值之总和.所以整个概率计算式即为此:

其中 y 被定义为某个特定的结构输出,
其对应的评分值即为该模型对 y 的评分结果,
同时表明 u 作为 y 的一个组成部分;
我们定义了一个称为子结构空间的空间域,
即包含所有可能存在的子结构集合;
而这个空间域中的每个元素都属于该系统的 partition function。
如前所述,在序列标注任务中,最大熵(MaxEnt)模型通过为每个位置估计相应的标记打分来实现这一目标:即该标记序列的所有标记得分之和即为此模型最终计算出的最大总分。子结构空间大小即为所有可能标记组合的数量。
如果采用线性链 CRF 模型,则该模型会评估每个位置上的输出 与其前后相邻两个位置输出之间的 关联关系;y 的子结构即满足条件的所有 结构组合 ,因此可以推导出 子结构空间的大小为
如果知识蒸馏过程中的学生模型建立在该种分解架构之上,则可以通过这一假设将结构知识蒸馏的目标函数表达式进行简化。

如果同时满足以下两个条件:1. 学生模型的子结构空间 的规模是多项式级别;2. 教师模型能够高效地计算出学生模型子结构的概率分布,则该目标函数能够在多项式时间内精确求解。
3.2 四类场景
根据教师与学生模型子结构分解间的差异进行分类探讨,并选取若干典型案例展开深入分析。值得注意的是,在所选案例中均涉及命名实体识别(NER)任务的具体应用与研究。进一步地,在具体案例1和案例2中还探讨了依存分析(dependency parsing)任务的相关内容与技术实现。
教师模型和学生模型有相同的子结构分解
Case1a: 线性链 CRF 到线性链 CRF
应用场景举例说明,在线服务需要迅速响应时才可能实现高准确性(基于大型预训练上下文相关词向量嵌入)的教师网络应被优化为仅使用固定(而非动态)词向量嵌入的轻量化学生网络。
在本场景中讨论的两个模型均为线性链CRF架构,在这种情况下两者的共享相同的空间表示方法。我们通过将发射概率值整合到转移概率值中来实现了对两种类型概率值的有效结合。在此过程中,在学生模型中定义了其自身的独立于教师模型的空间维度。对于教师体系而言,在这种情况下其特定的概率分布体系则由相应的边距传播算法进行计算确定。
其中通过经典的前向-后向算法能够计算出相应的边缘分布情况。
Case 1b: 基于图的依存分析到基于序列标注的依存分析
教师型架构与学生型架构分别采用图结构与序列标注方法构建了依存分析模型。其中教师型架构通过深度学习技术实现了对文本关系的精准捕捉能力,在准确性上显著优于学生型架构;然而,在速度方面却表现得更为出色。因此从知识传递的角度来看这一蒸馏过程具有重要的理论价值与应用意义
在这里进行依存分析时采用头选择方式,在这种情况下为输入句子中的每个单词预测其依赖头及标签,并具体结构输出相应的子词空间表示。其中学生模型基于最大熵框架构建语言模型,在此过程中为每一对单词间的依赖关系建立弧状连接,并通过预设标签实现信息标注;而教师模型则基于双仿射函数设计(arc-based model),通过对每一对候选弧进行评分来确定最有可能存在的弧段集合及其对应标签组合。在此过程中不仅能够单独识别出每个词所具有的 head 和 label 信息,并且能够通过累加各层的子词空间生成完整的语义空间表达
学生模型相比教师模型有更精细的子结构分解
Case 2a: 线性链 CRF 到最大熵模型
研究表明序列标注任务在线性链CRF上的性能通常优于MaxEnt模型;然而,在实际应用中我们希望实现MaxEnt模型的速度与效率;因此,在这种情况下我们在线性链CRF模型与MaxEnt模型之间进行了知识蒸馏。
当前教师模型的空间定义为... ,相应的学生模型的空间构造为... 。在此时,我们可以通过前向-后向算法计算出教师模型在学生架构上的边缘概率分布:
Case 2b: 二阶依存分析到基于序列标注的依存分析
这一场景与 Case 1b 相似, 主要区别在于我们替换了教师模型为性能更高的二阶依存分析器.
教师采用了二阶依存分析方法来构建dependency arc的存在模式,并采用加权评分的方式评估每个arc;在arc类型分类任务中该方法与Case1b表现出相同的效果。由此可知,在每组共享同一个词的不同dependency arc关系中都包含了它们之间的相互作用机制。学生模型在设计上类似于Case1b,并且其子结构空间同样覆盖了这些关系间的相互作用机制
教师模型可以通过平均场变分推断方法推断 arc 的存在概率 ,其类型预测结果与 Case 1b 相同 ,因此子结构的边缘分布情况得以确定 。
教师模型相比学生模型有更精细的子结构分解
Case 3: 最大熵模型到线性链 CRF
该场景与Case 2a的蒸馏过程呈相反方向发展。一种应用场景是零样本跨语言命名实体识别任务;当前大多数基于预训练多语言BERT模型采用MaxEnt解码方法;我们可以通过将现有模型迁移至仅依赖静态词向量表示的线性链CRF架构来提高推理速度。
由 Case 2a 可知 ,。容易得到子结构边缘分布 。
教师模型和学生模型的分解形式不相容
Case 4: NER as Paring 模型到最大熵模型
目前而言,在命名实体识别领域,该教师模型处于领先地位中的一种。然而其计算开销相较于常规序列标注模型具有较大的计算开销。鉴于此,在这一特定场景下,我们对其进行了知识蒸馏处理以获得一个MaxEnt模型。
教师模型基于依存分析的方式完成命名实体识别任务,即对一个候选实体的前后两个词之间的 dependency arc 赋分,并以 arc 的类型表示命名实体的具体类别。相比之下,学生模型采用最大熵模型并配合 BIOES 标注法进行处理。学生模型的子结构空间由 BIOES 标注构成,并且其取值范围限定在 Ner标签范围内(如 "B-PER")。通过动态规划方法被用于确定子结构边缘分布的具体数值。

实验
在本文所述的四个不同场景中进行了相关实验研究。其中针对命名实体识别任务的研究工作主要采用了CoNLL2002/2003以及WikiAnn两个公开基准数据集,并通过从WikiAnn数据集中采样获得了相应的无监督学习样本。而对于依赖关系分析部分的研究,则主要基于Penn Treebank(PTB)3.0这一权威资源库,并通过从BLLIP数据集中获得无监督学习样本来完成相关研究工作。
基于对比分析的知识蒸馏基准方法是前面部分中阐述了 token-wise 知识蒸馏、加权 top-K 知识蒸馏以及后验知识蒸馏;在表中分别标记为 Token. KD、Top-WK KD 以及 Pos. KPPTKD;本文所提出的结构化知识蒸馏方法则被标记为 struct. KPPTKD。
有标签数据上的训练

这是在标注数据上进行先前的实验所得出的结果,在不采用KD的情况下(即without KD),该学生模型作为监督学习的对象所取得的结果。
加入无数据标签
然后在训练过程中引入了无标签数据。教师模型首先对unlabel数据进行预测并赋予其伪标签。Case 3仅包含具有伪标签的训练数据而其他Case所使用的训练数据则是混合型的包含了真实标注和预测伪标签的数据。Top-1指标则基于上述处理后的训练数据来评估学生模型的表现。

token-wise KD 和 structural KD 的比较
Case 2a阶段中采用中学阶段使用的教师模式多采用MaxEnt算法,并对其进行了对比分析;具体而言,则是将MaxEnt教师模式结合token-wiseKD以及CRF教师模式结合structuralKD所组成的组合进行了深入研究。而至于Case3阶段,则是以教师采用MaxEnt算法构建的学生模式作为基础开展研究工作;具体而言,则是比较分析了Token-wiseKD与MaxEnt学生模式结合以及StructuralKD与CRF学生模式结合的不同组合效果

多语言 NER 下不同 KD 方法的比较

由上述各表可以看出各种条件下 structural KD 的效果一般都是最好的。

**
**
结语
本文提出了一种在特定条件下能够在多项式时间内精确求解和优化结构知识蒸馏目标函数的方法;从而扩展了结构知识蒸馏的应用范围;并成为该领域研究的重要探索。
研究组
介绍
上海科技大学信息学院屠可伟老师领导的研究团队致力于开展自然语言处理与机器学习等人工智能领域的基础与应用研究工作。目前主要关注语言结构的表示、学习及其实现。过去几年里,在顶会发表论文数十篇。自 2021 年以来,在 ACL 等顶级会议发表长文共 7 篇(其中包括 ACL Findings 和 NAACL 各一篇)。现招收硕士研究生(推免生)、博士后及研究人员岗位,并热诚欢迎对人工智能领域感兴趣的学子加入我们的团队。
更多信息请访问屠可伟老师主页:
http://faculty.sist.shanghaitech.edu.cn/faculty/tukw/
特别鸣谢
我们衷心感谢 TCCI 天桥脑科学研究院对 PaperWeekly 的支持,并致以诚挚的谢意。TCCI 致力于研究大脑探知、大脑功能以及大脑健康的前沿领域。
更多阅读
[

[

[

该系统具备高效的用户交互功能。
该系统能够实现用户界面设计需求。
该系统支持多种主流编程语言。
该系统能够处理复杂的数据计算任务。
该系统支持多种多样的数据格式。

#投 稿 通 道#
让你的文字被更多人看到
如何做到让更多的优质内容通过更短的路径到达读者群体,并降低读者获取优质内容的难度呢?关键在于:你并不了解的人才是最重要的资源。
某些人虽然陌生却能了解你的兴趣所在 PaperWeekly 可能会成为一个连接平台 激发更多的创新火花
PaperWeekly 提供一个平台供高校实验室及个人分享高质量的内容。这些内容涵盖从最新论文解读到学术热点分析、科研经验总结以及竞赛经验分享等多种形式。我们唯一的使命就是促进知识的自由流动与共享。
???? 稿件基本要求:
此篇文章乃是我个人创作,未曾公开发表于公开渠道。如在其他平台已公开发表或即将发布,则需明确标注
为便于管理,请采用 Markdown 格式撰写稿件。请将图片作为文件形式发送至指定位置,并确保图片清晰明了且无版权问题
PaperWeekly 重视并尊重原创作者的署名权,并将按每篇被采用的原创首发稿件支付业内有吸引力的稿费。具体根据文章阅读量与文章质量按阶梯方式进行结算。
???? 投稿通道:
• 投稿邮箱:hr@paperweekly.site
请将稿件连同您的即时联系方式(微信)一并提交,并以确保我们能够在稿件选用后立即与您取得联系。
• 您也可以直接添加小编微信(pwbot02 )快速投稿,备注:姓名-投稿

△长按添加PaperWeekly小编
????
现在,在**「知乎」** 也能找到我们了
进入知乎首页搜索**「PaperWeekly」**
点击**「关注」** 订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个分享、深入解析、交流探讨人工智能前沿论文成果的学术平台。如果你关注我们的公众号后,在对话框中输入「交流群」, 小助手会带你加入 PaperWeekly 的交流群里。


