
【我們為什麼挑選這篇文章】無人駕駛是矽谷現在最熱門的創業項目之一,不過,現在卻漸漸出現了一些新的挑戰者。有位德國的17歲少年自行寫出了無人駕駛的路測軟體,似乎也預測著無人駕駛技術在未來更會百家爭鳴。(責任編輯:黃筱雯)
最近,無人駕駛圈子一如既往的熱鬧,但也漸漸出現了一些不尋常的地方。
一名叫Jan Hunermann的德國軟體工程師為自己的兩輛無人車搞起了路測——一輛上了粉色的漆,另一輛則是綠寶石色。沒錯,兩輛車完全屬於Hunermann個人所有。
雖然顏色很「騷包」,但它們的表現卻十分出色:
Hunermann在「道路」上設了各種路障來增加駕駛難度,但多虧了大腦神經網絡技術給了這兩輛車足夠的「啟發」,它們才得以如無人駕駛界的老手一般順利避開路障。
時不時地,Hunermann還會堵上一條道路,順便設置上新路障,然後再心滿意足地看著車輛拐個彎,並躲開這些障礙物。
按照AI永無止境的「學習能力」,Hunermann觀察車輛的時間越久,車輛就會變得更加智慧:
就像多數無人駕駛公司路測的目的一樣,這些車能夠從以前犯過的錯誤中吸取經驗,直到它們能夠應對行駛過程中出現的任何一種狀況。

增加路障,封閉道路,越訓練才能越聰明,這難道不是訓練無人駕駛汽車的基本常識?……
然而,你以為以上情景發生在某個無人駕駛的密閉測試區?或者是某個技術大公司的開發工作室裡?
都不是。這就是我們所說的「不尋常」的地方。
第一個「不尋常」指的是Hunermann。他今年只有17歲,是一個「非專業的軟體工程師」,這套自動駕駛汽車的運行及測試代碼完全是他自己寫的……
第二個「不尋常」是指這兩輛汽車,在現實中完全不存在。它們僅僅存在於瀏覽器頁面上,甚至連繪製效果也略顯粗糙。
實際上,開頭描述的只是德國學生Hunermann親手開發的一個無人駕駛軟體項目——「只在瀏覽器中存在的自動駕駛汽車」。
你絕對不能小看這個項目,因為它的的確確兌現了Hunermann在軟體開發初始階段時的承諾:
創造一個「可以為汽車提供完全自學環境」的網路應用程序。這個app類似於一個「驅動」,也有點像一套「虛擬環境開發工具」,可以在不斷變化的2D環境中讓兩輛汽車自主進行「道路決策」。
需要注意的是,「不斷變化」這個概念實際上取決於用戶自己的喜好,他們可以通過點擊鼠標或在原始地圖的基礎上添加新物件(一條新路、一個十字路口甚至是一個路障)來改變汽車的虛擬駕駛環境。
講到這裡,你應該能大體了解這意味著什麼:
無人駕駛汽車必須通過路測來提升「智力」(雖然已經講了千萬遍,但還是要再說一次),而路測分為兩種——實體路測與虛擬路測。
而後者是一切「沒錢沒勢」的小公司與個體開發者們選擇訓練汽車軟體及獲取數據的唯一途徑。
因此,你會在最近看到一個越來越明顯的趨勢——大家都在忙著為無人駕駛汽車軟體「貢獻」虛擬環境。從科技巨頭微軟,網上教育機構Udacity,再到知名的影片遊戲《俠盜獵車手》,都十分慷慨地開放了自己的無人駕駛虛擬環境及模擬器。
沒錯,你現在就可以在他們提供的虛擬平台上創建自己的軟體測試軌道。
這裡需要重點說一下微軟。
就在半個月之前,這家最有錢的科技公司之一高調開源了一款專門測試無人車及無人機的虛擬環境軟件AirSim,還允許開發人員在裡面生成隨機環境。當然,它還充當著軟體演算法的「數據生成器」。
逼真的場景,對陽光、陰影以及煙霧的精確還原,大量路障以及縱橫交錯的道路系統……財大氣粗的微軟,從一開始就可以建立起不弱於現實路況的複雜虛擬環境。
連微軟自己都是這麼說的:
由於需要耗費大量數據資源,很多公司很難自主開發這樣的系統。
的確,選擇微軟的虛擬環境平台AirSim的確是一個幫助軟體「快速成長」的不錯選擇。
但是,由你自己生成的數據是不是需要與微軟「分享」?大家都在這個平台上測試數據,會不會有軟體開發水平上的趨同性?這個平台允許你在多大程度上改造裡面的虛擬環境?
而現在,我們在年僅17歲的Hunermann身上,似乎看到了另外一種可能性——為何不能在開發一套軟體的同時,自己嘗試建立一個無人駕駛虛擬測試系統?
17歲少年的無人駕駛「進擊之路」
根據Digital Trend的報導,Hunermann關於這個項目的想法其實早在幾年前就已經形成了,當時他還只是一個高二學生。
與其他任何一個科技愛好者一樣,他對Google DeepMind連續不斷的人工智慧研發成果感到非常好奇。
譬如,這個頂尖AI開發團隊如何通過將「強化學習」(AI的一種類型,通過累計法來實現特定目標)與深層學習神經網絡整合在一起,進而開發出一款能玩雅達利遊戲機的機器人。
有意思的是,不同於影片遊戲中那些扮演非玩家角色的智能體,這些機器人完全能夠在沒有人準確告知它們怎樣操作的情況下自己來玩這個遊戲。
那個時候,Hunermann還經常為一些課外電腦活動設計iOS軟體與相關網站,有了一定的技術積累。因此,雖然資源非常有限,但他卻決定效仿Google——用人工智慧做出些成果來。
在保持原有設計愛好的基礎上,他下載並閱讀了大量DeepMind發表的AI論文,並決定嘗試為自己的項目寫一些獨一無二的代碼。顯然,這不是一個很輕鬆的工作。
但Hunermann在接受記者採訪時,卻並不這樣認為:
我真的對這一領域非常感興趣,我想要了解它,進一步挖掘出有意思的東西。而我認為,要深入研究這一領域,需要一個可靠的應用場景。而創建自動駕駛汽車項目就是可行的方法之一。我並沒有自己的車,但我卻可以在瀏覽器上開車。
首先,Hunermann需要先設計好這兩輛虛擬汽車。
根據他的描述,這兩輛虛擬汽車的車身配有多達19個遠程感應器,能夠從汽車不同方向發射信號。
簡單來說,你可以把這些感應器想像成手電筒光束。每一條光束一開始都亮度十足,但距離車身越遠,光束發出的光也就越微弱。
此外,當汽車逐漸靠近某一障礙物時,光束就越短,感應器接受的超聲波信號就越強。
這與停車感應器(倒車雷達)的原理大致相同——你越靠近某一處,感應器發出的嗶嗶聲就越急促。
因此,當Hunermann最終把汽車的駕駛速度與某一時刻汽車採取的「相關行動」整合在一起時,這些聰明的汽車就能夠提供158種維度的信息。
而接下來要做的才是重點:利用深度學習技術來訓練它們。
這些採集到的數據隨後會被輸入到一個多層神經網絡中。汽車駕駛裡程與碰撞的次數越多,那些連接到網絡不同節點的「信息」被調整及訓練的頻率就會越高。
如此一來,這些汽車就能逐漸「明白」以後碰到這種情況應該怎麼做。而最終的結果便是——與人類的學習經歷一樣,汽車接受訓練的時間越長,它們的技巧也就變得更加嫻熟。
當然,它們並不完美。
尤其是這些汽車在遇到空隙時,總是「自信滿滿」地以為能穿過去,但每次都以失敗告終。因為車頭的感應器只能識別前方是寬敞的大路,卻沒有考慮到車身的寬度。
但是,你也不能否認這兩輛「民間無人駕駛汽車」的誕生儼然不易,而且正在變得越來越聰明。
其實我們想強調的重點在於,是否在掌握了AI學習架構之後,普通程序員也能做一個這樣的訓練驅動器。
有一點我想要補充的是,只有讓汽車變得更智慧,它們才能意識到自己被卡住了,然後再倒車並換一條路線。這個虛擬驅動器本身有很多不足,場景也並非很真實。但親手為其增加車流真的非常有趣,或許給加上一些曲折的小路也不錯。現在,我的想法是讓虛擬駕駛環境一步一步地還原現實世界。
目前,雖然由Hunermann創造的駕駛虛擬環境並不複雜,也絕非專業,但卻允許我們在裡面無限度地為場景添加各種物件。
想像一下在你上班的高速路中間突然出現了另外一條實實在在的駕駛車道是怎樣的一幅情景,那麼你就能體會到Hunermann的虛擬汽車長期以來都經歷了什麼。
現在,如果你想要更加深入了解這名17歲學生的項目,就去代碼托管平台GitHub上翻一翻吧。在這個網站上,Hunermann已經完成了樣品程序的代碼。你甚至能夠在上面查閱整個JavaScript圖書館。
最後想說的是,鑒於現實中的那些實體無人車都是基於Hunermann使用的同一種神經網絡系統進行工作的,那就證明,Hunermann的這一成果完全能夠幫助我們以更加簡明的形式接觸並嘗試開發自動駕駛技術。
是的,這絕對不是在開玩笑。
延伸閱讀
【興趣是把全世界天才踩在腳下】破解 iPhone 和 PS3 小菜一碟,紫雨創造人挑戰特斯拉自駕技術
天才駭客 Geohot 最新力作:免費開放自動駕駛原始碼,無人車 DIY 不再是夢想
【馬斯克在哭泣】全球第一位 Tesla 破解人:我只是辦了個比賽,就不小心破解了
(本文經合作夥伴36氪授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為〈一位17歲少年也開發出無人駕駛軟件, 大公司們難道不該“虎軀一震”?|潮科技〉。首圖來源:WOCinTech Chat,CC licensed)



