【Paper Thought】CVPR2025 超分论文心得分享:PFT-SR

部署运行你感兴趣的模型镜像

继续新一周的超分论文学习

想象一下,一位侦探要在一张拥有数百万嫌疑人(图像像素)的巨大照片中找出关键线索。传统Transformer就像一位勤奋但低效的侦探,他会逐一询问照片中的每一个人,这无疑是一场噩梦。而PFT则是一位拥有“渐进式推理”能力的神探:

  • 第一轮排查:他先快速扫视全场(第一层标准注意力),锁定几个大致可疑的区域(高权重token)。
  • 第二轮聚焦:他不再理会那些明显无关的路人(低权重token被过滤),只深入调查上一轮锁定的可疑区域,并从中找出最关键的几个嫌疑人(top-K选择)。
  • 最终收网:如此往复,他的调查范围越来越小,目标越来越明确,最终精准定位真凶(重建出最清晰的细节)。

PFT就是这个“神探”,它通过渐进式聚焦注意力,让计算资源都用在“刀刃”上。

论文要解决的问题

核心思想:在计算attention map的过程中,下一层的attention map需结合上一层的attention map结果。上一层中,权重较低的token在下一层的计算中会被跳过,从而降低计算复杂度并提高相似token的权重。

我们主要理解和关注其中的方法论部分,所以引言和实验部分就省略掉了,有兴趣的小伙伴可以自己下载查看。

文章贡献

根据文章内容,作者认为本文的贡献如下:

  • 提出渐进式注意力思想(progressive focused attention, PFA),以乘积的方式从上一层继承注意力权重,避免低相似性token的计算,提高了高相似性token的权重。
  • 实例化PFT(Progressive Focused Transformer)。
  • 验证有效SOTA。

参考开头案例,传统transformer存在的问题:

传统的或局部的transformer-based方法有两个问题:1. 计算量大,窗口限制信息获取;2. 无关token之间的计算

所提出的PFT:

渐进式聚焦attention,当前层继承上一层的attention map,跳过低相似token的计算,提高高相似token的权重

方法论

该网络的总体设计如下图(截自论文):

在这里插入图片描述

上图中,PFAL表示包含PFA的一层,一个PFA Block包含M个PFAL。图中红线部分为 索引矩阵 I 的传递。整体结构与transformer的 encoder类似,只是替换了原transformer中的 attention计算部分为 PFA。

需要注意,图中省略了移位窗口的操作:

在每一个 block 中,针对层数索引的奇偶性,奇数层不进行循环移位直接进行窗口划分,偶数层进行循环移位后,再进行窗口划分。

注意力计算时使用 LePE 位置编码。

超分的代码基本都分为三大步:浅层特征提取、深层特征提取、上采样重建。

浅层特征提取基本都是通过一个卷积层实现,而上采样重建也相对固定。因此,绝大部分的论文的核心创新点都在深层特征采样部分。这篇博客也只是聚焦此部分。

本文的方法训练了两个模型,经典超分模型和轻量级的超分模型,具体参数如下:

配置项PFT (经典)PFT-light (轻量)
块数65
每块层数[4,4,4,6,6,6][2,4,6,6,6]
注意力头64
通道数24052
窗口大小32×3232×32
保留注意力值[1024,256,128,64,32,16][1024,256,128,64,32]

渐进式聚焦注意力 PFA

有两项改进:

  1. 利用上一层的attention map来更好的加权特征,相关性高的token的权重将会加强;
  2. 利用上一层的attention map来识别不相关的特征,节省开销,扩大窗口。

