4月19日,毫末的AI DAY,我沒顧上看直播,本來打算會后只發(fā)一則“簡單的小新聞”,結(jié)果呢,一看顧維灝的演講特別“硬核”,很值得認(rèn)真讀一下。在這次發(fā)布會的前后一周,毫末技術(shù)總監(jiān)潘興也有一次與媒體的溝通,并在分享結(jié)束后接受了媒體群訪,從演講到訪談同樣是干貨滿滿。
我在朋友圈簡單地說評論了幾句后,竟然有不少人私信問我“演講稿在哪里可以看到”。為響應(yīng)廣大讀者的需求,我決定將這些干貨消化之后,梳理出一些精華發(fā)出。本文涵蓋的內(nèi)容包括:
1)毫末的數(shù)據(jù)智能體系MANA
2)Transformer,發(fā)揮數(shù)據(jù)優(yōu)勢的關(guān)鍵武器
3)在輕高精地圖的情況下實(shí)現(xiàn)城市道路自動(dòng)駕駛
4)在決策環(huán)節(jié)引入深度學(xué)習(xí)算法
5)L2車輛的收集到的數(shù)據(jù)如何用于L4
6)可否將各場景的數(shù)據(jù)“打通”
7)從用戶視角對ADAS能力做“分級”
8)開放的商業(yè)模式
在寫這篇文章的過程中,我多次向毫末市場部的謝海杰請教,也參考并引用了車右智能在去年12月發(fā)的文章《毫末智行的感知架構(gòu)在演進(jìn)中——Transformer在毫末的應(yīng)用》及焉知新能源在今年3月份的文章《我們研究了特斯拉、毫末「自動(dòng)駕駛算法」的秘密》中的大量內(nèi)容,在此向這兩篇文章的作者表示感謝。
一.?dāng)?shù)據(jù)智能體系MANA
01基本概念
2021年Q4,毫末智行發(fā)布了自動(dòng)駕駛數(shù)據(jù)智能體系MANA。MANA是毫末以海量數(shù)據(jù)為基礎(chǔ)的一整套數(shù)據(jù)處理工具,包含了數(shù)據(jù)標(biāo)注、算法模型、測試驗(yàn)證系統(tǒng)、仿真模擬工具以及計(jì)算硬件。MANA是毫末所有產(chǎn)品進(jìn)化的核心動(dòng)力。
MANA體系由TARS、LUCAS、VENUS、BASE四個(gè)子系統(tǒng)組成。
其中,TARS是毫末在車端研發(fā)的算法原型,包括TrasView(感知),TrasGo(認(rèn)知),規(guī)劃決策控制、Map(地圖定位),Meta(仿真引擎),更多為車端算法服務(wù)。
LUCAS是對算法在應(yīng)用場景上的實(shí)踐,包括高性能計(jì)算、診斷、驗(yàn)證、轉(zhuǎn)化等核心能力;VENUS是數(shù)據(jù)可視化化系統(tǒng),包括軟件和算法的執(zhí)行情況,對場景的還原,以及數(shù)據(jù)洞察等能力;BASE包括了數(shù)據(jù)的獲取,傳輸,存儲,計(jì)算,以及新的數(shù)據(jù)分析和數(shù)據(jù)服務(wù)。
MANA 感知系統(tǒng)的特點(diǎn)在于 “為全局任務(wù)設(shè)計(jì)了一個(gè)提取全局信息的 Neck 網(wǎng)絡(luò)”。這一點(diǎn)其實(shí)是非常重要的,因?yàn)槿秩蝿?wù)(比如可行駛道路的檢測)非常依賴于對場景的理解,而對場景的理解又依賴于對全局信息的提取。
截止目前,MANA已完成超過19萬小時(shí)的學(xué)習(xí)時(shí)長,其虛擬駕齡已相當(dāng)于人類司機(jī)2萬年的駕齡。
02MANA典型應(yīng)用
(1)數(shù)據(jù)標(biāo)注
數(shù)據(jù)標(biāo)注在數(shù)據(jù)處理的成本中占比極高,因而,通過提高自動(dòng)化水平來降低標(biāo)注成本也是各家公司努力的方向,目前,毫末的數(shù)據(jù)標(biāo)注自動(dòng)化水平已經(jīng)達(dá)到了80%。在實(shí)現(xiàn)方法上,毫末通過“目標(biāo)粗定位”和“屬性精細(xì)估計(jì)”兩個(gè)階段來進(jìn)行。
“目標(biāo)粗定位”階段的第一個(gè)分支采用了高精度3D障礙物檢測網(wǎng)絡(luò)和3D障礙物跟蹤算法,對3D目標(biāo)進(jìn)行檢測和跟蹤;第二個(gè)分支采用了時(shí)空金字塔網(wǎng)絡(luò)內(nèi)部的2D空間卷積和1D時(shí)間卷積,對3D目標(biāo)的運(yùn)動(dòng)屬性進(jìn)行檢測,然后系統(tǒng)再將這兩個(gè)分支檢測的結(jié)果進(jìn)行聚合和分類。
“屬性精細(xì)估計(jì)”階段會根據(jù)物體運(yùn)動(dòng)狀態(tài)分類結(jié)果來區(qū)分靜態(tài)物體和動(dòng)態(tài)物體,對不同類型的物體有不同的屬性精細(xì)估計(jì)策略。
靜態(tài)障礙物的標(biāo)注相對來說會簡單一些,而動(dòng)態(tài)障礙物的標(biāo)注,除了標(biāo)靜態(tài)障礙物必須有的屬性,也需要對動(dòng)態(tài)障礙物特有的一些關(guān)鍵屬性,比如朝向角、運(yùn)動(dòng)姿態(tài)、速度等也會再進(jìn)行詳細(xì)的標(biāo)注。
對于動(dòng)態(tài)物體的屬性精細(xì)估計(jì),包括物體尺寸估計(jì)和位姿估計(jì),這也是自動(dòng)標(biāo)注的重點(diǎn)和難點(diǎn)。
對此,毫末的做法是:
1)在自車和目標(biāo)物相對運(yùn)動(dòng)的過程中,系統(tǒng)從多角度、多維度對目標(biāo)物進(jìn)行觀測,然后,有效利用多幀點(diǎn)云提供的時(shí)序信息對障礙物進(jìn)行運(yùn)動(dòng)檢測;
2)再采用以目標(biāo)為中心的跨時(shí)間點(diǎn)云聚合方法,對這些點(diǎn)云做一次壓縮,讓其從稀疏點(diǎn)云變成稠密的點(diǎn)云;
3)點(diǎn)云壓縮后,利用改進(jìn)的PointNet網(wǎng)絡(luò)進(jìn)行精確的3D框回歸,再次對物體的運(yùn)動(dòng)軌跡進(jìn)行全局優(yōu)化實(shí)現(xiàn)位姿的精確估計(jì)。
目前,這一套方法已經(jīng)進(jìn)入毫末的生產(chǎn)環(huán)節(jié)。
數(shù)據(jù)存儲方面,目前的難點(diǎn)主要有兩個(gè):如何降低成本;如何結(jié)合自動(dòng)駕駛的特性進(jìn)行更好地處理。
為降低存儲成本,毫末搭建了數(shù)據(jù)挖掘的體系LUCAS,該體系從用戶回傳的海量數(shù)據(jù)中篩選出價(jià)值的數(shù)據(jù),然后把這些數(shù)據(jù)該送標(biāo)的送標(biāo)、該訓(xùn)練的訓(xùn)練、該使用的使用、該緩存的緩存。
對這些數(shù)據(jù),毫末會按其價(jià)值做分級管理——主要是根據(jù)數(shù)據(jù)的新鮮度、需求緊急程度、數(shù)據(jù)用途等維度,對數(shù)據(jù)劃分熱度級別。
比如,對于幾個(gè)月之前的數(shù)據(jù),毫末會對其進(jìn)行編碼并存儲在數(shù)據(jù)庫中,而原始數(shù)據(jù)則存儲在成本更低的地方。
比如,毫末會根據(jù)自動(dòng)駕駛對數(shù)據(jù)的使用需求,對數(shù)據(jù)進(jìn)行分類,比如事故類、售后類、接管類、體感類、產(chǎn)品類、研發(fā)類等。由于需求不同,不同類別的數(shù)據(jù)生命周期、實(shí)效要求、處理流程、處理成本均不同,會采取不同的策略進(jìn)行存儲。
自動(dòng)化的篩選手段再加上分級存儲策略,數(shù)據(jù)的存儲成本自然會降低。
(3)數(shù)據(jù)融合
為做好視覺和激光雷達(dá)數(shù)據(jù)的融合,毫末將 Transformer 算法引入到其數(shù)據(jù)智能體系 MANA 中。
2021年12月,顧維灝在毫末AI DAY 上的介紹,MANA 系統(tǒng)采用 Transformer 在底層融合視覺和激光雷達(dá)數(shù)據(jù),進(jìn)而實(shí)現(xiàn)空間、時(shí)間、傳感器三位一體的深層次感知。
不同于目標(biāo)級的后融合,毫末使用Transformer對圖片、點(diǎn)云提取出來的特征向量進(jìn)行前融合,融合后再通過神經(jīng)網(wǎng)絡(luò)進(jìn)行目標(biāo)預(yù)測。這樣既可以解決多相機(jī)之間的融合關(guān)聯(lián),又通過激光雷達(dá)有效提升了視覺檢測的效果。
二.Transformer,發(fā)揮數(shù)據(jù)優(yōu)勢的關(guān)鍵武器
01、Transformer的定義及優(yōu)勢
Transfomer誕生于2017年前后,它是谷歌為NLP(自然語言處理)設(shè)計(jì)的算法,這個(gè)模型的核心是注意力機(jī)制。
所謂注意力機(jī)制,大概意思就是,在一句話或者一張圖中,transformer會建立起一個(gè)詞和另一個(gè)詞、一片段圖像(像素)跟其他像素的關(guān)系,以判斷這些詞有什么關(guān)系,這兩個(gè)像素區(qū)域有什么關(guān)系。
在 Transformer 到來之前,大家一般都是使用基于循環(huán)神經(jīng)網(wǎng)絡(luò) RNN 的「編碼器-解碼器」結(jié)構(gòu)來完成序列翻譯。
基于 RNN 的架構(gòu)有一個(gè)明顯弊端就是,它屬于序列模型,需要以一個(gè)接一個(gè)的序列化方式進(jìn)行信息處理,注意力權(quán)重需要等待序列全部輸入模型之后才能確定——簡單理解就是,需要 RNN 對序列「從頭看到尾」。
例如:面對機(jī)器翻譯問題「A magazine is stuck in the gun」,其中的「Magazine」到底應(yīng)該翻譯為「雜志」還是「彈匣」?人類在看到「gun」一詞時(shí),會將「Magazine」翻譯為「彈匣」,但對機(jī)器來說,并不會這么簡單。
基于RNN的機(jī)器翻譯模型需要一步步地順序處理從 Magazine 到 gun 的所有詞語,當(dāng)它們相距較遠(yuǎn)時(shí),RNN 中存儲的信息將不斷被稀釋,翻譯效果常常難以盡人意,而且效率非常很低。
這種架構(gòu)無論是在訓(xùn)練環(huán)節(jié)還是推理環(huán)節(jié),都具有大量的時(shí)間開銷,并且難以實(shí)現(xiàn)并行處理。而這個(gè)時(shí)候,工程師又想到了一個(gè)方案,就是在標(biāo)準(zhǔn)的 RNN 模型中加入一個(gè)「注意力機(jī)制」。
這個(gè)注意力機(jī)制,源自于人腦的注意力機(jī)制。即當(dāng)人的大腦接受外部信息時(shí),如視覺信息、聽覺信息時(shí),往往不會對全部信息做處理和理解,而只會將注意力集中在部分顯著或者感興趣的信息上,這樣有利于濾除不重要的信息,從而提升信息處理效率。
當(dāng)時(shí),谷歌團(tuán)隊(duì)賦予這個(gè)加入了注意力機(jī)制的RNN模型一個(gè)新名字:Transformer。
因?yàn)橐肓俗⒁饬C(jī)制,Transformer 并不關(guān)心順序,在計(jì)算相關(guān)性時(shí),每個(gè)元素的重要性是根據(jù)數(shù)據(jù)本身的語義信息計(jì)算出來的。因此,可以輕松地提取任意距離元素之間的相關(guān)性。這樣就保證了不管在時(shí)序上相距多遠(yuǎn),元素之間的相關(guān)性都可以被很好地保留。
比如,The animal didn’t cross the street because it was too tired。這里的it到底代表的是animal還是street呢,對于人類來說能很簡單的判斷出來,但是對于機(jī)器(如果用RNN來處理的話)來說,是很難判斷的,而Transformer的注意力機(jī)制就能夠讓機(jī)器把it和animal聯(lián)系起來。
在自然語言處理領(lǐng)域取得廣泛應(yīng)用后,Transformer 也被成功移植到了很多視覺任務(wù)上,比如「圖像分類,物體檢測」等,并同樣取得了不錯(cuò)的效果。
為什么源自自然語言領(lǐng)域的算法,在視覺上同樣適用呢?
主要原因在于:雖然圖像本身不是時(shí)間序列數(shù)據(jù),但可以看作空間上的序列,視覺任務(wù)一個(gè)關(guān)鍵的步驟就是要提取像素之間的相關(guān)性,普通的 CNN 是通過卷積核來提取局部的相關(guān)性(也稱為:局部感受野),而Transformer 則可以提供“全局的感受野”。因此,特征學(xué)習(xí)能力相比 CNN 要高很多。
可以說,Transformer盡管并不是給圖形處理用的,但它所能揭露的信息內(nèi)在關(guān)系的本質(zhì),卻比CNN更深刻。
有研究表明,當(dāng)訓(xùn)練數(shù)據(jù)集增大到包含 1 億張圖像時(shí),Transformer 的性能開始超過 CNN。而當(dāng)圖像數(shù)量增加到 10 億張時(shí),兩者的性能差距變得更大。
簡單理解就是,Transformer 在海量數(shù)據(jù)的處理能力上具有巨大冗余優(yōu)勢。
自動(dòng)駕駛?cè)χ?,最先使用Transformer來做感知算法的是特斯拉,最關(guān)鍵的原因是,特斯拉的數(shù)據(jù)規(guī)模都很大。現(xiàn)在,毫末希望能成為僅次于特斯拉的第二名。
02、Transformer在毫末自動(dòng)駕駛中的應(yīng)用
在特斯拉的FSD應(yīng)用中,Transformer的作用非常有限。其只是利用了Transformer技術(shù)在對于圖像信息進(jìn)行“自注意力/Self Attention”全畫幅關(guān)系的捕捉和跨視角圖像信息之間視角轉(zhuǎn)換所必須的“互注意力/Cross Attention”關(guān)系的刻畫和轉(zhuǎn)化。
但在毫末智行,根據(jù)顧維灝在去年12月份的AI Day上所描述的,Transformer不僅僅完成了對于純視覺信息的BEV的視場角度轉(zhuǎn)化,而且完成了camera和lidar之間異構(gòu)但互補(bǔ)的傳感器信息的融合,即所謂的跨模態(tài)raw data的融合工作。
毫末還提出將 Transformer 引入到其數(shù)據(jù)智能體系 MANA 中,并逐步應(yīng)用到實(shí)際的道路感知問題,比如障礙物檢測、車道線檢測、可行駛區(qū)域分割、交通標(biāo)志檢測等等。
(1)用Transformer做時(shí)間和空間上的前融合
據(jù)上次AI DAY上披露的情況,在毫末的自動(dòng)駕駛方案中,Camera的純視覺和Lidar的純激光感知在各自的識別結(jié)果出來之前是完全各自獨(dú)立的。兩個(gè)堆棧完全各自獨(dú)立,沒有交集和融合,也就是沒有所謂的“前融合”技術(shù)。
這個(gè)思路的好處是:兩個(gè)系統(tǒng)各自獨(dú)立的實(shí)際后果是可以給對方提供備份能力,這也是Mobileye所強(qiáng)調(diào)的;壞處是:沒辦法發(fā)揮Lidar和camera這兩種異構(gòu)傳感器互補(bǔ)的性質(zhì),不能從原始數(shù)據(jù)上聯(lián)合地提取最有價(jià)值的融合信息。
此外,顧維灝曾稱,現(xiàn)有感知系統(tǒng)存在“時(shí)間上的感知不連續(xù)、空間上的感知碎片化”的問題。
所謂“空間上的感知碎片化”,是指車身四周的Lidar、camera由于角度安裝的原因,多個(gè)傳感器實(shí)體無法實(shí)現(xiàn)空間域內(nèi)的連續(xù)覆蓋和統(tǒng)一識別。其直接結(jié)果就是,很多攝像頭都只看到了目標(biāo)的一部分,因此無法根據(jù)殘缺的信息做出正確的檢測,后續(xù)的融合效果也就無法保證;或者是,一個(gè)超長或者超尺寸的物體被多個(gè)傳感器捕捉,從而被錯(cuò)誤識別為多個(gè)目標(biāo)的現(xiàn)象(這個(gè)問題在早期的Autopilot上也普遍存在,直到Autopilot的3D化)。
所謂“時(shí)間上的感知不連續(xù)”,指攝像頭和激光雷達(dá)的識別,都是以時(shí)間上斷續(xù)的幀為單元來實(shí)施的,并未設(shè)計(jì)跨越時(shí)間尺度的、Frame by frame的時(shí)域網(wǎng)絡(luò)來處理這個(gè)問題。比如,采用單獨(dú)的物體跟蹤模塊將單幀的物體檢測結(jié)果串聯(lián)起來,這其實(shí)是一種后融合策略,因此無法充分利用時(shí)序上的有用信息。
如何解決這兩個(gè)問題呢?毫末的答案是:用 Transformer 做時(shí)間和空間上的前融合。
在空間上,使用transformer對圖片、點(diǎn)云提取出來的特征向量進(jìn)行前融合,融合后再通過神經(jīng)網(wǎng)絡(luò)進(jìn)行目標(biāo)預(yù)測。這樣既可以解決多相機(jī)之間的融合關(guān)聯(lián),又通過激光雷達(dá)有效提升了視覺檢測的效果。
在時(shí)間上,前融合的邏輯也類似,即會將多幀的特征向量進(jìn)行前融合后,再通過神經(jīng)網(wǎng)絡(luò)的預(yù)測,進(jìn)而獲得時(shí)間上更好的預(yù)測連續(xù)性。
比如transformer對于車道線識別就是在空間上把多個(gè)攝像頭拍到的車道線融合為一個(gè),從而解決了“空間上的感知碎片化”和“時(shí)間上的感知不連續(xù)”問題。
與 Transformer 在一般的視覺任務(wù)(比如圖像分類和物體檢測)中扮演的角色不同,Transformer 在空間前融合中的主要作用并不是提取特征,而是進(jìn)行坐標(biāo)系的變換,這個(gè)變換過程是完全由數(shù)據(jù)驅(qū)動(dòng)的,也是任務(wù)相關(guān)的。
關(guān)于“時(shí)間上的感知不連續(xù)性”,在沒有高精地圖作為先驗(yàn)信息的時(shí)候,復(fù)雜的車道線會因?yàn)楦兄脑肼曁儯瓷弦粠瑫r(shí),這個(gè)地方車道線在你左側(cè)50厘米,一秒鐘之后的,這個(gè)車道線可能就跳到左側(cè)45厘米,整個(gè)車道線在抖,用戶實(shí)車感受的時(shí)候,會感受到這個(gè)車在“蛇行”。
而通過Transformer的注意力機(jī)制,系統(tǒng)便可以修正這種感知跳變引發(fā)的噪聲,從而在時(shí)序上做到穩(wěn)定的輸出。在這種機(jī)制下,系統(tǒng)可以看到整個(gè)車道線的輸出在視野上會更遠(yuǎn),以及車道本身的拓?fù)浣Y(jié)構(gòu),從而實(shí)現(xiàn)更精細(xì)化的輸出結(jié)果,使得整個(gè)車道線做到所見即所得,便于下游做規(guī)劃決策。
關(guān)于“空間上的感知碎片化”問題,上圖是毫末的自動(dòng)駕駛系統(tǒng)在不用高精地圖的情況下,純憑感知看到的車道線。
這個(gè)路段上有車道線的變化,消亡、新增,最底下這張圖可以看到是一個(gè)環(huán)島。到前面有車道的匝道,還會遇到路型的變化,有一個(gè)匯入車道,有一段車道線斷掉了;路口中間沒有車道線,過了路口之后整個(gè)路型向左邊進(jìn)入一個(gè)環(huán)島。
車上共有6個(gè)攝像頭,并且這6個(gè)攝像頭都看到了車道線,有旁邊的,有前面的,有后面的。在這種復(fù)雜的情況下,使用Transformer的注意力機(jī)制,系統(tǒng)可以非常有效地解決多個(gè)相機(jī)之間的拼接問題。
如果不采用Transformer模型,就只能跟以往一樣,對不同傳感器的數(shù)據(jù)做后處理,這時(shí)候就會受到傳感器的標(biāo)定誤差等的影響,車道線拼起來之后就不連貫。
潘興提到,之所以用車道線舉例,相比于高速,車道線是在城市里面變化最大的一個(gè)典型感知難題。
高速上的車道線很整齊,不管是車道線劃白線的質(zhì)量還是規(guī)整程度和連通程度都是挺高的,但城區(qū)內(nèi)的車道線是比較復(fù)雜的,很多時(shí)候在城市里面模糊了,政府沒有來得及重新刷,有可能重新刷了之后,舊的車道線沒有摳干凈,新的車道線還在,就導(dǎo)致新舊車道線的交替重疊。很多時(shí)候,這個(gè)路口一開始兩個(gè)車道,到了路口的時(shí)候多了一個(gè)潮汐車道,就變成了二變?nèi)?;很時(shí)候,二變?nèi)龑Φ眠€不是很正,有可能直著開就沖出路去了。
面對復(fù)雜的車道線問題,用大模型,尤其像Transformer這種注意力機(jī)制解決這種問題就非常有優(yōu)勢。
但其實(shí),不光是車道線,各種障礙物等交通元素都會逐步被納入Transformer的處理范圍。
三.如何在缺少高精地圖的情況下實(shí)現(xiàn)城市輔助駕駛
01、城市自動(dòng)輔助駕駛的感知難題
城市NOH和高速NOH的場景會有很多差別,最為顯著的三點(diǎn)是:路口多、變道多、擁堵多。路口的紅綠燈是一個(gè)不可回避的話題。
一個(gè)路口有很多紅綠燈,尤其是不規(guī)則的路口,其實(shí)能夠看到很多紅綠燈,左邊、右邊、人行道、正前方都能看到。到底哪個(gè)紅綠燈管你自己那條車道?這個(gè)問題就會比較困難。
通常,很多自動(dòng)駕駛公司在測試階段的做法通過高精地圖來解決這些問題——在高精地圖里面就知道,在一個(gè)具體的計(jì)算機(jī)坐標(biāo)下面這個(gè)地方有紅綠燈、這個(gè)紅綠燈管哪條路;而且,在監(jiān)測的時(shí)候就可以跟地圖做對照,很容易知道前面的紅綠燈距離我多遠(yuǎn)。
然而,對量產(chǎn)車來說,在實(shí)際的城市場景里面,當(dāng)前國家還沒有審批通過城市內(nèi)的高精地圖。即便是審批通過了,一時(shí)半會兒也很難做出來——不同于Robotaxi通常只需要幾條街上的三五十公里的高精地圖,而量產(chǎn)車需要的是100個(gè)城市、300個(gè)城市、1000個(gè)城市的高精地圖。
可能一開始,只是北上廣深等少數(shù)道路結(jié)構(gòu)比較完整的大城市會有高精地圖,然后再逐步向其他城市拓展。
毫末方面表示,未來在有合規(guī)的城市級高精地圖出臺之后,他們也會在城市NOH上使用高精地圖,來進(jìn)一步保證車端感知的精確度。但現(xiàn)階段,在那些缺少高精地圖的城市,智能輔助駕駛車輛該如何解決紅綠燈的問題?
02、尚無高精地圖可用,那用什么?
既然當(dāng)前還缺少城市級高精地圖,那就得通過訓(xùn)練把感知算法做得更好,這是毫末的思路。
我們?nèi)砸约t綠燈難題為例。把全國各地的紅綠燈數(shù)據(jù)都收集過來做訓(xùn)練顯然不大可能,毫末的做法是,通過仿平臺搭建了各種不同的光照、天氣下的紅綠燈場景,再用這些場景做模型訓(xùn)練。
為擴(kuò)大訓(xùn)練的樣本量、彌補(bǔ)真實(shí)場景下數(shù)據(jù)樣本不均衡的問題,毫末通過3D仿真引擎獲得大量不同光照、不同背景下的合成數(shù)據(jù)。
不過,在通常情況下,合成數(shù)據(jù)的質(zhì)量不如真實(shí)數(shù)據(jù),兩者的主要差在于特征空間及概率分布不一致。其中,特征空間不一致可以理解為,紅綠燈經(jīng)常被雨水或灰塵弄臟,造車數(shù)據(jù)失真;概率分布不一致則指圖片風(fēng)格不一致,比如仿真的圖片明顯感覺比較假,光線、顏色等和真實(shí)世界還是有區(qū)別。
這兩個(gè)“不一致”問題不解決,合成數(shù)據(jù)便無法被充分利用。因此,要最大限度地使用合成數(shù)據(jù),就需要進(jìn)最大可能縮小合成數(shù)據(jù)跟真實(shí)數(shù)據(jù)在特征空間和概率分布上的“不一致”,進(jìn)而使得目標(biāo)函數(shù)f在真實(shí)場景中擁有最小的預(yù)測誤差,從而可進(jìn)一步提升紅綠燈識別的準(zhǔn)確率。
對縮小兩者在概率分布上的不一致,毫末采用的是遷移學(xué)習(xí)領(lǐng)域中的混合遷移訓(xùn)練方法,即利用合成數(shù)據(jù)“定向彌補(bǔ)”真實(shí)場景中缺失的數(shù)據(jù)樣本,并及不斷調(diào)整訓(xùn)練策略,從而減小二者特征空間的概率分布差異。
可以看到下方右圖中特征空間的可視化示意圖,通過有目標(biāo)的定向補(bǔ)足相應(yīng)數(shù)據(jù)及混合訓(xùn)練之后,合成數(shù)據(jù)與真實(shí)數(shù)據(jù)的特征空間更為接近。
說到仿真數(shù)據(jù)、合成數(shù)據(jù),我們就有必要介紹一個(gè)概念:遷移學(xué)習(xí)。
遷移學(xué)習(xí)是人工智能領(lǐng)域的一個(gè)專業(yè)概念,通俗來講,就是機(jī)器學(xué)習(xí)人類可以 “舉一反三”的能力,將在完成任務(wù)A的過程中學(xué)習(xí)到的知識遷移到任務(wù)B中。
比如,一個(gè)小孩子在QQ飛車?yán)飳W(xué)開車,雖然是仿真的操作,但上了他爸的車,他也就真的會開了;比如,學(xué)會騎自行車,就比較容易學(xué)摩托車;比如,學(xué)會了C語言,在學(xué)一些其它編程語言會簡單很多。
遷移學(xué)習(xí)的目標(biāo)是將知識從一個(gè)任務(wù)遷移到另一個(gè)任務(wù),使用一個(gè)或多個(gè)任務(wù)來幫助另一個(gè)目標(biāo)任務(wù)。
毫末采用的是混合遷移學(xué)習(xí)方案。所謂混合遷移學(xué)習(xí),也是遷移學(xué)習(xí)的一種,模型的遷移效率會明顯高于單一遷移學(xué)習(xí)模型。對感知數(shù)據(jù)的混合遷移學(xué)習(xí)應(yīng)該就是將合成數(shù)據(jù)和真實(shí)道路的數(shù)據(jù)結(jié)合起來,提高合成數(shù)據(jù)的價(jià)值,然后用合成數(shù)據(jù)訓(xùn)練算法模型,再將這個(gè)算法模型應(yīng)用到真實(shí)路況里。
前面提到,關(guān)于紅綠燈主要有“識別”和“綁路”兩類問題,“識別”比較好理解,“綁路”指在紅綠燈比較多的情況下,如何分辨出“哪個(gè)紅綠燈管哪條路”,這實(shí)際上是一個(gè)確認(rèn)紅綠燈和道路的拓?fù)潢P(guān)系的問題。對此,毫末設(shè)計(jì)了一個(gè)雙流感知模型,將紅綠燈檢測和綁路問題分解成“what”和“where”兩個(gè)通道。
其中,what通路主要負(fù)責(zé)紅綠燈的識別信息,主要包含對紅綠燈燈箱的檢測和燈型分類,分別輸出紅綠燈的顏色、形狀和朝向信息;而where通路主要負(fù)責(zé)紅綠燈綁路,即輸出目標(biāo)車道的紅綠燈燈組——在這里,毫末會通過訓(xùn)練生成feature map的卷積神經(jīng)網(wǎng)絡(luò),表達(dá)這個(gè)紅綠燈和道路結(jié)構(gòu)的關(guān)系。
最后,毫末會使用“空間注意力機(jī)制”將二者結(jié)合起來。其中,spatial attention模塊中紫色的部分對應(yīng)圖像中控車紅綠燈經(jīng)常出現(xiàn)的位置,從而毫末的雙流模型將輸出綁路后目標(biāo)車道的紅綠燈通行狀態(tài)。需要注意的是,這里的“空間注意力機(jī)制”的模型與上面介紹的車道線識別模型是相互獨(dú)立的。
潘興說,通過這種方法,毫末的自動(dòng)駕駛車輛便可以在沒有高精地圖的情況下,純憑感知,就可以處理、識別紅綠燈,以及知道這個(gè)紅綠燈跟道路的關(guān)系。“不管紅綠燈在什么位置,只要一‘綁定’,系統(tǒng)就可以找到這個(gè)紅綠燈在道路上的拓?fù)湫畔ⅰ?rdquo;
據(jù)顧維灝在演講中披露:“基于這種方法,毫末進(jìn)行了大量測試,在不同城市、不同距離、不同轉(zhuǎn)向、不同光線的條件下,也能準(zhǔn)確地識別出紅綠燈信號。”
03、“強(qiáng)感知”路線的技術(shù)壁壘
潘興在演講中將毫末這條路線稱之為“重感知”,那么,這種技術(shù)路線的壁壘是什么?
對此,潘興如是解釋道:“這里面的核心難點(diǎn)是感知算法的精度。因?yàn)楦兄惴ǖ木热绻霾桓?,在我們這種方案里面,即使你的拓?fù)湫畔⒍几銓α?,其?shí)車也開不好,而且更何況拓?fù)湫畔⒈旧硪彩怯芯鹊摹?rdquo;
為什么強(qiáng)調(diào)的是感知算法的精度,而不是傳感器的精度?潘興說,感知系統(tǒng)能看到某個(gè)地方有路型變換、能準(zhǔn)確地策動(dòng)車道線距自車的距離、車道線的曲率,主要還是靠算法。
04、毫末跟特斯拉一樣嗎?
說起不用高精地圖做出城市自動(dòng)駕駛,特斯拉是一個(gè)繞不過去的話題。
特斯拉一直強(qiáng)調(diào)自己沒有用高精地圖,不少人因此產(chǎn)生誤解。實(shí)際上,特斯拉確實(shí)是沒有用到高精地圖這么個(gè)“零部件”,但他們做了眾包建圖,然后又用眾包建圖的數(shù)據(jù)來訓(xùn)練感知算法,可以理解為,他們的感知輸出結(jié)果里面天然就帶有了一些地圖信息。
簡單粗暴地說,我們可以理解為,特斯拉是“將高精地圖這個(gè)功能集成到了感知算法中”。
隨著頭部車企自動(dòng)駕駛算法能力的增強(qiáng),今后,這一路線或?qū)⒊蔀橼厔荨?/p>
四.路徑規(guī)劃環(huán)節(jié)引入深度學(xué)習(xí)算法
當(dāng)我們從高速走向城市,不可避免地會遇到很多更復(fù)雜的場景。比如:我們試圖左轉(zhuǎn)過路口時(shí)需要等待前方掉頭車,還需觀察對向直行車輛的動(dòng)態(tài)以及和其他右轉(zhuǎn)車交互。
處理這樣的場景,過去在做測試的階段是寫非常多的規(guī)則式場景判定(if...else...)和參數(shù)設(shè)定。然而,在城市里基本上每一兩公里就有一個(gè)十字路,那么多規(guī)則,你寫得過來嗎?
而且,規(guī)則寫多了,可能會自相矛盾——有的研發(fā)的人寫了幾千條規(guī)則,自己就混亂了。規(guī)則越來越多,就會引發(fā)邏輯爆炸,越來越難以維護(hù)和調(diào)和。即使寫好的規(guī)則,當(dāng)突然加入一個(gè)新的交通參與者或者擾動(dòng)因素時(shí),也會帶來失效。
針對這一痛點(diǎn),毫末的做法是,通過TarsGo提供一個(gè)車端的模型,通過模型學(xué)習(xí)和立體化學(xué)習(xí)的手段,學(xué)習(xí)人類司機(jī)在這些場景下面的動(dòng)作,然后再用新的模型替代掉原來的一些if...else....規(guī)則。
事實(shí)上,早在2021年12月份的AI DAY上,顧維灝就提到了在決策環(huán)節(jié)引入場景數(shù)字化和大規(guī)模強(qiáng)化學(xué)習(xí)。
場景數(shù)字化,就是將行駛道路上的不同場景進(jìn)行參數(shù)化的表示。參數(shù)化的好處在于可以對場景進(jìn)行有效地分類,從而進(jìn)行差異化的處理。在將各種場景數(shù)字化了以后,就可以采用人工智能的算法來學(xué)習(xí)。
一般情況下,強(qiáng)化學(xué)習(xí)是完成這個(gè)任務(wù)的一個(gè)比較好的選擇。如何對每一次的駕駛行為進(jìn)行正確地評價(jià),是決策系統(tǒng)中強(qiáng)化學(xué)習(xí)算法設(shè)計(jì)的關(guān)鍵。毫末采取的策略是模擬人類司機(jī)的行為,這也是最快速有效的方法。
當(dāng)然,只有幾個(gè)司機(jī)的數(shù)據(jù)是遠(yuǎn)遠(yuǎn)不夠的,采用這種策略的基礎(chǔ)也是海量的人工駕駛數(shù)據(jù),而這恰恰又是毫末的優(yōu)勢所在——毫末還有一個(gè)模塊就是LUCAS Go,會為TarsGo提供高價(jià)值人類的駕駛數(shù)據(jù)。
在這一過程中,可解釋性標(biāo)注扮演著重要的角色,即通過可解釋性標(biāo)注,可以解釋駕駛員決策行為背后的原因,從而也能讓認(rèn)知決策算法的推理結(jié)果變得“可理解”。
比如,在路口,自車需要跟其他車輛進(jìn)行交互和博弈,因此,光知道自己怎么開是不夠的,還需要了解其他車輛在這種場合下的反應(yīng),比如,車為什么會有這個(gè)動(dòng)作,這個(gè)人為什么會這么開車,接下來要不要超車,要不要變道?
但其他車輛的行為很難預(yù)料,在不同情況下的表現(xiàn)都不一樣。如果不能進(jìn)行一個(gè)有效的可解釋性標(biāo)注,就有可能導(dǎo)致在訓(xùn)練的時(shí)候模型不容易收斂,并且可能會把一些人不太好的駕駛習(xí)慣也學(xué)進(jìn)來。
所以,要想這些數(shù)據(jù),就需要對他車司機(jī)的行為及意圖做一個(gè)人類可解釋的標(biāo)注。比如,車輛突然向右偏移一點(diǎn),是他算出來左側(cè)有大車加速過來。車輛要能夠把影響他決策的種種因素給出權(quán)重概率,而不是一個(gè)無法解釋的黑箱。
在這個(gè)過程中,毫末用到了阿里的M6模型。M6是目前中文社區(qū)里面一個(gè)最大的多模態(tài)預(yù)訓(xùn)練模型,參數(shù)規(guī)模達(dá)到了10萬億以上。它一開始主要是針對于圖片、文本在電商領(lǐng)域的應(yīng)用,包括視頻理解、自然語言處理、圖像生成等等。
M6在自動(dòng)駕駛領(lǐng)域的應(yīng)用標(biāo)志著AI模型能力的普惠化——自動(dòng)駕駛公司不光能夠用自己的采集車、用戶的車傳回來的數(shù)據(jù)迭代自動(dòng)駕駛的能力,同樣也能夠利用阿里云在智慧城市中路口、交通流的數(shù)據(jù),來進(jìn)行訓(xùn)練學(xué)習(xí)。
通過M6預(yù)訓(xùn)練的多模態(tài)模型,系統(tǒng)不但能夠預(yù)測人類司機(jī)是怎么開的,而且能對這個(gè)司機(jī)的動(dòng)作給出一個(gè)文本集的解釋,這個(gè)文本集是人類可以理解的。
然后,通過數(shù)據(jù)的后處理,系統(tǒng)就可以對這些可解釋的問題進(jìn)行歸類以及清洗和篩選,以確保的自動(dòng)駕駛算法拿到的數(shù)據(jù)是干凈的、符合人類駕駛習(xí)慣的、符合社會公序良俗的,是一個(gè)可以用來訓(xùn)練的數(shù)據(jù)。
潘興說,通過這些符合預(yù)期的數(shù)據(jù),他們就可以訓(xùn)練出一個(gè)車端智能的算法,替代掉車端大量的規(guī)則,進(jìn)而來迭代自動(dòng)駕駛的算法。
去年年底,某頭部造車新勢力CEO在演講中說:“判斷和決策今天還沒有真正給車下指令,因?yàn)楝F(xiàn)在不僅沒用到深度學(xué)習(xí),甚至連機(jī)器學(xué)習(xí)也沒用到,只是用的編程。”但從這一點(diǎn)來看,毫末自動(dòng)駕駛的決策算法可能已經(jīng)超過這些頭部新勢力。
五.如何用L2的數(shù)據(jù)做L4?
截至今年4月,已有6款量產(chǎn)車型(坦克300、拿鐵、瑪奇朵、哈弗神獸、坦克500等)搭了載毫末智行的智駕系統(tǒng),用戶行駛總里程已經(jīng)突破了700萬公里。按計(jì)劃,未來兩年,搭載毫末智能駕駛系統(tǒng)的乘用車數(shù)量將超過100萬臺。
這一行駛里程,是毫末強(qiáng)調(diào)“數(shù)據(jù)優(yōu)勢”的底氣所在。不過,已經(jīng)上路的量產(chǎn)車,都沒有裝激光雷達(dá)。這些數(shù)據(jù),能否直接用來訓(xùn)練L4的算法?如果不能,需要對它做怎樣的優(yōu)化?在4月13日,筆者向潘興拋出了這個(gè)問題。
潘興的回答是:用2D的數(shù)據(jù)做好自動(dòng)駕駛是比較難的,要從2D數(shù)據(jù)里面得到3D信息,才能把這些數(shù)據(jù)的價(jià)值真正發(fā)揮出來。因此,能否把視覺數(shù)據(jù)能夠標(biāo)注成一個(gè)帶有3D信息的數(shù)據(jù),是未來能不能向更高級自動(dòng)駕駛功能挺進(jìn)的一個(gè)重要門檻;如果你無法跨過這個(gè)門檻,那些數(shù)據(jù)的價(jià)值其實(shí)就沒有那么大了。
六.可否將各場景的數(shù)據(jù)打通?
當(dāng)前,除乘用車自動(dòng)駕駛外,毫末也在發(fā)力末端物流配送(不僅有線控底盤,還有算法),那么,在不同場景獲取的數(shù)據(jù)可以打通嗎?
對這個(gè)問題,潘興的答案是:這些數(shù)據(jù)肯定是可以打通的,但是物流車傳感器的型號、位置和乘用車其實(shí)還是有很大區(qū)別的,其次物流車行駛的區(qū)域和乘用車現(xiàn)在行駛的區(qū)域雖然很接近,但是也有一些區(qū)別,所以這些數(shù)據(jù)要用好的話,其實(shí)也需要一些技術(shù)手段。
七.從用戶視角來對ADAS能力做分級
毫末方面認(rèn)為,ADAS的分級,目前具有極大混亂性,而且都不是從用戶體驗(yàn)的角度出發(fā)的,因此,他們提出從用戶視角理解產(chǎn)品能力分級,讓用戶對車輛通過性有相對準(zhǔn)確的認(rèn)知。
近期,毫末自己定了一個(gè)輔助駕駛通過性的能力指針“行駛環(huán)境熵”,這是一個(gè)和車輛周圍環(huán)境交通參與者的數(shù)量、相對距離、相對位置、運(yùn)動(dòng)方向相關(guān)的函數(shù)。根據(jù)這個(gè)函數(shù),把交通環(huán)境定義了7個(gè)等級,然后在這個(gè)7個(gè)等級下,對毫末產(chǎn)品和行業(yè)產(chǎn)品的測試和能力進(jìn)行對比。
特別是輔助駕駛進(jìn)入城市后,使用率會大大增加。毫末希望能給用戶一個(gè)穩(wěn)定性的認(rèn)知,也希望能夠和行業(yè)從業(yè)者共同定義這個(gè)能力標(biāo)準(zhǔn)。當(dāng)然,毫末也會持續(xù)提升自動(dòng)駕駛能力的通過性。
八.開放的商業(yè)模式
目前,長城汽車是毫末在乘用車領(lǐng)域的唯一客戶。按毫末也計(jì)劃在接下來將技術(shù)開放給其他主機(jī)廠。
如何跟其他主機(jī)廠合作呢?毫末智行設(shè)計(jì)了“6P開放合作模式”。即合作方可以選擇采用毫末的全棧技術(shù)解決方案,可以選擇在數(shù)據(jù)智能云端服務(wù)層面與毫末合作,也可以選擇軟件或硬件層面,或者功能模塊層面的合作;甚至可以選擇和毫末進(jìn)行源代碼級別的定制。
毫末“6P開放合作模式”就是在全棧解決方案到源代碼之間這6個(gè)產(chǎn)品層面都可以開放式探索合作的可能。
參考資料: