開源VLMs的潛力被RoboFlamingo框架釋放
近年來,大模型的研究正在加速推進,它逐漸在各類任務上展現出多模態的理解和時間空間上的推理能力。機器人的各類具身操作任務天然就對語言指令理解、場景感知和時空規劃等能力有著很高的要求,這自然引申出一個問題:能不能充分利用大模型能力,將其遷移到機器人領域,直接規劃底層動作序列呢?
ByteDance Research利用開源的多模態語言視覺大模型OpenFlamingo開發了易用的RoboFlamingo機器人操作模型,只需單機訓練。 VLM可透過簡單微調變成Robotics VLM,適用於語言互動的機器人操作任務。
在機器人操作資料集CALVIN上,OpenFlamingo進行了驗證。實驗結果表明,RoboFlamingo僅使用了1%帶有語言標註的數據,就在一系列機器人操作任務中取得了SOTA的表現。隨著RT-X資料集的開放,採用開源資料預訓練的RoboFlamingo,並進行不同機器人平台的微調,有望成為一個簡單有效的機器人大模型流程。論文也測試了不同策略頭、不同訓練範式和不同Flamingo結構的VLM在機器人任務上的微調表現,並得出了一些有趣的結論。
- 專案首頁:https://roboflamingo.github.io
- 程式碼位址:https://github.com/RoboFlamingo/RoboFlamingo
- ##論文網址:https://arxiv.org/ abs/2311.01378
#研究背景
基於語言的機器人操作是具身智慧領域的重要應用,涉及多模態資料的理解和處理,包括視覺、語言和控制等。近年來,視覺語言基礎模型(VLMs)在圖像描述、視覺問答和圖像生成等領域取得了顯著進展。然而,將這些模型應用於機器人操作仍面臨挑戰,例如如何整合視覺和語言訊息,以及如何處理機器人操作的時序性。解決這些挑戰需要在多個方面進行改進,例如改進模型的多模態表示能力,設計更有效的模型融合機制,以及引入適應機器人操作時序性的模型結構和演算法。此外,還需要發展更豐富的機器人資料集,以訓練和評估這些模型。透過持續的研究和創新,基於語言的機器人操作有望在實際應用中發揮更大的作用,為人類提供更智慧、便利的服務。
為了解決這些問題,ByteDance Research的機器人研究團隊對現有的開源VLM(Visual Language Model)——OpenFlamingo進行了微調,並設計了一套新的視覺語言操作框架,稱為RoboFlamingo。這個框架的特點是利用VLM實現了單步驟視覺語言理解,並透過額外的policy head模組處理歷史資訊。透過簡單的微調方法,RoboFlamingo能夠適應基於語言的機器人操作任務。這一框架的引入有望解決當前機器人操作中存在的一系列問題。
RoboFlamingo 在基於語言的機器人操作資料集CALVIN 上進行了驗證,實驗結果表明,RoboFlamingo 只利用了1% 的帶語言標註的數據即在一系列機器人操作任務上取得了SOTA 的表現(多任務學習的task sequence 成功率為66%,平均任務完成數量為4.09,基線方法為38%,平均任務完成數量為3.06;zero-shot 任務的成功率為24%,平均任務完成數量為2.48,基線方法為1%,平均任務完成數量為0.67),並且能夠透過開環控制實現即時回應,可以靈活部署在較低效能的平台上。這些結果表明,RoboFlamingo 是一種有效的機器人操作方法,可以為未來的機器人應用提供有用的參考。
方法
本工作利用現有的基於圖像 - 文字對的視覺語言基礎模型,透過訓練端到端的方式產生機器人每一步的相對動作。模型由三個主要模組組成:Vision encoder,Feature fusion decoder 和 Policy head。 在 Vision encoder 模組中,當前視覺觀測首先被輸入到 ViT 中,然後透過 resampler 對 ViT 輸出的 token 進行 down sample。這一步驟有助於減小模型的輸入維度,從而提高了訓練效率。 Feature fusion decoder 模組將 text token 作為輸入,並透過交叉注意力機制將視覺編碼器的輸出作為查詢,實現了視覺與語言特徵的融合。在每個 layer 中,feature fusion decoder 首先執行交叉注意力操作,然後執行自我注意操作。這些操作有助於提取語言和視覺特徵之間的相關性,從而更好地產生機器人的動作。 在 Feature fusion decoder 輸出的當前和歷史 token 序列的基礎上,Policy head 直接輸出當前的 7 DoF 相對動作,包括了 6-dim 的機械臂末端位姿和 1-dim 的 gripper open/close。最後,對 feature fusion decoder 進行 max pooling 後將其送入 Policy head 中,從而產生相對動作。 透過這種方式,我們的模型能夠有效地將視覺和語言訊息融合在一起,產生出準確的機器人動作。這對於機器人控制和自主導航等領域有著廣泛的應用前景。
在訓練過程中,RoboFlamingo 利用預訓練的 ViT、LLM 和 Cross Attention 參數,並且只微調 resampler、cross attention 和 policy head 的參數。
實驗結果
資料集:
CALVIN(Composing Actions from Language and Vision)是一個開源的模擬基準測試,用於學習基於語言的long-horizon 操作任務。與現有的視覺 - 語言任務資料集相比,CALVIN 的任務在序列長度、動作空間和語言上都更為複雜,並支援靈活地指定感測器輸入。 CALVIN 分為 ABCD 四個 split,每個 split 對應了不同的 context 和 layout。
定量分析:
#RoboFlamingo 在各設定和指標上的表現均為最佳,說明了其具有很強的模仿能力、視覺泛化能力以及語言泛化能力。 Full 和 Lang 表示模型是否使用未配對的視覺資料進行訓練(即沒有語言配對的視覺資料);Freeze-emb 指的是凍結融合解碼器的嵌入層;Enriched 表示使用 GPT-4 增強的指令。
消融實驗:
#不同的policy head:
#實驗考察了四種不同的策略頭部:MLP w/o hist、MLP w hist、GPT 和LSTM。其中,MLP w/o hist 直接根據當前觀測預測歷史,其性能最差,MLP w hist 將歷史觀測在vision encoder 端進行融合後預測action,性能有所提升;GPT 和LSTM 在policy head 處分別顯式、隱式地維護歷史訊息,其表現最好,說明了透過policy head 進行歷史資訊融合的有效性。
視覺-語言預訓練的影響:
#預訓練對於 RoboFlamingo 的表現提升起到了關鍵作用。實驗顯示,透過預先在大型視覺語言資料集上進行訓練,RoboFlamingo 在機器人任務中表現得更好。
模型大小與性能:
雖然通常更大的模型會帶來更好的性能,但實驗結果表明,即使是較小的模型,也能在某些任務上與大型模型媲美。
指令微調的影響:
指令微調是一個強大的技巧,實驗結果表明,它可以進一步提高模型的效能。
定性結果
相對於基準法,RoboFlamingo 不但完整執行了5 個連續的子任務,且對於基準頁執行成功的前兩個子任務, RoboFlamingo 所使用的步數也明顯較少。
總結
#本工作為語言互動的機器人操作策略提供了一個新穎的基於現有開源VLMs 的框架,使用簡單微調就能達到出色的效果。 RoboFlamingo 為機器人技術研究者提供了一個強大的開源框架,能夠更輕鬆地發揮開源 VLMs 的潛能。工作中豐富的實驗結果或許可以為機器人技術的實際應用提供寶貴的經驗和數據,有助於未來的研究和技術發展。
以上是開源VLMs的潛力被RoboFlamingo框架釋放的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用C 中的chrono庫可以讓你更加精確地控制時間和時間間隔,讓我們來探討一下這個庫的魅力所在吧。 C 的chrono庫是標準庫的一部分,它提供了一種現代化的方式來處理時間和時間間隔。對於那些曾經飽受time.h和ctime折磨的程序員來說,chrono無疑是一個福音。它不僅提高了代碼的可讀性和可維護性,還提供了更高的精度和靈活性。讓我們從基礎開始,chrono庫主要包括以下幾個關鍵組件:std::chrono::system_clock:表示系統時鐘,用於獲取當前時間。 std::chron

