欢迎来到NLP时事简报第八期!全文较长,建议收藏
如果想让自己有趣的研究/项目出现在NLP简报中,欢迎在订阅号后台留言联系我们
来看看都有哪些内容,enjoy
这篇综述文章,A Survey on Contextual Embeddings[1]提供了有关学习上下文嵌入的方法简要概述,论文中还回顾了其在迁移学习,模型压缩方法和模型分析中的应用。
另一份报告,IMPROVING TRANSFORMER LANGUAGE MODEL[2],介绍了改进基于Transformer的语言模型的方法。
此外,复旦大学邱锡鹏老师团队整理了超全的NLP预训练模型综述,Pre-trained Models for Natural Language Processing: A Survey[3]。该文从四个方面对用于NLP的预训练模型进行了全面的回顾:①首先简要介绍了语言表示学习及相关研究进展;②其次从四个方面对现有 PTM 进行系统分类(Contextual、Architectures、Task Types、Extensions);③描述了如何将PTM的知识应用于下游任务;④展望了PTM未来的一些发展方向。
Grand Tour是一种线性方法(不同于t-SNE等非线性方法),可将高维数据集投影到二维。Li等人在新的Distill文章,Visualizing Neural Networks with the Grand Tour[4]中,提出使用Grand Tour功能来可视化神经网络在训练时的行为。分析了感兴趣的一些行为:包括权重变化及其对训练过程的影响,神经网络中的层到层通信,对抗示例在呈现给神经网络时的效果等。
大量事实证明,元学习可以使得深度学习在少样本学习基准上有所改进,当遇到数据有限的情况时就非常有用,比如药物发现中的典型情况。最近的一项工作,Meta-Learning Initializations for Low-Resource Drug Discovery[5],应用了一种称为模型不可知元学习(Model-Agnostic-Meta-Learning,MAML)和其他变体的元学习方法来预测低资源环境下的化学性质和活性。结果表明,元学习方法的性能与多任务预训练基准相当。
加州大学伯克利分校,谷歌研究中心和加州大学圣地亚哥分校的研究人员进行了激动人心的工作,提出了一种用于合成复杂场景的新颖视图的方法,NeRF[6]。该模型使用RGB图像输入集合,获取5D坐标(空间位置和方向),训练全连接的DNN以优化「连续的体积场景功能」,并为此位置输出体积密度和与视图相关的RGB辐射。输出值沿着照相机光线组合在一起并渲染为像素。这些渲染的可微分输出用于通过最小化渲染RGB图像中所有摄像机光线的错误来优化场景表示。与其他用于视图合成的性能最高的方法相比,NeRF在质量和数量上都更好,并且可以解决渲染中的不一致问题,例如缺少精细的细节和不必要的闪烁伪影。
Dreamer[7]是一种强化学习(RL)代理,旨在解决模型中存在的一些局限性,例如shortsightedness和computational inefficiency。这是一种用于解决困难任务的model-free和model-based代理程序。这是由DeepMind和Google AI研究人员提出的RL代理,通过训练以对世界建模,还提供了使用模型预测通过反向传播学习long-sighted行为的能力。根据提供的图像输入,在20个连续控制任务上获得SoTA结果。此外,该模型具有数据效率,并且可以并行进行预测,从而使计算效率更高。下图总结了训练代理以实现不同目标的三个任务:
Made With ML[8]是一个公开的机器学习分享社区,里面包含了诸如项目代码、博客文章、学习课程、求职相关等内容。
为了鼓励使用AI对抗COVID-19,AI的艾伦研究所发布了COVID-19开放研究数据集(CORD-19)[9],这是一种免费开源资源,可促进全球研究合作。数据集包含数千篇学术文章,这些文章可以让NLP启发性研究有助于对抗COVID-19[10]。
SECNLP[11]是一份综述论文,其中详细介绍了在临床领域中应用的各种NLP方法和技术,概述主要强调嵌入方法,使用嵌入解决的问题/挑战以及对未来研究方向的讨论。
这篇文章,AI for 3D Generative Design[12]介绍了一种用于从自然语言描述中生成3D对象的方法。这个想法是创建一个解决方案,使设计人员可以快速重申设计过程并能够更广泛地探索设计空间。在创建由3D模型和文本描述组成的设计空间的知识库之后,使用了两个自动编码器(请参见下图)以一种可以直观交互的方式对该知识进行编码。然后,放在一起的模型可以接受文本描述并生成3D设计,感兴趣可以在此3D生成设计demo[13]中进行尝试。
使用NLP(QA)和受信任的数据源来搭建API和Webapp回答有关COVID-19的问题。包括:
斯坦福NLP实验室发布了Stanza[14](以前称为StanfordNLP),这是一个Python NLP库,它提供了适用于70多种语言的即用型文本分析工具, 所有功能包括tokenization,multi-word token expansion,lemmatization,POS,NER等等。该工具基于PyTorch库并支持使用GPU和预训练的神经模型。Explosion[15]还在Stanza构建了一个包装器,使你可以将其作为spaCy管道与Stanza模型进行交互。
Pablo Castro创建了一个有趣的网站,GridWorld Playground[16],该操场为创建Grid World环境提供了一个场景,以观察和测试强化学习代理如何尝试解决Grid World。一些功能包括实时更改学习/环境参数,更改代理的位置以及在两个代理之间传递值。
Stance detection[17]是主题对演员主张的反应的摘要,可用于假新闻评估。Jannis Vamvas和Rico Sennrich最近发布了一个大规模stance detection数据集[18],其中包含瑞士选举候选人的书面文字。文中提供了多种语言,这可能会导致对stance detection任务进行跨语言评估。作者还建议使用多语言BERT,以实现zero-shot跨语言和跨目标传输令人满意的性能。特别地,跨目标学习是一项艰巨的任务,因此作者使用一种涉及标准化目标的简单技术,一次就所有问题训练了一个模型。
Andreas Madsen创建了一个名为TextualHeatMap[19]的Python库,该库可用于呈现可视化效果,例如在语言模型中帮助理解模型中句子的哪些部分来预测下一个单词。
近期全球新型冠状病毒肆虐,疫情严重地区(如武汉)几乎人人戴口罩,具有海量样本基数。武汉大学国家多媒体软件工程技术研究中心收集样本建立全球最大口罩人脸数据集,并向社会开放,为当前及今后可能的类似公共安全事件智能管控积累数据资源。基于口罩人脸数据,设计相应口罩遮挡人脸检测和识别算法,帮助社区封闭时的人员进出管控,车站、机场的人脸识别闸机以及人脸门禁考勤设备的升级,适应行人口罩蒙面遮挡的应用环境。相关数据集下载与使用请前往口罩遮挡人脸数据集(Real-World Masked Face Dataset,RMFD)[20]下载吧!
Captum是PyTorch的模型可解释性和理解库。Captum在拉丁语中是指理解,并且包含PyTorch模型的集成梯度,显着性图,smoothgrad,vargrad等的通用实现。它可以快速集成使用特定领域的库(例如torchvision,torchtext等)构建的模型。
HuggingFace发表了一篇文章,How to generate text: using different decoding methods for language generation with Transformers[21],解释了用于语言生成的不同方法,特别是基于Transformer的方法。在讨论的这些技术中,有贪婪搜索,波束搜索,采样,top-k采样和top-p(核)采样。目前已经很多这样的文章,但是作者花了更多时间解释这些方法的实际方面以及如何通过代码片段应用它们。
由于缺乏使用transformer库从头开始训练类似BERT的语言模型的全面指南,Marcin Zablocki分享了这一详细的教程,training-roberta-from-scratch-the-missing-guide-polish-language-model[22]。该指南展示了如何为波兰语训练一个transformer语言模型,并给出了如何避免常见错误,数据准备,预训练配置,标记化,训练,监控训练过程以及共享模型的一些建议。
Graph Neural Network(GNN)由于具有分析图结构数据的能力而受到了广泛的关注。Shanon Hong发表了一份不错的博客,An Introduction to Graph Neural Network(GNN) For Analysing Structured Data[23]对Graph Neural Network进行了简要介绍。它涵盖了一些图论,以便于理解图和分析图时遇到的问题。然后介绍了不同形式的Graph神经网络及其原理。它还涵盖了GNN可以做什么以及GNN的一些应用。
Naman Bansal在Medium上发表了博客讨论我们将是否应该从BERT转换到ALBERT?还是为时过早?Should we shift from Bert to Albert?[24]
Robert Lange最近发布了关于如何使用JAX训练GRU-RNN的全面教程tutorial,Getting started with JAX (MLPs, CNNs & RNNs)[25]。在我们以前的NLP简报[26]中,我们还分享了一个与JAX相关的资源。
Rachael Tatman发布了一个名为「NLP for Developers」的系列教程,该系列涵盖了如何应用各种NLP方法的最佳实践。其中第一集[27]包括单词嵌入的介绍,如何使用以及其在应用它们时应避免的常见问题。
Thomas Wolf在NLP Zurich meetup介绍了他关于迁移学习的演讲,transfer learning inNLP[28],为NLP的迁移学习提供了很好的介绍。演讲包括对NLP最新突破的概述,以及对HuggingFace团队和贡献者发布的两个最受欢迎的库Transformers和Tokenizers的介绍。
Epoching发布了一篇有帮助的博客,Self-Supervision with FastAI[29]对自我监督学习进行简介。简而言之,自我监督学习包含两个组成部分:
如果你正在学习机器学习,那么这十本免费的书千万不要错过!Completely Free Machine Learning Reading List[30]
你知道Google表格提供免费的翻译功能吗?Amit Chaudhary分享了一篇文章,back-translation-in-google-sheets[31],其中显示了如何利用该功能进行反向翻译,这对于NLP任务中增强有限的文本语料库很有用。
New York NLP将举办一个在线会议,Using Wikipedia and Wikidata for NLP[32],主题为“使用Wikipedia和Wikidata 的NLP”,演讲者将讨论如何将Wikipedia用于不同的NLP项目和用例。
Lavanya Shukla撰写了一份不错的教程,Use Pytorch Lightning with Weights & Biases[33],有关如何使用PyTorch Lightning来优化神经网络的超参数,同时使用PyTorch Lightning中提供的简单代码结构。使用WandB logger产生的结果,可以可视化结果模型及其在不同超参数下的性能,该结果可以作为记录器参数提供给训练对象。
一组研究人员发表了一份研究,Rethinking Batch Normalization in Transformers[34],详细研究了为什么批处理归一化(BN)会降低应用于不同NLP任务的基于Transformer的方法的性能。基于这些发现,作者提出了一种称为功率归一化(power normalization,PN)的新方法来处理BN中发现的问题。在各种NLP任务上,该方法的性能均优于BN和如今已普遍使用的层归一化。
这篇博客文章,22 Timeless Reference Books[35] ,包含了一长串书籍,可帮助你开始使用ML。
[1]
A Survey on Contextual Embeddings: https://arxiv.org/abs/2003.07278v1
[2]
IMPROVING TRANSFORMER LANGUAGE MODEL: https://arankomatsuzaki.files.wordpress.com/2020/03/written_report.pdf
[3]
Pre-trained Models for Natural Language Processing: A Survey: https://arxiv.org/pdf/2003.08271.pdf
[4]
Visualizing Neural Networks with the Grand Tour: https://distill.pub/2020/grand-tour/
[5]
Meta-Learning Initializations for Low-Resource Drug Discovery: https://arxiv.org/abs/2003.05996
[6]
NeRF: http://www.matthewtancik.com/nerf
[7]
Dreamer: https://ai.googleblog.com/2020/03/introducing-dreamer-scalable.html
[8]
Made With ML: https://madewithml.com/
[9]
COVID-19开放研究数据集(CORD-19): https://pages.semanticscholar.org/coronavirus-research
[10]
COVID-19: https://www.who.int/emergencies/diseases/novel-coronavirus-2019
[11]
SECNLP: https://www.sciencedirect.com/science/article/pii/S1532046419302436
[12]
AI for 3D Generative Design: https://blog.insightdatascience.com/ai-for-3d-generative-design-17503d0b3943
[13]
3D生成设计demo: https://insight2020a.streamlit.io/starstorms9/shape/
[14]
Stanza: https://stanfordnlp.github.io/stanza/
[15]
Explosion: https://github.com/explosion/spacy-stanza
[16]
GridWorld Playground: https://gridworld-playground.glitch.me/
[17]
Stance detection: http://nlpprogress.com/english/stance_detection.html
[18]
大规模stance detection数据集: https://arxiv.org/abs/2003.08385
[19]
TextualHeatMap: https://github.com/AndreasMadsen/python-textualheatmap
[20]
口罩遮挡人脸数据集(Real-World Masked Face Dataset,RMFD): https://github.com/X-zhangyang/Real-World-Masked-Face-Dataset
[21]
How to generate text: using different decoding methods for language generation with Transformers: https://huggingface.co/blog/how-to-generate
[22]
training-roberta-from-scratch-the-missing-guide-polish-language-model: https://zablo.net/blog/post/training-roberta-from-scratch-the-missing-guide-polish-language-model/
[23]
An Introduction to Graph Neural Network(GNN) For Analysing Structured Data: https://medium.com/datadriveninvestor/an-introduction-to-graph-neural-network-gnn-for-analysing-structured-data-afce79f4cfdc
[24]
Should we shift from Bert to Albert?: https://medium.com/@namanbansal9909/should-we-shift-from-bert-to-albert-e6fbb7779d3e
[25]
Getting started with JAX (MLPs, CNNs & RNNs): https://roberttlange.github.io/posts/2020/03/blog-post-10/
[26]
NLP简报: https://medium.com/dair-ai/nlp-newsletter-nlp-paper-summaries-learning-to-simulate-transformers-notebooks-med7-measuring-de61fadd9db0
[27]
第一集: http://youtube.com/watch?v=oUpuABKoElw&feature=emb_logo
[28]
transfer learning inNLP: https://www.youtube.com/watch?v=rEGB7-FlPRs&feature=youtu.be
[29]
Self-Supervision with FastAI: https://amarsaini.github.io/Epoching-Blog/jupyter/2020/03/23/Self-Supervision-with-FastAI.html
[30]
Completely Free Machine Learning Reading List: https://towardsdatascience.com/completely-free-machine-learning-reading-list-eab0c8990c54
[31]
back-translation-in-google-sheets: https://amitness.com/2020/02/back-translation-in-google-sheets/
[32]
Using Wikipedia and Wikidata for NLP: https://www.meetup.com/NY-NLP/events/269502774/
[33]
Use Pytorch Lightning with Weights & Biases: https://app.wandb.ai/cayush/pytorchlightning/reports/Use-Pytorch-Lightning-with-Weights-%26-Biases--Vmlldzo2NjQ1Mw
[34]
Rethinking Batch Normalization in Transformers: https://arxiv.org/abs/2003.07845
[35]
22 Timeless Reference Books: https://www.datasciencecentral.com/profiles/blogs/10-timeless-reference-books
- END -