您的位置:首页 > 其它

论文阅读:Deep Neural Networks with Multitask Learning(多任务模型应w用到自然语言处理)

2018-04-02 13:08 946 查看

文章摘要

文章讲述一个使用基于单一卷积神经网络的多任务学习模型,可以给一个句子输出预测一系列语法或语义上的输出:如词性标注、命名实体识别、语言角色,语义相近的单词,自然语言模型(句子有意义的概率)。所有这些任务上使用一个网络实现权重共享,即一个多任务学习实例。除了语言模型,所有的任务都使用打标签的数据,这样的组合代表了一个通过共享任务的进行半监督学习形式【语言模型是无监督的,而其他任务有监督】。文中表明这种多任务学习以及半监督学习改进了共享任务的生成,带来了最佳的效果。 文章指出过往的统一框架都有如下三个失败之处:1.分类器是浅层的,经常是线性分类器。2.浅层分类器需要人工抽取出较好的特征。3.独立学习这些特征会分别引入误差。如果能够进行统一学习,能够通过不同任务的进行更好的泛化。文中也表明,在非监督任务上,也能学习好很好的语义特征。 

文中的参与使用的任务:

词性标注(Part-Of-Speech Tagging, POS):语法层面,标注每个单词的语法角色
浅层句法分析(Chunking or shallow parsing):语法层面,如判断子句是名词短语(NP)或动词短语(VP),每个词encode为begin-chunk(B-NP) 或inside-chunk (I-NP)或end-chunk(E-NP)等
命名实体识别(Named Entity Recongnition, NER):单词在句子中的成分类别,如人名(Person),公司名(Company),地点(Location)等
语义角色标注(Semantic Role Labeling,SRL):语法层面,如主语,谓语等语义角色标签
语言模型(Language Model):传统语言模型根据前面词序预测下一个单词,在本文中则是判断一个句子是否有意义(转换为分类问题,并要构造负例样本)
近义词(Synonyms or Semantically Related Words,SRL):语义层面,使用WordNet数据集作为ground truth,
作者认为在上述任务中,语义角色标注(SRL)是最难的,通过使用这些任务表明模型的泛化能力,并提升SRL的性能。并且上述任务中,都可以看做是给单词赋予一个新标签。
 

网络结构:

过去the feature selection is task dependent, imply additional researchfor each new NLP task. 作者提出如下的的结构框架,第一层提取出每一层的特征sk(n),k表示特征类别,n表示单词序列。第二层将每个特征映射到一个dk维的向量中,故而映射后的大小为(d1+d2+…+dk)*n。接下来是正常的分类层。

Architecture 1Relatedtasks: features useful for one task might be useful for other ones. In NLP forexample, POS predictions are foften used as features for SRL and NER. Improvinggeneralization on the POS task might therefore imporve both SRL and NER.文中特别提及,如果只是共享这些任务的lookup-tables,这些相关任务能够得到比较大的提升如下结构所示。如下图所示


Architecture 2更新算法类似于随机梯度下降:


 

过去在NLP中的Multitask应用

Casading Features:最简单的方法是,将一个任务模型的预测结果当做输入特征输入到另外一个任务模型中,即类似于单纯的将模型进行串联。但是这样分别进行训练的可能会有导致误差传播,即前面任务产生的误差会持续传播影响后面的任务。
Shallow Joint Training:如果一个数据集有多个不同任务的标签,那么使用一个单一的模型就能同时预测所有任务的label【即同一数据集有相似分布,如果不同数据集混合,那么对于模型更难学习,比如一个正态分布和一个平均分布的数据集叠加就很难学习到一个能够表示这些数据的模型】,如下图所示:


文中提出,如果仅仅使用有监督任务,所能使用的数据集是非常有限的,那么我们需要有非监督的任务来更好的利用广大的数据集。在文章中,作者是使用稍微修改后的语言模型来实现的——将其转换为二分类问题:在input widow正中间的单词是否与上下文相关。正例即为维基百科原文,而负例通过随机替换正中间的词产生。

对比Bengio提出的语言模型,其是根据前面的句子序列预测下一个单词出现的概率,而本文用的是全部上下文,而不仅仅是前面的句子。而且文中提到,如果使用概率预测使用cross-entropy作为需要更多的加速技巧,而本文通过二分类之后会更简单(Usingprobabilities imposes using a cross-entropy type criterion andcan require many tricks to speed-up the training,due to normalization issues. Our criterion (4) is muchsimpler in that respect.) SemanticallyRelated Words Task:比较通过unlabeleddata和labeled data获取的单词的embedding结果。训练一个和上述语言模型类似的网络,positive:paris inWordnet;negative:random pair。 

实验

SRL任务使用ProBank的数据,语言模型使用Wiki的数据,synonyms使用WordNet的数据,所有任务使用wiki中频次最高的3W个单词,其他单词被设为unknown 所有任务上使用ARC①,POS,NER和chunking任务窗口大小ksz=5,POS和NER使用线性模型,chunking的hidden sizes=200;语言模型使用ksz=11,hidden sizes为100;使用两个lookup-tables:一个对应小写单词的,一个是2维的记录单词第一个字母是否大写 SRL:卷积ksz=3,100-100;3个lookup-tables:一个对应小写单词,两个单词向量对应相对距离。另外两个look-tables使用5维的空间记录动词位置。 LanguageModel先单独训练,得到词向量,文中表明这些词向量的效果很好,并且有对比使用WordNet同义词训练的单词。通过languagemodel训练得到的词向量初始化多任务实验中的词向量。 文中强调实验是希望提升SRL的性能,并且认为这是最复杂的任务。实验表明,多种组合的MTL实验均比单任务的SRL要好。使用更大的wsz会导致overfiting,但是使用多任务的结果并没有出现这种情况,故而作者认为MTL能起到较好的泛化能力,同时在POS和Chunking任务上都有提升:

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