“羊駝“入侵CV,美團浙大沈春華團隊將LLaMA向CV擴展,構建全新基礎模型VisionLLaMA

本文首發:AIWalker

https://arxiv.org/abs/2403.00522
https://github.com/Meituan-AutoML/VisionLLaMA

本文概述

大型語言模型構建在基于Transformer的架構之上來處理文本輸入, LLaMA 系列模型在眾多開源實現中脫穎而出。類似LLaMa的Transformer可以用來處理2D圖像嗎?在本文中,我們通過提出一種類似 LLaMA 的樸素和金字塔形式的Transformer來回答這個問題,稱為 VisionLLaMA。 VisionLLaMA 是一個統一的通用建模框架,用于解決大多數視覺任務。

我們采用經典的預訓練框架在圖像感知(尤其是圖像生成)任務上對齊有效性進行了充分評估。在大多數情況下,VisionLLaMA表現出了比已有SOTA ViT方案更優的性能。我們相信 VisionLLaMA 可以作為視覺生成和理解的強大新基線模型。

本文貢獻

  • 提出一種類似于LLaMA的視覺轉換器架構VisionLLaMA,以減少語言和視覺之間的架構差異。
  • 我們研究了兩個版式的視覺架構方案(樸素和金字塔),并評估它們在監督和自監督學習場景下的性能。此外,我們還引入了 AS2DRoPE(即自動縮放 2D RoPE),它將旋轉位置編碼從 1D 擴展到 2D,并利用插值縮放來適應任意分辨率。
  • 在沒有花里胡哨的情況下,VisionLLaMA 在圖像生成、分類、語義分割和對象檢測等許多代表性任務中明顯優于廣泛使用且經過仔細微調的視覺轉換器。大量實驗表明,VisionLLaMA 比現有視覺轉換器具有更快的收斂速度和更好的性能。

本文方案

樸素版VisionLLaMA延續了ViT的處理流程,核心在于VisionLLaMA模塊,見上圖。VisionLLaMA與ViT不同之處在于:位置編碼自注意力RoPE和SwiGLU激活函數。此外,它仍然使用ViT的LayerNorm,而非RMSNorm。需要注意的是,由于1DRoPE不能很好的擴展到其他分辨率,故作者將其擴展為2維形式,描述如下:

z i j l = M H S A ( A S 2 D R o P E ( L a y e r N o r m ( z i j l ? 1 ) ) ) + z i j l ? 1 z_{ij}^{l} = MHSA(AS2DRoPE(LayerNorm(z_{ij}^{l-1}))) + z_{ij}^{l-1} zijl?=MHSA(AS2DRoPE(LayerNorm(zijl?1?)))+zijl?1?
z i j l = S w i G L U ( L a y e r N o r m ( z i j l ) ) + z i j l z_{ij}^{l} = SwiGLU(LayerNorm(z_{ij}^l)) + z_{ij}^{l} zijl?=SwiGLU(LayerNorm(zijl?))+zijl?

金字塔VisionLLaMA

更進一步,類似SwinT,作者還構建了一個金字塔版本的VisionLLaMA。在本文中,我們選擇更強的基線 Twins 來探索如何在嚴格控制的設置下構建強大的金字塔變壓器。 Twins 的原始架構利用了條件位置編碼和以局部和全局注意力的形式進行交錯的局部-全局信息交換。這些組件可以在各種變壓器中找到,這意味著按照我們的方法在其他金字塔變壓器變體中應用 VisionLLaMA 并不困難。請注意,我們的目標不是發明一種新穎的金字塔視覺轉換器,而是展示我們如何在現有設計的基礎上調整 VisionLLaMA 的基本設計。因此,我們只是遵循對架構和超參數進行最小的修改。

需要注意:我們刪除了金字塔 VisionLLaMA 中的條件位置編碼,因為 AS2DRoPE 已經包含位置信息。此外,我們還刪除了類標記并在分類頭之前使用 GAP(全局平均池)。

Training or Inference Beyond Sequence Length

處理不同的輸入分辨率是視覺任務中的常見要求。卷積神經網絡使用滑動窗口機制來處理可變長度。相反,大多數視覺轉換器應用局部窗口操作或插值。例如,DeiT在不同分辨率上訓練時采用雙三次插值。 CPVT使用基于卷積的位置編碼。

