Try   HackMD

AI / ML領域相關學習筆記入口頁面

[Mulimodal] CVPR 2023。Multimodal Foundation Models : From Specialists to General-Purpose Assistants
多模態基礎模型研究回顧


彙整近期關於深度學習在自駕領域的發展狀況

Multimodal Large Language Models for Autonomous Driving

2311。A Survey on Multimodal Large Language Models for Autonomous Driving

image

  • 圖 2. 探索 GPT-4V 以了解駕駛場景並做出駕駛操作

    image

    1. 輸入 LiDAR 點雲圖Point Cloud:

      • LiDAR點雲顯示可能是多車道的道路,但車道數量和交通流不明確。
      • 沒有明顯的障礙物、行人或重要的環境特徵。
      • 圖像缺少道路表面質量和周圍交通信號燈的細節。
    2. 輸入駕駛正面視角 Driving Front View

      • 正面攝影機捕捉到一個晴朗的日子,兩旁是多層建築的街道。
      • 街道上有汽車、摩托車和一輛三輪車,三輪車載重可能影響穩定性。
      • 在此情境下,維持安全距離,監控摩托車的突然動作,以及交通流是重要的。
    3. 代碼生成:進行右轉變換車道

    4. 模擬分析

      • GPT-4V 在理解駕駛場景和做出駕駛決策方面表現出色。
      • GPT-4V 未能識別像車道資訊這樣的關鍵交通要素,顯示出需要可靠導航的多模態語言模型的重要性。
  • 圖 3 自動駕駛技術的發展 該圖按時間順序概述了自動駕駛技術的發展
    image

    1. 自動駕駛技術的歷史發展
      • 早期探索如卡內基梅隆大學的ALV計畫和三菱的Debonair,首次引入LiDAR技術。
      • 斯坦福大學的Stanley贏得2005年DARPA大挑戰賽。
    2. 自動化水平的標準化
      • SAE國際釐定自動化水平的定義。
    3. 深度神經網絡的進步
      • 自動駕駛平台方面,推出多種開源和商業化軟體解決方案,如Tesla Autopilot和NVIDIA DRIVE。
    4. 政府與公眾接受度提高
      • 自動駕駛技術在法規和服務層面獲得逐漸增加的政府認可和公眾認知。
    5. 自動駕駛能力的量產
      • 越來越多具備自動駕駛能力的車輛在特定地區的公共道路上運行。
  • Table 1. Summary of recent research on MLLMs for autonomous driving.
    image

image

  • Github:WACV 2024 LLVM-AD

    • A Survey on Multimodal Large Language Models for Autonomous Driving (WACV 2024 LLVM-AD)

    • paper

      Model Year Backbone Task Modality Learning Input Output
      Driving with LLMs 2023 LLaMA Perception Control Vector Language FT Vector Query Response \ Actions
      Talk2BEV 2023 Flan5XXL Vicuna-13b Perception Planning Vision Language ICL Image Query Response
      GAIA-1 2023 - Planning Vision Language PT Video Prompt Video
      LMaZP 2022 GPT-3 Codex Planning Language ICL Text Plan
      Dilu 2023 GPT-3.5 GPT-4 Planning Control Language ICL Text Action
      DaYS 2023 GPT-4 Planning Language ICL Text Code
      RRR 2023 GPT-4 Planning Control Language ICL Text Action
      DlaH 2023 GPT-3.5 Planning Control Language ICL Text Action
      GPT-Driver 2023 GPT-3.5 Planning Vision Language ICL Text Trajectory
      SurrealDriver 2023 GPT-4 Planning Control Language ICL Text Text \ Actions
      LanguageMPC 2023 GPT-3.5 Planning Language ICL Text Action
      DriveGPT4 2023 Llama 2 Planning Control Vision Language ICL Image Text Action Text \ Actions
    • Datasets

    Dataset Base Dataset Language Form Perspectives Scale Release?
    BDD-X 2018 BDD Description Planning Description & Justification 8M frames, 20k text strings :heavy_check_mark:
    HAD HRI Advice 2019 HDD Advice Goal-oriented & stimulus-driven advice 5,675 video clips, 45k text strings :heavy_check_mark:
    Talk2Car 2019 nuScenes Description Goal Point Description 30k frames, 10k text strings :heavy_check_mark:
    SUTD-TrafficQA 2021 - QA QA 10k frames 62k text strings :heavy_check_mark:
    DRAMA 2022 - Description QA + Captions 18k frames, 100k text strings :heavy_check_mark:
    nuScenes-QA 2023 nuScenes QA Perception Result 30k frames, 460k generated QA pairs :heavy_check_mark:
    DriveLM 2023 nuScenes QA + Scene Description Perception, Prediction and Planning with Logic 30k frames, 360k annotated QA pairs :heavy_check_mark:
    MAPLM 2023 THMA ** QA + Scene Description** ** Perception, Prediction and HD Map Annotation** 2M frames, 16M annotated HD map Description + 13K released QA pairs :heavy_check_mark:
  • Github:MAPLM:

    • A Real-World Large-Scale Vision-Language Dataset for Map and Traffic Scene Understanding
      Official open-source datasets of 1st Workshop on Large Language Vision Models for Autonomous Driving (LLVM-AD) in WACV 2024

