注意力在深度学习中的工作原理:了解序列模型中的注意力机制

自然语言处理新手?这是注意力机制和序列学习的终极初学者指南,可帮助您入门

来源:AI夏令营

我一直致力于计算机视觉应用。老实说,Transformer 和基于注意力的方法一直是我从未花时间研究的奇特事物。你知道,也许以后会吧。现在它们在 ImageNet [3] 中达到了最先进的性能。

在 NLP 中,Transformer 和注意力已成功应用于大量任务,包括阅读理解、抽象总结、单词完成等。

经过大量的阅读和搜索,我意识到了解注意力如何从 NLP 和机器翻译中出现至关重要。这就是本文的全部内容。读完这篇文章后,我们将像老板一样检查 Transformer 模型。我向你保证。

了解注意力如何从 NLP 和机器翻译中出现至关重要

我们从头开始:什么是注意力?很高兴你问!

记忆是跨越时间的注意力。 ~ Alex Graves 2020 [1]

记忆是跨越时间的注意力。~ Alex Graves 2020 [1]

跨越时间的注意力

永远记住这一点。

注意力机制自然而然地出现在处理随时间变化的数据(序列)的问题中。因此,既然我们要处理“序列”,让我们首先从机器学习的角度来阐述这个问题。注意力在处理序列的一般任务中变得流行起来。

时变数据(序列)

序列到序列学习

在注意力机制和转换器出现之前,序列到序列 (Seq2Seq) 的工作原理大致如下:

Seq2Seq

序列 x1、x2x_1、x_2x1​、x2​ 等的元素通常称为 token。它们可以是任何东西。例如,文本表示、像素,甚至是视频中的图像。

x1,x2x_1, x_2x1​,x2​ x1,x2x_1, x_2x1​,x2​ x1,x2x_1, x_2 x1,x2x_1, x_2 x1,x2x_1, x_2 x1,x2 x1 x 1 , x2 x 2 x_1, x_2 x1​,x2​ x1​,x2​ x1​ x 1​ 1​ 1​ 1 1 1 1 , x2​ x 2​ 2​ 2​ 2 2 2 2 令牌

好的。那么我们为什么要使用这样的模型呢?

目标是将输入序列(源)转换为新序列(目标)。

两个序列可以相同或任意长度。

z z z