学渣适用版——Transformer理论和代码以及注意力机制attention的学习

参考一篇玩具级别不错的代码和案例

自注意力机制

注意力机制是为了transform打基础。
参考这个自注意力机制的讲解流程很详细,
但是学渣一般不知道 key,query,value是啥。
结合B站和GPT理解
在这里插入图片描述

注意力机制是一种常见的神经网络结构,用于处理序列数据或者其他类型的数据,其中的关键术语包括 key,query 和 value。

Key(键)是一个向量,用于表示输入数据中的某个特征,通常是通过矩阵乘法和非线性变换得到的结果。
Query(查询)也是一个向量,用于表示注意力机制当前所关注的部分。在每个时间步骤,注意力机制都会根据输入的
query,对输入数据进行加权处理。 Value(值)是一个向量,用于表示输入数据中的具体数值或特征。
具体地说,注意力机制的运作过程是这样的:首先,将输入数据经过线性变换得到 key,query 和 value 向量。然后,针对每个
query 向量,计算它与所有 key 向量之间的相似度得分,并将这些得分进行 softmax 处理,以得到每个 key
向量的权重。最后,将所有 key 向量根据对应的权重加权求和,得到一个加权平均的 value 向量,作为最终的输出。

通过这种方式,注意力机制能够在输入数据中寻找相关的部分,并且根据当前的查询进行自适应的加权处理。这种机制被广泛应用于自然语言处理、语音识别、计算机视觉等领域。

Regenerate response

【大白话浅谈【注意力机制】】 【精准空降到 02:42】 https://www.bilibili.com/video/BV1Ff4y187nr/?p=3&share_source=copy_web&vd_source=dab83d5b330f632d6bccec4d78fd0119&t=162
在这里插入图片描述

transform解读

这块作者解释的 很不错!

也就是说,任意两个相距k个时间步的位置编码向量的内积都是相同的,这就相当于蕴含了两个时间步之间相对位置关系的信息。此外,每个时间步的位置编码又是唯一的,这两个很好的性质使得上面的公式作为位置编码是有理论保障的
在这里插入图片描述
本学渣不是很理解这里的key和value 有什么区别

划重点 key和value的区别

其实就是 键值对,用key和query计算结果,给value加权重!!!
感谢活的明白大哥,他果然活的很明白。
在这里插入图片描述

进阶资源推荐

知乎的哈弗论文解读:
搞懂Transformer结构,看这篇PyTorch实现就够了(上) - 忆臻的文章 - 知乎

另一个知乎文章

https://www.ylkz.life/deeplearning/p10391698/ 还有这位月来客栈写得,把原理和pytorch的源码都讲了遍,就是写得太详细了。可以参考下。

猜你喜欢

转载自blog.csdn.net/qq_41517071/article/details/129155956