友快網

導航選單

AI 訓練正在成為一門獨立的生意

本文首發於《第一財經雜誌》2021 年 5 月刊,作者吳洋洋,Unity 獲權轉載。

過去 10 年間,人工智慧發展得非常快。但是同人類一樣,這些 AI 也需要經過足夠時間的訓練,才具備被期待的智慧。

2004 年成立的遊戲引擎公司 Unity 希望在這個新領域佔據一半以上的市場份額。作為Unity 的人工智慧與機器學習高階副總裁,Danny Lange 認為訓練 AI 最重要的工作就是為之

創造一個足夠真實的模擬環境

,幫助這些 AI 在虛擬程式中完成訓練,而不是把一臺無人駕駛汽車放到真實的馬路上去完成自我成長。而且,真實世界並不總是比遊戲世界複雜,從技術的角度,這個問題可能是相反的,這也正是遊戲引擎為什麼可以反過來為在真實世界中行走的 AI 提供訓練的原因之一。

Danny Lange

Unity 的人工智慧與機器學習高階副總裁

以下采訪中,Y 代表第一財經,L 代表 Danny Lange。

Y:遊戲引擎為何可以用於工業領域?

L:

遊戲有很多種,有些是 2D 的,但是大部分遊戲特別是大型遊戲都是 3D 的。而在 3D 遊戲中,我們面對的其實是一個有各種 3D 物體、各種作用力的物理世界,並且我們可以與之互動。遊戲引擎會用非常快的速度處理顯示屏上的畫素組成,每當玩家操縱遊戲裡面的角色,畫素會以玩家難以察覺的速度重新繪製,達到每秒 30 次以上。

這種技術在遊戲領域應用已久,我們發現,它也可以應用在工業領域,尤其是機器人領域。有一個概念叫“數字孿生”,我們可以

為測試環境開發一個“數字孿生”

,在虛擬的模擬環境中測試機器人程式,用近乎實時的方式控制和操作模擬環境中的機器人。

上海國際汽車城自動駕駛虛擬模擬專案

這一切都在 Unity 的遊戲引擎中進行,因為遊戲引擎對 3D 環境的處理已經非常成熟了。透過虛擬環境去測試機器人,既安全又經濟。因為在現實世界中測試機器人,需要冒著損傷貴重硬體的風險,但是在 3D 模擬環境中,這樣的風險可以被規避。而且在模擬環境中可以測試機器人幾千幾萬次,甚至能用人工智慧技術訓練機器人,成本遠低於在現實中訓練機器人。

Y:在創造一個數字孿生環境的時候,人工智慧可以做什麼呢?

L:

每 18 個月,我們用於訓練 AI 的資料量就會翻一番。這些資料對於模型的訓練非常有利,模型越來越大,也越來越智慧。我們會使用

深度學習

這樣的技術來創造更多的可能性。比如,在現實物理世界中,我們面臨的一個重要挑戰就是收集訓練資料非常困難,這種困難主要體現在兩個方面:一是收集得非常慢;二是資料量有限。因此,我們使用合成數據來訓練 AI。

在遊戲引擎中,我們可以生成大量的合成數據,並且可以同時執行非常多的測試,比如說

同時執行 1 萬個測試

,來快速獲取合成數據,用於訓練 AI。這在真實的物理世界中不可能實現。

Y:遊戲是想象的世界,機器人或者是汽車需要面對的是真實世界,模擬真實世界所需要的資料維度是否更加複雜?

L:

首先,實時 3D 技術在遊戲中的應用和在工業中雖然核心技術相同,但也有很多不同之處。比如,工業領域對於精準度的要求要高得多,對於各種物理作用力,我們要模擬得更為精準,但同時它也不像遊戲那樣要求畫面精美。

在工業世界,

準確更為重要

。其次,從收集資料的角度來說,現實世界的資料和合成資料之間確實存在差異。為了讓合成數據儘量準確,我們會快速生成大量的

合成數據

,並且在合成數據中儘可能地引入非常多的變數,比如顏色、光照、行為等等,從而讓合成數據獲得足夠的樣本來隨機化,儘可能地捕捉到所有現實世界中可能存在的情況。在現實世界中如果想要收集這樣體量的資料,可能要花幾年時間。然而透過人工合成同等量的訓練資料,僅需要幾分鐘。

隨機姿勢與光照條件下的物件特寫

