CoT-Drive:利用 LLM 和思維鏈提示實現自動駕駛的高效運動預測

25年3月來自澳門大學和 MIT 的論文“CoT-Drive: Efficient Motion Forecasting for Autonomous Driving with LLMs and Chain-of-Thought Prompting”。

準確的運動預測對于安全的自動駕駛 (AD) 至關重要。本研究提出 CoT-Drive,這是一種利用大語言模型 (LLM) 和思維鏈 (CoT) 提示方法來增強運動預測的創新方法。本文引入一種師生知識蒸餾策略,將 LLM 的高級場景理解能力有效地遷移到輕量級語言模型 (LM),確保 CoT-Drive 能夠在邊緣設備上實時運行,同時保持全面的場景理解和泛化能力。通過利用 CoT 提示技術,無需額外訓練 LLM,CoT-Drive 生成??的語義標注能夠顯著提升對復雜交通環境的理解,從而提高預測的準確性和魯棒性。此外,還提供兩個新的場景描述數據集:Highway-Text 和 Urban-Text,用于微調輕量級語言模型 (LM),使其能夠生成特定于上下文的語義標注。對五個真實數據集的全面評估表明,CoT-Drive 的性能優于現有模型,凸顯其在處理復雜交通場景方面的有效性和效率。總體而言,這項研究首次探討 LLM 在該領域的實際應用。

如圖所示說明 COT-Drive 的優勢 (d),從響應時間、安全性、適應性和場景理解能力等關鍵角度比較邊緣語言模型 (a)、本地 LLM 與邊緣 LM (b) 以及在線 LLM 與邊緣 LM ?。

請添加圖片描述

本研究在運動預測領域引入兩個場景描述數據集:Highway-Text 和 Urban-Text。這兩個數據集包含超過 1000 萬個單詞,描述各種交通場景。Highway-Text 數據集包含來自下一代仿真 (NGSIM) 數據集 [13] 的 4,327 個交通場景和來自高速公路無人機數據集 (HighD) [31] 的 2,279 個場景描述。同時,Urban-Text 數據集包含來自澳門網聯自動駕駛 (MoCAD) 數據集 [3] 的 3,255 個樣本和來自 ApolloScape [32] 的 2,176 個樣本多智能場景描述,涵蓋校園道路、城市道路、交叉路口和環島等多種環境。這兩個數據集都分為訓練集 (70%)、驗證集 (10%) 和測試集 (20%)。

為了增強 LLM 對復雜交通場景的理解并最大限度地減少幻覺,開發一種 CoT 提示技術,該技術使用順序語言指令逐步引導 LLM 生成上下文感知的語義注釋。如圖所示,CoT 提示以漸進式對話的形式展開,每一步都引導 GPT-4 Turbo 關注場景的不同方面。該 CoT 提示技術的流程概述如下:

請添加圖片描述

步驟 1:背景和統計數據。為高速公路和城市場景設計統一的結構化提示。每個數據對都提供豐富的交通智體信息,包括智體類型、位置、速度、航向和環境要素。該提示引導 LLM 識別關鍵智體并生成當前交通狀況的全面概覽,例如道路狀況、交通密度、值得注意的事件以及每個智體的潛行為。

步驟 2:交互分析。此階段利用步驟 1 中的上下文信息,分析交通主體之間的交互。該模型評估車輛、行人和騎行者等主體之間的相互影響,從而識別可能影響未來行為的關鍵交互。

步驟 3:風險評估。基于背景信息和交互信息,此階段引導 LLM 評估潛在的事故風險。LLM 會回顧先前的發現,并結合車輛分布、速度、路況和行人行為等因素來評估碰撞可能性。該評估整合風險模型,根據主體類型、數量和接近程度計算緊急程度分數,量化即時風險,從而確定決策的優先級。

步驟 4:預測。在最后階段,LLM 被指示預測目標車輛的未來行為,例如加速、減速或變道,并為這些預測提供依據。此外,LLM 還會為預測的行為生成未來軌跡坐標,并總結整個推理過程。

通過迭代改進,所有四個步驟的洞察都被整合成標準格式的連貫語義注釋。所有 LLM 生成的注釋均經過人工驗證,并與交通規則和法律標準進行交叉核對,以確保符合歐盟《通用數據保護條例》(GDPR)[33]。總而言之,這些數據集首次利用 GPT-4 Turbo 的語言能力和 CoT 提示功能,對交通場景進行詳細的語義描述。通過引入這些數據集,旨在改進運動預測模型,提升泛化能力,并將 Highway-Text 和 Urban-Text 確立為自動駕駛研究中復雜性和真實性的基準。