Drive Anywhere: Generalizable End-to-end Autonomous Driving with Multi-modal Foundation Models

2023.1106。笔记:GAIA-1、DriveDreamer 与世界模型

从应用角度看,DriveDreamer 更适合用于实际自动驾驶系统中,因为它能够生成未来的驾驶策略,支持自主决策。GAIA-1则更适合作为虚拟仿真工具,用于验证和测试自动驾驶系统,因为它强调生成逼真的驾驶场景视频

似乎兩者都沒有開源模型可開放使用

image
image

左邊: 從多模態基礎模型中提取常規特徵。這個模型將不同模態的數據(例如圖像、文本)映射到統一的潛在空間中的特徵向量,這樣做可以保留對於端到端駕駛至關重要的空間信息。

中間: 介紹了一種通用的分塊特徵提取方法。這涉及到在每個塊位置構建注意力遮罩,這些遮罩用於關注特定區域,並且顏色標記代表不同的區域。這些注意力模塊能夠與大型語言模型(LLMs)無縫整合,進而用文本模態增強特徵表示。

右邊: 展示了多模態潛在空間模擬的概念。這裡,模型可以模擬特徵,例如將“樹”這一特徵用“房子、商店、建築物”等元素代替,這基於語言增強的潛在空間特徵。這樣的模擬可以利用LLMs或人類的先驗知識來生成

演算法詳細筆記

The end-to-end autonomous driving problem端到端自動駕駛問題的解決方法

端到端自動駕駛涉及設計一個控制系統

Φ,它能夠根據車輛感應器獲取的連續感知數據流
FRH×W×3
(此處為 RGB 圖像)來產生轉向和加速指令
u=Φ(F)

文中提出了通過用密集特徵(像素層級)表示

FRH×W×D 替換原始畫面
F
,以增強控制系統
Φ
的方法。這些密集特徵是通過多模態基礎模型
Desc
提取的,其中
H×W
是空間維度上密集特徵的分辨率,而
D
是通道的數目。因此,控制指令可以表示為
u=Φ(F)=Φ(Desc(F))

這些多模態特徵包含空間和語義信息,並且可以用於潛在空間模擬,這對於數據增強(data augmentation)和政策調試(policy debugging)都是有用的。

Patch-wise Feature Extraction分塊特徵提取:
  • 白話理解:
    • Patch-wise Feature Extraction分塊特徵提取

      • 這是指將圖像分成許多小塊(或稱“patches”),並對每個小塊分別提取特徵的過程。
      • 每個小塊都會通過多模態基礎模型(如圖中間所示的多層網絡)進行處理,從而獲得該特定區域的特徵描述。
      • 這種方法使模型能夠捕捉到圖像中細節豐富的局部信息,這些信息可能在全局特徵提取過程中被忽略。
      • 個人備註:即Vision Transformer 中的tokenization,將圖片劃分為NxN的圖塊、攤平後(flatten)送入Transformer
    • Attention Mask(注意力遮罩):

      • 注意力遮罩是一種機制,用於決定模型應該專注於圖像中的哪些部分。
      • 在多模態基礎模型中,注意力遮罩標記出模型應該關注的區域。
      • 這些遮罩是基於模型學習到的信息動態生成的,用於指導模型的注意力模塊專注於圖像中最重要的部分。

      這兩個概念結合起來,允許模型不僅僅在全局層面上,而且在局部層面上理解圖像,從而對圖像的每一部分都能進行細緻的分析。這在需要詳細理解圖像的各個部分的應用中特別有用,例如自動駕駛車輛識別和理解周圍環境中的物體。

在多模態基礎模型中進行分塊特徵提取的方法。
給定一個基礎模型

Desc、一張輸入圖像
F
以及一個期望的分辨率
H×W
目標是提取一個特徵描述符張量
F
這個張量封裝了
F
的所有語義信息並保持其在場景中的位置信息

