记录:读 Transfer Learning for Sequence Tagging with Hierarchical Recurrent Networks


Transfer Learning for Sequence Tagging with Hierarchical Recurrent Networks

作者:Yang Z, Salakhutdinov R, Cohen W. Published as a conference paper at ICLR 2017

目录

  • Motivation
  • Approach
  • Experiments
  • Conclusion

1 Motivation

在本文(ICLR 2017)的那几年,出现了一批使用神经网络做nlp任务的优秀的paper,且大多性能、泛化能力不错(即不在想传统机器学习一样需要task-specific的特征工程),本文作者在之前的基础上针对“是否能够利用这些系统模型的通用性去做其他只拥有少量标注数据或者少量训练数据的任务”这一问题,探讨迁移学习--即将一个任务的知识(模型结构等)用到另一个任务中--的问题。

2 Approach

关于迁移学习有两种比较流行的针对NLP任务的范例:resource-based transfer和model-based transfer。基于资源的迁移主要用在跨语言的迁移在这方面做的比较好在其他跨领域任务中没有什么广泛的研究,它同时也需要作为一种弱监督的额外的语言标注,对这个额外的资源有一定的要求关于大小和质量。而基于模型的迁移不需要额外的资源,它主要通过调整合适的模型,利用soure task(源任务)和target task(目标任务)之间的相似性和相关性来实现目标任务。本文作者也同样使用model-based transfer,只不过不同于论文中提到的之前的基于模型迁移的工作,之前的工作使用基于模型迁移更多是为了提高其目标任务的性能,最终关注点在于目标任务性能如文中提到的Collobert et al.(2011)、Ando&Zhang(2005),而本文作者关注点在于这些迁移模型的泛化能力,如跨领域、跨应用(任务)、跨语言等,当然作用于不同领域、任务、语言的调整适应后的模型的性能也是重点。

2.1 Base Model

尽管近几年对于处理序列标注任务有很多不同的神经网络的变体,但其大致结构可以为图Figure 1(a),即可以概括为三个层次:character-level layer、word-level layer、CRF layer,大致流程为character-level layer处理character-based Embedding并拼接得到character-level 词表示 -> 预训练得到word-level 词表示 -> word-level layer将字符级和词级别的词表示结合(采用拼接和将attention机制用于信息结合的attention方法)后得到新的词表示 -> 经过如Bi-LSTM获取词在序列中的context信息后喂给CRF层输出针对输语句(序列)的标签序列。

2.2 Transfer Learning Architectures

本文作者在Base Model的基础之上针对迁移学习,拓展了三个模型分别为Figure 1中的(b)T-A,(c)T-B和(d)T-C,用于处理不同的迁移任务。

2.2.1 Cross-Domain Transfer

目标:使用T-A或T-B训练得到一个序列标注器,其可以将source domain中的知识迁移到target domain,最终在target任务具有较少标注数据的情况下使用这个训练好的序列标注器能得到一个不错的性能。

迁移条件/情况:根据标签是否能够彼此相互映射(e.g. 对于POS tags,Genia biomedical corpus和 Penn Treebank tags 就可以相互映射(Barrett & Weber-Jahnke, 2014) 如下图),分别采用Figure 1 (b)T-A和(c)T-B两种迁移模型。

迁移模型:如果标签可以映射采用T-A,所有参数、特征、词表示等均可共享,只在CRF层后做一步label映射操作即可。如果两个邻域标签集完全不一样(假设医学和计算机两领域分别有两个不同的标签集,如Twitter和Penn Treebank tags两标签集就不一样)。就用T-B,除了CRF层之外,其他层参数等共享(i.e. 源任务和目标任务两任务分别单独学习一个CRF层)。具体这个共享以及单独学习是怎么实现的源码还没跑具体实现还没搞懂,之后有机会再说吧。

2.2.2 Cross-Application Transfer

目标:利用不同任务之间潜在的相似性和规则,通过与另一个任务(source task)联合训练来改善(target task)的性能,尤其在当前任务的标签有一定的限制的时候。

迁移条件:假设两个任务的语言是相同的,类似cross-domain中两个领域的标签集不同的情况。

迁移模型:使用Figure 1 (c)T-B。

2.2.3 Cross-Lingual Transfer

目标:仅使用跨语言之间的规则,不需要额外的语言注释资源,基于在model层面。

迁移条件:两种语言要有相同的字母表(alphabets),如果连最基本的字符都不相同,那么在没有额外的资源如语言的标注,那太难了,如中文和英文。

迁移模型:迁移模型利用两语言的形态信息(即基于字符),如英语中"Canada"和西班牙语中"Canada' ",使用Figure 1 (d) T-C。

2.3 Training

根据二项分布每次迭代选择一个任务{s,t}(i.e., 要么源任务要么目标任务),共享的参数联合训练,task specific的参数单独训练,使用AdaGrad梯度下降更新参数。

2.4 Model Implementation

模型整体结构类似Lample et al. (2016),本文作者对character-level和word-level都采用两层Bi-GRU,同时目标函数没太看懂,max-margin应该是类似SVM里的那个Hinge Loss(铰链损失函数)???,如下图,大概意思是f(h,y)函数计算序列h和标签序列y的得分(一个单词序列会有多个预测标签序列,最后输出得分最高的),后面类似惩罚项吧应该详见原文描述,Y(h)代表h的标签序列空间(即单词序列h的所有可能的标签序列)。这个公式基于based on a max-margin principle (Gimpel & Smith, 2010)。

3 Experiments

3.1 Datasets

如表Table 1:之后实验使用不同比例使其达到小样本的条件,如3.2中表Table 2。

3.2 Transfer Learning Performance

如图Figure 2、表Table 2.

3.3 Comparison With State-Of-The-Art Results

如表Table 3.

4 Conclusion

主要使用三种迁移模型对不同的迁移类型学习进行序列标注,同时针对之前各任务的最优模型使用本文作者提出的迁移学习,配合迁移模型性能又进一步提升,超过了绝大部分作者能想到的之前的模型的性能。其中标签数量(越少提升效果越明显)、源任务和目标任务关联度、共享参数数量是影响迁移学习方法表现(使用迁移学习后性能提升的程度)的关键因素。

参考

[1] Yang Z, Salakhutdinov R, Cohen W. Transfer Learning for Sequence Tagging with Hierarchical Recurrent Networks. ICLR, 2017.