作者:江游弈一个 | 来源:互联网 | 2023-09-17 12:40
它专门研究数据序列使其在自然语言处理,机器翻译,时间序列建模和信号处理中特别有用。注意力机制是transformers成功的基石。这些机制研究输入序列并确定最重要的元素。这些元素在
什么是注意力机制? 为什么RFA比Softmax好?
谷歌最近推出了一种新方法-Random Feature Attention-,取代了“转换器”的软件最大提醒机制。 这样可以实现相似性或更好的性能,大大改善时间和空间的复杂性。
在这篇文章中,我们将讨论transformers的背景、注意机制是什么,以及RFA为什么能够代替softmax注意机制。 用RFA的总结结束这篇文章。
背景目前,“变换”是从序列到序列的机器学习模型的最佳模型。 专门研究数据序列,在自然语言处理、机器翻译、时间序列建模、信号处理中特别有用。
注意力机制是transformers成功的基础。 这些机制研究输入序列,确定最重要的因素。 这些元素在编码序列时具有沉重的权重。 也就是说,需要引起更多的关注。
注意机制是什么?被认为就像在会议中写笔记做后续的电子邮件一样。 做笔记的时候,我们几乎写不出所有的内容。 可能需要用缩写或图画代替单词; 可能需要跳过在意义损失最小的情况下可以推断的词语。 在这个过程中,一个小时的会议被压缩为一页笔记本。 本质上,注意力机制在试图通过更重要的嵌入(单词的缩写或图标表示)将序列编码的过程中也是如此。
什么是Softmax注意机制?假设有“注意的结构是什么”这样的句子
注意机制的目标是计算数组的不同部分应该如何相互链接的相对矩阵例如,“注意”和“机制”应该联系在一起,但两者都不应该与“实际”和“是”密切联系在一起。
这个机制以输入语句的数字形式,也就是单词嵌入矩阵开始
请注意,个词的嵌入是包含该词不同属性的词的向量表示。 这些属性太简单的例子有感情、词类、字符数等。
然后,初始化三个权重矩阵:查询Wq、密钥Wk和值W_v。
接着,计算查询矩阵q、密钥矩阵k、值矩阵v,可以分别作为词嵌入矩阵和Wq、Wk、W_v的点积。 如论文所述,最初的注意矩阵可以用以下的:来计算
公式为以下:
为了了解矩阵的操作流程,下面显示了矩阵的图形流程:
这种注意力也被称为softmax注意力。 这是因为使用softmax激活函数将q和k的变焦点积转换为注意力的相对测量值,即a。 其中,各单词共享比率的注意力,合计为1 (或100% )。 softmax结果与v结合,提供基于注意力的语义结果。
但是什么是查询、键和值呢?
要理解查询、键和值xydxg背后的概念,一个过于简单的方法是将转换器理解语句的能力视为最大化以下条件的可能性:
如果输入序列是“y,‘actually’,‘is’,‘注意’,‘机械’”,则y=‘what’的概率
如果输入序列是“['what”、“y”、“is”、“注意”和“机械”,则y=' actually”的概率
如果输入序列是“['what”、“actually”、y、“attention”和“机械”,则y=' is”的概率是多少
如果输入序列是“['what”、“actually”、“is”、y和“机械”,则y=“注意”的概率
输入序列为“['what”、“actually”、“is”、“attention”、“y”时
推测可能性的方法是注意输入句中的其他单词(单词嵌入)。 在训练过程中,“变换器”学习如何基于嵌入细化三个权重矩阵来链接单词。
该体系结构的优点是,可以通过创建多个查询、键和值组或重叠多个注意层来捕获更复杂的语义结构。
为什么Softmax的注意力机制不够好?是典型的转换器
,部署多头注意力来解压缩更复杂的语言模式。softmax注意力机制的时间和空间复杂度变成O(MN),并以输入序列长度的二次速率增长。
为了解决这个问题,来自Google Deepmind的小组利用了Bochner定理,并扩展了Rahmi&Recht(2008)的工作,softmax函数与指数函数的随机特性映射ϕ(独立和正态分布的随机向量w与输入语句x之间的内积的傅立叶特征)。
softmax函数
随机特征映射
随机特征图的点积可用于估计指数函数
在不深入过多数学推导细节的情况下,softmax注意机制可以近似为以下结构:
通过将softmax近似为RFA,谷歌Deepmind将时间和空间复杂度降低到O(M + N),即从二次到线性。
Deepmind的研究成果
由于RFA具有相同的输入和输出尺寸要求,可以作为softmax注意机制的替代。
随着复杂度从二次型下降到线性型,RFA在输入文本序列较长的情况下得到了更显著的改善。
RFA背后的基本原理可以用来近似高斯核之外的其他核函数。在谷歌Deepmind的论文中,他们演示了如何将同样的方法应用于近似弧余弦核。
与softmax一样,RFA本身并不考虑输入句子中的位置距离。在Deepmind的谷歌论文中,他们讨论了如何将递归神经网络的灵感应用于RFA,从而使单词的重要性根据它们在句子中的相对位置呈指数衰减。
最后但并非最不重要的是,机器学习看起来非常出色,但它都是关于数学和统计的。多亏了优秀的研究人员和程序员,我们才有了像TensorFlow和PyTorch这样的高级软件包。尽管如此,我们仍然需要不断学习最新的发展和修改核心概念,以确保我们正在开发可解释的机器学习模型和管道。
作者:Louis Chan
deephub翻译组