DRIVEGPT4: 通過大語言模型實現可解釋的端到端自動駕駛

《DriveGPT4: Interpretable End-to-End Autonomous Driving via Large Language Model》

2024年10月發表,來自香港大學、浙江大學、華為和悉尼大學。

????????多模態大型語言模型(MLLM)已成為研究界關注的一個突出領域,因為它們擅長處理和推理非文本數據,包括圖像和視頻。本研究旨在通過引入DriveGPT4,將MLLM的應用擴展到自動駕駛領域,DriveGPT4是一種基于LLM的新型可解釋端到端自動駕駛系統。DriveGPT4能夠處理多幀視頻輸入和文本查詢,便于解釋車輛動作,提供相關推理,并有效解決用戶提出的各種問題。此外,DriveGPT4以端到端的方式預測低級車輛控制信號。這些高級功能是通過利用專門為自動駕駛應用量身定制的定制視覺指令調優數據集,結合混合微調訓練策略來實現的。DriveGPT4代表了利用LLM開發可解釋的端到端自動駕駛解決方案的開創性努力。對BDD-X數據集進行的評估顯示,DriveGPT4具有卓越的定性和定量性能。此外,與GPT4-V相比,對特定領域數據的微調使DriveGPT4在自動駕駛接地方面能夠產生接近甚至改進的結果。

?

1. 研究背景與動機
  • 問題提出:傳統自動駕駛系統采用模塊化設計(感知、規劃、控制),但面對未知場景時易失效。端到端學習系統雖能直接預測控制信號,但因其“黑盒”特性缺乏可解釋性,阻礙商業化應用。

  • 現有不足:現有可解釋性研究多基于小規模語言模型,回答模式僵化,難以應對多樣化用戶提問。

  • 解決方案:利用大語言模型(LLM)的強推理能力和多模態處理能力,提出DriveGPT4,實現可解釋的端到端自動駕駛,同時生成自然語言解釋和低層次控制信號。


2. 核心貢獻

  1. DriveGPT4模型

    • 多模態輸入:支持視頻(多幀圖像)和文本輸入,通過專用視頻tokenizer將視頻幀映射為文本域特征。

    • 雙輸出能力:生成自然語言回答(動作描述、理由等)和低層次控制信號(速度、轉向角)。

    • 架構設計:基于LLaMA2,結合CLIP視覺編碼器提取時空特征,控制信號與文本共享解tokenizer(類似RT-2)。

  2. 數據集構建


    • 基于BDD-X數據集(20K樣本),通過ChatGPT生成多樣化問答對(56K樣本),包括動作描述、理由、控制信號預測及靈活對話。

    • 解決傳統數據集固定格式問題,提升模型泛化能力。

  3. 混合微調策略

    • 預訓練:通用圖像和視頻-文本對(CC3M + WebVid-2M),對齊多模態特征。

    • 混合微調:結合56K自動駕駛領域數據(BDD-X + ChatGPT生成)和223K通用指令數據(LLaVA、Valley),增強視覺理解和領域適應能力。


3. 實驗與結果
  • 數據集與評測

    • BDD-X測試集:劃分為簡單(Easy)、中等(Medium)、復雜(Hard)場景,評估動作描述、理由生成、控制信號預測。

    • 指標:自然語言生成采用CIDEr、BLEU4、ROUGE-L;控制信號預測采用RMSE和閾值準確率(AτAτ?)。

  • 關鍵結果

    • 可解釋性任務:DriveGPT4在動作描述(CIDEr 256.03 vs. ADAPT 227.93)和理由生成(CIDEr 98.71 vs. 80.00)上顯著優于基線。

    • 控制信號預測:速度預測RMSE 1.30(優于ADAPT的1.69),轉向角RMSE 8.98(優于9.97)。

    • 泛化能力:在NuScenes數據集和視頻游戲中零樣本測試成功,展示跨領域適應性。

    • 對比GPT4-V:DriveGPT4在動態行為理解和控制信號預測上更具優勢(GPT4-V無法預測數值控制信號)。


4. 技術亮點
  • 視頻處理:通過時空特征池化(Temporal & Spatial Pooling)高效編碼多幀視頻信息。

  • 控制信號嵌入:將數值控制信號視為“語言”,利用LLM的解碼能力直接生成。

  • 混合微調:結合領域數據與通用數據,緩解幻覺問題(如檢測虛假車輛)。


