Transformers for Machine Learning A Deep Dive第一章
第一章 深度学习和transformer:简介
文章目录
前言
废话少说,简介部分都略过了,只记录相对重要的部分。Transformer的研究集中在三个方面:架构修改、预训练方法和应用程序。
一、transformer架构的改进
改进的transformer结构可以分为两大类[163]:改变transformer块的内部布局和改变transformer块的组成层。表1.1总结了transformer改造的类型
1、transformer块修改的五大类
•减少内存占用和计算
•增加transformer块之间的连接
•自适应计算时间(例如,允许在训练期间早期停止)
•递归或分层结构
•更彻底地改变架构(例如,神经架构搜索)
2、Transformer子层的修改
在第2章中,我们将详细讨论transformer块的结构,包括它的四个组件,以便我们以后可以讨论研究人员修改它们的方法。通常,一个transformer块有四个部分[254]:位置编码,多头注意,有层归一化的残差连接,以及一个按位置前馈网络。transformer子层的变化主要集中在这四种类型的组件上,其中大多数都集中在多头注意力的变化方面[163,243]。表1.2显示了挑选的已修改多头注意机制的transformer变体的列表。
原文中对多头注意力机制的改进、位置编码的改进有一段综述性的描述,此略,表格如下:(将在第五章讨论)
二、预训练方法和应用
大量的工作都集中在如何对transformer进行预训练上。有纯编码模型,如BERT[71];有纯解码模型,如著名的生成式预训练transformer模型GPT-3[32];也有纯编码-解码器模型,如T5[205]和ByT5[280]。第3章详细讨论BERT,第5章讨论T5,第6章讨论ByT5。已经有许多针对特定数据领域(例如,金融或医学文本)和特定类型的数据(例如,图像或视频)的应用和特定领域的transformers。我们在第6章中讨论了几个这样的应用。
三、资源
在本节中,我们将讨论一些对研究人员和实践者有用的资源。
1、库和实现
下面是一些有用的库、工具和实现(表1.4):
2、书籍
我们发现一些有用的书有:
•Paul Azunre的《自然语言处理的迁移学习》[12]
•Denis Rothman的《自然语言处理的变形器》[213]
•深度学习算法:transformer, gans, encoders, rnn, cnns,和更多的Ricardo A. Calix [35]
•《Python Transformers》,作者:约书亚·k·凯奇
•深度学习算法:《用于NLP和语音识别的深度学习》,作者:Uday Kamath, John Liu,和James Whitaker [248]
3、课程、教程和讲座
Some of the very relevant online courses and tutorials:
• The Annotated Transformer by Alexander Rush et al. http://
nlp.seas.harvard.edu/2018/04/03/attention.html
• HuggingFace course on transformers https://huggingface.co/
course
• DeepLearning.AI course on sequence models https://www.
coursera.org/learn/nlp-sequence-models
• DeepLearning.AI course on transformers and BERT https://
www.coursera.org/learn/attention-models-in-nlp
• Stanford CS224N: NLP with Deep Learning by Christopher Man-
ning http://web.stanford.edu/class/cs224n/
• UC Berkeley’s Applied Natural Language Processing by David
Bamman https://people.ischool.berkeley.edu/~dbamman/
info256.html
• Advanced NLP with spaCy by Ines Montani https://course.
spacy.io/en/
• Deep Learning for Coders with fastai and PyTorch by Sylvain Gug-
ger and Jeremy Howard https://course.fast.ai/
• Jay Alammar’s visual explanation of transformers and related ar-
chitectures https://jalammar.github.io/(可视化)
4、个案研究及详情
在第2-7章的末尾,我们将提供一个案例研究,让读者了解本章中讨论的一个或多个模型和方法是如何应用的,或者它们在应用于同一问题时是如何相互矛盾的。本案例研究的目的是为使用transformer模型提供一个小的起点,在此基础上可以进一步扩展。每个案例研究都被选择在至少与NVIDIA K80一样强大的gpu上运行大约一个小时(谷歌协作实验室免费提供这些gpu)。案例研究也可以在本书附带的Github知识库中找到:https://github.com/CRCTransformers/deepdive-book。