attention is all you need笔记
时间: 2025-01-12 19:51:07 浏览: 57
关于 'Attention is All You Need' 论文中自注意力机制的概念解释
自注意力机制定义
自注意力,即内部注意力,是一种特殊的注意力机制,它能够将单个序列中的不同位置相互关联来计算该序列的表示形式[^1]。这种机制允许模型在处理某个词时考虑整个输入序列的信息。
应用领域
此技术已被广泛应用于多个自然语言处理任务之中,比如但不限于阅读理解、抽象摘要创建以及文本蕴含分析等场景中,在这些应用里展示了强大的性能提升效果[^2]。
工作原理概述
具体来说,Attention的工作流程可以通过三个核心组件——Query(查询)、Key(键)和Value(值)来进行描述。输出是由所有的Values经过加权求和得到的结果;而权重则是基于Queries与Keys之间的匹配程度通过Softmax函数进行标准化后的得分决定的[^3]。
实验设置详情
为了验证提出的架构的有效性,研究人员利用了一台配备有八个NVIDIA P100 GPU的强大硬件平台来进行实验性的训练工作。基础版本模型每一步骤耗时约为0.4秒完成一次迭代更新操作,并且总共经历了十万次这样的循环过程或者说持续约十二个小时的时间长度才能达到收敛状态。而对于更大规模配置下的变体,则需要更长时间——大约三十五万六千分钟也就是接近三天半才可结束全部的学习周期[^4]。
import torch.nn.functional as F
def scaled_dot_product_attention(q, k, v, mask=None):
d_k = q.size()[-1]
scores = torch.matmul(q, k.transpose(-2, -1)) / (d_k ** 0.5)
if mask is not None:
scores = scores.masked_fill(mask == 0, -1e9)
attention_weights = F.softmax(scores, dim=-1)
output = torch.matmul(attention_weights, v)
return output, attention_weights
相关推荐













