作者 | Ajit Rajasekharan
译者 | 夕颜
出品 | AI科技大本营(ID:rgznai100)
【导读】10月,Google 在《Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer》这篇论文中提出了一个最新的预训练模型 T5(Text-To-Text Transfer Transformer),其参数量达到了 110 亿,完爆 Bert Large 模型,且在多项 NLP 任务中达到 SOTA 性能。有人说,这是一种将探索迁移学习能力边界的模型,它的意义究竟是什么?潜力还有多大?
T5是什么?
T5 是一个文本到文本迁移 Transformer 模型,通过将所有任务统一视为一个输入文本并输出文本,其中任务类型作为描述符嵌入到输入中。该模型使单个模型可以执行各种各样的有监督任务,例如翻译、分类、Q&A、摘要和回归(例如,输出介于 1 到 5 之间两个句子之间的相似性得分。实际上,这是一个 21 类分类问题,如下所述)。该模型首先在大型语料库上进行无监督的预训练(像 BERT 中一样的隐蔽目标),然后进行有监督训练,其中包含代表所有这些任务的输入文本和相关带标签的数据,也就是文本(其中输入流中的特定标记“将英语翻译为法语”或“ stsb句子1:…句子2”,“问题” /“上下文”等对任务类型进行编码,如上图所示,模型经过训练输出与标记数据匹配的文本。)通过这种为监督学习指定输入和输出的方法,该模型在所有不同的任务之间共享其损失函数、解码器等。
T5的贡献是什么?
T5 模型通过将不同的任务编码为输入流中的文本指令,以统一的方式处理各种多对一和多对一 NLP 任务。这样一来,就可以在多种 NLP 任务中(例如翻译、分类、Q&A、摘要,甚至回归)有监督地训练单个模型(尽管实际上它实际上是一种分类)。
虽然这项工作是大规模 Q&A、总结等方面的最新技术成果,但主要贡献也不在于模型,因为这种形式的文本编码方法此前已经有 GPT2 这样的“前辈”存在,除了是在无监督文本情况下之外,它们使用的是相同的思想(因为 GPT2 不能进行分类或标记问题,而 T5 可以在有监督学习阶段进行)。
本文的目的主要是通过使用 T5 模型
  • 研究从大规模的无监督预训练到监督任务,与大规模利用转移学习相关的因素
