主頁 >  其他 > 阿里提出ELSA:深挖 transformer 區域注意力的“致命點”并扭轉乾坤

阿里提出ELSA:深挖 transformer 區域注意力的“致命點”并扭轉乾坤

2021-12-27 08:57:59 其他

當把Transformer中的LSA替換為DwConv/動態濾波器時仍可取得相近,甚至更優的性能 ,但是背后的根因一直未得到探索與挖掘,到底是什么導致LSA性能平庸呢 ?本文對此進行了深入挖掘并得到了影響LSA性能的兩個關鍵因素,

圖片

論文鏈接:https://arxiv.org/pdf/2112.12786.pdf

代碼鏈接:https://github.com/damo-cv/ELSA

近期多篇研究表明:當把Transformer中的LSA替換為DwConv/動態濾波器時仍可取得相近,甚至更優的性能 ,但是背后的根因一直未得到探索與挖掘,到底是什么導致LSA性能平庸呢 ?本文對此進行了深入挖掘并得到了影響LSA性能的兩個關鍵因素,基于所得發現提出了增強版ELSA,當其與SwinT、VOLO搭配時,在ImageNet分類、COCO檢測以及ADE20K分割任務上均表現出了顯著的性能提升,

Abstract

自注意力機制具有長距離建模能力,但區域細粒度特征學習是其弱勢,區域自注意力(Local Self-Attention, LSA)的性能僅與卷積相當,弱于動態濾波器卷積,這為研究員帶來了困惑:要不要使用LSA呢?哪一種更好呢?什么原因使其LSA平庸呢?

為澄清上述疑惑,我們從兩個角度(channel setting與spatial processing)對LSA進行系統性挖掘,我們發現:空域注意力的生成與應用是其根因,即相對位置嵌入與近鄰濾波器應用是關鍵因素 ,基于上述發現,我們采用Hadamard注意力與Ghost頭提出了增強版區域自注意力ELSA ,Hadamard注意力通過引入Hadamrd乘積以更高效的生成注意力,同時保持高階映射關系;而Ghost頭則對注意力與靜態矩陣進行組合以提升通道容量,

實驗結果表明:采用ELSA直接替換SwinTransformer中的LSA即可取得1.4%的性能提升,ELSA同樣有助于VOLO性能提升,其中ELSA-VOLO-D5取得了87.2%的top1精度且無需額外訓練資料 ,此外,在下游任務方面,ELSA可以提升基線模型在COCO資料集的性能1.9boxAP/1.3maskAP,在ADE20K資料集的性能1.9mIoU,

StartPoint

圖片

已有研究表明:當將SwinTransformer中的LSA替換為DwConv(Depth-wise Convolution)或動態卷積DDF后,LSA與DwConv的性能相當并弱于DDF (見上圖),該現在已有在近期多篇文章中得到發現,但并無關于其背后原因的深入分析,那么,是什么使得LSA變得如此平庸呢

為更好的回答上述問題,我們從以下兩個角度對LSA、DwConv以及動態濾波器進行了系統反思:

  • Channel Setting ,DwConv與LSA的最直接差異就在于通道配置:DwConv對不同通道采用不同的濾波器,而LSA則采用了多頭策略且濾波器共享,DwConv可以視作一種特殊的多頭策略,即頭數等于通道數,我們猜測:DwConv的多頭是其性能與LSA相當的原因所在,但實驗發現:把DwConv的頭數設定于LSA相當時,兩者仍具有相似進度;反之亦然,也就是說:我們需要一種新的通道策略以進一步提升LSA的性能

  • Spatial Processing ,如何得到濾波器并對空域資訊聚合是DwConv、LSA以及動態濾波器的另一個差異,DwConv采用靜態濾波器,而其他兩者則采用動態濾波器,我們將上述三種方式進行統一并從引數量、規范化以及濾波器應用方面進行公平比對,我們發現:相對位置嵌入與近鄰濾波器應用是影響性能的關鍵因素 ,此外,query與key的點乘是一種計算不友好操作,因此,我們需要一種更高效的濾波器生成機制以替代點乘,同時保持性能

Channel Setting

為更好刻畫讓LSA平庸的原因,我們首先聚焦于DwConv與LSA的第一個差異:通道配置,DwConv對不同通道采用不同的濾波器,而LSA通過多頭策略將通道拆分為多組并在組內共享濾波器,我們認為DwConv是多頭策略的一種特例,即頭數等于通道數,

圖片

上圖給出了以SwinT為基線,采用不同的頭數時的性能,可以看到:

  • 在相同通道配置下(如1x、2x),DwConv版本仍與LSA版本具有相似性能;

  • 在1x配置下,DwConv甚至具有比LSA版本更優的性能,這就說明:通道配置并非導致前述奇異現象的主要原因

  • 當頭數配置大于1x時,LSA性能反而下降,這意味著:直接提升頭數并不能改善通道容量與性能

  • 上述結果表明:我們需要一種新的策略以進一步提升通道容量和性能

Spatial Processing

