最近優(yōu)步汽車(Uber)導(dǎo)致一位自行車騎行者因車禍遇難的事件引發(fā)了多方關(guān)注。很多人認(rèn)為,系統(tǒng)能力低下的責(zé)任應(yīng)由優(yōu)步公司承擔(dān),但也有些人認(rèn)為,事故本身并不值得大做文章。在筆者看來,此類事故確實可以通過技術(shù)方式加以避免。然而,為什么這個問題對于自動駕駛系統(tǒng)而言相對更難以解決?那么首先,讓我們回答這樣一個問題——“為何優(yōu)步?jīng)]有在自己的汽車上,使用奔馳配備的夜視系統(tǒng)?”
首先需要強調(diào),我并不清楚造成此次事故的具體原因,也不會將其認(rèn)定為無法避免的狀況。此外,我也不打算在本文當(dāng)中對任何人加以指責(zé),或者對任何肇事原因作出證明。換言之,我只是在單純討論為什么這個問題對于人工智能類系統(tǒng)而言,要比常規(guī)駕駛情況下更難以解決。
在幾乎所有新型車輛上,我們都能找到常規(guī)的碰撞回避(“collision avoidance”,簡稱CA)系統(tǒng)。這套系統(tǒng)的作用非常單一,或者說只有一項目標(biāo)——在車輛即將發(fā)生碰撞時剎車。這種“確定性”意味著其會在檢測到某種特定信號時,采取與之對應(yīng)的動作(即制動)。對于同一種信號,其總是會產(chǎn)生同樣的反應(yīng)。此外,還有一些碰撞回避系統(tǒng)會根據(jù)環(huán)境采取一些基于概率的判斷,但總體來講,碰撞回避系統(tǒng)通常非常簡單:當(dāng)車輛以不合理的速度接近某個位置時,其會觸發(fā)剎車。您可以在程序代碼當(dāng)中使用簡單的IF語句來實現(xiàn)這項功能。
那么,為什么人工智能型系統(tǒng)就做不到這一點?人工智能是系統(tǒng)展示其認(rèn)知技能的一種能力,例如學(xué)習(xí)以及解決問題。換言之,人工智能并非依靠預(yù)編程方式來監(jiān)測來自傳感器的已知輸入信號,從而采取預(yù)定義的行動。這意味著,不同于以往對已知情況進行預(yù)定義的處理方式,如今我們需要為算法提供大量數(shù)據(jù)以實現(xiàn)人工智能訓(xùn)練,并借此引導(dǎo)其學(xué)會如何操作——這就是機器學(xué)習(xí)的基本原理。如果我們利用機器學(xué)習(xí)技術(shù)建立一套碰撞回避系統(tǒng),其完全能夠達到近乎完美的效果——但這也意味著其仍然屬于單一目的系統(tǒng)。它可以剎車,但卻學(xué)不會導(dǎo)航。
導(dǎo)航功能由感知并解釋環(huán)境、作出決策并采取行動這幾個部分組成。環(huán)境感知則包括路徑規(guī)劃(駛向何處)、障礙物檢測以及軌跡估算(探測到的物體如何移動)。除此之外還有很多。現(xiàn)在可以看到,避免碰撞只是其需要完成的眾多任務(wù)當(dāng)中的一項。系統(tǒng)同時面對著很多問題:我要去哪里在、我看到了什么、如何解釋這些景象、是否有物體在移動、其移動速度有多快、我的軌跡是否會與他人的路線發(fā)生交叉等等。
這種自主導(dǎo)航問題太過復(fù)雜,無法簡單在程序代碼中使用IF-ELSE語句(IF-ELSE statements)并配合傳感器信號讀取加以解決。為什么?因為要獲取完成這項任務(wù)所需要的一切數(shù)據(jù),車輛當(dāng)中必須包含數(shù)十個不同的傳感器。其目標(biāo),在于建立一套全面的視野,同時彌補單一傳感器所存在的不足。如果我們現(xiàn)在對這些傳感器所能產(chǎn)生的測量值組合數(shù)字進行估算,就會發(fā)現(xiàn)這套自動駕駛系統(tǒng)有多么復(fù)雜。很明顯,模擬其中每一種可能的輸入組合已經(jīng)遠遠超過人類大腦的處理能力。
此外,這種自我學(xué)習(xí)系統(tǒng)很可能以概率作為指導(dǎo)基礎(chǔ)。如果其在路上注意到某些事物,其會考慮所有的潛在選項并為其附加對應(yīng)概率。舉例來說,物體為狗的概率為5%,物體為卡車的概率為95.7%,那么其會將對方判斷為卡車。但是,如果傳感器給出的輸入內(nèi)容存在矛盾,又該怎么辦?
這種情況其實相當(dāng)常見。舉例來說,普通的攝像機能夠清晰拍攝到近距離物體,但只能以二維方式呈現(xiàn)。激光雷達屬于一種激光發(fā)射器,其能夠在三維空間中看到同一個物體,但觀察結(jié)果卻缺乏細節(jié)——特別是色彩信息(詳見下圖)。因此,我們可以利用多臺攝像機從多個角度拍攝以重建三維場景,并將其與雷達“圖像”進行比較。如此得出的綜合結(jié)果顯然更為可靠。然而,攝像機對光照條件非常敏感——即使是少量陰影也可能干擾場景中的某些部分并導(dǎo)致輸出質(zhì)量低下。作為一套出色的識別系統(tǒng),其應(yīng)該能夠在這種情況下更多依賴于雷達系統(tǒng)的輸入。而在其它情況下,則更多依賴于攝像機系統(tǒng)。而兩類傳感器得出共識性結(jié)論的部分,則屬于可信度最高的判斷。
圖:我坐在辦公室的椅子上(位于圖像中心位置)揮舞著Velodyne VLP-16雷達。自動駕駛汽車所使用的激光雷達擁有更高的分辨率,但仍然無法與攝像機相媲美。請注意,此圖像來自單一雷達掃描,我們可以進行多次雷達掃描以進一步提升圖像分辨率。
那么,如果攝像機將目標(biāo)識別為一輛卡車,但雷達認(rèn)為這是一只狗,且兩種結(jié)論的可信度對等,結(jié)果又將如何?這實際上是一種最為困難,且可能無法解決的狀況。現(xiàn)代碰撞回避系統(tǒng)會使用記憶機制,其中包含車輛曾經(jīng)看到過的地圖與寄存內(nèi)容。其會追蹤圖像之間的記錄信息。如果兩秒鐘之間兩套傳感器(更準(zhǔn)確地說,兩種解釋傳感器計數(shù)的算法)皆認(rèn)為目標(biāo)為卡車,而稍后其中一套認(rèn)為其是狗,那么目標(biāo)仍會被視為卡車——直到出現(xiàn)更強有力的證據(jù)。請記住這個例子,我們將在稍后探討優(yōu)步事件時再次提到。
這里咱們回顧一下。之前我們已經(jīng)講述了人工智能必須處理來自眾多不同傳感器的輸入內(nèi)容,評估傳感器輸入內(nèi)容的質(zhì)量并構(gòu)建場景認(rèn)知結(jié)論。有時不同傳感器會給出不同的預(yù)測結(jié)果,而且并非所有傳感器在任意時間段內(nèi)皆可提供信息。因此,該系統(tǒng)會建立一套影響判斷過程的記憶機制,這一點與人類一樣。此后,其需要將這些信息加以融合,從而對當(dāng)前狀況作出一致的判斷進而驅(qū)動汽車行進。
聽起來不錯,那么我們能否信任這樣的AI系統(tǒng)?系統(tǒng)的質(zhì)量取決于其整體架構(gòu)的組合水平(使用哪些傳感器、如何處理傳感器信息、如何融合信息、使用哪些算法以及如何評估決策等等)以及實際使用及訓(xùn)練所用數(shù)據(jù)的性質(zhì)與數(shù)量。即使架構(gòu)完美,如果我們提供的數(shù)據(jù)量太少,其也有可能犯下嚴(yán)重錯誤。這就像是委派缺少經(jīng)驗的工作人員執(zhí)行一項艱巨的任務(wù)。數(shù)據(jù)總量越大,意味著系統(tǒng)將擁有更多學(xué)習(xí)機會并作出更好的決策。與人類不同,人工智能可以匯集數(shù)百年來積累的經(jīng)驗,并最終提供比任何個人都更為出色的駕駛能力。
那么,這樣的系統(tǒng)為何還會引發(fā)傷亡事故?在接下來的文章中,我們將提到很多可能的情況,而其中錯誤的評估結(jié)論就有可能導(dǎo)致事故。我們還會探討哪些情況下,人工智能系統(tǒng)更有可能作出錯誤判斷。
· 首先,如果系統(tǒng)未能看到充足的類似數(shù)據(jù),則可能無法正確理解當(dāng)前情況。
· 第二,如果當(dāng)前環(huán)境難以感知,且傳感器輸入內(nèi)容的可信度不高或者信號混雜,則可能引發(fā)錯誤判斷。
· 第三,如果對傳感器輸入內(nèi)容的理解與基于系統(tǒng)記憶的理解相矛盾(例如在前一個時間步幅內(nèi)將對象認(rèn)定為卡車,但后一個步幅內(nèi)傳感器將其判斷為狗),則可能引發(fā)錯誤判斷。
· 最后,我們無法排除存在其它故障因素的可能性。
沒錯,任何擁有合理設(shè)計的系統(tǒng)都能夠單獨處理其中的一類問題,然而:
· 解決矛盾需要時間;
· 多項因素的共同作用可能導(dǎo)致錯誤的決策及行為。
在進一步研究具體情況之前,我們首先簡單介紹一下現(xiàn)代傳感器能做到什么、又不能做到什么。
理解傳感器技術(shù)
很多人表示,如今的技術(shù)已經(jīng)如此先進,因此優(yōu)步汽車應(yīng)該能夠明確識別出正在過路的行人,包括那些因為走錯了路而繞轉(zhuǎn)回來、或者突然從暗處沖入照明區(qū)域的行人。那么,傳感器能夠測量到哪些情況,又無法應(yīng)對哪些場景?這里,我談的單純只是測量,而非理解測量內(nèi)容的能力。
· 攝像機無法觀察到暗處的事物。攝像機是一種被動式傳感器,其只能記錄照明環(huán)境下的事物。我將這一條列在最前面,是因為目前已經(jīng)有不少強大的攝像機能夠在黑暗環(huán)境中正常拍攝(例如HDR攝像機)。然而,這類設(shè)備所能適應(yīng)的其實是弱光而非無光環(huán)境。而對于無光環(huán)境,雖然紅外及紅外輔助攝像機能夠切實解決問題,但自動駕駛汽車上采用雷達代替這類設(shè)備。因此大多數(shù)用于自動駕駛汽車的攝像機仍然無法“看”清暗處的事物。
· 雷達能夠輕松檢測到移動的對象。其利用無線電波自物體處反射回來時,運動目標(biāo)造成的反射波在多普勒頻移效應(yīng)下出現(xiàn)的波長差異。然而,常規(guī)雷達很難測量體積較小、移動緩慢或者靜止的物體——因為從靜止物體反射回來的波,與從地面反射回來的波之間只存在極小的差別。
· 激光雷達的工作原理與普通雷達相似,只是發(fā)射激光從而輕松在三維空間內(nèi)繪制任何表面。為了增大三維成像范圍,大多數(shù)激光雷達會不斷旋轉(zhuǎn),像復(fù)印機掃描紙張那樣持續(xù)掃描周邊環(huán)境。其不依賴于外部照明,在黑暗條件下也能夠準(zhǔn)確發(fā)現(xiàn)目標(biāo)。然而,雖然高端激光雷達擁有出色的分辨率水平,但其需要配合強大的計算機以重建三維圖像。因此如果有廠商聲稱其激光雷達能夠以10 Hz(即每秒進行10次三維掃描)的速率進行工作,記得問問他們能不能提供10 Hz的數(shù)據(jù)處理能力。雖然市場上幾乎所有自動駕駛系統(tǒng)皆使用激光雷達,但ElonMusk認(rèn)為激光雷達僅具有短期意義,因此特斯拉公司并沒有使用這項技術(shù)。
· 紅外線能夠通過溫度區(qū)分物體,因此其對溫度顯然非常敏感。如果陽光照下,其可能無法區(qū)分不同物體間的差別,因為紅外線在自動駕駛系統(tǒng)中作用有限。
· 超聲波傳感器在低速條件下非常適合用于碰撞回避系統(tǒng)。大多數(shù)停車傳感器都使用超聲波技術(shù),但其工作范圍很小,因此如果利用其進行碰撞回避,往往會導(dǎo)致在發(fā)現(xiàn)目標(biāo)時已經(jīng)來不及制動。正因為如此,特斯拉等希望將解決方案引入高速公路行駛環(huán)境的廠商更傾向于選擇雷達。
這套系統(tǒng)可能出現(xiàn)什么問題?
1、我們首先來看看這張照片,大家在其中注意到了什么?
圖:在摩天大樓高聳入云的市區(qū)內(nèi),人們正在穿越人行橫道。
你有沒有注意到騎自行車的行人?他顯然并不打算跟汽車搶路,而是停下來靜等汽車通過后再繼續(xù)前進。
圖:來自上圖中的部分內(nèi)容,騎自行車的行人。
因此第一種可能的解釋是,該算法看到很多騎自行車的人都會等待汽車經(jīng)過后再繼續(xù)前進。很明顯,如果某套人工智能系統(tǒng)只要遇到騎行者就選擇剎車,那么其質(zhì)量水平絕對堪憂。那么,其是否會認(rèn)定某位陌生的騎行者有可能搶行——即不同于大部分等待汽車通過的騎行者?雖然這個假設(shè)非常重要,但卻沒有足夠的數(shù)據(jù)就這種狀況提醒AI系統(tǒng)。雖然Waymo曾經(jīng)于兩年前(當(dāng)時還被稱為谷歌汽車)宣布其能夠準(zhǔn)確識別騎行者甚至其手勢,但騎行者探測與預(yù)測仍是一個懸而未決的難題。
2、理解缺失。看看下面這張照片:
假設(shè)我們的系統(tǒng)能夠區(qū)分出讓路的騎行者與不讓路的騎行者,那么優(yōu)步事故中的騎行者無疑處于二者之間的盲區(qū)當(dāng)中。這意味著只有激光雷達能夠及時檢測到其是否停車。也許當(dāng)時雷達確實檢測到了正確結(jié)果,但從三維點云當(dāng)中正確識別出騎行者仍要比從拍攝圖像中將其檢測出來困難得多。系統(tǒng)是否將其識別為騎行者,或者其它朝著汽車移動而來的物體?也許沒有,因為參照另一條車道上的正常物體,系統(tǒng)決定繼續(xù)行駛。同樣,如果我就是圖中的行人,而且不太清楚駛過來的是什么樣的汽車,那么我有可能選擇繼續(xù)前進。當(dāng)然,如果車輛繼續(xù)朝我沖來,很有可能引發(fā)事故。但根據(jù)生活經(jīng)驗,在99.99%的情況下,這樣的假設(shè)并不合理。
照明之后發(fā)生了什么?
關(guān)于系統(tǒng)為何沒有做好充分的碰撞回避準(zhǔn)備,我們還可以提出更多合情合理的解釋。然而,為什么系統(tǒng)沒有在騎行者進入光照環(huán)境后剎車?對此,我們難以找到簡單的答案。在某些情況下,確定性系統(tǒng)會進行剎車(雖然未必能夠徹底避免碰撞)。如果我在常規(guī)街道上進行車輛測試,我可能會額外準(zhǔn)備一套確定性系統(tǒng)作為補充。但現(xiàn)在,讓我們專注于AI系統(tǒng)的表現(xiàn)。
正如我之前所提到,現(xiàn)代自動駕駛系統(tǒng)都擁有記憶功能,并且要根據(jù)環(huán)境的不同而對各傳感器采取不同的采集標(biāo)準(zhǔn)。暗處是一類極具挑戰(zhàn)的條件,因為光照不足,因此其無法實時操作攝像機并對結(jié)果抱有足夠的信心。因此,AI系統(tǒng)在夜間環(huán)境下很可能更傾向于使用激光雷達。正如前文所述,激光雷達的感測輸出每秒進行10次,但處理能力則取決于具體系統(tǒng)——且一般達不到掃描的實際頻度。因此,比較強大的筆記本電腦可能每秒會處理一次掃描結(jié)果(包括將原始輸入內(nèi)容轉(zhuǎn)換為三維圖像,再從圖像中查找對象并理解其含義)。利用特定硬件將能夠提升這一速度,但仍然不太可能達到10 Hz水平——至少在不影響分辨率的前提下不太可能。
現(xiàn)在,讓我們假定人工智能知識在暗處存在某個物體,并更傾向于相信激光雷達提供的數(shù)據(jù)。當(dāng)騎行者行進至車前時,攝像機會及其它傳感器會識別到這一對象。而一旦信號解釋完成,確定性系統(tǒng)就會剎車。但在人工智能系統(tǒng)看來,這些信息可能還包括以下含義:
不明飛行物?大氣光暈?我們需要將其與自動駕駛AI進行比較。(1)一方面,該系統(tǒng)擁有值得依賴的傳感器,即激光雷達,其告知系統(tǒng)汽車前方?jīng)]有任何物體(由于處理速度較慢,其并未及時發(fā)現(xiàn)騎行者的行動)。(2)其有可能調(diào)用傳感器的測量歷史記錄,其中沒有任何信息表明將有物體可能與汽車相撞。(3)最后,一部分傳感器提到汽車前方存在障礙物。(4)也許算法能夠?qū)υ撜系K物進行分類。現(xiàn)在,決定權(quán)就在AI手上。
我們必須考慮到,人工智能系統(tǒng)是以概率作為判斷基礎(chǔ)的。這意境豐每個傳感器都存在一些錯誤率,畢竟測量結(jié)果不可能100%準(zhǔn)確。此外,來自傳感器數(shù)據(jù)的對應(yīng)預(yù)測結(jié)論也存在錯誤。為什么會出錯?如果攝像機與激光雷達給出的判斷不一致(或者尚未能匹配圖像),那么系統(tǒng)將無法獲得精確的三維數(shù)據(jù)圖像,因此只能從攝像機二維圖像中進行重建。下面,讓我們看看優(yōu)步事故當(dāng)中騎行者的形象:
圖:亞利桑那州警方發(fā)布的視頻截圖。
由于缺少三維信息,該系統(tǒng)只能依賴機器學(xué)習(xí)模型檢測當(dāng)前目標(biāo)——而且不清楚自身與目標(biāo)間的距離。為什么無法識別出騎行者?下面我們提出幾種假設(shè):
· 此人身著黑色夾克(參見黃色區(qū)域),與夜間環(huán)境融為一體。很多人認(rèn)為現(xiàn)代攝像機完全能夠?qū)⒑谏珚A克與黑夜背景區(qū)分開來——沒錯,但大多數(shù)機器學(xué)習(xí)算法都無法使用200到300萬像素的圖像進行實時模型訓(xùn)練。為了縮短處理過程,大多數(shù)模型所使用的圖像分辨率僅為1000 x 1000像素,甚至更低。盡管部分建模者表示能夠處理200萬x 100萬像素的圖像,但其仍然無法在夜間檢測到騎行者。這是因為大多數(shù)情況下,相關(guān)模型仍會使用分辨率較低的圖像,或者在某一區(qū)域內(nèi)對像素值進行平均以構(gòu)成超像素。因此,實際上這類圖像中只有部分物體能夠被準(zhǔn)確識別出來。
· 如果沒有合適的三維信息(提供距離數(shù)據(jù)),自行車可能會被錯誤分類——請參閱上圖中的綠色與粉紅色標(biāo)記注釋。當(dāng)我們?nèi)祟惪吹秸w圖像時,會立即注意到這個人。因為自行車框架(用粉紅色圓點標(biāo)記)非常近似于汽車尾燈(同樣用粉紅色標(biāo)記)。回到概率方面的討論——在夜間行駛時,算法認(rèn)為在車前遇到汽車尾燈或者自行車車架的具體可能性,分別是多少?其很可能曾經(jīng)看到過多種不同形狀的尾燈,但卻很少見到自行車車架橫在車前。因此,其傾向于將目標(biāo)判斷為尾燈。
· 最后,我在路燈下標(biāo)記了一個橙色的點,你可以從圖片中找到與之相同的顏色及形狀。
所以,如果攝像機的錯誤率太高,自動駕駛系統(tǒng)可能不會對其輸入內(nèi)容予以采信。也許系統(tǒng)將粉色區(qū)域判定為70%可能性為自行車,77%可能性為尾燈——考慮到實際情況,這樣的猜測其實相當(dāng)合理。
說到這里,我已經(jīng)基本理清了思路:建立一套擁有自動駕駛能力的人工智能系統(tǒng)絕對是一項非常艱巨且具有挑戰(zhàn)性的任務(wù),特別是考慮到復(fù)雜性極高、可用數(shù)量較少且極易出錯的訓(xùn)練數(shù)據(jù)集。此外,其中某些功能如果使用確定性算法來實現(xiàn),難度將大大降低。為早期自動駕駛汽車配備一些確定性備用系統(tǒng)以實現(xiàn)碰撞回避應(yīng)該是個好主意。另外,可以完全肯定的是,沒人能夠純粹利用確定性方法建立自動駕駛汽車。
最后,我要再次重申,我并不清楚導(dǎo)致此次事故的具體原因,也許實際情況跟我的猜測完全不是一回事。但至少在閱讀本文之后,相信大家不會再被社交媒體上那些號稱在1、2、5甚至10年前就存在的事故預(yù)防技術(shù)比現(xiàn)有自動駕駛系統(tǒng)更出色的說法給忽悠。而且雖然我承認(rèn)這樣的事實很難接受,但實際情況證明能夠避免此類事故的技術(shù)確實存在,只是人工智能系統(tǒng)還無法對其充分加以利用。換言之,在此次事故之后,已經(jīng)有研究項目為人工智能制定了超過900種其必須有能力解釋的危害場景。
那么,如果我為優(yōu)步汽車編程,能夠拯救這位騎行者的生命?
答案是,沒人知道。現(xiàn)代人工智能系統(tǒng)的內(nèi)部結(jié)構(gòu)過于復(fù)雜,因此無法對優(yōu)步汽車的數(shù)據(jù)處理機制進行評估。實際上,無論人工智能系統(tǒng)來自我、你、Waymo或者特斯拉,其同樣會基于概率作出判斷——否則這就不能算是一套人工智能系統(tǒng)。從另一個角度講,每套智能系統(tǒng)都將不可避免地犯下錯誤,并從中學(xué)習(xí)經(jīng)驗。
最后,請務(wù)必將碰撞回避系統(tǒng)作為備份方案納入自動駕駛汽車!目前的智能方案還遠遠稱不上完美,千萬不要操之過急!
評論
查看更多