BoTNet注意力机制——pytorch实现

论文传送门:Bottleneck Transformers for Visual Recognition
前置文章:ViT模型——pytorch实现

BoTNet的目的:

为网络添加注意力机制

BoTNet的方法:

在ResNet中,将ResNet Bottleneck替换为Bottleneck Transformer
BotNet的方法

BoT的结构:

左:标准的Transformer结构;
中:Bottleneck Transformer(BoT)结构;
右:Bot在ResNet中的应用实例。
Bottleneck Transformer的结构

BotNet-50的结构:

相较于ResNet-50,将c5 stage的残差结构替换为BoT结构。
BoTNet-50的结构

MHSA的结构:

Multi-Head Self Attention结构,请参考:Attention Is All You Need
注意:引入Position Embedding模块,为attention添加位置信息
在这里插入图片描述

Position Embedding:

作者在MHSA中引入Relative Position Encodings(Embedding)模块。
Relative Position Encoding
作者进行消融实验,对比了No Position Encodings / Relative Position Encodings / Absolute Position Encodings以及不同的添加方式的模型性能,最后发现 q k T + q r r e l a t i v e T qk^T + qr^T_{relative} qkT+qrrelativeT的效果最好。
Position Encodings

猜你喜欢

转载自blog.csdn.net/Peach_____/article/details/129066191