self-attention和cross-attention

news2024/11/16 7:21:21

为什么Self-Attention要通过线性变换计算Q K V,背后的原理或直观解释是什么? - 知乎回答题主问题题主的问题: 在attention中都经过一个映射,那么建模的相似度是否就没有意义了?个人感觉这…https://www.zhihu.com/question/592626839/answer/2965200007Cross-Attention in Transformer ArchitectureMerge two embedding sequences regardless of modality, e.g., image with text in Stable Diffusion U-Net.https://vaclavkosar.com/ml/cross-attention-in-transformer-architecture一言以蔽之,就是cross-attention是在sequence之间不同位置的输入做attention,self-attention是在sequence内部做attention。self和cross attention的区别仅在q和kv的来源上,self-attention Q(uery)K(ey)V(alue)均来源与一个sequence,而cross-attention中Q来源于另一个sequence,而且多为跨模态的sequence。

cross-attention混入了两种不同的序列。

class CrossAttention(nn.Module):
    r"""
    A cross attention layer.

    Parameters:
        query_dim (`int`): The number of channels in the query.
        cross_attention_dim (`int`, *optional*):
            The number of channels in the encoder_hidden_states. If not given, defaults to `query_dim`.
        heads (`int`,  *optional*, defaults to 8): The number of heads to use for multi-head attention.
        dim_head (`int`,  *optional*, defaults to 64): The number of channels in each head.
        dropout (`float`, *optional*, defaults to 0.0): The dropout probability to use.
        bias (`bool`, *optional*, defaults to False):
            Set to `True` for the query, key, and value linear layers to contain a bias parameter.
    """
    query = attn.to_q(hidden_states)
    query = attn.head_to_batch_dim(query)

    encoder_hidden_states = encoder_hidden_states if encoder_hidden_states is not None else hidden_states
    key = attn.to_k(encoder_hidden_states)
    value = attn.to_v(encoder_hidden_states)
    key = attn.head_to_batch_dim(key)
    value = attn.head_to_batch_dim(value)

    attention_probs = attn.get_attention_scores(query, key, attention_mask)
    hidden_states = torch.bmm(attention_probs, value)

应用:

在transformer中有描述,但是是同模态的,还不叫cross-attention

stable diffusion中:

 perceiver io:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/438724.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

是面试官放水,还是公司实在是太缺人?这都没挂,腾讯原来这么容易进···

本人211非科班,之前在字节和腾讯实习过,这次其实没抱着什么特别大的希望投递,没想到腾讯可以再给我一次机会,还是挺开心的。 本来以为有个机会就不错啦!没想到能成功上岸,在这里要特别感谢帮我内推的同学&…

CANFD和CAN的区别

文章目录 概念速率数据长度帧格式 概念 FD全称是 Flexible Data-Rate,顾名思义,表示CAN-FD 的帧报文具有数据场波特率可变的特性,即 仲裁场和数据控制场使用标准的通信波特率,而到数据场就会切换为更高的通信波特率, …

瑞云科技副总经理黄金进受邀出席2023广东超聚变生态伙伴大会并作主题演讲

2月10日,2023广东超聚变生态伙伴大会在广东深圳博林天瑞喜来登酒店成功举办。 本次大会以“聚变焕新数字湾区”为主题,通过合作伙伴分享,携手众多合作伙伴共同探讨行业趋势和热点话题,共建合作共赢生态,焕新数字湾区。…

电脑快捷键大全,提高效率靠它了!

案例:电脑快捷键大全 【谁懂啊!作为一名打工人,效率真的太重要了,如果有快捷键真的可以使效率翻倍,哪位大神可以总结一下电脑常用的快捷键吗?跪谢了!】 在日常使用电脑时,掌握一些…

【网络安全】本地提权漏洞分析

0. 前言 CVE-2023-21752 是 2023 年开年微软第一个有 exploit 的漏洞,原本以为有利用代码会很好分析,但是结果花费了很长时间,难点主要了两个:漏洞点定位和漏洞利用代码分析,欢迎指正。 1. 漏洞简介 根据官方信息&a…

什么是工厂模式?

文章目录 00 | 基础知识01 | 简单工厂模式框架实现应用场景小结 02 | 工厂方法模式框架实现应用场景小结 03 | 抽象工厂模式框架实现应用场景小结 04 | 总结 前面学习了设计模式的基本概念(设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结)…

浅述 国产仪器仪表 6433D,6433F,6433H,6433L光波元件分析仪

6433系列光波元件分析仪包括6433D(10MHz~26.5GHz)、6433F(10MHz~43.5GHz)、6433H(10MHz~50GHz)、6433L(10MHz~67GHz)4个型号。 6433系…

Live800:一个好的企业,要懂得怎样与消费者打交道

一个好的企业,不仅要懂得产品之道,更要懂得怎样与消费者打交道。 这不是危言耸听,随着市场经济的高度发展,市场竞争愈来愈激烈,消费者在市场中的主体地位和对企业的决定性作用越来越突出,企业要想生存和发…