為了簡化,

H
W
被設定為等於應用
Desc
模型時將圖像
F
分割成的非重疊塊的數量。這裡顯示了
H
W
可以是任何小於等於
H
W
的數字。

對於每一層

和每個整數
i>1
,使用
QDesc(F)
KDesc(F)
VDesc(F)
表示在第
層注意力層應用
Desc
模型時的查詢、鍵和值矩陣。
這個過程可以應用於大多數基於變壓器的基礎模型,例如 CLIP、DINO 和 BLIP。

  • Masking for patch- or region-aligned feature extraction. 區塊/區域對齊的特徵提取與注意力遮罩
    在提取

    F(j) 時,引入了一個注意力遮罩
    m(j)=(m1,,mN)
    。每個元素
    mi
    的值在0到1之間,決定了每個塊應該對最終提取的特徵
    F(j)
    貢獻多少。如果想要完全忽略塊
    i
    ,只需將
    mi
    設置為0。

    使用

    m 提取特徵的方法如下:

    1. 設置
      r
      (,0)
      範圍內作為控制遮罩強度的參數;
      |r|
      越大,遮罩的效果越明顯。
    2. 定義矩陣
      GDesc(F)
      為第
      層注意力層的鍵和查詢矩陣的矩陣乘法:

    GDesc(F):=QDesc(F)(KDesc(F))T

    1. 給定一個注意力遮罩矩陣
      M(j)=[m1,,mN]T
      ,其中
      mi
      的值介於 0 到 1 之間,用於控制對應塊是否應該被考慮在內。其中,1 為 N 維全一矩陣。通過這個操作,我們可以得到調整後的注意力分數矩陣
      G^Desc(F)(j)

    G^Desc(F)(j)=GDesc(F)(F)+(1M(j))r,

    這裡

    r 是一個負數,用來控制遮罩的強度。這樣,對於那些不應該被模型關注的塊(即
    mi
    接近 0),它們的注意力分數會被設置為接近
    r
    的值,從而在後續處理中被有效地屏蔽。而對於
    mi
    為 1 的塊,則不會有任何改變(因為
    1M(j)
    將會是全零矩陣,乘以
    r
    仍然是零)。

    1. 接著,使用 softmax 函數對調整後的注意力分數應用權重:

    F(j):=Desc(SoftMax(G^Desc(F)(j))(VDesc(F)(F))T),

    這裡

    Desc 表示在第
    層之後基礎模型的其餘部分。這項技術可以直接應用於任何區域性特徵提取,通過將塊的定義推廣到任意形狀的區域。

Language-augmented Latent Space Simulation 語言增強的潛在空間模擬過程

語言增強的潛在空間模擬過程,該過程融合了語言模式以模擬不同場景中的特徵。這個過程依賴於大型語言模型(LLMs)來提供自然語言中的概念,並將這些概念轉換為文本特徵。具體步驟包括:

  1. 從大型語言模型獲得與自動駕駛相關的概念集合並計算它們的文本特徵:

    Tk=Desc(ck),其中
    ckCsrc/tgt=LLM(questions)

    在這裡,
    Csrc
    指的是可能出現在圖像中的特徵集,而
    Ctgt
    是期望替代的特徵集。

  2. 通過搜索找到分塊特徵

    F(j) 的最佳匹配:
    TF(j)=argmaxk[|Csrc|]g(F(j),Tk)

    其中
    g(,)
    是相似度測量,例如內積。這個步驟可以通過更進階的優化技術如文本反轉或提示調整來改進。

  3. 通過將

    F(j) 替換為合理的文本特徵
    h(TF(j),{Tk}k[|Ctgt|])
    來操縱密集特徵描述符
    F

    函數
    h
    可以是人類的先驗判斷或大型語言模型,它們在概念上回答了在當前上下文下可能的合理替代品是什麼。

這個過程利用語言模型來擴展特徵的表達能力,允許在潛在空間內進行更豐富的模擬,這對於數據增強和策略調試(policy debugging)非常有用。

image

補充:Attention Mask

在深度學習中,Attention Mask 是一種用來控制模型關注點的技術。它是自注意力機制的一部分,用於指定在計算注意力權重時應該被考慮的輸入部分

以下是簡化的Attention Mask表示:

