如何執行從零到有的AI專案 - 需求與目標規劃

22 12
Jan 30, 2021

--

前言

最近筆者在面試的時候常被考官問到一個問題,當你接到一個案子的時候你會如何開始這個案子? 會如何進行從而一步一步做成產品?

在剛開始入門的時候,也常常不知該如何下手,從而浪費了許多時間,並且需要再回頭進行補救反而浪費更多功夫。

以下分為幾個階段,來進行分析並且告訴你從零到有該如何省更多功夫

第一階段 - 需求與目標規劃

首先通常一個AI案子都會由PM或是客戶直接提供需求,第一階段必須要執行以下事項

(1) 理解客戶目標需求

這時候你可能會得到一個產品規劃,首先你需要完整詳細規畫目標需求例如分類率,誤判率,偵測率等等,詳細一點需理解客戶需求功耗為何,目標的Frame rate (使用較低的FPS能降低功耗),解析度以及支援範圍(例如角度以及距離,亮度等)

最常見忽略的則是客戶的目標需求能接受的誤判類型到底是甚麼,拿知名的ADAS系統 OpenPilot的文章做舉例

AEB其中最關鍵的指標為

true positive events (the system appropriately issues an AEB event)

false positive events (the system erroneously commands an AEB event)

想像一下AEB是一種自動緊急煞車系統,如果不能在正確的時候緊急煞車,那是一個很危險的事情,同樣的面對誤報,突如其來的煞車也很容易讓後方產生追撞事件。

而以輔助醫療產品或是異常檢測為例的話,False negative反而會成為困擾,因為這兩種狀況,更需要寧可錯殺,不可錯放

有時候也需要對客戶需求進行問題分析以及定義,來盡量符合客戶需求,方便對產品向外推送。

(2) 制定完成的驗證計畫

通常在產品設計中設計驗證(Design Verification Testing, DVT) ,通常都在產品設計完成後開始設計驗證計畫,是否符合開發前所設定之規格與功能,但是對於AI產品,需要首先知道目標場域以及類型以及需要知道Coverage(也就是覆蓋範圍),以方便制定資料收集計畫,事先考量DVT plan是屬於必要的階段。

(3) Prototype

正常的產品開發流程通常都也要經過這幾個測試驗證階段,而在開發AI產品時,首先確定了客戶需求後,也詳細的確定測試目標以及場域,就可以開始先試做產品原型,按照正常流程應該是先進行Design review,但實際上開發AI產品通常都可以使用各種不同方法以達到目標需求,因此通常會建議利用既有資料試做一個產品原型,來盡量符合客戶需求以及測試目標,並且詳細記錄產品原型效果來進行後續的Design review

(4) Feasibility Study & Design review

Feasibility study 和 Design review 通常是產品開發過程的第一步,針對評估客戶要求專案目標,來做出目標規劃,早期發現設計上的不足並進行反映,良好的Design review也能減少之後走的彎路,並且在同一個專案上通常都有數篇Paper講述解法,由於AI的Paper常常有隱惡揚善的事情發生,更需要能預先做詳細評估,確定方法以及後續可能會遇到的問題,預先做出因應的對策,並需要畫出詳細的流程圖。

在設計時也需要了解市場生態,並且更需要了解競爭對手產品,以及市場技術,通常在開發產品時,詳細觀察競爭對手產品,通常以工程師敏銳嗅覺通常能觀察出對手是使用甚麼技術,也能藉由競爭對手的規格來知道技術潛力為何,制定出滿足消費者需要之產品

(5) 人力以及運算規劃

在設計產品時,通常會落入既有的產品設計模式,只規畫人力需求,但是實際上AI產品通常都具有高運算需求,有效合理的規劃運算需求也是特別需要注意的一環,來避免設計完成後,卻面臨無卡可用的情況,在人力需求上,也須特別注意在模型訓練時工程師無事可做的情況,並詳細安排分析以及Study的計畫

當以上四點都完成後,下一步就需要進入資料蒐集與規畫部分,由於內容過長將會單獨劃分出來

--

--