Y:具體到訓練一個流水線上的機器人,你們會怎麼做?

L:

Unity 的實時 3D 技術最初主要用於遊戲開發,近幾年被廣泛應用於汽車、製造、工程建設等工業領域。單就工業領域來說,機器人在工業領域中已經存在了很多年,現在,它們的應用場景更廣闊、也更靈活了。以前,機器人都是待在一個特定的位置,在一個有限的空間中按照既定程式來執行。但現在很多公司會讓機器人和人類協作,於是就有了 Cobot(協作機器人)的說法。這些機器人需要從人手上拿過某些物體,或者以其他方式與人類協作。

在模擬環境中,我們會引入與人類似的一些代理(Agent),也可以將其稱作“類人動物”(Humannoid)。

我們訓練機器人與 Humannoid 之間的互動

,這樣機器人就能在大量資料的訓練下,學會如何才不會撞到人,如何和人之間來更好地傳遞物體。

透過合成數據,我們可以快速產生大量打過標記的影象,來高效地訓練計算機視覺系統。試想在城市環境中訓練 AI 去開車,有非常多複雜因素需要處理。在工業場合下訓練機器人,和對 AI 無人駕駛技術的訓練有相通之處。

基於 Unity 生成各類帶標籤的合成影象資料

Y:模仿工業流水線、汽車駕駛環境、建築等不同場景時,需要面對的複雜度有何不同?可以模仿人體環境嗎?

L:

幾天前,有人問我,我們可不可以使用 Unity 來模擬人的心臟,包括心臟跳動的狀況,以及周圍相關肌肉運動的情況。簡單地回答,當前我們還做不到。Unity 的強項在於模擬一些剛性結構,包括機械手臂以及可移動的機器人。我們可以在結構以及力學方面實現非常好的模擬結果。人類器官—比如心臟有非常多複雜因素,包括軟組織、血液流動等等,當前還沒有辦法實現非常好的模擬,但在將來或許可以成為現實。

模擬其他領域,比如機器人、無人機、汽車以及工廠環境等,不同行業面臨的挑戰有所不同。當機場、航站樓需要一個數字孿生的時候,我們可以模擬機場、跑道、模擬飛機滑行的狀況,以及整個機場的運維管理,包括空管等很多動態因素,很適合用 Unity 來做。另外包括工廠生產線數字孿生、自動駕駛汽車學習環境,所有的汽車廠商都在使用遊戲引擎訓練他們的模型和演算法。

之前我在 Uber 工作,在無人駕駛汽車的訓練過程中,需要考慮很多不同的動態因素,包括剎車距離、街上的交通狀況、突然出現在車前的行人等等,都需要去綜合考慮。我們要透過“幾百萬公里”的模擬訓練,才能將演算法放到車上。

由 Unity 引擎合成的逼真影象可以描繪自動駕駛場景中可能發生的各種低機率事件,從而改善自動駕駛系統的訓練效果

Y:遊戲世界和真實世界哪個更復雜?這種不同對技術意味著什麼?

L:

遊戲世界比真實世界更復雜。因為在虛擬世界裡,我們有更多的自由,能做的事情更多,不像在現實世界我們面臨非常多的制約因素。舉個例子,我們訓練 AI 的時候,和我們訓練人或者動物一樣是需要花時間反覆訓練它的,在虛擬世界訓練 AI 我們可以藉助大量雲端算力以超高速完成,彷彿我們可以將時間加速。但是在現實世界,我們無法加速時間。

另外,訓練 AI 的時候我們也經常用到

強化學習

。強化學習可以理解為是一個緩慢的進化過程。系統從最開始比較低的水平,一點一點進步,最後變得非常好。在這個過程中,我們可以在任何一個時間點,將當前的學習狀態儲存在硬碟上,而未來我們可以回到狀態中,選擇其中一個時間點,再朝不同的另外一個方向去發展、訓練。在現實中,我們無法扭轉時間的走向,但是在虛擬世界可以。因此,虛擬世界中的很多事情在現實世界中沒有辦法做。透過虛擬世界,我們可以將更多的場景、可能性復現出來,從而幫助我們在現實世界中的決策。

上一篇:抄襲事件後,浙江臺又出醜,給郭麒麟配侮辱性音樂,僅僅是大意?
下一篇:九鼎S7賽事觀察員招募令!這豪華面板是你的嗎?