首頁  >  文章  >  科技週邊  >  更深層的理解視覺Transformer, 對視覺Transformer的剖析

更深層的理解視覺Transformer, 對視覺Transformer的剖析

WBOY
WBOY轉載
2023-12-15 11:17:371111瀏覽

本文為經過自動駕駛之心公眾號授權轉載,請在轉載時與出處聯繫

寫在前面&&筆者的個人理解

目前,基於Transformer結構的演算法模型已經在電腦視覺(CV)領域產生了極大的影響。它們在許多基本的電腦視覺任務上超越了先前的捲積神經網路(CNN)演算法模型。以下是我找到的最新的不同基礎電腦視覺任務的LeaderBoard榜單排名,透過LeaderBoard可以看出Transformer演算法模型在各類電腦視覺任務上的統治地位

  • 影像分類任務

首先是在ImageNet上的LeaderBoard,透過榜單可以看出,前五名當中,每個模型都使用了Transformer結構,而CNN結構只有部分使用,或者採用和Transformer相結合的方式。

更深层的理解视觉Transformer, 对视觉Transformer的剖析

映像分類任務的LeaderBoard

  • #目標偵測任務

接下來是在COCO test-dev上的LeaderBoard,透過榜單可以看出,前五名當中,一半以上都是基於DETR這類演算法結構進行延伸的。

更深层的理解视觉Transformer, 对视觉Transformer的剖析目標偵測任務的LeaderBoard

  • 語意分割任務

最後是ADE20K val上的LeaderBoard,透過榜單也可以看出,在榜單的前幾名中,Transformer結構依舊佔據是當前的主力軍。

更深层的理解视觉Transformer, 对视觉Transformer的剖析語意分割任務的LeaderBoard

儘管Transformer在中國目前展現出了巨大的發展潛力,但是目前的電腦視覺社群還沒有完全掌握Vision Transformer的內部工作原理,也沒有掌握其決策(輸出的預測結果)的基礎,因此對其可解釋性的需求逐漸凸顯出來。只有了解這類模型是如何做出決策的,才能提高它們的性能,並建立對人工智慧系統的信任

本文的主要目的是研究Vision Transformer的不同可解釋性方法,並根據不同演算法的研究動機、結構類型以及應用場景進行分類,從而形成一篇綜述文章

刨析Vision Transformer

因為剛才提到,Vision Transformer的結構在各類基礎的電腦視覺任務中都取得了非常不錯的成績。所以之後電腦視覺社群湧現出了很多方法來增強它的可解釋性。本文我們主要以分類任務為主線,從Common Attribution MethodsAttention-based MethodsPruning-based MethodsInherently Explainable MethodsOther Tasks這五個面向中,挑選出最新以及經典的工作進行介紹。這裡放一下論文中出現的心智圖,大家可以根據自身感興趣的內容,進行更細緻的閱讀~

更深层的理解视觉Transformer, 对视觉Transformer的剖析

本文心智圖

#Common Attribution Methods

基於屬性方法的解釋通常從模型的輸入特徵如何逐步得到最終輸出結果的過程入手來解釋。這類方法主要用於測量模型的預測結果與輸入特徵之間的相關性

在這些方法中,例如Grad-CAM以及Integrated Gradients演算法是直接應用於了基於視覺Transformer的演算法上。一些其他的方法像是SHAP和Layer-Wise Relevance Propagation(LRP)已經被用來探索基於ViT的架構上了。但是由於SHAP這類方法到的計算成本非常大,所以最近的ViT Shapely演算法被設計出來用於適應ViT的相關應用研究。

Attention-based Methods

Vision Transformer正是透過其註意力機制獲得了強大的特徵提取能力。在基於注意力的可解釋性方法中,對注意力權重結果進行視覺化是一種非常有效的方法。本文將介紹幾種視覺化技術

  • Raw Attention:此方法顧名思義,就是將網路模型中間層所得到的注意力權重圖進行視覺化,從而對模型的效果進行分析。
  • Attention Rollout:該技術透過對網路的不同層中擴展注意力權重來追蹤從輸入token到中間embedding之間的訊息傳輸。
  • Attention Flow:此方法將注意力圖視為一個流量網絡,並使用最大流量演算法計算從中間embedding到輸入token的最大流量值。
  • partialLRP:此方法是用於視覺化Vision Transformer中的多頭注意力機制提出來的,同時也考慮了每個注意力頭的重要性。
  • Grad-SAM:此方法用於緩解僅依靠原始注意力矩陣來解釋模型預測的局限性,促使研究人員將梯度以用於原始的注意力權重中。
  • Beyond Intuition:此方法也是一種用於解釋注意力的方法,包括注意力感知和推理回饋兩個階段。

最後放一張不同可解釋性方法的注意力視覺化圖,大家可以自行感受一下不同視覺化方法的差異。

更深层的理解视觉Transformer, 对视觉Transformer的剖析

不同視覺化方法的注意力圖對比

Pruning-based Methods

剪枝是一種非常有效的方法,被廣泛應用於優化transformer結構的效率和複雜性。剪枝方法透過對冗餘或沒用的資訊進行刪減,從而降低模型的參數量和計算複雜度。雖然剪枝演算法著重於提高模型的計算效率,但是該類演算法依舊可以實現對模型的可解釋性。