Attention(Q,K,V)=softmax(QKTdk+M)V

  • Attention Mask 的作用可以用以下步驟來簡化理解:
    1. 定義關鍵詞(Key)與查詢詞(Query): 在自注意力架構中,每個輸入元素都會被轉換成 Key 和 Query 的表示。
    2. 計算注意力分數: 通過計算 Query 与所有 Key 的相似度來得到注意力分數。
    3. 應用 Attention Mask: 這是一個二維矩陣,它的元素值決定了相對應的 Key 和 Query 是否應被考慮。如果某個位置的元素被設置為非常大的負值,該位置的注意力權重在 softmax 函數後將趨近於零,相當於在計算中忽略該位置。
    4. 計算 softmax: 對注意力分數應用 softmax 函數,得到一組概率分布,這表示模型應該給予每個 Key 多少關注。
    5. 加權和: 最後,用注意力權重對值(Value)進行加權和,得到最終的輸出。
  • 要如何得到Attention Mask的權重或數值
    在構建自注意力模型時,Attention Mask 的權重或數值通常是根據特定的規則事先定義的。以下是常見的設定 Attention Mask 的方法:

    1. 序列掩碼(Sequence Masking):

      • 這種方法常用於處理序列數據,例如在自然語言處理中,為了防止模型在預測下一個單詞時看到未來的信息,會使用序列掩碼來屏蔽掉未來位置的權重。
      • 在實作中,這通常通過創建一個上三角形的掩碼矩陣來實現,矩陣的上三角包含極大的負值(例如,-1e9),這會在應用 softmax 函數時將這些位置的權重壓縮為接近零的數值。
    2. 填充掩碼(Padding Masking):

      • 當處理不等長的輸入序列時,短的序列會被填充(Padding)以達到相同的長度。填充掩碼用來確保在注意力計算時忽略這些填充的位置。
      • 實作時,會創建一個與序列長度相同的掩碼向量,填充位置設為1,非填充位置設為0,然後將這個掩碼向量擴展成矩陣形式並加到注意力分數上。
    3. 任務特定的掩碼:

      • 在某些情況下,可能需要根據特定的任務需求來定義掩碼,例如在圖像處理中可能根據對象的位置或者在文本處理中根據特定的語義關係來設定掩碼。

    獲得 Attention Mask 的具體數值通常不涉及學習過程,它們是根據模型設計和任務需求靜態定義的。但在一些高級的應用中,模型可能會通過學習來動態產生掩碼,例如在生成對抗網絡(GANs)或強化學習中。

  • 在實際應用中, Attention Mask的實作:

    ​​​​import torch
    
    ​​​​# 假設seq_len是序列長度,batch_size是批次大小
    ​​​​seq_len = 10
    ​​​​batch_size = 1
    
    ​​​​# 創建一個上三角矩陣作為Sequence Masking
    ​​​​attention_mask = torch.triu(torch.ones((seq_len, seq_len)) * float('-inf'), diagonal=1)
    
    ​​​​# 創建一個Padding Masking,假設padding的位置是-1
    ​​​​padding_mask = torch.tensor([[0, 0, -1, -1, -1, -1, -1, -1, -1, -1]])  
    ​​​​padding_mask = (padding_mask == -1) * float('-inf')
    
    ​​​​# 結合兩種掩碼
    ​​​​combined_mask = attention_mask + padding_mask
    ​
    

2023.09。wayve.ai。LINGO-1: Exploring Natural Language for Autonomous Driving

