点击上方,选择星标置顶,每天给你送干货

阅读大概需要19分钟

跟随小博主,每天进步一丢丢

整理 Rachel

编辑 zenRRan

来自 AI 科技大本营

导读

在近几年,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 Illustrated Transformer》

博文地址:

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

编辑不易,还望给个好看!

今天留言内容为:

【day n】今天我学到了什么或者今天打算学什么。

(至少10个字,越详细越好)

督促自己,每天进步一丢丢!

推荐阅读:

一大批历史精彩文章啦

详解Transition-based Dependency parser基于转移的依存句法解析器

干货 | 找工作的经验总结(一)

经验 | 初入NLP领域的一些小建议

学术 | 如何写一篇合格的NLP论文

干货 | 那些高产的学者都是怎样工作的?

是时候研读一波导师的论文--一个简单有效的联合模型

近年来NLP在法律领域的相关研究工作


好文!在看!

收藏 | NLP论文、代码、博客、视频资源(LSTM,指针模型,Attention, ELMo,GPT,BERT、多任务学习等)...相关推荐

  1. 收藏 | 2019 NLP大全:论文、博客、教程、工程进展全梳理(附链接)

    来源:机器之心 本文约为11000字,建议阅读20+分钟 在整个2019年,NLP领域都沉淀了哪些东西?有没有什么是你错过的?如果觉得自己梳理太费时,不妨看一下本文作者整理的结果. 2019 年对自然 ...

  2. python资源网站_Python 博客网站资源

    # Python 博客网站资源 * **本人编写的 Python 系列文章** 本草根编写的 Python 文章,里面有各种例子代码 传送门: [Gitbook](https://www.readwi ...

  3. 有了这个机器学习画图神器,论文、博客都可以事半功倍了!

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 去年 5 月,曾向大家推荐一款名为 ML Visuals 的机器学 ...

  4. Emlog个人博客论坛资源网整站源码+带200数据

    正文: Emlog个人博客论坛资源分享网整站源码 附带200多条数据 非常适合拿去运作个人博客论坛或者资源分享网站, 没有任何繁琐的搭建步骤,只需几步简单配置即可上线运行! 直接上传至空间后解压域名绑 ...

  5. iOS开源资源汇总(完整项目,三方,博客,视频)长期更新

    下边都学会就大神了: 声明:都是网上搜集的,能标明出处的都标了.别只搜集而不看,与君共勉.. 先看完整项目完整App@HackerNews-React-Native用 React Native 完成的 ...

  6. OpenCV、Halcon博客与资源收藏整理备用

    原文链接:https://libaineu2004.blog.csdn.net/article/details/88778170 原文作者:libaineu2004 OpenCV官网 https:// ...

  7. 程序员常用网站收藏[定期更新]——csdn博客

    网站收藏[定期更新] 资源类 1.开源中国社区 3.CodePlayer专注于编程技术分享4.源码之家5.阿里云6.免费logo在线制作, 标志设计, 公司logo设计7.搜素材 - 站酷 (ZCOO ...

  8. [置顶]程序员常用网站收藏[定期更新]——csdn博客

    网站收藏[定期更新] 资源类 1.开源中国社区 3.CodePlayer专注于编程技术分享4.源码之家5.阿里云6.免费logo在线制作, 标志设计, 公司logo设计7.搜素材 - 站酷 (ZCOO ...

  9. 值得收藏的信息安全知名博客

    具体博客排名如下: 1.We Live Security 地址:http://www.welivesecurity.com/ 简介:主要研究网络威胁和恶意软件. 文章更新频率:9篇/周 2.Intel ...

  10. Android 程序员不得不收藏的 90+ 个人博客(持续更新,2021最新华为Android校招面试题

    吴小龙同学 早期分享一些个人独立开发经验,现主要分享一些 AOSP 源码解析. 开源实验室 应该是一个耳熟能详的名字,算是我的 Kotlin 启蒙者. Gityuan 的博客 这个想必不用介绍了,学习 ...

最新文章

  1. 有雄心的男人才有出息
  2. UML学习---交互
  3. “拖库”防不胜防,如何早做预防?
  4. Linux 命令之 w 命令-显示目前登入系统的用户信息
  5. mysql limit分页查询效率
  6. [つづく]MySTL
  7. Ubuntu14.04+RabbitMQ3.6.3+Golang的最佳实践
  8. 安装vc2005运行库错误1935c处理
  9. 如何使用计算机打勾,如何用电脑在方框里面打勾
  10. 解决在微信中不能直接发送和下载APK的方案
  11. [深度学习概念]·CNN网络架构演进:从LeNet到DenseNet(代码实现基于Keras)
  12. android读取剪切板的方法,Android获取粘贴板内容
  13. 【思想感悟】站在巨人的肩膀上
  14. +initialize方法的调用时机
  15. BUUCTF Misc 被嗅探的流量
  16. 微信小程序约课_基于微信小程序的瑜伽馆约课系统设计
  17. 沧海一粟 之 杏花村
  18. 电大 专科 计算机应用,2015春中央电大计算机应用基础(专科)平时作业(3)
  19. NVIDIA vGPU License服务器安装过程
  20. IDEA导出项目依赖jar包

热门文章

  1. LeetCode 127. Word Ladder
  2. 修改帝国cms验证码 每个都不一样
  3. 利用NABCD模型进行竞争性需求分析
  4. POJ 1365 Prime Land
  5. 【JavaScript】JavaScript闭包
  6. 前端基础-html 介绍和head标签 ( 1 )
  7. 原生js之同级元素添加移除class
  8. Java中常见数据结构:list与map -底层如何实现
  9. 用面对对象方式定tab标签
  10. 由scanf说起之1:scanf函数和回车、空格 及其返回值