「回顾」自然言语处理中的多义务学习

图灵汇官网

自然语言处理中的多任务学习

本次报告内容主要围绕自然语言处理中的多任务学习展开,共分为四个部分:

  1. 基于深度学习的自然语言处理
  2. 深度学习在自然语言处理中的挑战
  3. 自然语言处理中的多任务学习
  4. 新的多任务基准平台

首先,简要介绍实验室情况。研究团队主要聚焦于深度学习与自然语言处理领域,涵盖语言表示学习、词法/句法分析、文本推理、问答系统等方面。团队还开发了开源自然语言处理系统FudanNLP,并计划在12月中旬推出全新的自然语言处理系统:fastNLP。

一、自然语言处理简介

自然语言处理类似于人类语言处理,但区别在于它是通过程序实现的。自然语言处理包括语音识别、自然语言理解、自然语言生成、人机交互及其中间阶段。其基础技术、核心技术及应用场景如下:

  • 基础技术:词法分析、句法分析、实体识别、语义分析、篇章分析、语言模型;
  • 核心技术:机器翻译、自动问答、情感分析、信息抽取、文本摘要、文本分类;
  • 应用场景:智能客服、搜索引擎、个人助理、推荐系统、舆情分析、知识图谱。

自然语言处理最初依赖规则驱动,逐渐过渡到数据驱动。

二、深度学习在自然语言处理中的挑战

目前大多数自然语言处理任务使用的神经网络较浅,原因是缺乏大规模标注数据或标注成本过高。常用的解决方法包括无监督预训练、多任务学习和迁移学习。本报告重点介绍多任务学习。

1. 无监督预训练

无监督预训练在自然语言处理中十分重要。早期使用词向量等词级模型,后来发展为句子级模型,如ELMo、OpenAI GPT、BERT等。这些模型在多个任务中取得了较好的效果。

  • ELMo:通过构建双向LSTM预测前向和后向的语言模型,提供了一个优秀的迁移模型。
  • BERT:利用Transformer模型进行双向训练,提高了多个任务的效果。

这些模型证明表示学习在自然语言处理中依然重要。表示学习是指将语义信息表示为稠密、低维的实值向量。一个好的表示应具备强大的表示能力、简化后续学习任务、具有普适性等特点。

2. 多任务学习

多任务学习可以将多个任务合并为一个模型处理。例如,同时训练两个任务模型,分别处理任务1和任务2。多任务学习可以共享表示,有助于提高模型性能。

  • 无监督预训练:通过无监督预训练可以提升模型性能。
  • 多任务学习:多任务学习可以增强数据利用率,改善表示学习,起到正则化作用,同时允许模型“窃听”有用信息。

三、自然语言处理中的多任务学习

多任务学习可以简化自然语言处理流程。多任务学习包括多领域任务、多层级任务、多语言任务和多模态任务等。深度学习与多任务学习有多种实现方式,如硬共享、软共享、共享-公共形式等。

  • 硬共享形式:在底层共享,上层根据不同的任务进行设计。
  • 软共享形式:每个任务有自己的流程,但可以从其他任务中获取信息。
  • 共享-公共形式:部分网络模块在所有任务中共享。

为了避免负迁移,可以引入对抗学习,让共享特征更加泛化。未来的研究方向包括函数共享、多层级共享、主辅任务形式等。

四、新的多任务基准平台

机器阅读理解是在阅读文档后回答问题。目前主流框架是双向注意力机制,适用于多种任务。例如,“十项全能”系统将多个自然语言处理任务转化为阅读理解任务。另一个大型框架GLUE也将多个任务转化为统一形式。

五、总结

本报告介绍了自然语言处理简介、基于深度学习的自然语言处理、深度学习在自然语言处理中的挑战、多任务学习和新的多任务基准平台。多任务学习相比迁移学习更容易实施,效果也更好。

此外,今年12月中旬将发布一个模块化的开源自然语言处理工具fastNLP。该工具包括Spacy高级接口、AllenNLP自定义模块、AutoML自动调参。NLP工具分为编码器、交互器、聚合器和解码器四个组件,适用于文本分类和序列标注等任务。

本文来源: 图灵汇 文章作者: 钟玲莉