對于RoPE,作者嘗試將其從1D擴展至2D形式。給定 x i j ∈ R d x_{ij} \in R^d xij?Rd,其位置編碼為 x i j P E = R i j x i j x_{ij}^{PE} = R_{ij} x_{ij} xijPE?=Rij?xij?,對角矩陣如下:

本文實驗

圖像生成

圖像分類

語義分割

COCO檢測

推薦閱讀

  1. 入局CV,Mamba再顯神威!華科王興剛團隊首次將Mamba引入ViT,更高精度、更快速度、更低顯存!
  2. Swin版VMamba來了!精度再度提升,VMamba-S達成83.5%,超越Swin-S,已開源!
  3. CVPR2023 InternImage已開源 | 注入新機制,探索視覺大模型,達成COCO新紀錄65.4mAP!
  4. CVPR2022 | RepLKNet: 大核卷積+結構重參數讓CNN再次偉大
  5. DCNv4來襲,更快收斂、更高速度、更高性能!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/719816.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/719816.shtml
英文地址,請注明出處:http://en.pswp.cn/news/719816.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python繪制不同形狀詞云圖

目錄 1.基本詞云圖1.1 導入所需庫1.2 準備詞匯1.3 配置參數并生成詞云圖1.4 在Python窗口中顯示圖片1.5 效果展示1.6 完整代碼 2. 不同形狀詞云圖2.1 找到自己所需形狀圖片2.2 利用PS將圖片設置為黑白色2.3 在代碼中設置背景2.4 效果展示 1.基本詞云圖 1.1 導入所需庫 import…

遠程調用--webClient

遠程調用webClient 前言1、創建webClient2、準備數據3、執行請求4、接收返回響應到的數據整體代碼 前言 非阻塞、響應式HTTP客戶端 1、創建webClient WebClient client WebClient.create();2、準備數據 Map<String,String> params new HashMap<>();params.pu…

貪心算法(區間問題)

452. 用最少數量的箭引爆氣球 題目(求無重復區間) 有一些球形氣球貼在一堵用 XY 平面表示的墻面上。墻面上的氣球記錄在整數數組 points &#xff0c;其中points[i] [xstart, xend] 表示水平直徑在 xstart 和 xend之間的氣球。你不知道氣球的確切 y 坐標。 一支弓箭可以沿著…

利用Python爬取8684公交路線查詢網站中全國公交站點信息

利用python語言結合requests、BeautifulSoup等類庫爬取https://api.8684.cn/v3/api.php?docitys&actprovince對應接口中所有城市公交路線信息以及公交站點信息。 import time import requests import json, re from bs4 import BeautifulSoup# 定義一個函數&#xff0c;傳…

“祖傳代碼“的是是非非

程序員眼中的“祖傳代碼”&#xff0c;就像一本古老而神秘的魔法書&#xff0c;藏著無窮的智慧和技巧&#xff0c;有些代碼像家傳寶貝&#xff0c;有些像祖傳秘方。快來分享一下你遇到的“祖傳代碼”吧~ 祖傳代碼的歷史與文化價值 祖傳代碼通常指的是經過長時間使用和傳承的代…

【DUSt3R】2張圖2秒鐘3D重建

【DUSt3R】2張圖2秒鐘3D重建 1. DUSt3R是一種用于稠密和無約束立體三維重建的方法,其實現步驟如下:2. 實際運行效果3. 運行結果4. 自問自答4.1 為社么這里要是使用transform模型呢?4.2 CroCo(通過跨視圖完成3D視覺任務的自我監督預訓練的一個研究)在DUSt3R的作用是什么,為…

打家劫舍(java版)

&#x1f4d1;前言 本文主要是【動態規劃】——打家劫舍(java版)的文章&#xff0c;如果有什么需要改進的地方還請大佬指出?? &#x1f3ac;作者簡介&#xff1a;大家好&#xff0c;我是聽風與他&#x1f947; ??博客首頁&#xff1a;CSDN主頁聽風與他 &#x1f304;每日一…

17 easy 290. 單詞規律

//給定一種規律 pattern 和一個字符串 s &#xff0c;判斷 s 是否遵循相同的規律。 // // 這里的 遵循 指完全匹配&#xff0c;例如&#xff0c; pattern 里的每個字母和字符串 s 中的每個非空單詞之間存在著雙向連接的對應規律。 // // // // 示例1: // // //輸入: patte…

24計算機考研調劑 | 西安工大

