Transformer 是谷歌 2017 年提出的 AI 大模型,最早用于自然語言處理領域。
人工智能的核心技術是神經網絡模型,較為主流和有效的神經網絡模型主要包括卷積神經網絡(CNN)、循環神經網絡(RNN)、深度神經網絡(DNN)和脈沖神經網絡(SNN)等,主要應用于自然語言處理(NLP)和計算機視覺(CV)等領域。2017 年谷歌在論文《Attention is all you need》提出Transformer 大模型,在眾多自然語言處理問題中取得了非常好的效果。Transformer 模型屬于Encoder-Decoder 類模型,舉例來說,Bert 側重 Encoder,GPT2 側重Decoder。
Transformer 模型的核心在于引入了多頭注意力機制(Multi-Head Attention)。 注意力機制:通過找到查詢(Query)鍵(Key)的相關性,去找到最合適的值(Value)。當 Q,K,V 的來源相同時,就是自注意力機制。自注意力機制:向量矩陣 X 與可訓練的三個權重參數W(q)、W(k)、W(v)相乘得到 Q,K,V(如 q1=X1×W(q1)),然后通過Q 和K 的計算得到相似度,經過 Softmax 的歸一化后與 V 相乘,計算加權求和。在智能駕駛的感知環節,自注意力機制可以理解為用于提取一類特征。 多頭注意力機制:定義和訓練多組權重參數矩陣W,生成多組Q、K、V,最后學習到不同的參數 Z1-Zn。通過形狀變換進行合并,得到多頭注意力的最終輸出結果。在智能駕駛的感知環節,多頭注意力機制可以理解為提取多個特征。
Transformer 模型包括編碼器(Encoder)和解碼器(Decoder)兩個部分。編碼器用于將序列轉換為一組向量表示,包括多頭注意力和前饋,解碼器用于將向量解碼為輸出序列,包括多頭注意力、編碼器-解碼器注意力和前饋。(1)在編碼器中,數據到達 Multi-Head Attention 時,會分為三部分輸入(k、v、q),v 表示輸入特征的向量,k 和 q 是用于計算輸入向量之間彼此的關聯程度。k、v、q 都是張量,是通過輸入向量本身相應權重 W(q)、W(k)、W(v)獲得的。多頭對應多個特征,即為每個輸入數據匹配多個 k、v、q,多頭之間的計算互不影響。(2)解碼器中的 Multi-Head Attention 也是自注意力機制,和編碼器的過程類似。(3)連接 encoder 和 decoder 的 Multi-Head Attention 是非自注意力機制,這里的q 是來源于上一個 Output 經過一個 Masked Multi-Head Attention 和Add&Norm層之后的輸出,k、v 來源于 encoder 編碼器。
Transformer 模型通過注意力機制,整合了 CNN 易于并行化的優勢和RNN模型可以捕捉長序列內的依賴關系的優勢。神經網絡模型可以分為前饋神經網絡和反饋神經網絡兩類:(1)前饋神經網絡中,信息從輸入層開始輸入,每層的神經元接收前一級輸入,并輸出到下一級,直至輸出層。整個網絡信息輸入傳輸中無反饋(循環)。常見的前饋神經網絡如卷積神經網絡(CNN)。(2)反饋神經網絡中,神經元不但可以接收其他神經元的信號,而且可以接收自己的反饋信號,常見的反饋神經網絡如循環神經網絡(RNN)。Transformer 模型利用注意力機制實現了并行化捕捉序列依賴,并且同時處理序列的每個位置的Tokens。因此相對于CNN 模型,Transformer 模型可以捕捉長序列內的依賴關系,相對于RNN模型,Transformer 模型有更高的并行度,且能保存更多的前期數據。

2020 年的 VIT 模型開拓了 Transformer 在 CV 領域的應用。Transformer 作為序列到序列學習的神經網絡大模型,最早用于自然語言處理,如機器翻譯等場景中。2020 年 谷 歌 論 文 《 An Image Is Worth 16x16 Words: Transformers For ImageRecognition At Scale》提出的 VIT 模型(Vision Transformer)以Transformer 為backbone,在 CV 領域起到了很好的效果。由于 Transformer 主要是處理序列,VIT 模型首先將圖片分割成多個 patch,再將每個 patch 投影為固定長度的向量送入 Transformer,再進行 Encoder 等操作。相較于 CNN 中的卷積操作只能捕獲局部信息,而不能建立全局圖像的長距離連接,視覺Transformer 的多頭注意力通過 qkv 去捕捉全局的特征與特征之間的關系,可以獲取更多上下文信息,擴大圖像的全局感知。
與 VIT 同年,特斯拉將 Transformer 引入自動駕駛領域。2020 年特斯拉重寫智能駕駛軟件架構,2021 年特斯拉 AI DAY 上展示了基于Transformer 的BEV感知方案,核心是用 BEV+Transformer 將各個攝像頭的信息進行特征提取和融合。目前主流用 BEV+Transformer 的方法包括 DETR3D,PETR,BEVFormer 等,以BEVFormer 為例,首先在 BEV 視角下重構特征空間,然后利用Attention提取和對齊時間和空間維度的特征。在攝像頭視覺融合的基礎上,Transformer 也可以實現攝像頭視覺信息和激光雷達的多模融合。
目前國內外頭部企業利用 BEV+Transformer 做感知環節的特征融合。自特斯拉2020 年提出應用 BEV(Bird’s Eye View)鳥瞰圖的3D 坐標系空間,把各個攝像頭的信息進行融合,在 BEV 空間內做特征融合已經成為視覺感知融合的前沿主流方案。BEV+Transformer 可分成五步:(1)將攝像頭數據輸入到共享的骨干網絡(Backbone),提取每個攝像頭的數據特征(feature)。(2)把所有的攝像頭數據(跨攝)進行融合,并轉換到 BEV 空間。(3)在 BEV 空間內,進行跨模態融合,將像素級的視覺數據和激光雷達點云進行融合。(4)進行時序融合,形成4D時空維度的感知信息。(5)多任務輸出,如靜態語義地圖、動態檢測等。目前,特斯拉,小鵬,理想與華為等企業利用 Transformer+BEV 等大模型進行視覺感知融合,可以識別車身周圍的各類物體,構建動態實時地圖,在理論上可以擺脫或者減輕對高精地圖的依賴。

