找回密码
 立即注册
搜索

自然言语处理中自留意力机制(Self-Attention)的基本知识

Transformers是机器学习(ML)中一个令人兴奋的(相对)新的部分,但是在了解它们之前,有很多概念需求分解。这里我们关注的是基本的Self-Attention机制是如何工作的,这是Transformers模型的第一层。本质上,对于每个输入向量,Self-Attention产生一个向量,该向量在其临近向量上加权求和,其中权重由单词之间的关系或连通性决议。
内容列表

· 引见

· 自我关注-数学

· 援用文章
引见

Transformers是一种ML架构,曾经成功地运用于各种NLP义务,尤其是序列到序列(seq2seq)义务,如机器翻译和文本生成。在seq2seq义务中,目的是获取一组输入(例如英语单词)并产生一组理想的输入(德语中的相反单词)。自2017年发布以来,他们曾经占领了seq2seq的主流架构(LSTMs),几乎无所不在地出如今任何关于NLP打破的旧事中(比如OpenAI的GPT-2甚至出如今主流媒体上!)。




图1:机器翻译 英->德

本篇将作为一个非常平和、渐进的引见Transformer架构背后的数学、代码和概念。没有比留意力机制更好的末尾了,由于:

最基本的transformers 完全依赖于留意力机制
Self-Attention的数学表示

我们需求一个ML系统来学习单词之间的重要关系,就像人类了解句子中的单词一样。在图2.1中,你我都知道"The"指的是"animal",因此应该与这个词有很强的联络。如图中的颜色编码所示,该系统知道"animal"、"cross"、"street"和"the"之间存在某种联络,由于它们都与句子的主语"animal"有关。这是经过Self-Attention来完成的




图2.1:"The"留意力集中在了哪些词?

在最基本的层面上,Self-Attention是一个过程,其中一个向量序列x被编码成另一个向量序列z(图2.2)。每一个原始向量只是一个代表一个单词的数字块。它对应的z向量既表示原始单词,也表示它与周围其他单词的关系。




图2.2:把一系列的输入向质变成另一个长向量序列

向量表示空间中的某种事物,如海洋中的水粒子流或地球周围任何点的重力效应。你可以把单词看作是整个单词空间中的向量。每个词向量的方向都有意义。向量之间的相似性和差异性对应于单词本身的相似性和差异性。

让我们先看前三个向量,特别是向量x2,我们的"cat"向量,是如何变成z2的。对于每个输入向量,将反复一切这些步骤。

首先,我们将向量x2乘以一个序列中的一切向量,包括它本身。我们将对每个向量和x2的转置(对角翻转)做一个乘积(图2.3)。这和做点积是一样的,你可以把两个向量的点积看作是衡量它们有多相似。




图2.3 转置乘法(上标"T"="转置")

两个向量的点积与它们之间夹角的余弦成反比(图2.4),因此它们在方向上越接近,点积就越大。假如它们指向同一个方向,那么角A为0⁰,余弦为0⁰等于1。假如它们指向相反的方向(因此A=180⁰),那么余弦值为-1。




图2.4 向量点积

假如你想要一个更直观的观点,Bloem的文章(地址参看援用段)讨论了自我关注如何相似于引荐系统决议电影或用户的相似性。

所以我们一次只关注一个词,然后根据它周围的词来确定它的输入。这里我们只看后面和后面的单词,但我们可以选择在将来拓宽这个窗口。




图2.5-每个j-th向量的原始权重

假如我们关注的单词是"cat",那么我们要复习的单词序列是"the","cat","sat"。我们要问的是"cat"这个词应该分别关注"the"、"cat"和"sat"(与图2.1所示相似)。

将关注的单词向量的转置和它周围的单词序列相乘将得到一组3个原始权重(图2.5)。两个词的权重是如何成比例的。我们需求对它们停止规范化,以便它们更易于运用。我们将运用softmax公式(图2.6)来完成这一点。这将数字序列转换为0,1的范围内,其中每个输入与输入数字的指数成比例。这使得我们的权重更容易运用和解释。




图2.6:经过softmax函数将原始权重标准化

如今我们取归一化的权重(j序列中每个向量对应一个),分别将它们与x输入向量相乘,将它们的乘积相加,结果就完成了!我们有一个输入z向量,(图2.5)!当然,这只是x2的输入向量("cat")——这个操作将对x中的每个输入向量反复,直到我们得到图2.2中所说的输入序列。




图2.7:最终得到新的向量序列z的操作

这种解释到目前为止能够引发了一些成绩:

我们计算的权重不是很大程度上依赖于我们如何确定原始输入向量吗?

为什么我们要依赖向量的相似性?假如我们想在两个"不相似"的单词之间找到联络,比如"the cat sit on the matt"的宾语和主语,该怎样办?

在后面的文章中,我们将讨论这些成绩。我们将根据每个向量的不同用法对其停止转换,从而更准确地定义单词之间的关系,这样我们就可以得到如图2.8所示的输入。




图2.8 -橙色栏中的"cross"和粉色栏中的"cross"关注的是哪个单词?
援用

1. Alammar J. The Illustrated Transformer. (2018) https://jalammar.github.io/illustrated-transformer/ [accessed 27th June 2020]

1. Bloem P. Transformers from Scratch. (2019) http://www.peterbloem.nl/blog/transformers .[accessed 27th June 2020]

1. Vaswani A. et al. Dec 2017. Attention is all you need. 31st Conference on Neural Information Processing Systems (NIPS 2017), Long Beach, CA, USA. https://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf [accessed 27th June 2020]. arXiv:1706.03762

1. Vaswani A. et al. Mar 2018 arXiv:1803.07416 .

作者:Ioana

deephub翻译组

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评3

15半I 2020-7-3 21:30:54 来自手机 显示全部楼层
是爷们的娘们的都帮顶!大力支持
回复

使用道具 举报

尕燕子 2020-7-5 12:27:37 显示全部楼层
真羡慕你们这些有故事的人
回复

使用道具 举报

zhl822 2020-7-5 19:50:34 来自手机 显示全部楼层
这帖子写的不错
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies