2019年7月10日 星期三

.在自動駕駛研發中充分發揮數據的潛能

Data Driven Development of Autonomous Driving at BMW






前言


上圖這是筆者加入小馬智行之前的一個小故事。這不斷的提醒筆者,人工智慧需要有足夠的數據量,並且充分發揮這些數據的潛能,是我們作為人工智慧公司的,一個非常重要的核心競爭力。

數據的作用
  1. 數據驅動開發:提到數據的作用,我們首先會想到,數據驅動開發,包括感知領域、行為預測領域、決策領域,需要有數據(標注好的數據),來作為我們模型訓練的糧食,和作為系統準確度評測的依據。

  1. 數據驅動決策:尤其是優先級的決策,作為創業公司我們現在想做的事情,遠遠多於我們的人力,如何把人力用在我們需要優先解決的問題上,不管在行車安全性、乘坐舒適性、車輛的營運等等,每個方面都有更重要的問題,或者次要一點的問題,需要做優先級的決策,透過對於數據的分析和處理,拿出一些有效的決策。

  1. 展現公司實力:透過對數據的分析,展示出來的結果,是可以展示公司實力的。

  1. 滿足監管要求:數據的保存、處理、分析,也是為了滿足監管的要求。

數據標注
在講數據驅動開發和決策前,先分享下關於數據標注的一些體會。

  1. 評價指標


對於數據標注來說,它的評價指標有:

團隊規模:只有你有足夠大的團隊,你才能在單位時間內,標注出你所需要的數量的數據。

效率和成本:二者間的關係,像是硬幣的正反兩面,效率是指單個人單位時間的產出量,成本是指單位產出的人力、設備、場地開銷。

品質:標注的準確度,比如標注一個雷射點雲裡,障礙物的尺寸、位置、朝向的準確度,又比如預測下一步行為的準確度。

這是大家通常所關注的三個方面,下面再講下,另外兩個很重要的點:

能力多樣性:能夠處理各種不同種類的,標注任務的能力,對地圖來說,我們需要標注車道線;對於感知來說,我們需要標交通燈、障礙物,還有行為預測所需要的標注等。

標準靈活性:各種長尾場景(如雨點,汽車廢氣等)的處理方式,在不斷的探索和更新,隨之標注的方式,也在不斷的探索和更新,如何保證在這些快速探索,和更新過程中標注團隊直接的高效溝通,不至於出現混亂,這需要花很多精力去做。

  1. 團隊構成

如下圖所示


  1. 效率提升與成本控制
技術手段:
默認障礙物大小:第一幀可以透過一些人機交互的方式,默認障礙物大小。


自動追蹤外推:接下來,比如說標注員跳了一幀,到第 3 幀,然後把車新的位置手工找到了,當再跳到第 5 幀的時候,系統就可以透過智慧算法,做到自動的追蹤外,推來找到車在第 5 幀中的新位置。


自動插值:當車在第 1 幀、第 2 幀、第 5 幀的位置,都標出來之後,系統可以做自動插值,自動找到車在第 2 幀,第 4 幀中的位置。


這裡大概看下車的整個標注過程,以及人機交互方面的技巧,透過人工智慧的方法,提高標注員的效率。

相比於車載系統,智慧標注系統所受的限制更少:

更多的可用資訊:比如在嘗試智標注,某一幀數據的時候,可以參考其後的數據幀裡的資訊;

② 更寬鬆的計算資源和時間限制。

需要注意的問題:
  • 對自動化結果的依賴,可能導致標注結果中,產生系統性偏差
  • 如何發現和辨識這些系統性偏差
  • 不同的自動化功能,產生系統性偏差的幾率和程度,各不相同
非技術手段
薪酬激勵

組織結構設計:這裡最主要的是資訊流動的結構,比如:具體的某些場景的某個細節,如何透過標注平台的某些技巧去標注,如何促進這些技巧,在標注團隊內部被高效地總結、傳播。

各工段之間成本平衡:系統化的思考,我們標準的流程分為標注、質檢、複檢等多個工段,過各工段的配合,達到整體的優化,而不是單純的只優化某個工段。

當然所有的非技術手段,依賴於標注平台,對於標注任務生命週期,與標注團隊架構、績效的管理。


  1. 系統能力


這裡的一個核心目標,是何如保證系統在大規模標注,團隊持續高頻使用的條件下,能保持穩定運行。這裡舉一個因為平台不穩定性產生的焦慮感,進而導致惡性循環的例子:
  • 保存失敗:比如標注了 5 分鐘,嘗試保存的時候失敗了。
  • 工作成果丟失的焦慮感
  • 更加頻繁地嘗試保存
  • 系統負載進一步提高
  • 系統穩定性和響應速度進一步下降
而且有些時候牽扯到外部合作商時,會進步一加劇一種情況:信任成本升高,降低長期合作意願。

這對我們提出的要求是:
① 不斷優化、提升效率

② 保持穩定、保障效率:最細微的穩定性問題,都可能導致效率下降

③ 良好的工程實踐:
  • 與線上系統隔離的完整測試環境,要求能較為準確地重現線上數據規模和數據分布
  • 分級發佈流程
  • 線上系統監控及應急處理預案

關於提升效率的 Tips:
  • 開發:實現效率優化方案
  • 測量:在實現方案後,對標注員的操作流程和節奏,進行記錄和準確復現
  • 提升:在測量和觀察中,發現可能的效率提升點,然後再循環到第一點。

數據驅動開發


上圖是我們的一個願景:先是利用機器智慧,提高人工標注效率,然後利用人工標注結果,提升機器智慧,最後再反過來利用機器智慧,提高人工標注效率,達到一個交互促進的過程。
  1. 充分利用海量標注數據
① 分布式訓練和評測系統

② 人工標注的質量是有極限的,這需要我們:
  • 對標注數據的進一步處理與修正
  • 在設計評測指標時,要考慮到標注數據常見的品質問題。避免設計出的評測指標,對於這些常見品質問題過於敏感。
  1. 數據索引平台
數據在各個維度上的分布,例如:
  • 時段和天氣
  • 道路等級
  • 障礙物種類
  • 住宅、商業區、工業區
當我有了索引平台,可以做的事情有:

標注任務篩選:基於分布上不平衡的維度,對路測原始數據的自動化初篩

訓練數據選取:按照指定的維度檢索訪問標注數據

評測數據集維護:難度和規模分級

數據驅動決策
  1. 路測事件分析

  • 問題路段
  • 問題模塊
  • 問題車輛
  • 問題時間段
  • 深入分析的工具
    1. 數據展現方式
  • 這裡我們主要面臨的挑戰:
    1. 準確性:給的數據要可靠、有說服力
    2. 實時性:每次採集的數據都可以即時更新
    3. 易用性:從介面上可以直觀的看到關鍵數據
  • 這需要我們:① 以用戶為中心,依據關鍵決策流程,不斷迭代與優化② 根據不同受眾和使用場景,提供差異化的視圖
    1. 營運團隊周會
    2. 公司高管 C-level
    3. 團隊 tech lead
  • ③ 在每個視圖中,提供最簡潔實用的圖表
    1. 在默認視圖中,提供剛剛好使用者想要的資訊,不多不少
    2. 對於每一個數據點,提供進一步深入分析的工具
  • 作者介紹宋浩,Pony.ai Tech lead。對岸中國清華大學交叉資訊研究院博士,此前任職於 Facebook 廣告分發策略優化部門。目前在 Pony.ai 負責自動駕駛數據平台與應用的技術研發。本文來自 DataFun 社區原文鏈接

沒有留言:

張貼留言