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