NLP最新资源:论文、代码、博客、视频一应俱全

2019 年 6 月 8 日 AI100


整理 | Rachel

出品 | AI 科技大本营(ID:rgznai100)


【导读】在近几年,NLP 领域得到了快速的发展,包括 ELMo ,BERT

在内的新方法不断涌现,显著提高了模型在一系列任务的表现。在本文中,作者针对主要的 NLP 模型、常用开源机器学习库和多任务学习的相关资源进行了归纳,提供了包括论文、代码、视频和博客在内的多种学习资源。

 

随着 NLP 领域的不断发展,大量新的机器学习模型出现,ELMo、BERT 等取得了较好的进展。在之前的文章中,营长为大家推荐过一些针对的NLP 入门资源,包括优质中文 NLP 资源汇总初学者福利,NLP 知识结构总结NLP 最全资料包一文了解深度学习在 NLP 中的最佳实践和技巧等。在今天的推荐中,营长为大家整理了一份针对最新 NLP 机器学习模型的学习资源汇总,包括论文、视频、博客、代码等,帮助大家紧跟技术潮流,快速掌握最新技术。

 

在本文中,作者为大家整理了 NLP 的阅读清单,包括论文、博客、代码和视频。该资源主要包含了在NLP 领域的机器学习模型及相关资源,并包含了许多最新的模型,包括 LSTM,AWD-LSTM,指针模型,Attention 机制, ELMo,ULMFit,OpenAI GPT,BERT。文章对两个较常用的开源机器学习库 Pytorch 和fast-ai 的学习资料也进行了整理。另外,考虑到近几年多任务学习模型使用较多,作者对相关资源也进行了归纳。

 

在最近的 NLP 进展中,很多研究都通过将更大的transformer 和现有模型结合,解决多任务学习问题。并且,越来越多的论文和项目使用大规模的计算资源来进行资源计算,因此由于算力限制,我们往往需要使用开源的模型。

 

1、 fast-ai


  • 视频:“快速入门深度学习”课程

提供了使用 fast-ai 开发语言模型的详细教程

视频地址:

https://course.fast.ai/videos/?lesson=4

 

2、LSTM


尽管目前 transformer 是主流的趋势,但在一些项目中LSTM 模型仍有应用。如果使用 LSTM 模型,建议使用AWD-LSTM 来搭建项目。

  • 论文《LONG SHORT-TERMMEMORY》

建议快速浏览以了解模型原理及细节

论文地址:

https://www.bioinf.jku.at/publications/older/2604.pdf

  • 博客《Understanding LSTM Networks》

该博文详细介绍了 RNN 和 LSTM 的原理及区别,并且提供了模型的可视化介绍,有助于快速理解模型;

博文地址:

https://colah.github.io/posts/2015-08-Understanding-LSTMs/

 

3、AWD-LSTM


AWD-LSTM 对 LSTM 模型进行了改进,包括在隐藏层间加入dropout ,加入词嵌入 dropout ,权重绑定等。建议使用AWD-LSTM 来替代 LSTM 以获得更好的模型效果。

  • 论文

《Regularizing and OptimizingLSTM Language Models paper》

提出了 AWD-LSTM 模型

论文地址:

https://arxiv.org/pdf/1708.02182.pdf

  • 代码

 Salesforce 提供的模型源码

GitHub 项目地址:

https://github.com/salesforce/awd-lstm-lm

fast-ai 提供的模型源码

GitHub 项目地址:

https://github.com/fastai/fastai/blob/master/fastai/text/models/awd_lstm.py

 

4、指针模型


尽管指针模型的应用并不多,但指针模型提供了注意力机制的最初思想,值得简单了解。

  • 论文《Pointer SentinelMixture Models 》

提出了指针模型

论文地址:

https://arxiv.org/pdf/1609.07843.pdf

  • 官方说明视频

论文提供的官方说明视频

视频地址:

https://www.youtube.com/watch?v=Ibt8ZpbX3D8

  • 论文

《Improving Neural Language Models with a continuous cachepaper》

论文地址:

https://openreview.net/pdf?id=B184E5qee

 

