Page 411 - 《软件学报》2026年第5期
P. 411

2290                                                       软件学报  2026  年第  37  卷第  5  期


                 权重自适应地筛选出重要的图像块, 从而提取更加鲁棒的多尺度特征. 尽管如此, 这些方法往往忽视了判别区域间
                 的相互依赖性和目标的整体结构信息, 这些信息对于模型的决策至关重要. 为此, Sun                       等人  [15] 提出了  SIM-Trans 模
                 型, 通过挖掘关键区域的空间上下文关系, 加强了对外观和结构信息的表示学习. 与基于                           CNN  的方法相比, 基于
                 ViT  的方法在细粒度图像识别任务中获得了更高的准确率.
                    当前基于    ViT  的研究重点主要集中于如何优化编码器以挖掘含有丰富语义信息的图像块, 并利用自注意力机
                 制将这些图像块的信息有效整合到分类标记嵌入中, 以此显著提升图像的识别性能. 然而, 现有的方法主要依赖于
                 分类标记嵌入来实现基于全局视图的图像识别, 而对细粒度图像中局部视图的重要性及多粒度特征表示的丰富性
                 尚未给予充分的考虑. 因此, 本文的研究目标是探索在不改变                   Transformer 编码器结构的前提下, 如何自适应地结
                 合细粒度图像的全局和局部视图, 以实现基于多角度视图的高效识别推理. 本文提出的方法致力于深入挖掘细粒
                 度图像内在的丰富信息, 旨在同时提高识别的准确率和效率.
                  2   视觉 Transformer 的架构介绍

                  2.1   基础结构
                    正如前文图     2  所示, 视觉  Transformer (ViT) [11] 是由多个编码器层堆叠而成的. 每一层中, 包括了多头自注意力
                 层  (multi-head self-attention layer, MHSA)、残差连接、层归一化  (layer norm, LN) 和多层感知机  (multi-layer
                 perceptron, MLP). ViT  通过这些层的前向传播, 逐步细化特征, 从而提取图像的全局特征.
                    对于分辨率为      H×W  的图像  x, ViT  首先将其划分为   N  个尺寸为   P×P 的不重叠图像块序列       x p ∈ R N×(P×P×C) , 其中
                         2                                          ( P 2 ×C) ×D
                 N = HW/P , C  为通道数. 接着, 通过可学习的线性映射向量           E ∈ R     , 每个图像块被映射到       D  维空间. 此外,
                 ViT  在图像块序列前附加一个维度相同的分类标记嵌入                  x class  ∈ R 1×D  , 以集成全局特征表示. 随后, 通过位置编码
                 E pos ∈ R (N+1)×D  为序列中的每个特征向量赋予位置信息, 形成      ViT  编码器的首层输入     Z 0 ∈ R (N+1)×D , 如公式  (1) 所示:

                                                   [                ]
                                                                  N
                                                         1
                                                            2
                                                Z 0 = x class  ; x E; x E;...; x E + E pos            (1)
                                                     0   0  0     0
                                Z 0  在  ViT  的编码器层中经过层归一化     (LN) 进行标准化后, 再经由每一层内部的多头自注意
                    图像输入序列
                 力     (MHSA) 层和多层感知机  (MLP) 模块进行特征的提取和细化. ViT        中第  l 层的输出结果如公式       (2) 所示:
                                            
                                             Z = MHSA(LN (Z l−1 ))+Z l−1 , l = 1,...,L
                                               ′
                                              l
                                            
                                                                                                      (2)
                                                     (  ( ))
                                                               ′
                                            
                                              Z l = MLP LN Z ′  +Z , l = 1,...,L
                                                           l   l
                       ′
                 其中,  Z  和  Z l  分别为经过第   层 l  MHSA  和  MLP  模块处理后的图像序列输出,   LN(·) 表示层归一化操作. 通过多层
                      l
                 编码器的堆叠和前向传播, ViT        逐步提取出更为精细且有效的特征, 并将其集成到分类标记嵌入中. 最终, 编码器
                 末层输出的分类标记嵌入被用作图像的全局特征, 输入至分类器中完成识别预测.
                    多头自注意力机制是上述过程的关键, 它允许模型在处理每个图像块时, 同时考虑图像中其他部分的信息. 具
                 体来说, MHSA   通过多个独立的“注意力头”并行处理输入数据, 每个头学习到不同的表示子空间. 在每个头中, 自
                 注意力机制通过计算输入序列中所有图像块之间的相关性来实现. 这一过程涉及以下步骤: 首先, 每个图像块被转
                 换为查询    (query, Q)、键  (key, K) 和值  (value, V) 的表示形式, 即  Q = XW , K = XW K   和  V = XW . 其中,  X  代表输
                                                                         Q
                                                                                           V
                 入的特征表示,     W 、 W K   和  W V  是相应的线性变换矩阵. 随后, 自注意力机制按照公式          (3) 计算:
                              Q

                                                                    (   )
                                                                     QK T
                                               Attention(Q,K,V) = Softmax √  V                        (3)
                                                                      d k
                                               √
                 其中,  d k  表示键向量的维度, 分母中的       d k  用于实现点积的缩放, 防止梯度消失.        Softmax 函数应用于每一行, 以计
                                                                                   Q
                 算不同图像块间的注意力权重. 上述计算在多个头上并行执行, 每个头都有独自的                           W 、 W  K   和  W  V  权重矩阵. 最
                 终, 所有头的输出经拼接后, 通过另一线性变换得到最终输出:

                                            MHSA(Q,K,V) = Concat(H 1 ,H 2 ,...,H i )W O               (4)
                 其中, 每个头   H i  是基于公式  (3) 中自注意力机制的输出,      W O  为输出变换的线性矩阵,      Concat(·) 表示特征拼接操作.
                 通过这种方式, ViT    模型能够有效地捕捉图像中不同区域间的复杂关系, 为图像识别提供丰富和精确的特征表示.
   406   407   408   409   410   411   412   413   414   415   416