DMA在C 中是指DirectMemoryAccess,直接內存訪問技術,允許硬件設備直接與內存進行數據傳輸,不需要CPU干預。 1)DMA操作高度依賴於硬件設備和驅動程序,實現方式因係統而異。 2)直接訪問內存可能帶來安全風險,需確保代碼的正確性和安全性。 3)DMA可提高性能,但使用不當可能導致系統性能下降。通過實踐和學習,可以掌握DMA的使用技巧,在高速數據傳輸和實時信號處理等場景中發揮其最大效能。

在C 中處理高DPI顯示可以通過以下步驟實現:1)理解DPI和縮放,使用操作系統API獲取DPI信息並調整圖形輸出;2)處理跨平台兼容性,使用如SDL或Qt的跨平台圖形庫;3)進行性能優化,通過緩存、硬件加速和動態調整細節級別來提升性能;4)解決常見問題,如模糊文本和界面元素過小,通過正確應用DPI縮放來解決。

C 在實時操作系統(RTOS)編程中表現出色,提供了高效的執行效率和精確的時間管理。 1)C 通過直接操作硬件資源和高效的內存管理滿足RTOS的需求。 2)利用面向對象特性,C 可以設計靈活的任務調度系統。 3)C 支持高效的中斷處理,但需避免動態內存分配和異常處理以保證實時性。 4)模板編程和內聯函數有助於性能優化。 5)實際應用中,C 可用於實現高效的日誌系統。

在C 中測量線程性能可以使用標準庫中的計時工具、性能分析工具和自定義計時器。 1.使用庫測量執行時間。 2.使用gprof進行性能分析,步驟包括編譯時添加-pg選項、運行程序生成gmon.out文件、生成性能報告。 3.使用Valgrind的Callgrind模塊進行更詳細的分析,步驟包括運行程序生成callgrind.out文件、使用kcachegrind查看結果。 4.自定義計時器可靈活測量特定代碼段的執行時間。這些方法幫助全面了解線程性能,並優化代碼。

交易所內置量化工具包括:1. Binance(幣安):提供Binance Futures量化模塊,低手續費,支持AI輔助交易。 2. OKX(歐易):支持多賬戶管理和智能訂單路由,提供機構級風控。獨立量化策略平台有:3. 3Commas:拖拽式策略生成器,適用於多平台對沖套利。 4. Quadency:專業級算法策略庫,支持自定義風險閾值。 5. Pionex:內置16 預設策略,低交易手續費。垂直領域工具包括:6. Cryptohopper:雲端量化平台,支持150 技術指標。 7. Bitsgap:

在MySQL中,添加字段使用ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column,刪除字段使用ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop。添加字段時,需指定位置以優化查詢性能和數據結構;刪除字段前需確認操作不可逆;使用在線DDL、備份數據、測試環境和低負載時間段修改表結構是性能優化和最佳實踐。

C 中使用字符串流的主要步驟和注意事項如下:1.創建輸出字符串流並轉換數據,如將整數轉換為字符串。 2.應用於復雜數據結構的序列化,如將vector轉換為字符串。 3.注意性能問題,避免在處理大量數據時頻繁使用字符串流,可考慮使用std::string的append方法。 4.注意內存管理,避免頻繁創建和銷毀字符串流對象,可以重用或使用std::stringstream。