牛客竞赛字符串专题 NC237662 葫芦的考验之定位子串(SAM + 后缀链接树上倍增)

题意&#xff1a; 给出一个字符串S&#xff0c;|S| ≤ 250000&#xff0c;给出 Q < 250000 次询问&#xff0c;每次需要回答 S[l, r] 在 S 中共出现了多少次。 思路&#xff1a; 如果使用 SAM&#xff0c;我们提前求出每个状态的 cnt[u]&#xff0c;询问就是要求我们快速…

GPT-5暂时来不了 OpenAI悄然布局移动端

OpenAI彻底用GPT-4带火自然语言大模型后&#xff0c;互联网科技行业的大头、小头都在推出自家的大模型或产品。一时间&#xff0c;生成式AI竞速赛上演&#xff0c;“吃瓜群众”也等着看谁能跑赢OpenAI。 坊间预测&#xff0c;干掉GPT-4的还得是GPT-5。结果&#xff0c;OpenAI的…

总结827

学习目标&#xff1a; 4月&#xff08;复习完高数18讲内容&#xff0c;背诵21篇短文&#xff0c;熟词僻义300词基础词&#xff09; 学习内容&#xff1a; 高等数学&#xff1a;刷1800&#xff0c;做了26道计算题&#xff0c;记录两道错题&#xff0c;搞懂了&#xff0c;但并不…

node.js 安装及配置环境变量只看此文

文章目录 1. node.js 安装2. Node.js环境变量配置3. 国内镜像网站配置 1. node.js 安装 node.js 安装完成后会带相应的npm 包管理工具。 node js 官网下载 选择合适的版本进行下载。 这里选择稳定版本。一步一步执行安装&#xff0c;期间安装盘默认C 盘&#xff0c;建议更换到…

10个Java开发人员最常犯的错误

这个列表总结了10个Java开发人员最常犯的错误&#xff0c;是我基于大量的github上的开源项目&#xff0c;Stack overflow上的问题&#xff0c;还有一些流行的google搜索的分析&#xff0c;没有明显示的评估证明它们是前10&#xff0c;但它们绝对是很常见的。 1.Array转ArrayLi…

计算机网络-IP地址计算专题(非常重要)

文章目录 IP地址快速计算法则IP计算例题1(给出了子网掩码)IP计算例题2(给出了建网比特数)求划分子网的个数求划分N个子网之后的子网掩码子网的划分超网聚合变形&#xff0c;求子网地址的规律假如让你设计网络 IP地址快速计算法则 软考中的地址计算题都只需要计算出某个IP地址所…

港联证券|万亿级AIGC赛道或迎有序监管

近段时间&#xff0c;连续有国内外科技巨子涌入万亿级AIGC&#xff08;生成式AI&#xff09;赛道&#xff0c;A股商场上AIGC、ChatGPT等人工智能相关概念也是继续火热。但与此同时&#xff0c;安全隐患也如冰山一角逐渐露出。多国政府正在考虑加强对其监管&#xff0c;AIGC在全…

时刻警惕!企业如何全面应对攻击战术演进

Fortinet FortiGuard Labs &#xff08;Fortinet全球威胁研究与响应实验室&#xff09;发布的 《全球威胁态势研究报告-2022年下半年》显示&#xff0c;不法分子正将更多资源投入至MITRE ATT&CK “前期侦察”和“武器构建”两大战术阶段&#xff0c;组织必须时刻提高警惕&a…

“QT 快速上手指南“ 之 计算器(三)信号与槽,connect 函数,QString

文章目录 前言一、什么是信号与槽&#xff1f;二、QObject::connect 函数三、QT 中的字符串类 QString1. 创建和初始化字符串&#xff1a;2. 字符串的拼接和添加3. 字符串的查找和替换4. 字符串的分割和处理 总结 前言 QT 中 信号 与 槽机制&#xff08;Signal and Slot&#…

Project1:Boolean Logic

目录 Part1:Lecture && bookunit 1.1 Boolean Logicunit 1.2 boolean function synthesisunit 1.3 logic gatesunit 1.4 Hardware Description languageunit 1.5 Hardware simulationunit 1.6 Multi-bit Buses part2:Project Part1:Lecture && book unit 1.1 …

Invalid bound statement (not found):报错解决方法

报错信息&#xff1a; Invalid bound statement (not found): com.atguigu.auth.mapper.SysMenuMapper.findMenuListByUserId 因为&#xff1a;maven加载机制 maven默认情况下&#xff0c;只会加载编译ser-main-java目录里面java类型文件&#xff0c;其他类型文件不会进行加…

如何利用在线帮助中心解决客户问题?

随着互联网的不断发展&#xff0c;越来越多的企业意识到客户服务的重要性。然而&#xff0c;如何提供高效、可靠、贴心的客户服务一直是企业面临的难题。在这个背景下&#xff0c;在线帮助中心应运而生。本文将介绍如何利用在线帮助中心解决客户问题&#xff0c;让企业更好地提…