架構概述

本研究的主要目標,是預測目標智體在自動駕駛汽車感知范圍內的未來軌跡。在當前時間 t,給定目標智體(下標為 0)及其周圍交通智體(下標從 1 到 n)在 t ? t_h 到 t 時間間隔內的歷史智體狀態 X_0:nt?t_h:t,任務是預測目標智體在指定預測范圍 t_f 內的未來軌跡 Y_0t+1:t+t_f。歷史智體狀態 X_0:n^t?t_h:t 包含目標智體及其周圍智體的二維位置坐標、航向、速度、車道標識符和加速度。 CoT-Drive 的整體流程如圖 (a) 所示,它基于編碼器-解碼器范式構建,包含四個關鍵組件:語言指令編碼器、交互-覺察編碼器、跨模態編碼器和解碼器。簡而言之,語言指令編碼器生成交通場景的語義描述,包括交互分析、風險評估和運動預測,以提供全面的理解。這些描述隨后被提取為多模態特征 F_m,而交互-覺察編碼器同時提取局部空間特征 F_p。隨后,跨模態編碼器集成并更新這些特征 F_m 和 F_p 的表示,以生成跨模態特征 F_c。最后,解碼器利用 F_c 預測多模態軌跡。

請添加圖片描述

語言指令編碼器

該編碼器從復雜的交通場景中提取豐富的語義特征,在準確性和效率之間取得平衡,以適應實際應用。如上圖(b-1)所示,引入一個“師生”知識蒸餾框架,使用預訓練的語言學習模型(LLM)GPT-4 Turbo作為“老師”,基于學習者提示生成針對交通場景的語義響應 A。這些語義答案 A 隨后被用作知識標簽,指導“學生”模型,這是一個輕量級的邊緣優化語言模型(邊緣語言模型),如上圖(b-2)所示是邊緣 LM 的訓練進程。在“老師”模型的指導下,“學生”模型經過微調,以復制老師在場景理解和生成語義注釋 S 方面的能力和行為。該編碼器中多模態融合技術的加入,捕捉語義注釋 S 與歷史智體狀態 X_0^t?t_h:t之間的交互,從而生成多模態特征 F_m。

  1. 教師模型:為了充分利用大模型的場景理解能力,本文提出一種零樣本 CoT(教師模型)提示方法,引導GPT-4 Turbo 逐步解讀交通場景,最終為“學生”模型生成準確的答案 (A)。其設計一系列問題(Q)和提示(T),它們以對話的方式與 GPT-4 Turbo p_GPT 交互,旨在最大限度地提高生成準確答案 (A) 的可能性。

然后,CoT推理的集成通過嵌入推理步驟?進一步增強提示(T)。提示(T)旨在模擬人類的認知功能,例如交互-風險評估-預測,引導 GPT-4 Turbo 完成一系列問題(Q),這些問題有助于初步推理并最終得出最終答案。此外,每個問題都融合常識性知識和具體示例,使模型能夠自主地逐步完善其響應。這些循序漸進的 CoT 提示增強 GPT 在交通場景中學習上下文和推斷含義的能力,無需額外的微調,從而為“學生”模型提供精確且信息豐富的語義答案 A。

  1. 學生模型:為了減輕推理過程中的計算負擔,采用輕量級邊緣語言模型 (LM) 作為“學生”模型,從“教師”模型 p_GPT(該模型通過 CoT 提示增強)學習場景理解能力。“學生”模型以歷史智體狀態 X_0:nt?t_h:t 作為輸入,生成語義標注 S。具體而言,知識蒸餾過程涉及使用信息豐富的場景答案 A 來監督學生模型的訓練,以準確理解 X_0:n^t?t_h:t 所描述的交通場景。

這個學習過程從根本上講涉及學生模型逐步逼近教師模型,這表現為 S 和 A 之間的逐步對齊。具體來說,實驗各種學生模型,包括 GPT-Neo、Qwen 1.5 [34]、TinyLlama [35] 和 Phi 1.5 [36],研究參數大小對知識蒸餾有效性的影響。

  1. 多模態融合:多模態融合負責接受語義注釋 S 和嵌入的目標智體歷史狀態 X_0^t?t_h:t 并將它們融合。首先,語義注釋 S 通過 DistilBERT 框架 [37] 進行處理,并結合最大池化,以提取語義特征 F_s。并行地,歷史智體狀態 X_0 被輸入到 Linear-ELU-LSTM 網絡結構中以生成時間特征 F_t。最后,利用多層感知器(MLP)融合兩種模態的特征,從而生成多模態特征 F_m。