西安工大 考研調劑招生信息 學校:西安工大 專業:- 年級:2024 招生人數:4 招生狀態:正在招生中 聯系方式:********* (為保護個人隱私,聯系方式僅限APP查看) 補充內容 歡迎化工、材料、環工等專業[或有計算機相關專業&#xff08;智能科學和軟件工程方向&#xff09;、機…

一款不錯的多端SSH工具:Xterminal

1、不僅是強大的SSH工具&#xff0c;更提供本地控制臺&#xff0c;以及更多即將推出的開發相關功能&#xff0c;讓您專注于創造卓越的代碼 2、AI賦能&#xff0c;智能命令提示&#xff0c;為大腦解壓 AI解答&#xff0c;讓你的疑問得到即時解答 AI智能提示&#xff0c;讓每一…

CodeFlying 和 aixcoder兩大免費軟開平臺,孰強孰弱?

今天為大家帶來碼上飛CodeFlying和aixcoder兩款免費的軟件開發平臺效果的測評 一、產品介紹 首先簡單介紹一下這兩個平臺 碼上飛CodeFlying&#xff1a;碼上飛 CodeFlying | AI 智能軟件開發平臺&#xff01; 是一款革命性的軟件開發平臺&#xff0c;它通過將軟件工程和大模…

Redis是AP的還是CP的?

redis是一個開源的內存數據庫&#xff0c;那么他到底是AP的還是CP的呢&#xff1f; 有人說&#xff1a;單機的是redis是cp的&#xff0c;而集群的redis是ap的&#xff1f; 但是我不這么認為&#xff0c;我覺得redis就是ap的&#xff0c;雖然在單機redis中&#xff0c;因為只有…

Git 基本操作 ?作區、暫存區、版本庫

創建本地倉庫&#xff1a; 創建 Git 本地倉庫 要提前說的是&#xff0c;倉庫是進行版本控制的?個文件目錄。我們要想對文件進行版本控制&#xff0c;就必須先創建?個倉庫出來。 首先touch 一個文件&#xff1a; 初始化倉庫&#xff1a; 創建完成后&#xff0c;我們會發現當前…

行列式錯題本

《1800》 1 階數和轉置 A是三階,B是4階,還有2這個系數 2 怎么啥也不會呀,委屈 行列式的拆分+提取系數 3

uniapp 安裝安卓、IOS模擬器并調試

一、安裝Android模擬器并調試 1.下載并安裝Android Studio。 2.創建簡單project。 3.安裝模擬器。 完成安卓模擬器的安裝。 4.啟動模擬器。 5.hbuilderx選擇模擬器、運行。 點擊刷新按鈕后出現模擬器&#xff0c;勾選并運行。 6.調試。 在 HBuilderX 中&#xff0c;項目啟…

每天一道leetcode:20.有效的括號(簡單;棧的經典題目)

?今日份題目 給定一個只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判斷字符串是否有效。 有效字符串需滿足&#xff1a; 左括號必須用相同類型的右括號閉合。 左括號必須以正確的順序閉合。 每個右括號都有一個對…

Nano 33 BLE Sense Rev2學習第一節——環境配置

參考文檔見Access Barometric Pressure Sensor Data on Nano 33 BLE Sense | Arduino Documentation 打開Arduino ide安裝開發板 選擇開發板 連接開發板到電腦&#xff0c;自動識別開發板端口&#xff0c;選擇端口

Python-類型檢查:typing模塊和mypy工具

Python-類型檢查&#xff1a;typing模塊和mypy工具 >>返回Python系列文章目錄<< 文章鏈接: Python中typing模塊 文章鏈接: PyCharm集成類型檢查mypy

ssh 一次執行多條命令(后臺運行)

文章目錄 1. 背景2. 命令2.1 命令分隔符2.2 多行腳本2.3 單行腳本 3. SSH 任務后臺運行 1. 背景 有時我們只需要遠程執行一次任務然后就關閉&#xff0c;而不需要長時間 ssh 登錄到遠程服務器。同時一次任務可能需要執行多條命令&#xff0c;那么我們該如何做呢&#xff1f; …

【Java】查看class文件的jdk編譯版本的兩種方式

一、使用文本編輯工具EditPlus 使用EditPlus打開該class文件&#xff0c;字符集選擇16進制&#xff08;Hex viewer&#xff09;。 僅看第一行數據&#xff0c;前面8個字節CA FE BA BE是固定的。 之后4個字節00 00 是次版本。 次版本后面的4個字節00 34 就是jdk版本。 jdk版本…