专栏名称: 小白学视觉
本公众号主要介绍机器视觉基础知识和新闻,以及在学习机器视觉时遇到的各种纠结和坑的心路历程。
今天看啥  ›  专栏  ›  小白学视觉

如何理解attention中的Q,K,V?

小白学视觉  · 公众号  ·  · 2024-06-15 15:00
    

文章预览

点击上方 “ 小白学视觉 ”,选择加" 星标 "或“ 置顶 ” 重磅干货,第一时间送达 来源 | 知乎问答 地址 | https://www.zhihu.com/question/298810062 本文仅作学术分享,若侵权请联系后台删文处理 01 回答一:作者-不是大叔 我们直接用torch 实现一个SelfAttention 来说一说: 1.首先定义三个线性变换矩阵,query, key, value: class BertSelfAttention(nn.Module):     self.query = nn.Linear(config.hidden_size, self.all_head_size)  # 输入768, 输出768     self.key = nn.Linear(config.hidden_size, self.all_head_size)  # 输入768, 输出768     self.value = nn.Linear(config.hidden_size, self.all_head_size)  # 输入768, 输出768 注意,这里的query, key, value只是一种操作(线性变换)的名称,实际的Q/K/V是它们三个的输出 2. 假设三种操作的输入都是同一个矩阵(暂且先别管为什么输入是同一个矩阵),这里暂且定为长 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览