交互-覺察編碼器

在編碼器中采用基于 Transformer 的結構來捕捉目標智體與周圍智體之間的空間交互。在任何給定的時間步 t_k ∈ [t ? t_h, t],歷史狀態 X_0:n^t_k 會被輸入到該模塊中,首先通過多層感知器 (MLP) 進行維度變換。然后,利用多頭注意機制和歸一化函數對這些表征的空間動態進行建模,并在所有時間幀上共享權重。最后,這些處理后的表征通過另一個多層感知器 (MLP) 生成空間特征 F_p。

跨模態編碼器

在引入一組編碼器之后,在解碼器之前引入一種注意機制。該機制旨在捕捉編碼特征的跨模態交互,從而能夠動態調整這些不同信息源的權重。這使得模型能夠根據當前情境的特定需求進行定制。

此外,對這些向量進行矩陣乘積,以加權跨模態特征。

解碼器

解碼器采用雙重策略來處理交通場景中的偶然不確定性 (AU) 和認知不確定性 (EU)。它使用高斯混合模型 (GMM) 進行基于機動的多模態預測,并輔以深度集成技術,以提高對罕見場景的適應性。為了對 AU 進行建模,操作被分為橫向(左轉、右轉、直行)和縱向(加速、減速、保持速度)運動。基于觀察的智體狀態 X_0:nt?t_h:t,估計機動概率 P(M | X_0:n^t-t_h:t),并利用 GMM 預測未來軌跡。

此外,利用深度集成方法對 EU 進行建模。采用 Q 個異構模型進行機動預測,每個模型生成不同的機動 M 概率分布,表示為 P_q(M),其中 q ∈ [1, Q]。通過聚合這些模型輸出,增強數據魯棒性并量化 EU,如上圖 ? 所示。計算集成的平均預測 P ?(M),并測量平均交叉熵 H ?(M),以提取這些異構模型的逐幀金字塔特征圖。

該集成模型包含多種模型,例如多層長短期記憶 (LSTM)、時間卷積網絡 (TCN) 和多頭自注意模型,它們共同增強目標智體 Y_0^t:t+t_f 的多模態未來軌跡預測能力。同時,F_c 經過多層感知器 (MLP) 處理,修改時間維度大小,從過去時間 t_h 變為未來時間 t_f,最終得到 F。最后,推導出雙變量高斯分布參數。其解碼器包括一個LSTM和MLP。

訓練與推理

  1. 訓練:模型訓練過程分為兩個連續的階段:語言模型 (LM) 微調和動作預測訓練。第一階段,使用所提出的 Highway-Text 和 Urban-Text 數據集對邊緣語言模型 (LM) 進行微調。這些數據集有效地封裝從教師模型 (GPT-4 Turbo) 中蒸餾的知識,從而促進通用語義場景信息的學習。此微調過程遵循自回歸語言模型的標準訓練范式。考慮到在實際訓練過程中,場景特定提示和教師模型的參考答案 A 會合并為一個完整的序列 B。

此過程有助于詞匯和語義層面的語義對齊,使邊緣語言模型能夠內化教師的推理模式和對特定場景信息的語境理解。在此階段之后,邊緣語言模型在場景理解方面將取得卓越的性能。

此外,利用多任務學習策略來實現第二階段損失函數 L_stage-2,該損失函數包含軌跡預測損失函數 L_traj 和用于機動預測的機動損失函數 L_mane,其定義為 L_stage-2 = α L_traj + (1 ? α) L_mane。

機動損失函數 L_mane 評估預測軌跡相對于預期機動的準確性。此外,軌跡損失函數 L_traj 遵循雙變量高斯分布進行定義。總而言之,組合損失函數可確保預測軌跡的準確性并與實際駕駛操作保持一致,從而提高實際條件下的可靠性。

  1. 推理:對于場景標注任務,歷史智體狀態被轉換為經過微調的邊緣語言模型 (LM) 的文本輸入,LM 使用提示工程 (prompt engineering) 生成場景標注。在運動預測任務中,該模型將語義標注與歷史智體狀態相結合,生成多模態未來軌跡。在推理過程中,只有經過知識蒸餾的輕量級語言模型負責生成場景描述,從而確保自動駕駛汽車 (AV) 的高效預測。

