Giter Site home page Giter Site logo

Comments (4)

YimianDai avatar YimianDai commented on July 22, 2024 3

抱歉,这两天在广州玩,回复得慢了一些。

concat(x, y)+ conv 的方式融合权重不是 1 和 1,是 W_A * X[:, i, j] + W_B * Y[:, i, j],这个在论文里有写到。虽然不是 1 和 1,但这个仍然是线性的。

的确,如您所说,concat 规避了直接相加,但会增加显存和计算量,或许基于 Concat 会有性能更好的架构,但这个超出 AFF 一文的初衷了,AFF 只要就是想传达三点:

  1. 注意力机制可以被用在所有的特征融合场景中(同层、长跳、短跳、乃至注意力本身)
  2. 通道注意力也可以有尺度这一概念,可以多尺度
  3. X + Y 可能是瓶颈所在。

我相信肯定有比目前 AFF 结构更为合理、性能更好的结构,很高兴与您交流。

from open-aff.

YimianDai avatar YimianDai commented on July 22, 2024

逻辑或者说动机大概是这样的:

第一层,以 ResNet、FPN 为代表,融合方式 X + Y,这种线性融合方式给定了固定的权重,即 1 和 1;(PWConv(X + Y) (比如FPN)、 PWConv(Concat(X,Y)) (U-Net)这两种本质上也是线性的,跟 X + Y 一样)

第二层,以 SKNet、AFF 为代表,融合方式 AFF(X, Y) = X * M(X + Y) + Y * (1 - M(X + Y)) ( M 为注意力模块,SKNet 用的是 Softmax,此外 AFF 的注意力模块不同,但这里忽略这些细节),Motivation 是用 注意力机制动态、自适应分配的权重 来代替上面的固定权重,可以得到更好的效果。虽然认为 X + Y 这类线性的简单融合是性能瓶颈之一,但在注意力模块 M 中仍然用着性能瓶颈 X + Y。

第三层,iAFF,iAFF(X, Y) = X * M(AFF(X, Y)) + Y * (1 - M(AFF(X, Y))),(AFF(X, Y) 是上一层 AFF 得到的特征),用 AFF(X, Y) 代替了(或者说缓解了)注意力模块 M 中我们不想要的 X + Y,改善了注意力模块的输入质量,输出权重也相应的改善了。其实 AFF(X, Y) 里面还是有 X + Y,所以这个过程可以一直迭代下去,所以叫做 iterative AFF,但是考虑到边际效应以及计算量、内存使用的增长,我们就止步于此了。

from open-aff.

YimianDai avatar YimianDai commented on July 22, 2024

两天多没有等到您的进一步回复,那我 close issue 了哈。

from open-aff.

swjtulinxi avatar swjtulinxi commented on July 22, 2024

有个问题就是concat(x+y)+conv的方式融合权重不是1和1把,那么我们在开始时是不是可以不用x+y的方式,而是用concat的方式,这样就不用两次注意力了,但我此处指在fpn结构上,因为放在基础网络上,concat方式会增加显存和计算量

from open-aff.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.