JDAI-CV / JDAI-CV/CoTNet

Some questions about your code

Open
#16 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
539
Forks
83
PR merge metrics
No merged PRs in 30d

Description

您好,我对您关于使用卷积来实现Self-Attention,并因此来替代CNN backbone中的bottleneck这种设计非常感兴趣,但是关于Contextual Transformer block我有一些问题,想向您请教:
1. 基于contextual attention matrix w来attention所有的values map V得到attented feature map,为什么要是用LocalConvolution,而不是直接的矩阵乘法,这样设计的原因是什么呢,并且将contextual attention matrix进行reshape分组之后再与value map进行LocalConvolution, 这个LocalConvolution 具体是怎么实现的呢?:[reshape](https://github.com/JDAI-CV/CoTNet/blob/master/models/cotnet.py#85) - [LocalConvolution](https://github.com/JDAI-CV/CoTNet/blob/master/models/cotnet.py#88)

2. 代码中在static key与contextual dynamic key进行fusion之后,为什么又进行了一个类似Self-Attention的操作呢?这个设计的目标又是什么呢?好像在论文中并没有提关于这里的细节:
![image](https://user-images.githubusercontent.com/65730183/140249590-e487d87d-1982-46f4-811e-a767ebbacb8c.png)

3. 最后,我想问的是,模型的前向传播过程中没有出现任何关于position encoding或者position bias的设计,是因为采取了卷积操作替代了之前的Self-Attention机制,由于卷积的捕捉local-range信息的能力,就不再需要position encoding来提供位置信息了,是这个原因吗还是其他的什么原因呢?

希望可以得到您的回复,谢谢!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.