CoT-Drive 在四塊 NVIDIA A100 40GB GPU 上進行訓練。關鍵實現和參數設置如下:

  1. 語言模型訓練細節:使用 bf16 精度和監督微調 (SFT) 對四個語言模型進行微調。在初步實驗后,為了確保穩定性和泛化能力,選擇了 2e^?5 的學習率。批量大小為 8,以平衡效率和有效的梯度更新。訓練運行 10 個 epoch,權重衰減為 0.01,以防止過擬合。如圖所示,驗證損失曲線顯示第 10 個 epoch 時模型快速收斂,表明其能夠有效適應數據分布,降低訓練成本,并有助于加快實際應用的開發速度。

請添加圖片描述

  1. 預測框架細節:運動預測框架訓練 16 個 epoch,批量大小為 64,旨在提高 GPU 內存效率并提升泛化能力。用帶有余弦退火熱重啟的 Adam 優化器,將學習率從 10^?3 調整到 10^?5,以實現快速收斂和微調。交互-覺察編碼器的隱藏層大小為 64,具有 8 個注意頭和 3 個層,旨在平衡計算效率和最佳驗證結果。解碼器采用多尺度 LSTM、TCN 和多頭自注意(4 個頭)的集成,以增強魯棒性和準確性。

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

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

相關文章

[FPGA基礎] RAM篇

