NLP篇8 自然语言处理 使用注意力模型

在自然语言处理中,注意力模型(Attention Model)被广泛应用以聚焦于输入序列的不同部分。

以基于 Transformer 的自然语言处理模型为例,注意力机制允许模型在处理每个位置时动态地为输入序列的不同位置分配权重,从而捕捉长距离的依赖关系和重要信息。

以下是一个简单的示例,展示如何在 Python 中使用 torch 库实现一个简单的注意力机制:

复制代码
import torch

def scaled_dot_product_attention(q, k, v, d_k):
    # 计算得分
    scores = torch.bmm(q, k.transpose(1, 2)) / torch.sqrt(d_k)
    # 应用 Softmax 进行归一化
    attn_weights = torch.nn.Softmax(dim=-1)(scores)
    # 计算注意力输出
    attn_output = torch.bmm(attn_weights, v)
    return attn_output

# 示例输入
q = torch.randn(1, 5, 16)  # 查询向量
k = torch.randn(5, 5, 16)  # 键向量
v = torch.randn(5, 16, 32)  # 值向量
d_k = 16  # 键的维度

attn_output = scaled_dot_product_attention(q, k, v, d_k)
print(attn_output.shape) 
相关推荐
神鹰手哥_起飞版7 分钟前
深度研判任务里,开思考、换更强的模型、套方法论,哪个更有用?
人工智能
ObserverX2110 分钟前
我是如何用 13KB 纯 Python,发现本地 RAG 的“隐式递归记忆”的
人工智能
Jason_gao99912 分钟前
Github Copilot 新手极速上手指南
人工智能·github·copilot
用户3600555790013 分钟前
Kestrel_VLLM - 35 · 把 m 循环搬进内核:一次「先量发射、再合并发射」的完整回合
人工智能
Linye13 分钟前
为什么让 AI 修个小 Bug 却把底层全重写了?聊聊 Coding Agent 的最小修改边界
人工智能·架构
深度开源20 分钟前
我扫了自己电脑里的 402 个 AI 技能,光目录就吃掉 4.5 万 token
人工智能
skywalk816320 分钟前
hive 常驻集群:像 OSPF 一样在线,像 git 一样可信
运维·人工智能·hive
王中阳Go21 分钟前
你那条三跳链路的单跳超时,是按压测的 p95 定的,还是拍出来的?
人工智能·后端·架构
方方洛22 分钟前
ray教程-27-附录F-RayClient与runtime_env与多语言
人工智能·分布式·机器学习
神鹰手哥_起飞版23 分钟前
用 Agent 越多,硬盘越满?我在隐藏目录里发现了 334 GB 的 .mimosa
人工智能