具体而言:

  • 渐进注意力跨层(Progressive Attention Across Layers)

    提出原因:标准注意力只会计算当前层的信息,不关注上一层的结果;标准的相似度计算只会计算相似度,没有加强或抑制权重的功能

    A l = N o r m ( A l − 1 ⊙ A c a l l ) A^l = Norm(A^{l-1} \odot A_{cal}^l ) Al=Norm(Al1Acall)

    其中 A c a l l A_{cal}^l Acall 为当前层的 普通注意力计算结果; A l − 1 A^{l-1} Al1 为上一层的 attention map;Norm表示按行进行归一化,保证每行和为1。

    此处归一化注意:并非所有的归一化操作都能保证 和为1。根据后文描述,此处的归一化操作应为 softmax归一。

    这个公式就像是 “父子相传” ,上一代的认知( A l − 1 A^{l-1} Al1)会直接影响并修正下一代对事物的判断( A l A^l Al),让好的特质(高相似性)不断强化。

    通过上述操作实现对高相似度token权重的加强,低相似度token权重的抑制

  • 渐进式聚焦注意力(Progressive Focused Attention)

    根据上一层的 attention map A l − 1 A^{l-1} Al1 ,在计算前就可以识别不重要的位置信息,从而计算 稀疏矩阵乘法(Sparse Matrix Multiplication,SMM)

    A s c l = S o f t m a x ( Ψ ( Q l , ( k l ) T , I l − 1 ) ) A_{sc}^l = Softmax(\Psi(Q^l, (k^l)^T, I^{l-1})) Ascl=Softmax(Ψ(Ql,(kl)T,Il1))

    其中 Ψ \Psi Ψ 表示SMM; I l − 1 I^{l-1} Il1 表示稀疏索引矩阵;

    Ψ \Psi Ψ 定义为:

    A s c l A_{sc}^l Ascl 的计算中,对于第 i 行,第 j 列的元素 A s c l ( i , j ) A_{sc}^l(i,j) Ascl(i,j) ,其值为: Q l ( i , : ) ⋅ K l ( j , : ) T Q^l(i,:) \cdot K^l(j,:)^T Ql(i,:)Kl(j,:)T 的计算结果,仅当 I l − 1 ( i , j ) = 1 I^{l-1}(i,j) = 1 Il1(i,j)=1 时执行,即根据上一层传递过来的 A l − 1 A^{l-1} Al1 生成 I l − 1 I^{l-1} Il1 ,其他位置设置为 0

    若索引矩阵 I 全为1,则该公式等价于普通注意力的计算公式

    综合而言,PFA的公式包含三部分(此部分公式编号具体参考原文,不再列出):

    1. 当前层的attention map计算,即公式4;

    2. 计算渐进权重,即公式5中第二项;此处需要注意,公式5中第二项与公式3相比多了一个 top-k 的操作,原因在于:无论如何进行归一操作,始终不可能出现 0 元素,因此通过 top-k sparse attention,来选定k个元素不为0,其余为0,从而生成稀疏矩阵A,进而得到具有 0 和 1 的索引矩阵 I。

      公式5中第二项 与 公式3 的关系:本质表示一个东西,公式3只是在 层 的层面宏观展示计算过程,公式5中第二项则为具体的实际计算过程

      公式5中第二项 k的取值:

      根据层数逐渐递减。对第一层而言,k取N,表示全部保留。从第二层开始 K l = α K l − 1 K^l = \alpha K^{l-1} Kl=αKl1,其中 0< α <1,称为 聚焦比率(focus ratio)

      为什么需要top-k操作?

      这就像我们读书时划重点,不能满篇都是高亮。PFA的top-k操作就是只划出当前最重要的几个“知识点”(token),下一层学习时就直接看这些重点,其他的暂时忽略,从而大大节省了“阅读”(计算)时间。

    3. 根据当前层的最终attention map结果(上一步的结果),生成二维索引矩阵 I,与 A 同步传递给下一层,即公式5中的第三项。

    之后,根据当前层的 attention map,当前层的 索引矩阵,当前层的 V,通过SMM计算当前层的输出:

    $ O^l = \Psi(A^l, V^l, I^l)$

    对于边界情况,即第一个block的计算时,由于没有前一项的传递信息,故初始化 A0 和 I0 为全1矩阵,来计算 A1,即标准的注意力计算模块。

结语

总体而言,PFT通过一种“代代相传,逐步聚焦”的注意力机制,巧妙地实现了效率与性能的双重提升。这种方法思想非常优雅,为设计高效的Transformer模型提供了新的思路。作者已将源码开源,感兴趣的同学强烈建议亲自去跑一跑。

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值