两篇论文:
-
How multilingual is Multilingual BERT? 提出了多语言Bert。
-
Enhanced Meta-Learning for Cross-lingual Named Entity Recognition with
Minimal Resources,它使用了多语言BERT模型,Meta-Learning算法做跨语言的NER任务。
博客地址:https://ian-peace.github.io
The first paper, Multilingual BERT
《How multilingual is Multilingual BERT?》
它使用的模型和原始的Bert模型一样,不同的是原始的Bert训练使用的是单一的英文数据以及由英文衍生的词汇表。而这篇论文在维基百科的104种语言页面上进行训练,并且共享一个词汇表。在模型训练期间,没有任何的标注,也没有任何翻译机制来对齐。模型上没有什么创新,但作者做了很多实验,证明了M-Bert有良好跨语言迁移能力。
实验:
-
作者用了两个任务进行实验,NER和POS,实验方式就是用一种语言上对该任务进行微调,最后再在另一种语言上进行评估。结果见表1所示:
可以看到的是在相似语言上进行迁移学习效果会比较好,这也符合常理。
-
但随之而来的想法就是,效果好是否是因为词汇重叠,就是finetune中出现的单词也出现在评估使用的语言中。所以作者为了探索这种跨语言的迁移有多大程度上时依赖于这种重叠,做了重叠实验,结果如右侧的图所示:下面是重叠的计算公式,就是训练集和验证集的交集除以并集。
实验包含M-Bert和英文Bert,可以看到英文BERT的性能表现非常依赖于词汇重叠,而多语言BERT则在大范围重叠率上表现得非常平缓,这证明多语言BERT在某种程度上拥有超过浅层词汇级别的深层次表征能力。
-
作者还在语序上做了实验,结果见下面这两张表,其中SVO指主谓宾顺序例如英语,SOV指主宾谓顺序例如日语,AN是形容词名词顺序,NA是名词形容词顺序。可以看到语序一致的情况下性能会更好。也就是说,多语言Bert能够学习到一定的多语言特征,但是没有学习到这些语言的结构转换方式,以至于无法去适应带有不同语言顺序的目标语言。
-
作者还做了很多实验,但总的来说就是多语言的Bert具有很好的跨语言迁移能力。
The second paper, Meta-Learning for NER
_《Enhanced Meta-Learning for Cross-lingual Named Entity Recognition with
Minimal Resources》_
Meta-Learning
从下图中可以看出Meta-Learning算法主要分三类:学习如何设计网络的结构,学习如何优化更新参数,学习如何初始化参数。这篇论文用的就是第三类,以求能够提供更好的初始参数。
推荐课程:李宏毅 Meta-Learning (来自B站)
Meta-training 过程
用Meta-learning做NER任务的这篇论文的模型结构,就是在上一篇论文的多语言BERT模型基础上直接添加一个softmax层得到标注结果,重点在于它的Meta-Training的过程,整个的训练过程见伪码。
- 首先是从源语言的训练集中构建多个Pseudo-Meta-NER(伪元NER)任务。假设源语言的训练集有N个example,将每一个example都看作是一个任务的测试集,然后从源语言训练集中筛选相似度最高的K个example作为该任务的训练集。由此得到每一个任务的表示如这个式子。那为了能够计算句子的相似度,就需要首先生成句子的表示,这里的f()函数就使用多语言Bert模型。然后根据下面这个式子计算相似度.
- 然后就有了一组任务以及初始的模型,再从任务组中随机采样一批任务T,对其中的每一个任务在sita上通过n次梯度更新得到 ,这个称为内部更新。这里的Un指的就是用学习率α执行梯度下降操作n次来最小化在任务T的训练集上的损失,即 的计算公式就是公式8.
- 然后用新的参数在该任务的test集上进行评估得到该任务当前的loss值,gi是当前任务的meta梯度,β是这一过程的学习率。依次遍历所有任务将每个任务的梯度求和去更新最初的参数 以最小化所有任务测试集的loss和。这一步称为meta更新。
两个策略
-
Masked 策略
在每一个training epoch的开始,都以给定的概率去随机Masked模型的输入,以此来鼓励模型通过上下文信息去预测而非通过实体的样子。
-
Max Loss 策略
作者觉得对于loss来讲每一个token贡献的权重均等会使那些高loss的token的 学习不足够,所以通过该策略使模型在这些token上有更多的关注。修改后的Loss函数就是公式13.
Adaptation 阶段,即微调,使用目标语言的test集
将目标语言test集中的每一个example都看作是一个任务的test集,同样按照相似度从源语言的train集中筛选相似度最高的k个example作为任务的train集。然后在meta-training阶段得到的参数 上做一次梯度更新得到当前任务的新参数,以该参数在当前任务的测试集上进行测试。依次遍历完所有任务。
所以总的来讲,它使用的想法也几乎和多语言Bert那篇论文一样,在源语言上微调,在目标语言上测试,只是使用了Meta-learning去初始化参数。
实验
- 消融实验,结果见表4,证明了每个策略都很有用。
- 个例分析,见表5。拿第一个例子来说,Base model没有识别这个实体,作者猜测可能是因为它与右上角这个很相似,而它在英语中通常不是实体,但作者的方法却可以通过学习语义信息识别到它。另外的例子也大概都是这个意思。
- 结论: Meta-Learning 以及两个策略都很有效
Reference
[1] How multilingual is Multilingual BERT?
[2] Enhanced Meta-Learning for Cross-lingual Named Entity Recognition with
Minimal Resources.
[3] 多语言BERT的语言表征探索. https://zhuanlan.zhihu.com/p/74524017