注意力思想是深度学习中最有影响力的思想之一。注意力技术背后的主要思想是它允许解码器“回顾”完整的输入并提取对解码有用的重要信息。
我真的很难理解注意力机制背后的直觉。我的意思是机制如何工作以及如何配置。
简单来说(也许还有一个例子),注意力机制背后的直觉是什么?
注意力机制有哪些应用、优缺点?
注意力思想是深度学习中最有影响力的思想之一。注意力技术背后的主要思想是它允许解码器“回顾”完整的输入并提取对解码有用的重要信息。
我真的很难理解注意力机制背后的直觉。我的意思是机制如何工作以及如何配置。
简单来说(也许还有一个例子),注意力机制背后的直觉是什么?
注意力机制有哪些应用、优缺点?
简单地说,注意力机制的灵感来自于注意力。考虑一下我们正在尝试对以下句子进行机器翻译:“The dog is a Labrador”。如果你让某人挑选句子的关键词,即哪些词编码的意思最多,他们可能会说“狗”和“拉布拉多”。像“the”和“a”这样的冠词在翻译中的相关性不如前面的词(尽管它们并非完全无关紧要)。因此,我们将注意力集中在重要的词上。
注意力试图通过向模型添加注意力权重作为可训练参数来模拟这一点,以增加我们输入的重要部分。考虑一种编码器-解码器架构,例如谷歌翻译使用的架构。我们的编码器循环神经网络 (RNN) 将我们的输入句子编码为某个向量空间中的上下文向量,然后将其传递给解码器 RNN,后者将其翻译成目标语言。注意力机制对输入中的每个单词进行评分(通过带有注意力权重的点积),然后将这些分数传递给 softmax 函数以创建分布。然后将该分布与上下文向量相乘以产生一个注意向量,然后将其传递给解码器。在第一段的例子中,我们对“狗”和“拉布拉多”的注意力权重 与训练期间的其他单词相比,希望会变得更大。请注意,仍然考虑输入的所有部分,因为分布必须总和为 1,只是某些元素对输出的影响比其他元素更大。
下面是来自 Towards Data Science 的图表,它从编码器-解码器架构的角度很好地说明了这个概念。
注意力的优势在于它能够识别输入中与完成任务最相关的信息,从而提高性能,尤其是在自然语言处理方面——谷歌翻译是一种具有注意力机制的双向编码器-解码器 RNN。缺点是计算量增加。在人类中,注意力通过允许我们忽略不重要的特征来减少我们的工作量,但是在神经网络中,注意力需要开销,因为我们现在正在生成注意力分布并训练我们的注意力权重(我们实际上并没有忽略不重要的特征,只是减少了它们的重要性)。