5. 局限與未來方向
  • 實時性:未支持長序列輸入(如32幀視頻),受限于計算資源與推理速度。

  • 閉環控制:當前為開環預測,未來需結合強化學習實現閉環控制。

  • 數據擴展:計劃通過CARLA仿真生成更多指令數據,增強復雜場景下的推理能力。


6. 總結

DriveGPT4首次將大語言模型引入可解釋端到端自動駕駛系統,通過多模態輸入處理、混合微調策略和靈活的輸出設計,實現了自然語言解釋與控制信號預測的雙重目標。實驗表明其在復雜場景下的優越性能,為零樣本泛化和實際應用奠定了基礎。未來研究可進一步優化實時性、閉環控制及數據多樣性。

?如果此文章對您有所幫助,那就請點個贊吧,收藏+關注 那就更棒啦,十分感謝!!!?

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

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

相關文章

Vue3 Form 表單限制輸入小寫字母、數字和下劃線

方案一&#xff1a;Element Plus 表單驗證 <template><el-form :model"form" :rules"rules" ref"formRef" label-width"120px"><el-form-item label"用戶名" prop"username"><el-input v-m…

23、電網數據管理與智能分析 - 負載預測模擬 - /能源管理組件/grid-data-smart-analysis

76個工業組件庫示例匯總 電網數據管理與智能分析組件 1. 組件概述 本組件旨在模擬一個城市配電網的運行狀態&#xff0c;重點關注數據管理、可視化以及基于模擬數據的智能分析&#xff0c;特別是負載預測功能。用戶可以通過界面交互式地探索電網拓撲、查看節點狀態、控制時間…

單片機復用功能重映射Remap功能

目錄 一、查看“DS5319 stm32f10x中等密度mcu數據手冊&#xff08;英文&#xff09;”手冊 二、查看“RM0008 STM32F10xxx參考手冊&#xff08;中文&#xff09;”手冊 三、重映射&#xff08;Remap&#xff09;功能程序編寫 自己學習過程中容易遺忘的知識點&#xff0c;記錄…

鏈表面試題9之環形鏈表進階

那么上一題我們已經知道了雙指針的變法以及拓展的用法&#xff0c;那么這里我們直接難度升級。 想回去復習的這里放個鏈接&#xff1a;鏈表的面試題8之環形鏈表-CSDN博客 題目鏈接&#xff1a;142. 環形鏈表 II - 力扣&#xff08;LeetCode&#xff09; 我們來看這道題目主要…

游戲引擎學習第299天:改進排序鍵 第二部分

回顧并為當天內容做準備 我們會現場編寫完整的游戲代碼。回顧上周發現自己對游戲中正確的排序規則并沒有清晰的理解。主要原因是我們更擅長三維游戲開發&#xff0c;缺乏二維游戲和二維游戲技術的經驗&#xff0c;對于二維精靈排序、模擬三維效果的最佳方案等沒有太多技巧和經…

Redis從入門到實戰 - 高級篇(中)

一、多級緩存 1. 傳統緩存的問題 傳統的緩存策略一般是請求到達Tomcat后&#xff0c;先查詢Redis&#xff0c;如果未命中則查詢數據庫&#xff0c;存在下面的問題&#xff1a; 請求要經過Tomcat處理&#xff0c;Tomcat的性能成為整個系統的瓶頸Redis緩存失效時&#xff0c;會…

Python訓練營打卡 Day31

文件的規范拆分和寫法 今日的示例代碼包含2個部分 notebook文件夾內的ipynb文件&#xff0c;介紹下今天的思路項目文件夾中其他部分&#xff1a;拆分后的信貸項目&#xff0c;學習下如何拆分的&#xff0c;未來你看到的很多大項目都是類似的拆分方法 知識點回顧&#xff1a;文件…

2025年護網行動藍隊防御全解析:構建智能動態防御體系

2025年&#xff0c;隨著網絡攻擊手段的智能化、混合化升級&#xff0c;護網行動中的藍隊防御已從傳統的被動防護轉向“動態感知、智能研判、主動反制”的立體化模式。如何在攻防不對稱的對抗中實現“看得見、防得住、溯得清”&#xff1f;本文將結合前沿技術與實戰經驗&#xf…

React Contxt詳解

React Contxt詳解 React 的 Context API 是用于跨組件層級傳遞數據的解決方案&#xff0c;尤其適合解決「prop drilling」&#xff08;多層組件手動傳遞 props&#xff09;的問題。以下是關于 Context 的詳細解析&#xff1a; 文章目錄 React Contxt詳解一、Context 核心概念二…