提示:在一些开源的机器学习库(如 Pytorch 和Tensorflow)中,其代码使用权重衰减(weight decay)代替了正则化(regularization)。二者的差别在于,权重衰减直接对权重更新规则进行更改,正则化则调整损失函数。一些论文的作者提到使用 SGD 优化参数的效果优于 Adam 优化,一部分原因可能是其使用的机器学习库使用权重衰减替代了正则化。

 

5、Attention 模型


尽管注意力机制应用广泛,但该模型并不总是最优的选择。

  • 课程:斯坦福 CS224n 课程对 attention 机制的介绍

对 attention 机制的介绍从 1:00:55 处开始

视频地址:

https://www.youtube.com/watch?v=XXtpJxZBa2c

  • 论文《Attention is all youneed》

该论文也包含了对 Transformer 的介绍

论文地址:

https://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf

  • 博文:《The AnnotatedTransformer》

使用 Pytorch 对 Transformer 进行复现的文章,由 HarvardNLP 发布

博文地址:

http://nlp.seas.harvard.edu/2018/04/03/attention.html

  • 视频:Google 发布的 attention 机制介绍官方视频

视频地址:

https://www.youtube.com/watch?v=rBCqOTEfxvg

  • 博文:Google AI 对 Transformer 的介绍博文

博文地址:

https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html

  • 视频:

论文介绍视频地址:

https://www.youtube.com/watch?v=iDulhoQ2pro

模型介绍视频地址:

https://www.youtube.com/watch?v=rBCqOTEfxvg

  • 论文

《Transformer-XL:Attentive Language Models Beyond a Fixed Length Context paper.》

Google 提交的Transformer-XL 模型论文

该模型对 Transformer 进行了改进,但这一改进没有被 BERT 采用

论文地址:

https://arxiv.org/pdf/1901.02860.pdf

  • 博文:Google 对 Transformer-XL 的介绍博文

博文地址:

https://ai.googleblog.com/2019/01/transformer-xl-unleashing-potential-of.html

  • 博文

《Transformer-XL — CombiningTransformers and RNNs Into a State-of-the-art Language Model 》

对 Transformer-XL 进行了介绍

博客地址:

https://www.lyrn.ai/2019/01/16/transformer-xl-sota-language-model/

  • 视频:对 Transformer-XL 模型进行介绍

视频地址:

https://www.youtube.com/watch?v=cXZ9YBqH3m0

  • 博文《The IllustratedTransformer》

博文地址:

http://jalammar.github.io/illustrated-transformer/

  • 博文《Attention and Memoryin Deep Learning and NLP》

一篇对注意力机制进行介绍的博文

博文地址:

http://www.wildml.com/2016/01/attention-and-memory-in-deep-learning-and-nlp/

  • 博文

《Attention and Augmented Recurrent Neural Networks blog》

对注意力机制和正则化循环神经网络进行了介绍

博文地址:

https://distill.pub/2016/augmented-rnns/

  • 代码:使用一个简单的 Transformer 模型进行序列标注

项目地址:

https://medium.com/@kolloldas/building-the-mighty-transformer-for-sequence-tagging-in-pytorch-part-i-a1815655cd8

  • 对 Transformer 模型的其他改进

Universal Transformer

Google的介绍博文地址:

https://ai.googleblog.com/2018/08/moving-beyond-translation-with.html

Evolved Transformer

介绍博文地址:

https://www.lyrn.ai/2019/03/12/the-evolved-transformer/


现有对 Transformer 模型改进较少的原因之一是模型的算力消耗较大。一般而言, Transformer 模块的数量越多,模型训练效果越好,这就意味着如果没有足够的算力,很难对模型效果进行优化。另外,在对语言模型的训练往往需要使用更大的批处理尺寸,往往需要特殊的芯片支持。

 

6、对模型的其他改进


这一部分列举了一些相关的学习资源,如果只想了解最核心的内容可以略过此部分。

  • 论文

《Character-Level Language Modeling with DeeperSelf-Attention 》

论文地址:

https://arxiv.org/pdf/1808.04444.pdf

  • 论文