Xilinx FPGA RAM 使用指南 1. 引言 隨機存取存儲器(RAM)是 Xilinx FPGA 設計中用于存儲和快速訪問數據的重要資源。Xilinx FPGA 提供多種 RAM 類型,包括塊 RAM(Block RAM)和分布式 RAM(Distributed RAM&a…

Elasticsearch內核探秘:從Shard分配到網絡通信的深度實踐指南

#作者:孫德新 文章目錄 一、底層模塊深入解析之shard allocation1、shard allocation的介紹2、cluster level shard allocation介紹3、disk-based shard allocation介紹4、shard allocation awareness5、shard allocation filtering6、node下線時的shard延遲分配7、…

SQL Server 2022 常見問題解答:從安裝到優化的全場景指南

SQL Server 2022 作為微軟最新的數據庫管理系統,在性能、安全性和云集成方面帶來了多項革新。然而,用戶在實際使用中仍可能遇到各類問題。本文將圍繞安裝配置、性能優化、備份恢復、安全設置、高可用性方案、兼容性問題及錯誤代碼解析等核心場景&#xf…

57、Spring Boot 最佳實踐

Spring Boot 最佳實踐 一. 開發規范與代碼風格 編寫高質量的代碼不僅需要功能的實現,還需要遵循一定的規范和代碼風格,以提高代碼的可讀性、可維護性和協作效率。以下是 Spring Boot 開發中的一些關鍵規范和代碼風格建議。 1. 代碼命名規范 在編寫代碼時,命名是非常重要的…

??OSPF核心機制精要:選路、防環與設計原理?

一、OSPF選路規則解析 OSPF作為經典的鏈路狀態路由協議,其選路規則采用層次化優先級機制,不同路由類型遵循嚴格比較順序: 1. 路由類型優先級 優先級路由類型描述1域內路由通過1類、2類LSA生成2域間路由通過3類LSA生成3域外路由通過5類/7類…

1.1軟考系統架構設計師:系統架構的定義與作用 - 超簡記憶要點、知識體系全解、考點深度解析、真題訓練附答案及解析

超簡記憶要點 定義:結構決策 | 抽象概念 | 多視圖模型(邏輯/物理/動態)作用:解耦復雜需求 | 集成擴展 | 指導開發(藍圖)要素:構件(原子/復合) | 連接件(API/…

網絡socks 代理

在系統/終端中設了這樣的環境變量,而沒有在代碼中覆蓋,HTTPX 就會啟用該 socks 代理。 env | grep proxy https_proxyhttps://proxyhk.zte.com.cn:80 http_proxyhttp://proxyhk.zte.com.cn:80 no_proxylocalhost,127.0.0.0/8,::1,zte.com.cn,zte.intra,…

PCB規則

PCB封裝 原理圖繪制完成需要檢查 DRC 菜單欄——>設計——>檢查 DRC 底部側邊欄——>DRC——>檢查 DRC 常見問題: 1)某個導線/網絡標簽是一個單網絡 網絡標簽名稱不一樣 網絡標簽只有一個 引腳沒有使用,但是放置了導線 2&#xf…

圖像預處理-圖像邊緣檢測(流程)

一.高斯濾波 因為圖像邊緣檢測就是把像素值有差異的地方提取出來,所以噪聲會有很大影響,因此需要對圖像進行平滑處理,高斯濾波是流程中常用的方法。 二.計算圖像的梯度與方向 過程中通常使用sobel算子進行梯度計算,在OpenCV中&am…

ChatBEV:一種理解 BEV 地圖的可視化語言模型

25年3月來自上海交大、上海AI實驗室、同濟大學和MAGIC的論文“ChatBEV: A Visual Language Model that Understands BEV Maps”。 交通場景理解對于智能交通系統和自動駕駛至關重要,可確保車輛安全高效地運行。雖然 VLM 的最新進展已顯示出整體場景理解的前景&…

武裝Burp Suite工具:xia SQL自動化測試_插件

武裝Burp Suite工具:xia SQL自動化測試_插件 插件作者介紹:本插件僅只插入單引號,沒有其他盲注啥的,且返回的結果需要人工介入去判斷是否存在注入,如果需要所有注入都測試,請把burp的流量轉發到xray。 目錄…

線段樹講解(小進階)

目錄 前言 一、線段樹知識回顧 線段樹區間加減 區間修改維護: 區間修改的操作: 區間修改update: 線段樹的區間查詢 區間查詢: 區間查詢的操作: 遞歸查詢過程: 區間查詢query: 代碼&…

neo4j中節點內的名稱顯示不全解決辦法(如何讓label在節點上自動換行)

因為節點過多而且想讓節點中所有文字都顯示出來而放大節點尺寸 從neo4j中導出png,再轉成PDF來查看時,要看清節點里面的文字就得放大5倍才行 在網上看了很多讓里面文字換行的辦法都不行 然后找到一個比較靠譜的辦法是在要顯示的標簽內加換行符 但是我的節點上顯示的是…

SQL進階知識:五、存儲過程和函數

今天介紹下關于存儲過程和函數的詳細介紹,并結合MySQL數據庫提供實際例子。 在MySQL中,存儲過程(Stored Procedures)和函數(Functions)是數據庫編程的重要組成部分,它們可以封裝SQL語句&#xf…

CONDA:用于 Co-Salient 目標檢測的壓縮深度關聯學習(總結)

摘要 一 介紹 二 有關工作 三 提出的方法 圖2:我們的凝聚式深度關聯(CONDA)模型的整體流程圖。具體來說,凝聚式深度關聯(CONDA)模型首先利用圖像特征來計算超關聯。然后,全像素超關聯由對應誘…

node.js 實戰——(path模塊 知識點學習)

path 模塊 提供了操作路徑的功能 說明path. resolve拼接規范的絕對路徑path. sep獲取操作系統的路徑分隔符path. parse解析路徑并返回對象path. basename獲取路徑的基礎名稱path. dirname獲取路徑的目錄名path. extname獲得路徑的擴展名 resolve 拼接規范的絕對路徑 const…

Kimi做內容社區,劍指小紅書?

原創科技新知AI新科技組作者丨櫻木編輯丨江蘺 主編丨九黎 對于當前融資形勢并不明朗的大模型六小龍來說,該如何生存下去,似乎成了各家急需解決的問題。 根據PitchBook數據,今年一季度風險投資機構在中國AI領域共完成144筆交易,投…

opencv--圖像濾波

圖像濾波 含義 方法 噪聲是怎么產生的 線性濾波 概念 利用窗口對圖像中的像素進行加權求和的濾波方式。 圖像來源于小虎教程。 圖像的濾波是二維濾波的過程。 濾波器窗口: 濾波器窗口(也稱為卷積核或模板)是一個小的矩陣(通常為…

Java 實現SpringContextUtils工具類,手動獲取Bean

SpringContextUtils 工具類實現 下面是一個完整的 Spring 上下文工具類實現,用于從 Spring 容器中獲取 Bean。這個工具類考慮了線程安全、性能優化和易用性,并提供了多種獲取 Bean 的方式。 完整實現代碼 import org.springframework.beans.BeansExce…

基于 Vue 2 開發的分頁卡片列表組件(帶懶加載和點擊事件)

功能目標&#xff1a; CardList.vue 中支持分頁&#xff0c;每頁顯示指定數量的卡片。添加“加載中”動畫。支持懶加載&#xff1a;滾動到底部自動加載下一頁。點擊卡片的事件邏輯由 Card.vue 內部發出&#xff0c;并由 CardList 向上傳遞。 主頁面文件 Home.vue <templat…