使用 lock4j-redis-template-spring-boot-starter 實現 Redis 分布式鎖

在分布式系統中&#xff0c;多個服務實例可能同時訪問和修改共享資源&#xff0c;從而導致數據不一致的問題。為了解決這個問題&#xff0c;分布式鎖成為了關鍵技術之一。本文將介紹如何使用 lock4j-redis-template-spring-boot-starter 來實現 Redis 分布式鎖&#xff0c;從而…

Vue響應式系統演進與實現解析

一、Vue 2 響應式實現詳解 1. 核心代碼實現 // 依賴收集器&#xff08;觀察者模式&#xff09; class Dep {constructor() {this.subscribers new Set();}depend() {if (activeEffect) {this.subscribers.add(activeEffect);}}notify() {this.subscribers.forEach(effect &g…

Mujoco 學習系列(一)安裝與部署

這個系列文章用來記錄 Google DeepMind 發布的 Mujoco 仿真平臺的使用過程&#xff0c;Mujoco 是具身智能領域中非常知名的仿真平臺&#xff0c;以簡單易用的API和精準的物理引擎而著稱&#xff08;PS&#xff1a;原來Google能寫好API文檔啊&#xff09;&#xff0c;也是我平時…

Ai學習之openai api

一、什么是openai api 大家對特斯拉的馬斯克應該是不陌生的&#xff0c;openai 就是馬斯克投資的一家研究人工智能的公司&#xff0c;它就致力于推動人工智能技術的發展&#xff0c;目標是確保人工智能對人類有益&#xff0c;并實現安全且通用的人工智能。 此后&#xff0c;O…

leetcode 合并區間 java

用 ArrayList<int[]> merged new ArrayList<>();來定義數組的list將數組進行排序 Arrays.sort(intervals,(a,b) -> Integer.compare(a[0],b[0]));如果前面的末尾>后面的初始&#xff0c;那么新的currentInterval的末尾這兩個數組末尾的最大值&#xff0c;即…

std::vector<>.emplace_back

emplace_back() 詳解&#xff1a;C 就地構造的效率革命 emplace_back() 是 C11 引入的容器成員函數&#xff0c;用于在容器尾部就地構造&#xff08;而非拷貝或移動&#xff09;元素。這一特性顯著提升了復雜對象的插入效率&#xff0c;尤其適用于構造代價較高的類型。 一、核…

Dify實戰案例《AI面試官》更新,支持語音交互+智能知識庫+隨機題庫+敏感詞過濾等...

大模型應用課又更新了&#xff0c;除了之前已經完結的兩門課&#xff08;視頻圖文&#xff09;&#xff1a; 《Spring AI 從入門到精通》《LangChain4j 從入門到精通》 還有目前正在更新的 《Dify 從入門到實戰》 本周也迎來了一大波內容更新&#xff0c;其中就包括今天要介紹…

AGI大模型(29):LangChain Model模型

1 LangChain支持的模型有三大類 大語言模型(LLM) ,也叫Text Model,這些模型將文本字符串作為輸入,并返回文本字符串作為輸出。聊天模型(Chat Model),主要代表Open AI的ChatGPT系列模型。這些模型通常由語言模型支持,但它們的API更加結構化。具體來說,這些模型將聊天消…

動態IP技術在跨境電商中的創新應用與戰略價值解析

在全球化4.0時代&#xff0c;跨境電商正經歷從"流量紅利"向"技術紅利"的深度轉型。動態IP技術作為網絡基礎設施的關鍵組件&#xff0c;正在重塑跨境貿易的運營邏輯。本文將從技術架構、應用場景、創新實踐三個維度&#xff0c;揭示動態IP如何成為跨境電商突…

android雙屏之副屏待機顯示圖片

摘要&#xff1a;android原生有雙屏的機制&#xff0c;但需要芯片廠商適配框架后在底層實現。本文在基于芯發8766已實現底層適配的基礎上&#xff0c;僅針對上層Launcher部分對系統進行改造&#xff0c;從而實現在開機后副屏顯示一張待機圖片。 副屏布局 由于僅顯示一張圖片&…

STM32之中斷

一、提高程序實時性的架構方案 輪詢式 指的是在程序運行時&#xff0c;首先對所有的硬件進行初始化&#xff0c;然后在主程序中寫一個死循環&#xff0c;需要運行的功能按照順序進行執行&#xff0c;輪詢系統是一種簡單可靠的方式&#xff0c;一般適用于在只需要按照順序執行…