《Using the output embedding to Improve LangaugeModels 》

论文地址:https://arxiv.org/abs/1608.05859

  • 论文《Quasi-Recurrent Neural Networks paper》

使用卷积层实现 LSTM 的并行计算,提高了 LSTM 的计算速度。提供了相关代码

论文地址:

https://arxiv.org/abs/1611.01576

fast-ai提供的代码地址:

https://github.com/fastai/fastai/blob/master/fastai/text/models/qrnn.py

Salesforce提供的代码地址:

https://github.com/salesforce/pytorch-qrnn

  • 博文《Deep Learning for NLP Best Practices blog》

介绍了对 LSTM 模型的设计和调参方法

博文地址:

http://ruder.io/deep-learning-nlp-best-practices/

  • 博文

《Notes on the state of the art techniques for languagemodeling blog》

对 fast-ai 中各类模型的使用进行了总结

博文地址:

https://www.fast.ai/2017/08/25/language-modeling-sota/

  • 博文

《Language Modes and Contextualized Word Embeddings blog》

对 ELMo, BERT 及其他模型进行了一个简单的综述

博文地址:

http://www.davidsbatista.net/blog/2018/12/06/Word_Embeddings/


7、多任务学习


多任务学习可以使用一个模型解决多个任务,例如将一段文本翻译成包含部分德文的英文文段。

  • 论文

《An overview of Multi-Task Learning in deep neural networks》

对使用神经网络进行多任务学习进行了综述

论文地址:

https://arxiv.org/pdf/1706.05098.pdf

  • 论文

《The Natural Language Decathlon: Multitask Learning asQuestion Answering》

OpenAI GPT 是该论文的一个应用实例

论文地址:https://arxiv.org/abs/1806.08730


8、Pytorch


Pytorch 提供了一些官方教程,是非常好的学习资源。需注意的是,该教程没有包含对Transformer  的介绍。

  • Pytorch官方教程

教程地址:

https://pytorch.org/tutorials/#text

 

9、ELMo


ELMo 是第一个使用预训练模型进行词嵌入的方法,通过将需要处理的语句输入 ELMo,我们可以得到句子中每个词的向量表示。

  • 论文

《Deep contextualizedword representations》

提出了 ELMo 模型

论文地址:

https://arxiv.org/abs/1802.05365

  • 对 ELMo 的视频介绍

视频地址:

https://vimeo.com/277672840

 

10、 ULMFit


在 Kaggle 和其他竞赛中,ULMFit 的效果都超越了其他模型。

  • 论文

《Universal LanguageModel Fine-tuning for Text Classification 》

提出了 ULMFit 模型

论文地址:

https://arxiv.org/abs/1801.06146

  • fast-ai 发布的模型介绍博文

    博文地址:

http://nlp.fast.ai/classification/2018/05/15/introducting-ulmfit.html

  • 课程《Cutting Edge DeepLearning course》第10课对 ULMFit 的介绍

fast-ai 发布的系列课程

课程地址:

http://course18.fast.ai/lessons/lesson10.html

 

11、OpenAI GPT


由于 BERT 针对 GPT1 的缺点进行了针对性改善,建议在开发中使用 GPT2。

  • GPT1

论文地址:

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

博客地址:

https://openai.com/blog/language-unsupervised/

代码地址:

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

  • GPT2

论文地址:

https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf

博客地址:

https://openai.com/blog/better-language-models/

代码地址:

https://github.com/openai/gpt-2

  • OpenAI 发布的 GPT2 介绍视频

视频地址:

https://www.youtube.com/watch?v=T0I88NhR_9M

 

12、BERT


截止目前效果最好的语言模型。

  • 论文

《BERT: Pre-training ofDeep Bidirectional Transformers for Language Understanding》

提出了 BERT 模型

论文地址:

https://arxiv.org/abs/1810.04805

  • 博文:Google 对 BERT 的官方介绍

博文地址:

https://ai.googleblog.com/2018/11/open-sourcing-bert-state-of-art-pre.html

  • 博文:对 BERT 介绍的系列博文

编码器介绍

博文地址:

https://medium.com/dissecting-bert/dissecting-bert-part-1-d3c3d495cdb3

BERT 提出的新结构介绍

博文地址:

https://medium.com/dissecting-bert/dissecting-bert-part2-335ff2ed9c73

解码器介绍

博文地址:

https://medium.com/dissecting-bert/dissecting-bert-appendix-the-decoder-3b86f66b0e5f

  • 论文

《Reducing BERTPre-Training from 3 Days to 76 Minutes 》

介绍了一个新的针对语言模型的优化器,可以显著降低模型训练时间

论文地址:

https://arxiv.org/abs/1904.00962


原文链接:

https://medium.com/@kushajreal/how-to-become-an-expert-in-nlp-in-2019-1-945f4e9073c0


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


精彩推荐



6月29-30日,2019以太坊技术及应用大会 特邀以太坊创始人V神与以太坊基金会核心成员,以及海内外知名专家齐聚北京,聚焦前沿技术,把握时代机遇,深耕行业应用,共话以太坊2.0新生态。


扫码或点击阅读原文,既享优惠购票!


推荐阅读

你点的每个“在看”,我都认真当成了喜欢
登录查看更多
9

相关内容

长短期记忆网络(LSTM)是一种用于深度学习领域的人工回归神经网络(RNN)结构。与标准的前馈神经网络不同,LSTM具有反馈连接。它不仅可以处理单个数据点(如图像),还可以处理整个数据序列(如语音或视频)。例如,LSTM适用于未分段、连接的手写识别、语音识别、网络流量或IDSs(入侵检测系统)中的异常检测等任务。
【DeepMind推荐】居家学习的人工智能干货资源大全集
专知会员服务
107+阅读 · 2020年6月27日
BERT进展2019四篇必读论文
专知会员服务
65+阅读 · 2020年1月2日
谷歌机器学习速成课程中文版pdf
专知会员服务
143+阅读 · 2019年12月4日
【深度学习视频分析/多模态学习资源大列表】
专知会员服务
90+阅读 · 2019年10月16日
深度学习视频中多目标跟踪:论文综述
专知会员服务
90+阅读 · 2019年10月13日
深度学习自然语言处理综述,266篇参考文献
专知会员服务
225+阅读 · 2019年10月12日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
【干货】史上最全的PyTorch学习资源汇总
深度学习与NLP
24+阅读 · 2019年5月18日
Github库分享:超全的PyTorch学习资源汇总
专知
21+阅读 · 2019年5月9日
BERT相关论文、文章和代码资源汇总
AINLP
19+阅读 · 2018年11月17日
史上最全TensorFlow学习资源汇总
深度学习世界
7+阅读 · 2018年4月12日
Arxiv
17+阅读 · 2019年4月5日
Universal Transformers
Arxiv
5+阅读 · 2019年3月5日
Arxiv
4+阅读 · 2018年10月31日
Image Captioning based on Deep Reinforcement Learning
Arxiv
21+阅读 · 2018年8月30日
Arxiv
8+阅读 · 2018年5月1日
VIP会员
相关VIP内容
【DeepMind推荐】居家学习的人工智能干货资源大全集
专知会员服务
107+阅读 · 2020年6月27日
BERT进展2019四篇必读论文
专知会员服务
65+阅读 · 2020年1月2日
谷歌机器学习速成课程中文版pdf
专知会员服务
143+阅读 · 2019年12月4日
【深度学习视频分析/多模态学习资源大列表】
专知会员服务
90+阅读 · 2019年10月16日
深度学习视频中多目标跟踪:论文综述
专知会员服务
90+阅读 · 2019年10月13日
深度学习自然语言处理综述,266篇参考文献
专知会员服务
225+阅读 · 2019年10月12日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
相关论文
Arxiv
17+阅读 · 2019年4月5日
Universal Transformers
Arxiv
5+阅读 · 2019年3月5日
Arxiv
4+阅读 · 2018年10月31日
Image Captioning based on Deep Reinforcement Learning
Arxiv
21+阅读 · 2018年8月30日
Arxiv
8+阅读 · 2018年5月1日
Top
微信扫码咨询专知VIP会员