交叉注意力+特征融合神操作,登上Nature!计算速度狂提300%!

2025深度学习发论文&模型涨点之——交叉注意力+特征融合

交叉注意力机制的核心在于通过查询(Query)、键(Key)和值(Value)的交互,动态地关注不同模态之间的相关性。特征融合则利用交叉注意力的输出,将不同模态的特征进行加权融合,权重由交叉注意力机制动态确定,以反映不同特征的重要性。

小编整理了一些交叉注意力+特征融合论文】合集,以下放出部分,全部论文PDF版皆可领取。

需要的同学

回复“ 交叉注意力+特征融合”即可全部领取

论文精选

论文1:

Multi-Modality Cross Attention Network for Image and Sentence Matching

多模态交叉注意力网络用于图像与句子匹配

方法

    • 多模态交叉注意力机制:提出了一种新颖的交叉注意力机制,能够同时利用图像区域和句子词之间的关系,以及图像区域内部和句子词内部的关系,以增强图像与句子匹配的效果。

      自注意力模块:使用Transformer单元处理图像区域特征,使用BERT模型处理句子词特征,分别提取图像区域和句子词的内部关系。

      交叉注意力模块:将图像区域和句子词的特征堆叠后输入到Transformer单元,通过多头注意力机制同时考虑图像区域和句子词之间的关系,以及它们内部的关系。

      图片

    创新点

        • 联合建模:首次在统一的深度模型中联合建模图像区域和句子词之间的跨模态关系以及它们内部的内模态关系,显著提升了图像与句子匹配的性能。

          性能提升:在Flickr30K数据集上,图像到句子检索的R@1指标达到74.2%,句子到图像检索的R@1指标达到54.8%;在MS-COCO数据集上,图像到句子检索的R@1指标达到74.8%,句子到图像检索的R@1指标达到61.6%,均优于现有的先进方法。

          图片

        论文2:

        Feature Fusion Based on Mutual-Cross-Attention Mechanism for EEG Emotion Recognition

        基于互交叉注意力机制的特征融合用于EEG情绪识别

        方法

            • 互交叉注意力机制(MCA):提出了一种新的特征融合机制,通过从两个特征方向应用注意力机制,实现了时间域和频率域特征的互补。

              3D-CNN网络:设计了一种定制的3D卷积神经网络,用于处理EEG数据的3D特征表示。

              特征提取:提取EEG数据的差分熵(DE)和功率谱密度(PSD)特征,并将它们作为MCA机制的输入。

              图片

            创新点

                  • 纯数学融合方法:首次提出了一种纯数学的特征融合方法,结合定制的3D-CNN,实现了时间域和频率域特征的有效融合。

                    性能提升:在DEAP数据集上,情绪识别的准确率达到了99.49%(情绪效价)和99.30%(情绪唤起度),显著高于现有的先进方法。

                    图片


                  论文3:

                  MMViT Multiscale Multiview Vision Transformers

                  多尺度多视图视觉变换器

                  方法

                  • 多尺度特征图:在变换器模型中引入多尺度特征图,通过多尺度金字塔结构处理不同分辨率的输入。

                    多视图编码:采用多视图编码,通过不同的视图生成输入信号的多个表示,并通过交叉注意力块在不同视图之间融合信息。

                    交叉注意力块:在每个尺度阶段使用交叉注意力块,以在不同视图之间传递和融合信息。

                    图片

                  创新点

                        • 多尺度多视图融合:结合了多尺度和多视图特征,提高了模型的表示学习能力,显著提升了性能。

                          性能提升:在ImageNet1K数据集上,图像分类的Top1准确率达到83.2%,优于现有的多尺度视觉变换器(MViT)模型。

                          图片


                        论文4:

                        2D-3D Interlaced Transformer for Point Cloud Segmentation with Scene-Level Supervision

                        具有场景级监督的2D-3D交错变换器用于点云分割

                        方法

                          • 多模态交错变换器(MIT):提出了一种新的变换器模型,包含两个编码器和一个解码器,用于弱监督点云分割。

                            编码器:一个编码器处理3D点云,另一个编码器处理2D多视图图像,分别提取各自的特征。

                            解码器:解码器通过交错的2D-3D交叉注意力实现2D和3D特征的隐式融合,交替更新3D点云和2D图像的特征。

                            图片

                          创新点

                              • 首次尝试:首次在场景级监督下融合2D和3D信息进行点云分割,无需额外的2D图像标注。

                                性能提升:在S3DIS和ScanNet基准测试中,与现有的弱监督点云分割方法相比,性能大幅提升。例如,在ScanNet数据集上,使用场景级标签的MIT方法达到了35.8%的mIoU,优于其他方法。

                                无需额外数据:在不依赖相机姿态或深度图的情况下,实现了2D和3D特征的有效融合,降低了数据收集和处理的负担。

                                图片

                              小编整理了交叉注意力+特征融合文代码合集

                              需要的同学

                              回复“ 交叉注意力+特征融合”即可全部领取

                              ### 交叉注意力(Cross-Attention)的原理 交叉注意力是一种用于捕捉两个不同序列之间依赖关系的机制。它通过在查询(Query)、键(Key)和值(Value)三者间建立联系,使得模型可以动态关注另一个序列的相关部分[^3]。 具体来说,在交叉注意力中: - 查询(Query, Q)通常来自目标序列。 - 键(Key, K)和值(Value, V)则来源于源序列。 - 计算过程基于点积相似度,即 \( \text{Attention}(Q, K, V) = \text{softmax}(\frac{QK^T}{\sqrt{d_k}})V \),其中 \( d_k \) 表示 Key 的维度大小。 这种设计让模型能够在翻译任务、问答系统以及多模态学习等领域有效工作,因为它能聚焦于另一序列中最相关的部分[^1]。 --- ### 交叉注意力代码实现 以下是 Python 中使用 PyTorch 实现的一个简单版本: ```python import torch import torch.nn as nn import math class CrossAttention(nn.Module): def __init__(self, dim_model, num_heads=8, dropout=0.1): super(CrossAttention, self).__init__() assert dim_model % num_heads == 0, "dim_model must be divisible by num_heads" self.num_heads = num_heads self.dim_head = dim_model // num_heads # 定义线性变换层 self.query_projection = nn.Linear(dim_model, dim_model) self.key_projection = nn.Linear(dim_model, dim_model) self.value_projection = nn.Linear(dim_model, dim_model) self.output_projection = nn.Linear(dim_model, dim_model) self.dropout = nn.Dropout(dropout) def forward(self, query, key, value, mask=None): batch_size = query.size(0) # 投影到多头空间 (B, L_q, D) -> (B, H, L_q, D/H) queries = self.query_projection(query).view(batch_size, -1, self.num_heads, self.dim_head).transpose(1, 2) keys = self.key_projection(key).view(batch_size, -1, self.num_heads, self.dim_head).transpose(1, 2) values = self.value_projection(value).view(batch_size, -1, self.num_heads, self.dim_head).transpose(1, 2) # 缩放点积注意力计算 scores = torch.matmul(queries, keys.transpose(-2, -1)) / math.sqrt(self.dim_head) if mask is not None: scores = scores.masked_fill(mask == 0, float('-inf')) attention_weights = torch.softmax(scores, dim=-1) attention_weights = self.dropout(attention_weights) context_vectors = torch.matmul(attention_weights, values) # 合并多头结果 (B, H, L_q, D/H) -> (B, L_q, D) context_vectors = context_vectors.transpose(1, 2).contiguous().view(batch_size, -1, self.num_heads * self.dim_head) output = self.output_projection(context_vectors) return output, attention_weights ``` #### 代码说明 1. **初始化参数** `dim_model` 是模型隐藏层的总维度;`num_heads` 控制多头的数量;`dropout` 供正则化效果以防止过拟合。 2. **投影操作** 使用三个独立的全连接网络分别对 Query、Key 和 Value 进行线性映射,随后将其分割成多个头部以便后续计算[^3]。 3. **缩放点积注意力** 对 Query 和 Key 执行矩阵乘法后除以根号下的维度因子 (\( \sqrt{d_k} \)) 来稳定梯度传播,并应用 Softmax 函数得到权重分布。 4. **掩码处理** 如果存在遮蔽需求,则可以通过设置 `mask` 参数屏蔽掉不需要的部分。 5. **输出转换** 将加权求和后的 Context Vector 转回原始形状并通过最终一层线性变化获得输出向量。 --- ### 应用场景与发展 交叉注意力广泛应用于自然语言处理领域内的机器翻译、摘要生成等任务之中。此外,在视觉与文本相结合的任务里也发挥着重要作用,比如图文检索或者视频描述生成等问题均受益于此技术进步带来的性能升[^1]。 ---
                              评论
                              添加红包

                              请填写红包祝福语或标题

                              红包个数最小为10个

                              红包金额最低5元

                              当前余额3.43前往充值 >
                              需支付:10.00
                              成就一亿技术人!
                              领取后你会自动成为博主和红包主的粉丝 规则
                              hope_wisdom
                              发出的红包
                              实付
                              使用余额支付
                              点击重新获取
                              扫码支付
                              钱包余额 0

                              抵扣说明:

                              1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
                              2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

                              余额充值