新四季網

特斯拉如何退出autopilot(特斯拉Autopilot如何單挑全世界)

2023-09-18 23:00:10 4

特斯拉是一家很開放的車企。

所謂開放,指的是馬斯克年初那一句「特斯拉願意開放並共享自己的所有專利」,還有在 GitHub 上公開了自家車機作業系統的底層代碼,以及在全球最大的軟體 BUG 討論社區 Bugcrowd 裡面發下英雄帖,廣邀全球黑客黑自家系統。

近日,特斯拉再一次將自家 Autopilot 的秘密向世界公開。特斯拉AI部門高級主管 Andrej Karpathy 近日出席了一個有關深度學習的會議——PyTorch Developer Conference 2019,並且進行了一段時長 11 分鐘的演講,主題就是 Autopilot 如何在計算機視覺深度學習中應用 PyTorch。

眾所周知,特斯拉堅決不支持汽車界普遍力撐的雷射雷達方案,而是堅持走純視覺識別路線,Andrej Karpathy 這次演講,等於用一種硬核的方式,再一次向世界宣戰。

我們將這次演講的精華部分摘錄下來,並以儘量簡練的語言解釋,於是就有了今天的文章。

什麼是 PyTorch?

要討論 Andrej Karpathy 在這個視頻裡面說了什麼,我們先來搞清楚一個概念——PyTorch。

PyTorch 的「祖先」叫做 Torch(意思為火炬),Torch 是一個基於 BSD License 的開源機器學習框架,最早的 Torch 版本於 2002 年發布,主要應用於圖像和視頻類的深度學習,目前谷歌、Facebook、Twitter 都應用了 Torch 的分支版本。

電動星球註:BSD License 最早在1988 年由加州大學伯克利分校起草,是目前給予使用者最高自由的開源協議,使用者基本上可以「為所欲為」地修改原始碼,並且將代碼打包成專有軟體。

至於 PyTorch,則是 Torch 使用 Python 語言編寫的版本。

Torch 的底層是由 C 語言和 Lua 語言編寫的,C 語言作為底層,而 Lua 語言作為深度學習庫,兩種語言都非常優秀,實際上目前仍然有很多大型企業採用 Torch 進行深度學習,比如上文提到的幾家。

2017 年 1 月, PyTorch 正式在 GitHub 上發布,號稱擁有更高的編譯和運行效率,而實際上它也做到了——靠的就是 Python 語言。

一句話總結一下 1989 年出生的 Python:常被戲稱為「膠水語言」,因為 Python 能夠基於其他語言的各種模塊結合到一起。根據權威數據挖掘網站 KDnuggets 的調查,Python 已經成為最受 AI 從業者歡迎的語言。

基於 Python 語言的 PyTorch 框架,也同樣獲得了眾多企業和研究者的青睞。單說自動駕駛方面,除了特斯拉,Uber 也和史丹福大學基於 PyTorch 研發出開源概率程式語言 Pyro。除此以外,Facebook、英偉達、美國艾倫人工智慧研究所也都走在了 PyTorch 應用的前頭。

特斯拉如何利用 PyTorch?

Andrej Karpathy 在演講的開場這樣說:「由於我們沒有採用雷射雷達,也沒有採用高精度地圖,所以 Autopilot 的一切功能,都依賴於來自車身四周 8 個攝像頭提供原始圖像之後,再進行的計算機視覺運算。」

他隨後給出了一張流程圖,裡面是 Autopilot 工作的所有流程,有趣的是,Andrej Karpathy將這一套流程稱為「Operation Vacation(操作假期)」,他說「因為現階段我的團隊已經可以在椅子上葛優癱,然後數據就會從特斯拉的車子上傳過來,在神經網絡模型上自己不斷循環運行」:

特斯拉AI部門令人豔羨的「假期」裡面,「PyTorch Distributed Training」佔了單獨的一個部分——但憑什麼呢?

先上結論:特斯拉利用 PyTorch 框架效率更高的特點,不斷將 Autopilot 軟體的並行學習性能進一步提升。

以上圖為例,在以上的典型場景內,Autopilot 需要同時處理 10 個不同類別的任務——而道路場景是極其複雜的,也就是說,Autopilot 時刻面臨著數十個任務並行處理的挑戰。Andrej Karpathy 的原話是「almost 100 tasks(幾乎同時處理 100 個任務)」。

為了有效處理將近 100 個並行任務,特斯拉採用了「類 ResNet-50」的骨幹網絡。那什麼是 ResNet-50?

隨著深度學習研究的不斷發展,深度學習神經網絡也在不斷加深,而隨著網絡深度的上升,訓練準確度也會隨之下降,ResNet 就是因此而生,它的中文名叫做深度殘差網絡。ResNet 有多個不同版本,包括 ResNet30/50/101 等,主要區分度在於 Layer 卷積層和 Block 區塊數量上,這裡就不展開了(畢竟是個汽車公眾號…)。

然而,即使採用了更高效的網絡,Andrej Karpathy 依然表示「我們無法讓每一個任務都享有單獨的神經網絡運算,因為同時處理的任務數實在太多,我們只能把一些運算分攤到共享骨幹網絡上」。

Andrej Karpathy將分攤到共享骨幹網絡上的任務稱作「Hydra Nets(Hydra 意為九頭蛇)」,中二之餘又不失準確。比如說下圖高速公路上行駛時的物體識別:

還有 Smart Summon 模式下道路邊緣的識別與確定:

Andrej Karpathy 將這種類型的計算稱為「在圖像中進行預測,以空間和時間為維度將這些圖像有選擇性地部分刪除,同時通過圖像拼接和變換,以此讓車輛明白現在所處的位置」:

另一個依賴 PyTorch 提升運行效率的,叫做 Recurrent Tasks。

Recurrent Tasks 是來自於 RNN 的運算任務,中文名有兩個,有的翻譯成循環神經網絡,更主流的譯法是遞歸神經網絡,因為 RNN 有兩個算法變體——一種是時間遞歸神經網絡(recurrent neural network),另一種是結構遞歸神經網絡(recursive neural network),兩者的縮寫都是 RNN。

RNN 聽起來雖然很陽春白雪,但它已經在實際應用中為我們默默服務了很久——機器翻譯、語音識別、生物研究中的 DNA 序列分析,都應用了 RNN 運算。而在自動駕駛中,RNN 通常被應用在前方道路預測中。

Andrej Karpathy 舉了以上的場景做例子,解釋 Recurrent Tasks 提升效率之後,對 Road Layout Prediction(道路層預測)的重要性:

「我們給每臺攝像頭都配備了相應的 Hydra Nets,但很多時候你需要同時採集多個攝像頭的數據,然後再進行運算。比如說在過一個三岔路口的時候,我們有三個攝像頭同時為這個場景的深度學習運算輸入圖像數據。此時的神經網絡預測就不再只是單純的圖像識別,而是基於總-分結構的複合運算。」

談到這個場景的時候,Andrej Karpathy 順便以此為例子,對Hydra Nets給出了進一步的解釋:

「我們為所有的計算任務準備了 8 個 HydraNets,當然所有 Hydra Nets 的運算任務都可以進一步進入 RNN 做遞歸運算。然後我們可以按照這樣的總-分結構做輸出。也就是說,Autopilot 軟體裡面有一個大型的單一計算網絡,然後每一個任務都可以分採樣這個計算網絡(接收到的圖像)的一小部分,然後訓練那一小部分的神經網絡。」

「比如說,我們可以單獨訓練攝像頭的障礙物探測功能,或者是色彩深度網絡,又或者是道路布局網絡。所有單一任務都分採樣了圖像數據的一小部分,然後單獨訓練那一部分(的神經網絡)」。

接下來,Andrej Karpathy 用了一張圖展示了 Autopilot 軟體需要處理的圖像數據量:

乍眼一看,這張圖裡面只有兩個數字是可以望文生義的:代表原因的8個攝像頭和代表結果的 4096 幅圖像。而其中的過程則相當複雜。

Time steps 和 Batch size 需要一起講,沒有寫中文是因為現在的深度學習界依然沒有給它們一個比較信達雅的官方翻譯。其中 Batch size 代表了在深度學習網絡中單一批次的數據數量,比如我們往一個 RNN 裡面輸入 100 條數據,分成 10 個 Batch,那 Batch size 就是 10。

至於 Time steps 則是預測最終值需要的最大「步數」,比如說 Autopilot 軟體的 Time steps 是 16,也就是說每次會生成 x0-x15,一共 16 組數據,最終預測結果——每次,指的就是圖中每一個「Forward pass」。

目前深度學習最熱門的硬體是 GPU,Andrej Karpathy 則用了一張圖來描述 Autopilot 神經網絡對於 GPU 運算的要求有多高:

在圖中顯示的 70000 GPU Hours,表示Autopilot深度計算網絡如果用單一GPU運算需要用到 7 萬小時——Andrej Karpathy 的原話是「如果你用一組 8 個 GPU 去訓練 Autopilot 的深度運算網絡,你得花一年」——當然他沒說用作對比的是什麼 GPU。

最後,Andrej Karpathy 例牌吹了一波自家的 FSD 晶片,特斯拉的 11 分鐘炫技至此全部結束——但這一次的 PPT 和 4 月份發布時有所不同,硬體 3.0 的工作功耗不再用250W/英裡這樣的單位定義,而是換算過來更低的「Sub 100W(低於 100W)」——至於是不是特斯拉式神優化,我們只能等 FSD 晶片大規模裝機之後才能知道了。

結語

今天 Andrej Karpathy 的演講,雖然不太準確,但我們可以嘗試用一句話概括——特斯拉很希望把你的車變成一個人。

今年 4 月份 FSD 晶片發布的時候,Andrej Karpathy 說過一句話,宣布了特斯拉與雷射雷達徹底絕緣:「你會開車是因為你的眼睛看到了路況,而不是你的眼睛發射出雷射」。今天,Andrej Karpathy 也說了「我們不用高精度地圖」。

於是,一輛逐步走向自動駕駛的特斯拉,在行為模式上會變得越來越像人——用眼睛收集圖像數據,然後用大腦判斷自身所處環境,指揮四肢做出行動。

特斯拉的邏輯似乎更接近人類本能,但卻是汽車界實打實的少數派。傳統汽車界,包括造車新勢力,都對雷射雷達和高精度地圖抱有更高的信心。

蟹老闆上周體驗小鵬 P7的時候說過這麼一段話:

「超視距 實時在線,這是我們認為小鵬 P7 在自動駕駛方案上與特斯拉最大的不同。某種程度上,你可以將特斯拉看成桌面端或者單機的,將小鵬 P7 看成是移動端或者聯網的。」

特斯拉已經在純視覺方案這條路上越走越遠,但馬斯克真的是對的嗎?他能以一己之力對抗全世界嗎?你們的意見又是什麼?(完)

來源:第一電動網

作者:電動星球News蟹老闆

本文地址:https://www.d1ev.com/kol/103446

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了