Python----循环神经网络(Transformer ----注意力机制)

一、注意力机制引入

场景引入:

在购物时,通常会根据自身的尺寸,比如腰 围和胸围,来对照商家提供的尺码对照表。在下面的例子中,最左侧的腰围代表我们 的个人尺寸(query),而右侧的两列则是商家提供的对照表(key、value)。

举例而言,假设我们的腰围是59,当查看商家提供的尺码对照表时,可能发现并非 所有尺寸都完全匹配我们的尺寸。

然而,当通过仔细观察后,可以发现对照表中有腰围为58或者腰围为59,它们与我 们的实际尺寸更为接近。尽管没有完全匹配的尺码,但通过对照表中最接近我们腰围 和胸围的尺码,我们可以确定我们对应的大致的国际尺码为37或者38。这个过程就 好比使用了对照表中的关键信息,帮助我们准确锁定最合适的尺码,确保购物时选择 的衣物更符合个人需求。

当然或者尺码有半码的存在,那么就可以更加准确的确认需要衣物的尺码了。

1.1、方案一------线性回归

我们首先可以使用一条直线来拟合商家提供的对照表中的腰围和国际尺码的数据,其 中腰围作为 x 轴,国际尺码作为 y 轴。通过这个拟合直线,我们可以在整个腰围范围 内估计相应的国际尺码。举例来说,当我们持有自身的腰围尺寸 时,通过直 线拟合上的点,我们可以找到对应的国际尺码。

1.2、方案二------注意力权重

当我们在对照表上进行观察时,我们知道自己的腰围是59,那么 首先'注意'到的是腰围的查询表,并且会注意离59较近的所在的范围,这里是58到60 之间。然后,由于发现查询值到 和 之间的距离是相等的,我们在这两个关键点 上均匀分配'注意力'。

1.3、方案三------Softmax()注意力权重

二、注意力机制

场景引入:

在我们购物时,通常会根据自身的尺寸,比如腰围和胸围,来对照商家提供的尺码对 照表。

在下面的例子中,最左侧的表格代表我们的个人的一些尺寸信息(query),而右侧 的两个表格则是商家提供的对照表(key、value)。假设我们的腰围是59,胸围是 84。当我们查看商家提供的尺码对照表时,会发现并非商家提供的所有尺寸都完全 匹配我们的尺寸。 然而,通过仔细观察,我们可以发现对照表中有腰围为58和胸围为81的尺码,它们 与我们的实际尺寸更为接近。尽管没有完全匹配的尺码,但通过对照表中最接近我们 腰围和胸围的尺码,我们可以确定我们大概对应的国际尺码为37左右。

在计算注意力分数时,我们通过距离来衡量两个向量之间的相似性。具体而 言,距离越近的地方,注意力分数越大,相应的注意力权重也越大;反之,距离越 远,注意力分数越小,注意力权重也越小。尽管这种方法在低维情况下是可行的,但 在高维情况下计算会变得复杂。如果我们仔细考虑,计算距离实际上就是在度量两个 向量之间的相似度,距离越近,相似度越高;反之,相似度越低。

2.1、加性注意力

加性注意力通过引入一个非线性的中间层来计算查询和键的相似度,这使得它能够捕捉更复杂的对齐关系。它的主要优势在于对查询和键的维度没有严格要求,即使维度不同也能很好地工作。然而,相较于点积注意力,它通常涉及更多的参数和计算量。在 Transformer 模型中,由于其结构特性(多头注意力机制),通常更倾向于使用缩放点积注意力,因为它更高效且在实践中表现良好。

2.2、点积注意力

点积注意力因其简洁性和高效性而广受欢迎。它避免了加性注意力中额外的神经网络层,使得计算速度更快,参数更少。然而,它的一个主要限制是要求查询和键向量具有相同的维度。在 Transformer 模型中,点积注意力经过缩放,以解决高维度下点积值过大导致梯度消失的问题,形成了更强大的缩放点积注意力。

2.3、缩放点积注意力

缩放点积注意力通过高效的点积计算结合巧妙的缩放技巧,使得 Transformer 能够稳定且精确地从海量信息中抽取出最相关的部分,从而实现了强大的序列处理能力。

相关推荐
ifeng09186 分钟前
HarmonyOS实战项目:AI健康助手(影像识别与健康分析)
人工智能·华为·wpf·harmonyos
Aevget8 分钟前
界面控件Telerik UI for WPF 2025 Q3亮点 - 集成AI编码助手
人工智能·ui·wpf·界面控件·ui开发·telerik
ccLianLian11 分钟前
计算机视觉·TagCLIP
人工智能·算法
aneasystone本尊17 分钟前
重温 Java 21 之虚拟线程
人工智能
geneculture18 分钟前
官学商大跨界 · 产学研大综合:融智学新范式应用体系
大数据·人工智能·物联网·数据挖掘·哲学与科学统一性·信息融智学
这张生成的图像能检测吗21 分钟前
(综述)基于深度学习的制造业表面缺陷检测图像合成方法综述
人工智能·计算机视觉·图像生成·工业检测·计算机图像学
草莓熊Lotso22 分钟前
C++ 继承特殊场景解析:友元、静态成员与菱形继承的底层逻辑
服务器·开发语言·c++·人工智能·经验分享·笔记·1024程序员节
安如衫23 分钟前
【学习笔记更新中】Deeplearning.AI 大语言模型后训练:微调与强化学习导论
人工智能·llm·sft·后训练·deepseek
IT_陈寒34 分钟前
5个Python 3.12新特性让你的代码效率提升50%,第3个太实用了!
前端·人工智能·后端
love is sour35 分钟前
理解全连接层:深度学习中的基础构建块
人工智能·深度学习