课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/

视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239

这里回顾CS224N Lecture 17的课程内容,这一讲主要介绍了Multitask Learning。

备注:图片均来自课程课件。

The Limits of Single-task Learning

  • 当前的NLP模型都是针对单任务的,即对于特点的任务有特定的网络结构。
  • 借助{数据集,任务,模型,指标},近年来的性能有了很大的提高。
  • 只要数据集数量够多,就可以产生局部最优的效果。
  • 对于更通用的AI,我们需要在单个模型中进行持续学习。
  • 模型通常从随机模型开始或仅经过部分预训练。

Why a unified multi-task model for NLP?

为什么要让NLP使用统一的多任务模型?

  • 多任务学习是常规NLP系统的障碍
  • 统一的模型可以决定如何转移知识(领域适应,权重共享,转移和zero shot学习)
  • 统一的多任务模型可以
    • 更容易适应新任务
    • 使部署到生产的过程变得简单X倍
    • 降低门槛,让更多人解决新任务
    • 有可能继续学习

How to express many NLP tasks in the same framework?

如何在同一框架中表达许多NLP任务?常见的NLP任务可以分为3类:

  • 序列标记:
    • 命名实体识别,特定方面的情感分析
  • 文本分类:
    • 对话状态跟踪,情感分类
  • Seq2seq:
    • 机器翻译,本文总结,问答系统

Multitask Learning as Question Answering

将QA变成多任务学习:

  • 问题解答
  • 机器翻译
  • 总结
  • 自然语言推理
  • 情感分类
  • 语义角色标签
  • 关系提取
  • 对话
  • 语义解析
  • 常识推理

  • 元监督学习:从{x,y}到{x,t,y}(t是任务)

  • 使用问题q作为任务t的自然描述,以允许模型使用语言信息来连接任务
  • y是对q的答案,x是回答q所必需的上下文

Multitask Question Answering Network (MQAN)

  • 从上下文开始
  • 问一个问题
  • 根据如下三种方式生成一个单词:
    • 背景
    • 问题
    • 外部词汇
  • 指针开关为每个输出字在这三个选项之间进行选择

Training Strategies: Fully Joint

对每个任务分别使用批量数据来训练网络。

Training Strategies: Anti-Curriculum Pre-training

按照任务难度递减的顺序训练网络。