在此过程中,性能指标也体现出迁移学习在某些语言理解(在人的层面上)任务上的局限性。虽然本文重点是解决未来研究的这些局限性,但在扩展语言理解(不仅是文本)上也有一些进展工作(例如,Yoshua Bengio 的 grounded language understanding https://openreview.net/pdf?id=rJeXCo0cYX)。这些新方法直接从文本解决了当前迁移学习方法的一些缺陷,如样本效率、常识理解、因果推理等。
论文的主要发现
  • 本论文主要关注基于 Transfomer 的模型(与基于 RNN 的序列模型相反)。基于编码器/解码器的 Transfomer 体系结构最适合 T5 模型中使用的文本到文本方法。通过在编码器和解码器之间共享参数计数,参数数量与诸如 BERT 的仅编码器模型相同,而性能没有明显下降。
  • 掩蔽目标(去噪)与 BERT 中使用的掩蔽目标(以及其变体,例如被掩盖的跨度)相同,其性能优于语言建模目标。
  • 最好在大型数据集上进行预训练,而不是小型数据集(尤其是在预训练中多次出现的数据时,对于大型数据集而言,这不是问题)。此外,对域内数据进行预训练还可以提高下游任务的性能。
  • 尽管计算量很大,但在微调过程中更新预训练模型的所有参数所达到的性能要优于仅更新几个参数(请参见下文的最终思路)。
  • 通过在更多数据上训练模型,训练更大的模型或使用组合方法,都可以提高性能。
  • 仅针对英语的预训练方法未在翻译中产生最先进的结果(法语、德语和罗马尼亚语;请参见下图),这表明这是一种与语言相关的方法。
  • 通过使用掩膜(去噪)进行预训练以在下游任务中使用提取的知识,知识提取能力似乎在模型从仅预测损坏的文本跨度中学习知识时受到限制。如前所述,这一发现表明学习方法不仅限于文本(例如,grounded language understanding)。
其他细节
  • 此模型的初始版本仅支持在 TPU 上运行。该链接(https://medium.com/@ajitrajasekharan/setting-up-a-tpu-node-in-google-cloud-step-by-step-instructions-2236ac2aacf7)将逐步介绍设置虚拟机和 TPU 节点的步骤。请注意,按照安装说明,使用具有正确的 Tensorflow 版本的 TPU 节点,以免发生错误。
  • 下图显示了使用“小”模型对输入进行解码的完整测试结果(有关说明,请参见 Github https://github.com/google-research/text-to-text-transfer-transformer#decode 的解码部分。本测试还包括不同大小的预训练模型测试。由于内存需求较大,我无法使用基本模型和大型模型。其中 Winograd schemas style 测试没有产生本论文的结果,不知道是什么问题。
  • 这种文本到文本方法还带来了挑战,即该模型可能会不输出预期在测试阶段输出的单词之一。举例来说,在上述“可乐测试”(测试句子语法是可接受的/不可接受的)中,模型可能输出的是“选择1”或“选择2”以外的字符串。作者声称这种情况将被视为测试失败,虽然他们还未观察到这种情况。另外,模型对于相同的输入可能输出不同的结果,这在聚合时很明显。
  • 最后,现实中用于回归的模型只是 21 类分类。与真正的回归模型输出可以是一个连续的值不同,T5 模型预测值的范围为 1-5,增量 .2.。这与值为 0  结合产生 21 个值,本质上是 21 类分类问题。
最后的思考
尽管在较大的数据集上训练的较大模型可以继续提高某些标准 NLP 任务的性能,但从大型语料库上进行预训练中提取的通用知识似乎仍无法使得诸如 Winograd Schema 挑战(WSC)之类的任务的性能接近人类水平(100%)。看起来,至少有两种不同的方法可以解决此问题。
  • 继续扩大 T5 论文和其他相关工作所提出方法的规模或增加训练方法,例如通过不使用替代 tokens(由生成器网络输出)来更改当前的 masking words 预训练程序,并由鉴别器来预测 replacement。但所有这些方法仍然只在词的空间进行预测学习。
  • 尝试完全不同的预测下一个 token 的方法,不是在单词的空间中,而是在抽象表示的变换空间中。这项早期研究强调了现有预测模型词空间上面临的很多挑战,如需要大量的训练数据(样本无效),不能做 WSC 等任务所要求的常识和因果推理。在抽象空间进行预测的目标与词空间相反(或图像-像素空间),这样做该模型可以学习基本的因果变量,除了推理之外,这些因果变量还可以适应基本分布的变化(因果结构仍然保持不变),只需要很少的新训练样本即可,这是迁移学习的关键目标之一。
参考链接:
https://medium.com/@ajitrajasekharan/t5-a-model-that-explores-the-limits-of-transfer-learning-fb29844890b7

(*本文为AI科技大本营翻译文章,转载请微信联系 1092722531

精彩推荐

11.11惠不可挡!

BDTC 2019双十一豪礼大放送,凡11.11当天购买大会“单人票”,即可额外获得价值298元CSDN VIP年卡!(VIP年卡特权:全站免广告+600个资源免积分下载+学院千门课程免费看+购课9折)~

扫描下图二维码或点击阅读原文,领取你的VIP吧!

推荐阅读

T5,一个探索迁移学习边界的模型相关推荐

  1. Pytorch模型迁移和迁移学习,导入部分模型参数

    Pytorch模型迁移和迁移学习 目录 Pytorch模型迁移和迁移学习 1. 利用resnet18做迁移学习 2. 修改网络名称并迁移学习 3.去除原模型的某些模块 1. 利用resnet18做迁移 ...

  2. CTR预估系列:DeepCTR 一个基于深度学习的CTR模型包

    在计算广告和推荐系统中,CTR预估一直是一个核心问题.无论在工业界还是学术界都是一个热点研究问题,近年来也有若干相关的算法竞赛.本文介绍一个基于深度学习的CTR模型包DeepCTR,具有简洁易用.模块 ...

  3. 迁移学习训练分类模型实践第一篇

    迁移学习训练分类模型实践第一篇 前言 数据获取.预处理 构建模型 查看模型参数量和FLOPs 测试模型 前言 为了简洁,本文不包含任何训练过程,仅介绍处理数据.构建模型.使用随机初始化权重推断: 关于 ...

  4. 迁移学习CNN图像分类模型 - 花朵图片分类

    训练一个好的卷积神经网络模型进行图像分类不仅需要计算资源还需要很长的时间.特别是模型比较复杂和数据量比较大的时候.普通的电脑动不动就需要训练几天的时间.为了能够快速地训练好自己的花朵图片分类器,我们可 ...

  5. Python 迁移学习实用指南:1~5

    原文:Hands-On Transfer Learning with Python 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集],采用译后编辑(MT ...

  6. 谷歌提出“T5” 新NLP模型,突破迁移学习局限,多基准测试达SOTA!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 转载自:AI科技评论 过去几年间,迁移学习给 NLP 领域带来了丰硕的成果,掀起了 ...

  7. 官方解读,谷歌“T5”模型,如何突破迁移学习局限,实现多基准测试SOTA

    2020-02-25 14:35 导语:实现多基准测试SOTA. 过去几年间,迁移学习给 NLP 领域带来了丰硕的成果,掀起了新一波的发展浪潮.而迁移学习之所以如此有效,得益于其利用自监督任务(如语言 ...

  8. FreeDOM —— 一个可迁移的网页信息抽取模型

    ⬆⬆⬆ 点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 在网页中抽取结构化信息是一种非常重要的知识获取(Knowledge Discvoery)方式.为了构建一个领域的知识图谱,往往需 ...

  9. 数据不够怎么训练深度学习模型?不妨试试迁移学习 ——重用神经网络的结构2...

    数据不够怎么训练深度学习模型?不妨试试迁移学习 本质就是这个图!pretrained model就是你截取的部分神经网络模型(迁移学习),而nanonet就是你自己加入的网络层. 随着深度学习技术在机 ...

最新文章

  1. php图片如何让浮动,页面中用css属性怎么控制图片自定义浮动?(示例)
  2. Nagios 监控系列学习 —— 简介和安装
  3. 二级路由dhcp关闭连不上wifi_手把手教你天翼校园网开wifi
  4. Spring-学习笔记07【银行转账案例】
  5. boost::units模块实现异构单元片段
  6. 前端学习(1568):封装一个面包屑导航
  7. 操作系统学习笔记-01-1.1课程概述
  8. 一篇文章带你搞懂 DEX 文件的结构
  9. android x86 笔记本卡屏,笔记本死机卡屏怎么办
  10. 下载丨DataGuard环境搭建详细步骤
  11. JavaScript学习(六十五)—数组知识点总结
  12. python画曲线图-python画蝴蝶曲线图的实例
  13. 深海迷航代码_?《深海迷航(Subnautica)》如何输入代码
  14. 巴菲特致股东的一封信:1989年
  15. Excel VBA操作网页 显示滚动进度条
  16. 8、鼠标控制与32位模式切换
  17. 推荐5个超级实用的 Python 模块,不知道就out啦!
  18. 国家队入场,中国数字资产交易市场或将迎来新一轮“洗牌”
  19. 【视觉的盛宴】-圣托里尼、爱琴海
  20. 前端面试题:Token一般是存放在哪里? Token放在cookie和放在localStorage、sessionStorage中有什么不同?

热门文章

  1. \r与\n有何差别,编码的时候应该怎样使用
  2. fragment类onresume里面刷新操作处理
  3. VSCode搭建Vue项目
  4. VSCode自动生成Doxygen格式注释
  5. JAVA实现中点画线_实验1-中点画线和Bresenham画线算法的实现
  6. 黑色星期五Friday the Thirteenth
  7. 软件发布版本的业界规则?
  8. [No0000160]常用C# 正则表达式大全
  9. SVN linux 服务器端配置
  10. react遇到的各种坑