导读
在近几年,NLP 领域得到了快速的发展,包括 ELMo ,BERT在内的新方法不断涌现,显著提高了模型在一系列任务的表现。在本文中,作者针对主要的 NLP 模型、常用开源机器学习库和多任务学习的相关资源进行了归纳,提供了包括论文、代码、视频和博客在内的多种学习资源。
随着 NLP 领域的不断发展,大量新的机器学习模型出现,ELMo、BERT 等取得了较好的进展。在今天的推荐中,为大家整理了一份针对最新 NLP 机器学习模型的学习资源汇总,包括论文、视频、博客、代码等,帮助大家紧跟技术潮流,快速掌握最新技术。
在本文中,作者为大家整理了 NLP 的阅读清单,包括论文、博客、代码和视频。该资源主要包含了在NLP 领域的机器学习模型及相关资源,并包含了许多最新的模型,包括 LSTM,AWD-LSTM,指针模型,Attention 机制, ELMo,ULMFit,OpenAI GPT,BERT。文章对两个较常用的开源机器学习库 Pytorch 和fast-ai 的学习资料也进行了整理。另外,考虑到近几年多任务学习模型使用较多,作者对相关资源也进行了归纳。
在最近的 NLP 进展中,很多研究都通过将更大的transformer 和现有模型结合,解决多任务学习问题。并且,越来越多的论文和项目使用大规模的计算资源来进行资源计算,因此由于算力限制,我们往往需要使用开源的模型。
1、fast-ai
视频:“快速入门深度学习”课程
提供了使用 fast-ai 开发语言模型的详细教程
视频地址:
2、LSTM
尽管目前 transformer 是主流的趋势,但在一些项目中LSTM 模型仍有应用。如果使用 LSTM 模型,建议使用AWD-LSTM 来搭建项目。
论文
《LONG SHORT-TERMMEMORY》
建议快速浏览以了解模型原理及细节
论文地址:
www.bioinf.jku.at/publication…
博客
《Understanding LSTM Networks》
该博文详细介绍了 RNN 和 LSTM 的原理及区别,并且提供了模型的可视化介绍,有助于快速理解模型;
博文地址:
3、AWD-LSTM
AWD-LSTM 对 LSTM 模型进行了改进,包括在隐藏层间加入dropout ,加入词嵌入 dropout ,权重绑定等。建议使用AWD-LSTM 来替代 LSTM 以获得更好的模型效果。
论文
《Regularizing and OptimizingLSTM Language Models paper》
提出了 AWD-LSTM 模型
论文地址:
代码
Salesforce 提供的模型源码
GitHub 项目地址:
fast-ai 提供的模型源码
GitHub 项目地址:
4、指针模型
尽管指针模型的应用并不多,但指针模型提供了注意力机制的最初思想,值得简单了解。
论文
《Pointer SentinelMixture Models 》
提出了指针模型
论文地址:
官方说明视频
论文提供的官方说明视频
视频地址:
论文
《Improving Neural Language Models with a continuous cachepaper》
论文地址:
提示:在一些开源的机器学习库(如 Pytorch 和Tensorflow)中,其代码使用权重衰减(weight decay)代替了正则化(regularization)。二者的差别在于,权重衰减直接对权重更新规则进行更改,正则化则调整损失函数。一些论文的作者提到使用 SGD 优化参数的效果优于 Adam 优化,一部分原因可能是其使用的机器学习库使用权重衰减替代了正则化。
5、Attention模型
尽管注意力机制应用广泛,但该模型并不总是最优的选择。
课程:
斯坦福 CS224n 课程对 attention 机制的介绍
对 attention 机制的介绍从 1:00:55 处开始
视频地址:
论文
《Attention is all youneed》
该论文也包含了对 Transformer 的介绍
论文地址:
博文:
《The AnnotatedTransformer》
使用 Pytorch 对 Transformer 进行复现的文章,由 HarvardNLP 发布
博文地址:
nlp.seas.harvard.edu/2018/04/03/…
视频:
Google 发布的 attention 机制介绍官方视频
视频地址:
博文:
Google AI 对 Transformer 的介绍博文
博文地址:
ai.googleblog.com/2017/08/tra…
视频:
论文介绍视频地址:
模型介绍视频地址:
论文
《Transformer-XL:Attentive Language Models Beyond a Fixed Length Context paper.》
Google 提交的Transformer-XL 模型论文
该模型对 Transformer 进行了改进,但这一改进没有被 BERT 采用
论文地址:
博文:
Google 对 Transformer-XL 的介绍博文
博文地址:
ai.googleblog.com/2019/01/tra…
博文
《Transformer-XL — CombiningTransformers and RNNs Into a State-of-the-art Language Model 》
对 Transformer-XL 进行了介绍
博客地址:
视频:
对 Transformer-XL 模型进行介绍
视频地址:
博文
《The Illustrated Transformer》
博文地址:
jalammar.github.io/illustrated…
博文
《Attention and Memoryin Deep Learning and NLP》
一篇对注意力机制进行介绍的博文
博文地址:
博文
《Attention and Augmented Recurrent Neural Networks blog》
对注意力机制和正则化循环神经网络进行了介绍
博文地址:
代码:
使用一个简单的 Transformer 模型进行序列标注
项目地址:
对 Transformer 模型的其他改进
Universal Transformer
Google的介绍博文地址:
ai.googleblog.com/2018/08/mov…
Evolved Transformer
介绍博文地址:
现有对 Transformer 模型改进较少的原因之一是模型的算力消耗较大。一般而言, Transformer 模块的数量越多,模型训练效果越好,这就意味着如果没有足够的算力,很难对模型效果进行优化。另外,在对语言模型的训练往往需要使用更大的批处理尺寸,往往需要特殊的芯片支持。
6、对模型的其他改进
这一部分列举了一些相关的学习资源,如果只想了解最核心的内容可以略过此部分。
论文
《Character-Level Language Modeling with DeeperSelf-Attention 》
论文地址:
论文
《Using the output embedding to Improve LangaugeModels 》
论文地址:
论文
《Quasi-Recurrent Neural Networks paper》
使用卷积层实现 LSTM 的并行计算,提高了 LSTM 的计算速度。提供了相关代码
论文地址:
fast-ai提供的代码地址:
Salesforce提供的代码地址:
博文
《Deep Learning for NLP Best Practices blog》
介绍了对 LSTM 模型的设计和调参方法
博文地址:
博文
《Notes on the state of the art techniques for languagemodeling blog》
对 fast-ai 中各类模型的使用进行了总结
博文地址:
博文
《Language Modes and Contextualized Word Embeddings blog》
对 ELMo, BERT 及其他模型进行了一个简单的综述
博文地址:
www.davidsbatista.net/blog/2018/1…
7、多任务学习
多任务学习可以使用一个模型解决多个任务,例如将一段文本翻译成包含部分德文的英文文段。
论文
《An overview of Multi-Task Learning in deep neural networks》
对使用神经网络进行多任务学习进行了综述
论文地址:
论文
《The Natural Language Decathlon: Multitask Learning asQuestion Answering》
OpenAI GPT 是该论文的一个应用实例
论文地址:
8、Pytorch
Pytorch 提供了一些官方教程,是非常好的学习资源。需注意的是,该教程没有包含对Transformer 的介绍。
Pytorch官方教程
教程地址:
9、ELMo
ELMo 是第一个使用预训练模型进行词嵌入的方法,通过将需要处理的语句输入 ELMo,我们可以得到句子中每个词的向量表示。
论文
《Deep contextualizedword representations》
提出了 ELMo 模型
论文地址:
对 ELMo 的视频介绍
视频地址:
10、ULMFit
在 Kaggle 和其他竞赛中,ULMFit 的效果都超越了其他模型。
论文
《Universal LanguageModel Fine-tuning for Text Classification 》
提出了 ULMFit 模型
论文地址:
fast-ai 发布的模型介绍博文
博文地址:
课程《Cutting Edge DeepLearning course》第10课对 ULMFit 的介绍
fast-ai 发布的系列课程
课程地址:
11、OpenAI GPT
由于 BERT 针对 GPT1 的缺点进行了针对性改善,建议在开发中使用 GPT2。
GPT1
论文地址:
s3-us-west-2.amazonaws.com/openai-asse…
博客地址:
代码地址:
GPT2
论文地址:
d4mucfpksywv.cloudfront.net/better-lang…
博客地址:
代码地址:
OpenAI 发布的 GPT2 介绍视频
视频地址:
12、BERT
截止目前效果最好的语言模型。
论文
《BERT: Pre-training ofDeep Bidirectional Transformers for Language Understanding》
提出了 BERT 模型
论文地址:
博文:
Google 对 BERT 的官方介绍
博文地址:
ai.googleblog.com/2018/11/ope…
博文:
对 BERT 介绍的系列博文
编码器介绍
博文地址:
BERT 提出的新结构介绍
博文地址:
解码器介绍
博文地址:
论文
《Reducing BERTPre-Training from 3 Days to 76 Minutes 》
介绍了一个新的针对语言模型的优化器,可以显著降低模型训练时间
论文地址:
原文链接:
现在,测一测你是否适合转型做人工智开发工程师?
还有惊喜领取哦~
关注公众账号
【飞马会】
▼
往期福利关注飞马会公众号,回复对应关键词打包下载学习资料;回复“入群”,加入飞马网AI、大数据、项目经理学习群,和优秀的人一起成长!
回复 数字“22”吴恩达新书,教你构建机器学习项目:《Machine Learning Yearning》
回复 数字“23”机器学习:怎样才能做到从入门到不放弃?(内含福利)