本文中針對基於Vision-Transformer的剪枝方法,大體可以分成三大類:explicitly explainable(顯式可解釋)、implicitly explainable(隱式可解釋)、possibly explainable(可能可解釋)。

  • Explicitly Explainable
    在基于剪枝的方法当中,有几类方法可以提供简单而且更可解释的模型。
  • IA-RED^2:该方法的目标是在算法模型的计算效率以及可解释性之间实现一个最优的平衡。并且在这个过程当中,保持原有ViT算法模型的灵活性。
  • X-Pruner:该方法是一种用于剪枝显著性单元的方法,通过创建一个可解释性的感知掩码来衡量每个可预测单元在预测特定类中的贡献。
  • Vision DiffMask:该剪枝方法包括在每个ViT层上加入门控机制,通过门控机制,可以实现在屏蔽输入的同时保持模型的输出。除此之外,该算法模型可以清晰地触发剩余图像中的子集,从而实现更好地对模型预测的理解。
  • Implicitly Explainable
    基于剪枝的方法当中,也有一些经典的方法可以被划分为隐式的可解释性模型类别中。
  • Dynamic ViT:该方法采用轻量级预测模块,根据当前的特征去估计每个token的重要性程度。然后将该轻量级的模块加入到ViT的不同层中,以分层的方式来修剪冗余的token。最重要的是,该方法通过逐步定位对分类贡献最大的关键图像部分来增强可解释性。
  • Efficient Vision Transformer(EViT):该方法的核心思想是通过重组token的方式来加速EViT。通过计算注意力得分,EViT保留最相关的token,同时将不太相关的token融合到另外的token中。同时论文的作者为了评估EViT的可解释性,对多个输入图像可视化了token的识别过程。

  • Possibly Explainable
    虽然这类方法最初并不是为了提高ViT的可解释性,但是这类方法为进一步研究模型的可解释性提供了很大的潜力。
  • Patch Slimming:通过自上而下的方法来专注图像中的冗余patch来加速ViT。该算法选择性的保留了关键补丁的能力来突出重要的视觉特征,从而增强可解释性。
  • Hierarchical Visual Transformer(HVT):该方法的引入用于去增强ViT的可扩展性和性能。随着模型深度的增加,序列长度逐渐减小。此外,通过将ViT块划分为多个阶段,并在每个阶段应用池化操作,显著提高了计算效率。考虑到对模型最重要组成部分的逐渐集中,有机会探索其对增强可解释性和可解释性的潜在影响。
Inherently Explainable Methods

在不同的可解释方法中,有一类方法主要是开发能够内在地解释算法模型,然而,这些模型通常难以达到与更复杂的黑盒模型相同的精度水平。因此,必须在可解释性和性能之间考虑谨慎的平衡。接下来对一些经典的工作进行简要的介绍。

  • ViT-CX:该方法针对ViT模型定制的基于掩码的解释方法。这种方法依赖patch embedding以及其对模型输出的影响,而不是聚焦对它们的关注。该方法包括掩码生成和掩码聚合两个阶段,从而提供更有意义的显著性图。
  • ViT-NeT:该方法是一种新的神经树解码器,通过树形结构和原型来描述决策过程。同时,该算法还可以对结果进行可视化解释。
  • R-Cut:该方法是通过Relationship Weighted Out and Cut来增强ViT的可解释性。该方法包括两个模块,分别是Relationship Weighted Out和Cut模块。前者侧重于从中间层提取特定类的信息,强调相关特征。后者执行细粒度的特征分解。通过对两个模块的集成,可以生成密集的特定于类的可解释性映射。
Other Tasks

基于ViT的架构在探索中仍然需要对其他计算机视觉任务进行解释。目前已经提出了一些专门针对其他任务的可解释性方法,下面将介绍相关领域的最新工作

  • eX-ViT:此演算法是一種基於弱監督語意分割的新型可解釋視覺轉換器。此外,為了提高可解釋性,引入了屬性導向損失模組,該模組包含全局層級屬性導向損失、局部層級屬性可判別性損失和屬性多樣性損失三種損失。前者使用注意圖來創建可解釋的特徵,後兩者則增強屬性學習。
  • DINO:此方法是一種簡單的自監督方法,並且是一種不含標籤的自蒸餾方法。最終學習到的注意圖能夠有效地保留影像的語意區域,從而實現可以解釋的目的。
  • Generic Attention-model:此方法是一種基於Transformer架構做預測的演算法模型。此方法應用於三種最常用的架構,即純自註意、自註意與共同註意相結合和編碼器-解碼器注意。為了檢驗模型的解釋性,作者使用了視覺問答任務,然而,它也適用於其他CV任務,如目標偵測和影像分割。
  • ATMAN:這是一種模態不可知的擾動方法,利用注意力機制產生輸入相對於輸出預測的相關性圖。該方法試圖透過記憶效率注意操作來理解變形預測。
  • Concept-Transformer:演算法透過突出顯示使用者定義的高階概念的注意分數來產生模型輸出的解釋,從而確保可信任性和可靠性。

未來展望

目前,基於Transformer架構的演算法模型在各類電腦視覺任務上取得了非常出色的成績。然而,就如何利用可解釋性方法促進模型調試和改進、提高模型的公平性和可靠性而言,特別是在ViT應用中,目前缺乏明顯的研究

本文旨在透過影像分類任務,將基於Vision Transformer的可解釋性演算法模型進行歸類整理,以幫助讀者更好地理解這類模型的架構,希望對大家有所幫助

更深层的理解视觉Transformer, 对视觉Transformer的剖析

要重寫的是:原文連結:https://mp.weixin.qq.com/s/URkobeRNB8dEYzrECaC7tQ

以上是更深層的理解視覺Transformer, 對視覺Transformer的剖析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除