文章的主要內容包括:

  • 視覺-語言-行動模型(VLAMs)的介紹

    • 討論了大型語言模型(LLMs)在當前人工智能時代的影響,以及如何將這些模型與圖像和視頻結合,以執行各種任務,例如圖像分類、文本到圖像的檢索,以及視覺問答。
    • embodied AI, Vision-Language-Action Models (VLAMs)
      image
  • LINGO-1的架構和功能

    • LINGO-1 能夠生成連續的評論,解釋駕駛行為背後的原因,並通過簡單的提示變化來執行多種任務。這包括對場景進行理解和推理,以及對影響駕駛決策的主要因素進行描述。
  • 駕駛評論的實際應用

    • 提供了 LINGO-1 在不同專業駕駛(駕訓班教練?)情境下的評論示例,如超車停在路邊的車輛、接近斑馬線時的行為,以及在交叉路口左轉的情況。
    • open-loop driving commentator
      image

    LINGO-1: I’m maintaining my ol/]

    speed; the road continues to be clear.
    LINGO-1: I’m now decelerating, braking, and coming to a stop.
    LINGO-1: Remaining stopped at the zebra crossing.
    LINGO-1: I’m now accelerating from a stopped position.
    LINGO-1: I’m accelerating as the road is clear.

    image

    LINGO-1: I’m remaining stationary as the lead vehicle is also stopped
    LINGO-1: I’m accelerating now, as we’re clear.
    LINGO-1: I’m applying the brakes to stop at the junction.
    LINGO-1: I’m moving now because the lane is clear.
    LINGO-1: Completing a left turn to follow the route.

  • 性能和未來展望

    • LINGO-1 目前的準確率約為60%,與人類水平相比。文章還討論了將自然語言作為新模態應用於自動駕駛的潛力,包括提高模型的解釋能力、計劃和推理能力,以及有效學習處理新或長尾場景的能力。
    • Improving driving performance through better planning and
      image

    在整合語言和駕駛模型的過程中,一個關鍵的方面是它們之間的「接地」(grounding)。這裡的「接地」指的是將語言模型的輸出與駕駛模型的輸入有效地結合,確保兩者之間的溝通和理解是準確且有意義的。這一過程涉及兩個主要因素,它們對駕駛性能有顯著影響:

    1. 語言模型解釋場景的能力

      • 這涉及語言模型使用各種輸入模態(如視覺、聲音等)準確解釋和理解駕駛環境的能力。例如,模型需要能夠從視覺數據中識別出道路標誌、交通燈、行人、其他車輛等,並將這些視覺信息轉換成語言描述。這要求語言模型不僅要有強大的視覺理解能力,還要能夠準確地將這些視覺信息轉化為有意義的語言輸出。
    2. 駕駛模型的規劃和執行能力

      • 這是指駕駛模型將語言模型提供的中層推理(mid-level reasoning)轉化為有效的低層規劃(low-level planning)的能力。中層推理可能包括對當前駕駛環境的綜合評估,如判斷何時變道或減速。駕駛模型必須能夠將這些推理轉化為具體的駕駛操作,如轉向、加速或制動。這要求駕駛模型不僅要理解語言模型提供的信息,還要能夠根據這些信息做出快速而準確的駕駛決策。

總的來說,這兩個因素共同決定了整合語言和駕駛模型的效果,對於提高自動駕駛系統的整體性能和可靠性至關重要。

  • 模型的限制
    • 討論了 LINGO-1 目前的局限性,包括有限的泛化能力(倫敦為主的街景)、幻覺問題、有限的時間上下文,以及封閉迴路推理的挑戰。
  • open vs close-loop reasoning

    • Closed-loop Reasoning (封閉迴路推理):
      • 在封閉迴路系統中,系統的輸出會直接影響其後續的輸入
      • 這意味著系統會根據其行動的結果來調整和改進其後續的決策。在自動駕駛的情境中,這可能意味著車輛根據其感測器收集的數據(如對周圍環境的觀察)來不斷調整其駕駛策略。例如,如果車輛檢測到前方有障礙物,它會減速或改變路徑,並根據這些行動的結果來進一步調整其行為。
    • Open-loop Reasoning(開放迴路):
      • 放迴路系統則不會根據其輸出的影響來調整輸入
      • 在這種系統中,一旦做出決策或行動,就不會根據其結果來進行調整。在自動駕駛的情境中,這可能意味著一旦車輛根據其初始感測器數據做出了駕駛決策,即使環境條件發生變化,它也不會改變其行動。
  • "Embodied AI"(具身人工智能)

    • 將人工智能(AI)技術整合到具有物理形體的系統,如機器人或自動駕駛車輛中的概念。這種AI不僅僅是在電腦或雲端運行的算法,而是被賦予了與真實世界互動的能力。以機器人和自動駕駛領域來說明:
    1. 機器人領域的應用:

      • 自主性: 具身AI使機器人能夠自主地進行決策和行動,而不是僅僅依賴預先編程的指令。這增加了機器人在複雜環境中的適應性和效率。
      • 環境互動: 透過感測器和機器學習算法,具身AI機器人能夠更好地理解和適應其周圍環境,從而進行更有效的導航和任務執行。
      • 人機協作: 在工業和服務領域,具身AI機器人能夠與人類更自然地互動,提高工作效率和安全性。
    2. 自動駕駛車輛的應用:

      • 環境感知: 具身AI使自動駕駛車輛能夠通過攝像頭、雷達和其他感測器來感知周圍環境,並對這些數據進行即時分析,以做出駕駛決策。
      • 預測和決策: 這種AI技術幫助自駕車預測其他車輛和行人的行為,並在複雜的交通情況中做出快速而安全的決策。
      • 學習和適應: 具身AI系統可以從經驗中學習,不斷改進其對環境的理解和駕駛策略,從而適應不斷變化的道路條件。