斯坦福NLP课程 | 第17讲 - 多任务学习(以问答系统为例)

本文涉及的产品
文本翻译,文本翻译 100万字符
NLP自然语言处理_高级版,每接口累计50万次
图片翻译,图片翻译 100张
简介: NLP课程第17讲介绍了问答系统(QA)、多任务学习、自然语言处理的十项全能(decaNLP)、多任务问答系统(MQAN)等。

ShowMeAI研究中心

作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI
教程地址http://www.showmeai.tech/tutorials/36
本文地址http://www.showmeai.tech/article-detail/254
声明:版权所有,转载请联系平台与作者并注明出处

收藏ShowMeAI查看更多精彩内容


多任务学习(以问答系统为例)
ShowMeAI斯坦福CS224n《自然语言处理与深度学习(Natural Language Processing with Deep Learning)》课程的全部课件,做了中文翻译和注释,并制作成了GIF动图!视频和课件等资料的获取方式见文末


1.问答系统与多任务学习

问答系统与多任务学习

2.NLP与AI的下一步

NLP与AI的下一步

3.单任务的弊端

单任务的弊端

  • 鉴于公式,近年来性能得到了很大改善
  • 只要 公式,我们就可以得到当前的最优结果 (公式是输出类别的个数)
  • 对于更一般的 Al,我们需要在单个模型中继续学习
  • 模型通常从随机开始,仅部分预训练

4.预训练与信息共享帮助很大

预训练与信息共享帮助很大

  • 计算机视觉

    • Imagenet+cnn 巨大的成功
    • 分类属于视觉最基础的任务块
  • 自然语言处理

    • Word2vec、GloVe、CoVe、ELMo、BERT 开始步向成功
    • 自然语言处理中没有统一的基础任务块

5.为什么NLP中共享权重相对较少

为什么NLP中共享权重相对较少

  • NLP 需要多种推理:逻辑,语言,情感,视觉,++
  • 需要短期和长期记忆
  • NLP 被分为中间任务和单独任务以取得进展
  • 在每个社区中追逐基准
  • 一个无人监督的任务可以解决所有问题吗?不可以
  • 语言显然需要监督

6.为什么NLP也需要1个统一多任务模型

为什么NLP也需要1个统一多任务模型

  • 多任务学习是一般 NLP 系统的阻碍
  • 统一模型可以决定如何转移知识(领域适应,权重分享,转移和零射击学习)
  • 统一的多任务模型可以

    • 更容易适应新任务
    • 简化部署到生产的时间
    • 降低标准,让更多人解决新任务
    • 潜在地转向持续学习

7.如何在1个框架中承载多个NLP任务

如何在1个框架中承载多个NLP任务

  • 序列标记

    • 命名实体识别,aspect specific sentiment
  • 文字分类

    • 对话状态跟踪,情绪分类
  • Seq2seq

    • 机器翻译,总结,问答

8.NLP中的超级任务

NLP中的超级任务

  • 语言模型
  • 问答
  • 对话

9.自然语言处理十项全能 (decaNLP)

自然语言处理十项全能 (decaNLP)

  • 把 10 项不同的任务都写成了 QA 的形式,进行训练与测试

10.问答多任务学习

问答多任务学习

  • Meta-Supervised learning 元监督学习 :From {x,y} to {x,t,y} (t is the task)
  • 使用问题 公式 作为任务 公式 的自然描述,以使模型使用语言信息来连接任务
  • 公式公式 的答案,公式 是回答 公式 所必需的上下文

11.为decaNLP设计模型

为decaNLP设计模型

  • 需求:

    • 没有任务特定的模块或参数,因为我们假设任务ID是未提供的
    • 必须能够在内部进行调整以执行不同的任务
    • 应该为看不见的任务留下零射击推断的可能性

12.decaNLP的1个多任务问答神经网络模型方案

decaNLP的1个多任务问答神经网络模型方案

  • 以一段上下文开始
  • 问一个问题
  • 一次生成答案的一个单词,通过

    • 指向上下文
    • 指向问题
    • 或者从额外的词汇表中选择一个单词
  • 每个输出单词的指针切换都在这三个选项中切换

13.多任务问答网络 (MQAN)

多任务问答网络 (MQAN)

  • 固定的 GloVe 词嵌入 + 字符级的 n-gram 嵌入→ Linear → Shared BiLSTM with skip connection
  • 从一个序列到另一个序列的注意力总结,并通过跳过连接再次返回
  • 分离BiLSTM以减少维数,两个变压器层,另一个BiLSTM
  • 自回归解码器使用固定的 GloVe 和字符 n-gram 嵌入,两个变压器层和一个LSTM层来参加编码器最后三层的输出
  • LSTM解码器状态用于计算上下文与问题中的被用作指针注意力分布问题
  • 对上下文和问题的关注会影响两个开关:

    • gamma 决定是复制还是从外部词汇表中选择
    • lambda 决定是从上下文还是在问题中复制

14.评估

评估

15.单任务效果vs多任务效果

单任务效果vs多任务效果

  • S2S 是 seq2seq
  • +SelfAtt = plus self attention
  • +CoAtt = plus coattention
  • +QPtr = plus question pointer == MQAN
  • Transformer 层在单任务和多任务设置中有收益
  • QA和SRL有很强的关联性
  • 指向问题至关重要
  • 多任务处理有助于实现零射击
  • 组合的单任务模型和单个多任务模型之间存在差距

16.训练策略:全联合

训练策略:全联合

  • Training Strategies: Fully Joint
  • 简单的全联合训练策略
  • 困难:在单任务设置中收敛多少次迭代
  • 带红色的任务:预训练阶段包含的任务

17.单任务vs多任务

单任务vs多任务

  • QA 的 Anti-curriculum 反课程预训练改进了完全联合培训
  • 但MT仍然很糟糕

18.近期研究与实验

近期研究与实验

  • Closing the Gap: Some Recent Experiments

19.单任务vs多任务

单任务vs多任务

20.MQAN细节

MQAN细节

  • Where MQAN Points

    • 答案从上下文或问题中正确的复制
    • 没有混淆模型应该执行哪个任务或使用哪个输出空间

21.decaNLP预训练提升最后效果

decaNLP预训练提升最后效果

  • Pretraining on decaNLP improves final performance

    • 例如额外的 IWSLT language pairs
    • 或者是新的类似 NER 的任务

22.预训练MQAN的零次学习任务域自适应

预训练MQAN的零次学习任务域自适应

  • Zero-Shot Domain Adaptation of pretrained MQAN:

    • 在 Amazon and Yelp reviews 上获得了 80% 的 精确率
    • 在 SNLI 上获得了 62% (参数微调的版本获得了 87% 的精确率,比使用随机初始化的高 2%)

23.零次学习(Zero-Shot)分类

零次学习(Zero-Shot)分类

  • Zero-Shot Classification

    • 问题指针使得我们可以处理问题的改变(例如,将标签转换为满意/支持和消极/悲伤/不支持)而无需任何额外的微调
    • 使模型无需训练即可响应新任务

24.decaNLP:通用NLP任务效果基准

decaNLP:通用NLP任务效果基准

  • decaNLP: A Benchmark for Generalized NLP

    • 为多个NLP任务训练单问题回答模型
    • 解决方案

      • 更一般的语言理解
      • 多任务学习
      • 领域适应
      • 迁移学习
      • 权重分享,预训练,微调(对于NLP的ImageNet-CNN?)
      • 零射击学习

25.相关研究与工作

Related Work (tiny subset)

26.NLP的下一步

What’s next for NLP?

27.视频教程

可以点击 B站 查看视频的【双语字幕】版本

frameLabelStart--frameLabelEnd

28.参考资料

ShowMeAI系列教程推荐

NLP系列教程文章

斯坦福 CS224n 课程带学详解

ShowMeAI用知识加速每一次技术成长

目录
相关文章
|
2月前
|
数据采集 自然语言处理 机器人
如何使用生成器来提高自然语言处理任务的性能?
如何使用生成器来提高自然语言处理任务的性能?
|
25天前
|
机器学习/深度学习 自然语言处理 知识图谱
GraphRAG在自然语言处理中的应用:从问答系统到文本生成
【10月更文挑战第28天】作为一名自然语言处理(NLP)和图神经网络(GNN)的研究者,我一直在探索如何将GraphRAG(Graph Retrieval-Augmented Generation)模型应用于各种NLP任务。GraphRAG结合了图检索和序列生成技术,能够有效地处理复杂的语言理解和生成任务。本文将从个人角度出发,探讨GraphRAG在构建问答系统、文本摘要、情感分析和自动文本生成等任务中的具体方法和案例研究。
52 5
|
2月前
|
机器学习/深度学习 存储 自然语言处理
从理论到实践:如何使用长短期记忆网络(LSTM)改善自然语言处理任务
【10月更文挑战第7天】随着深度学习技术的发展,循环神经网络(RNNs)及其变体,特别是长短期记忆网络(LSTMs),已经成为处理序列数据的强大工具。在自然语言处理(NLP)领域,LSTM因其能够捕捉文本中的长期依赖关系而变得尤为重要。本文将介绍LSTM的基本原理,并通过具体的代码示例来展示如何在实际的NLP任务中应用LSTM。
94 4
|
5月前
|
数据采集 自然语言处理 机器人
使用生成器来提高自然语言处理任务的性能
使用生成器来提高自然语言处理任务的性能
|
4月前
|
自然语言处理 计算机视觉 Python
VisProg解析:根据自然语言指令解决复杂视觉任务
VisProg是一个神经符号系统,能够根据自然语言指令生成并执行Python程序来解决复杂的视觉任务,提供可解释的解决方案。
49 0
|
5月前
|
机器学习/深度学习 自然语言处理 机器人
使用Python实现深度学习模型:自然语言理解与问答系统
【7月更文挑战第20天】 使用Python实现深度学习模型:自然语言理解与问答系统
63 0
使用Python实现深度学习模型:自然语言理解与问答系统
|
4月前
|
机器学习/深度学习 自然语言处理 并行计算
|
4月前
|
机器学习/深度学习 自然语言处理
自然语言处理 Paddle NLP - 任务式对话系统-理论
自然语言处理 Paddle NLP - 任务式对话系统-理论
63 0
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在自然语言处理中的应用与挑战
【10月更文挑战第3天】本文将探讨AI技术在自然语言处理(NLP)领域的应用及其面临的挑战。我们将分析NLP的基本原理,介绍AI技术如何推动NLP的发展,并讨论当前的挑战和未来的趋势。通过本文,读者将了解AI技术在NLP中的重要性,以及如何利用这些技术解决实际问题。
|
3月前
|
机器学习/深度学习 数据采集 自然语言处理
深度学习在自然语言处理中的应用与挑战
本文探讨了深度学习技术在自然语言处理(NLP)领域的应用,包括机器翻译、情感分析和文本生成等方面。同时,讨论了数据质量、模型复杂性和伦理问题等挑战,并提出了未来的研究方向和解决方案。通过综合分析,本文旨在为NLP领域的研究人员和从业者提供有价值的参考。