无监督学习和 transformers 如何在 OpenAI 手里玩出新花样

AI 研习社按:OpenAI 近期更新了一篇博客,他们利用一个任务无关的可扩展系统在多语言任务上取得了卓越进展。论文及代码已经公布。他们的方法结合了 transformers(https://arxiv.org/abs/1706.03762) 和无监督学习(https://arxiv.org/abs/1511.01432)两个已经存在的方法。项目结果证明了将监督学习和无监督预训练结合的方法十分有效。这是很多人设想过的方法,他们希望他们的成果可以激励更多人将该方法应用于更大更复杂的数据集上。原文发表在 OpenAI 的博客上,AI 科技评论对博客内容编译如下。

他们的系统分两个阶段工作。首先他们利用无监督的方式在超大数据集上训练一个 transformer 模型,过程中使用语言建模作为训练信号,然后放在较小数据集上进行微调使它可以处理一些特定任务。该方法基于他们情感神经元的相关工作,在那项工作中他们发现当训练数据量达到一定程度时,无监督学习会表现出令人惊讶的区分性特征。因此,他们决定验证一个想法,即是否可以开发一个模型,先以无监督的方式在大数据集上进行训练,然后再进行微调以保证应对不同任务时的表现。而结果显示,此方法效果拔群。相同的核心模型只要进行极小的微调就可以应对不同任务。

本工作基于半监督序列学习中介绍到的方法,该方法先对 LSTM 进行无监督的预训练然后再进行有监督的微调,以此来优化文本分类效果。该方法还拓展了 ULMFiT (https://arxiv.org/abs/1801.06146)中提到的方法,ULMFiT 介绍了如何对单个训练集未知的 LSTM 模型进行微调使它可以在不同的文本分类数据集上取得优秀的成绩。OpenAI 的工作为基于 Transformer 的模型提供了调整方案,让这些模型可以适应多种任务,这些任务不限于文本分类,还有常识推理,语义相似性研究,阅读理解等。本工作与 ELMo (https://allennlp.org/elmo)类似,但在任务无关性上更胜一筹,ELMo 也使用了预训练,但使用了针对任务定制的架构以保证在各种任务中取得最优表现。

仅需少量调整即可达成他们的目标。所有的数据集都使用单一的前向语言模型,且不包含任何集成方法,绝大多数研究成果使用的是完全相同的超参数配置。

他们的方法在 COPA, RACE 和 ROCStories 这三个数据集上的表现着实亮眼,这三个数据集就是用来测试常识推理和阅读理解的。他们的模型在这些数据集上取得了最优的成绩,且进步斐然。这些数据集着重测试多语句推理能力和重要世界知识的知识量,在这些数据集上取得优异成绩说明他们的模型通过无监督学习显著的提升了这些能力。这也为使用无监督学习去开发复杂语言理解能力的研究带来了希望。

为什么是无监督学习?

监督学习是目前大多数机器学习成功案例的核心。但是,监督学习需要使用到大数据集,这些大数据集必须标注明确,保持超低错误率,因此成本很高。无监督学习由于可以规避这些缺点所以显得很值得研究。由于无监督学习突破了“人类明确标注”这一瓶颈,所以随着算力的提升和原始数据可用性的增加,无监督学习也发展的越来越快。无监督学习是一个很热门的研究领域,但是实际应用还是很受限制。

近期有人尝试使用无监督学习向系统中添加大量无标注数据,想以此来提升语言能力。通过无监督学习训练出来的词表征可以使用 TB 级的数据集,而且如果和监督学习结合起来就可以大幅提升处理各种 NLP 任务的效果。直到最近,这些应用于 NLP 的无监督技术(比如 GLoVe 和 word2vec)使用简单模型(词向量)和已训练的信号(词局部共生)。Skip-Thought Vectors 是一个值得注意的早期尝试,它显示了更复杂的方法可能达到的潜在改进。但现在使用的新技术也可以大幅提升性能。这些新技术包括预训练语句表征模型,语境化词向量(尤其值得注意的是 ELMo 和 CoVE),以及 OpenAI 的可以融合无监督预训练和有监督微调的定制架构。

在大型文本语料库上预训练我们模型可以提升它在极具挑战性的自然语言处理任务(如 Winograd Schema Resolution)上的表现

OpenAI 发现他们可以使用底层语言模型去执行任务且不需要训练。例如,随着底层语言模型的优化,模型做选择题这种任务时的表现在稳步提升。虽然这些方法的绝对性能相较于当前最优的监督方法来说往往更加低下(在问答任务中,还是简单滑动窗口基线模型表现更好),但是这些方法在各种任务中表现出的鲁棒性令人鼓舞。不包含任何任务信息和现实信息的随机初始化网络的表现不比启发式随机初始化网络好。这也为生成式预训练为什么可以提升下游任务的表现这个问题提供了一些启发意见。

OpenAI 还可以用模型中已有的语言功能来执行情感分析。斯坦福情绪树数据集(Stanford Sentiment Treebank)由电影的正/负面评论组成,他们可以用语言模型来猜测评论是积极的还是消极的,具体方法是在评论句子后面加上「very」,然后再观察模型把这个「very」判断为「积极」还是「消极」。这种方法不需要根据任务去调整模型,其性能与经典基线相当,准确度能达到 80%。

OpenAI 的工作验证了 transformer 结构的鲁棒性和实用性,也表明它足够灵活,不需要复杂的任务定制和超参数调整就可以在各种任务中拔得头筹。

缺点

这个项目有这几个值得注意的点:

● 算力需求:许多以前的针对 NLP 任务的方法是从头开始在单块 GPU 上训练一个小模型。OpenAI 的方法的预训练过程很昂贵——8 块 GPU 训练一个月。幸运的是,这个过程只需要进行一次,而他们已经开源了自己的模 型,所以其他人就省了这个步骤。该模型比较大(相较于之前的工作),需要使用更大的算力和内存,他们使用了 37 层(12 块)transformer 架构,并在多达 512 个 token 的序列上训练。大多数实验是在 4 或 8 块 GPU 上进行的。这个模型调整起来很快,这也变相的减轻了资源需求。

● 通过文本认识世界的限制与偏见:网上随处可见的书籍和文本并不包含这个世界的全部信息,有时候信息也并不准确。近期的工作(https://arxiv.org/abs/1705.11168)表明某些信息只通过文本无法进行学习,另一些工作(https://arxiv.org/abs/1803.02324)表明模型会学习和利用数据分布上的偏差。

● 泛化能力依旧脆弱:尽管 OpenAI 的方法在各种任务上提升了性能,但现在的深度 NLP 模型依然存在着令人惊讶和反直觉的行为,以系统化,对抗性或超越数据分布的方式进行评估时表现尤为明显。他们的方法已经有了一些进步,但对此问题也束手无策。他们方法相较于之前的纯神经网络在文本蕴含任务上有更好的词鲁棒性。在 Glockner 等人(https://arxiv.org/abs/1805.02266)使用的数据库上,他们的模型取得了 83.75% 的准确率,和通过 WordNet 整合了外部知识的 KIM (https://arxiv.org/abs/1711.04289)性能相近。

未来的工作

● 扩展该方法:OpenAI 发现语言模型的改进与下游任务的改进关联密切。他们现在使用的是单个 8GPU 的商用机器,训练的数据集也不过几千本书的量(大概 5GB 文本)。所以在算力和数据上有很明显的改进空间。

● 改进微调方法:OpenAI 的现有的方法很简单,通过复杂的适配以及迁移其他工作(如 ULMFiT)中的技术,可以对他们的工作进行重大的更新。

● 更加深入的研究生成式预训练这么好用的原因:OpenAI 本文介绍了他们的部分想法,而更加具有针对性的试验和研究会为一些相互竞争的观点祛魅。例如,实验会证明现在取得的进步有多少受益于泛文本处理能力的提升,又有多少是因为世界知识的提升。

附录:数据集样本

bokedi

论文地址:

https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf

代码地址:

https://github.com/openai/finetune-transformer-lm

via OpenAI Blog, AI 研习社编译

关于不同文本嵌入模型的对比可以参见 AI 科技评论往期文章

文本嵌入的经典模型与最新进展

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2018-08-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

学界 | 伯克利强化学习新研究:机器人只用几分钟随机数据就能学会轨迹跟踪

3096
来自专栏用户画像

数据科学

版权声明:本文为博主-姜兴琪原创文章,未经博主允许不得转载。 https://blog.csdn.net/jxq0816/article/details...

1152
来自专栏灯塔大数据

塔秘 | DeepMind到底是如何教AI玩游戏的?

导读 DeepMind到底是如何教AI玩游戏的?这篇在Medium上获得1700个赞的文章,把里面的原理讲清楚了。 ? 谷歌的DeepMind是世界一流的AI研...

4988
来自专栏AI科技评论

斯坦福AI实验室又一力作:深度学习还能进一步扩展 | CVPR2016最佳学生论文详解

结构递归神经网络: 时空领域图像中的深度学习 联合编译:陈圳、章敏、李尊 摘要 虽然相当适合用来进行序列建模,但深度递归神经网络体系结构缺乏直观的高阶时空架构。...

3386
来自专栏机器学习算法与Python学习

全球人工智能技术大会(GAITC):深度学习从监督走向互动

4月22日,2016全球人工智能技术大会(GAITC) 暨人工智能60年纪念活动启动仪式在北京国家会议中心举行,在人工智能技术大会上,地平线机器人联合创始人兼软...

3668
来自专栏AI科技评论

开发 | 聊聊数据挖掘竞赛中的套路与深度学习的局限

AI 科技评论按:本文原作者兔子老大,原载于其知乎专栏——MLの玄学姿势。转载已获得授权。 前言 刚好在暑假通过参加 kaggle 的 Zillow Prize...

4005
来自专栏鸿的学习笔记

机器学习应该知道的事(下)

新的一周又开始了,作为引子的review,还是有点长的,大家可以耐心的读读,绝对会让你有种豁然开朗的感觉。下周的重点是统计语言模型,别想的那么复杂,实际上就是贝...

822
来自专栏瓜大三哥

图像融合

像素级图像融合:主要是针对初始图像数据进行的,其主要目的是主要是图像增强、图像分割和图像分类,从而为人工判读图像或更进一步的特征级融合提供更佳的输入信息。像素级...

23410
来自专栏AI研习社

针对计算机视觉一些问题的分析

至少在过去十年间,解决计算机视觉领域内各种问题的技术已经有了很大的进步,其中一些值得注意的问题有图像分类、对象检测、图像分割、图像生成、图像字幕生成等。在这篇博...

1233
来自专栏新智元

【干货】Jeff Dean Spark 2016 峰会演讲

【新智元导读】上周举行的Spark Summit 2016大会上,谷歌大脑的负责Jeff Dean就深度学习发表演讲,介绍了谷歌对深度学习的使用情况,从技术上解...

3805

扫码关注云+社区

领取腾讯云代金券