既然通道配置并非關鍵原因,那么我們將從空域處理角度尋求答案,DwConv、動態濾波器以及LSA采用不同的策略聚合空域資訊,我們將其進行統一并從三個角度進行公平比對,

DwConv采用的是靜態濾波器,其計算程序如下:

動態濾波器通過一個單獨的分支網路生成空域相關濾波器,可描述如下(注:w表示濾波器生成分支網路引數):

LSA采用區域視窗的注意力圖,計算程序可描述如下:

我們將上述三種策略統一成如下統一架構:

DwConv、動態濾波器以及LSA均為上式的特例,比如,當僅使用引數時,上式退化為DwConv;當僅使用時,上式退化為動態濾波器;類似的,我們可以將其退化為LSA,因此,影響LSA的因素主要包含:引數形式、規范化以及濾波器應用方式 ,接下來,我們將對各個因素進行對比分析,

圖片

上表比較了不同引數形式的性能對比,從中可以看到:

  • 動態濾波器的引數策略要比標準LSA策略具有更優的性能(Net2 vs Net1);

  • 動態濾波器變種策略(Net6)具有與SwinT相當的性能;

  • LSA引數策略與動態濾波器引數策略的組合(Net7)可以進一步提升模型性能,

圖片

上表比較了不同規范化方式對于性能的影響,從中可以看到:

  • 當采用Net7的引數形式組合Identity時,模型訓練崩潰;

  • 相比FilterNorm,Softmax規范化具有更優的性能;

  • 這里結果表明:規范化方式并非LSA并平庸的原因

圖片

上表對比了不同濾波器使用方式(非重疊視窗 vs 滑動視窗)的性能影響,從中可以看到:當將濾波器用于近鄰區域(即滑動視窗形式)時,Net6與Net7均得到了顯著性能提升 ,這意味著:近鄰處理方式是空域處理的關鍵

Discussion

基于上述實驗,使LSA變平庸的因素可以分為兩個因素:

  • 相對位置嵌入是影響性能的一個關鍵因素;

  • 另外一個關鍵因素是濾波器使用方式,即滑動視窗 vs 非重疊視窗,

DwConv能夠與LSA性能相媲美的原因在于:它采用了滑動視窗處理機制,當其采用非重疊視窗機制時,性能明顯弱于LSA(見Table1中的Net4),

動態濾波器性能優于LSA的原因在于相對位置嵌入與近鄰濾波器使用方式,兩者的集成(Net7)取得了最佳的性能,

對比非重疊區域視窗與滑動視窗,區域重疊的峰值性能要弱于滑動視窗,區域視窗的一個缺點在于:視窗間缺乏資訊互動,限制了其性能;而滑動視窗的缺陷在于低吞吐量,那么,如何避免點乘同時保持高性能就成了新的挑戰

Enhanced Local Self-attention

圖片

我們提出了一種的新的區域自注意力模塊ELSA(見上圖),超越了SwinT中的LSA與動態濾波器,ELSA的關鍵技術為Hadamard注意力與Ghost頭模塊,ELSA的處理程序可描述如下:

其中,與分別表示Hadamard注意力與Ghost頭映射模塊,

Hadamard注意力可以描述如下:

該公式的實作極為高效,偽代碼如下:

圖片

Ghost頭則受啟發于GhostNet得到,可以描述如下:

圖片

上圖為Ghost頭的實作參考code,為避免過大的GPU顯存占用,作者進行了CUDA實作,

Experiments

圖片

上表給出了所提方案與其他SOTA方案的性能對比,從中可以看到:

  • 在不同模型大小下,所提ELSA均優于SwinT與VOLO;

  • ELSA分別優于Swin-T、Swin-S、Swin-B達1.4%、0.5%、0.5%;其中ELSA-Swin-S與原始Swin-B相當,且引數量與FLOPs更少,

  • ELSA-VOLO-D1與ELSA-VOLO-D3分別去了84.7%與85.7%的top1精度,ELSA-VOLO-D3甚至取得了媲美VOLO-D4的性能且引數量減半,

  • ELSA-VOLO-D5甚至取得了87.2%的top1精度,超過了此前最佳87.1%,

圖片

上圖給出了COCO資料上不同方案性能對比,從中可以看到:

  • ELSA-Swin-T 與ELSA-Swin-S分別超出基線模型1.9AP與1.8AP;

  • 采用Cascade Mask RCNN時,ELSA-Swin-T與ELSA-Swin-S分別取得了49.8與51.6的AP指標,以1.7和1.3AP指標優于基線模型,

圖片

上表給出了ADE20K資料及上的性能對比,從中可以看到:

  • ELSA-Swin-T以1.9mIoU指標優于基線Swin-T;

  • ELSA-Swin-S作為骨干時取得了50.3mIoU指標,以0.8優于Swin-S,甚至優于Swin-B,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/394109.html

標籤:其他

上一篇:Achieving on-Mobile Real-Time Super-Resolution with Neural Architecture and Pruning Search

下一篇:GPS單點定位計算流程

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more