特斯拉 2021 年先提出用 BEV+Transformer 實現目標檢測,又在2022年提出Occupancy Network 升級到語義分割,進一步提升感知精度,同時避免碰撞。目標檢測(Object Detection)和語義分割(Semantic Segmentation)是CV領域的概念,目標檢測的任務是對輸入的圖像進行物體檢測,標注物體在圖像上的位置,以及該位置上物體屬于哪個分類,語義分割的任務是對輸入的圖像進行逐像素的分類,標記出像素級別的物體。
(1)目標檢測(Object Detection):目標檢測通用的結構為:Input →Backbone→ Neck → Head → Output。其中 Backbone 指特征提取網絡,Head 指在特征提取后的特征圖表示,Neck 位于主干和頭部之間,用于提取一些更精細的特征。在特斯拉 2021 年 AI DAY 提出的神經網絡架構中,Backbone:選擇RegNet 和ResNet 為 主 要 架 構 , Neck: 選 擇 BiFPN , Head: 選擇HydraNets (采用了類Transformer 的架構)。
(2)語義分割(Semantic Segmentation):語義分割是從粗推理到精推理的步驟,一般而言語義分割需要先分類,然后本地化/檢測,最后通過對每個像素進行密集的預測、推斷標簽來實現細粒度的推理。特斯拉2022 年提出OccupancyNetwork(占用網絡),將三維空間劃分成體素 voxel,對有物體的voxel 賦值為1,表示 voxel 被物體占據;沒有物體的 voxel 被賦值為0,在分割后進一步識別和判斷。Occupancy 網絡最核心的升級正在于從目標檢測(Object Detection)升級到語義分割(Semantic Segmentation)。一方面對于白名單的依賴度降低,因此識別異性物體的能力大大增強,另一方面克服了目標檢測方法對于目標的外形高度敏感的問題。在特斯拉之后,理想汽車在 2023 年雙能戰略發布會上也表示利用Occupancy 網絡識別通用障礙物,華為提出的 GOD 網絡也是基于Occupancy的框架。
未來有望基于 Transformer 大模型實現端到端的輔助駕駛。在模塊化的算法框架下 , 輔 助 駕 駛 方 案 分 成 感 知 — 預 測 — 規 劃—執行各個環節,目前BEV+Transformer 主要用來做感知環節的特征融合,以替代后融合的方案,提升感知能力并擺脫對高精地圖的依賴。但整體而言,感知和預測模塊的數據會再輸入到規劃決策模塊,再通過執行模塊的計算輸出指令,各個模塊之間仍然是分離的。我們認為未來基于大模型有望實現端到端的輔助駕駛,即傳感器的數據輸入大模型后直接輸出執行信號。特斯拉 FSD betaV12 版本有望率先實現端到端的大模型,遠期國內車企也有望實現端到端。 我們以 CVPR2023 最佳論文《Planning-oriented Autonomous Driving》提出的算法框架 UniAD 為例解釋端到端智能駕駛的實現方式。UniAD 由2 個感知模塊,2個預測模塊和 1 個規劃模塊組成: (1) TrackFormer:用于動態元素的特征提取,例如車輛和行人的幀間跟蹤。(2) MapFormer:用于靜態元素的特征提取,以及實例級的地圖預測。(3) MotionFormer:將動態與靜態元素的特征融合,進行長時序的軌跡預測。(4) OccFormer:基于較短時序的全場景 BEV,進行實例級的預測。(5) Planner:基于自車 query 的軌跡規劃和 Occ 的碰撞優化進行規劃。可以從圖中看到,感知和預測模塊都是基于 Transformer 架構,查詢向量Q將各個模塊串聯起來,其中,TrackFormer 的 Query 會一直傳遞到Planner 模塊,以此實現了全棧 Transformer的端到端模型。