訓練AI模型,要多少數據?拆解企業人工智慧專案為何難落地
2020.12.09 by 若水AI Blog
企業導入AI似乎已成為一種趨勢,但是訓練AI模型,需要多少數據?其背後的商業命題與成本又該如何解決?帶你來一起窺探AI專案背後的秘密!
企業的AI專案在釐清問題本質、找到命題之後,首先會面臨到一個問題:收集數據(Data Collection)和建立AI模型(Model Establishing),該以什麼作為評估基準?
訓練一個AI數據模型,需要多少數據?
訓練AI數據模型時,其實有三個要素,彼此互相影響。分別是: 商業問題的複雜度 、 AI模型複雜度 (Model Complexity),以及 數據複雜度 (Data Complexity)。
因此,如果想知道需要多少訓練數據(Training Data),建議先釐清:這個AI專案到底要處理什麼問題,以及這個問題有多複雜?確定之後,再來判斷應該選用哪種程度的模型來做訓練。根據不同的商業命題複雜度,用不同複雜度的模型和精準數據彼此搭配,找出最佳平衡,才能讓AI專案順利落地。
但光憑想像,很難評估實際的AI數據量和成效,所以開始AI的第一步,需要先透過POC概念驗證(Proof of Concept)實驗來找答案。
簡單來說,就是針對不同複雜程度的商業問題,嘗試選用不同複雜度的模型搭配測試,直到模型跑出來的曲線,符合理想目標。
一般狀態下,假設商業問題本身的複雜度很高,我們會預期要選擇複雜度較高的模型。但是如果數據量不足,那麼選擇複雜度較高的AI模型,反而會比用簡單的AI模型效果還差。(上圖左上、右上,分別代表複雜度10和複雜度50的問題,可以明顯看出複雜的模型曲線比較接近學習數據集(Dataset),但是在測試數據集上的誤差 Eout,反而比簡單模型還差了許多。)
上圖的左下和右下,是以不同複雜度的模型去做POC,跑出來的結果曲線圖。藍色線代表的是學習數據(Training Data)成效,紅色線代表的是測試數據(Testing Data)成效。最理想的POC目標,應該是兩條曲線很貼近彼此,而且位置越低越好。
我們會發現,左下這張圖的兩條曲線雖然彼此貼近,但是就算增加數據,也無法降低誤差。這表示模型偏誤(Bias)高,效果不佳,應該要增加模型複雜度 (Model Complexity)。
增加模型複雜度之後,就會像右下這張圖,藍色曲線(學習數據)雖然數值很低,但在學習數據不足的情況下(灰色區塊),紅色曲線(測試數據)卻「飄」得太高。這表示模型變異誤差(Variance)高,應該要增加學習數據。最後在慢慢增加模型複雜度以及學習數據之後,我們就可以達到理想的結果(兩條曲線很貼近彼此,而且位置越低越好)。
數據哪裡來?發展AI人工智慧之前,先建立數據流
先前我在文章裡提到,很多企業會急著開發AI模型,但AI專案落地經驗的三大關鍵之一,其實是先確認:是否已經準備好數據了?如果沒有這樣的能力,談AI落地其實有點好高騖遠。
AI數據收集(Data Collection)最大的挑戰,在於針對不同型態的命題,會產生不同的AI數據需求,因此需要建立的「數據流」(Data Pipeline),AI數據處理 (Data Processing)和數據標註(Data Annotation)的模式及流程也會有所不同。
發展AI之前,如果能建立起從數據收集(Data Collection)、數據處理(Data Processing)到AI模型學習的數據流(Data Pipeline),並確保可以順暢運行,實際訓練AI模型時才會省力很多。
數據不夠或太多怎麼辦?
Google開設的機器學習(Machine Learning)課程中,第一項原則就開宗明義地指出:「Don’t be afraid to launch a product without machine learning」。
如果你的產品或業務不一定需要用到機器學習(Machine Learning),那就別用,除非你有AI數據。有數據,再來談機器學習(Machine Learning)。但在業界的實際狀況,大家不是沒有數據,而是只有一些些,這時候該怎麼辦?我會建議,先從小地方開始做起,也就是從POC專案著手。
POC專案要有具體成效,除了要注意設計專案、實驗模型的指標(Metrics),企業最重要的是要先定義清楚:AI專案要達到什麼樣的指標,才算是成功?這樣最後做出來的成果,才會真正符合商業目標。
如果今天不是沒有AI數據,而是數據很多,又該從何下手呢?
我建議,嘗試減少訓練AI人工智慧時的「 數據大小 」和「 數據筆數 」。
過去曾經處理過一個AI專案,數據多達2億筆。第一次實驗,把數據全部餵進AI模型,取得結果。第二次,只拿其中有代表性的500萬筆出來訓練人工智慧。
猜猜結果如何?兩次實驗的表現,只差異不到1%。
所以,如果企業對於AI數據的品質和數量有一定程度的自信根據,其實不用把數據全部餵進AI模型訓練(Model Training),只用有代表性的AI數據來訓練就可以了。市面上很多常見的AI工具(Cluster),可以做到這點,幫助省時省力。
AI模型訓練,記得校準商業目標
企業發展AI人工智慧的最終目的,還是希望能 達到商業目標,創造價值 。
所以,訓練AI模型時,團隊如果不知道如何判斷哪個指標,對AI模型學習來說比較重要,建議回歸初心,重新釐清「 這個專案想達到的商業目標是什麼 」。
比方,趨勢科技(Trend Micro)要開發一個能夠判斷電腦病毒的AI,但是勒索病毒(denial-of-access attack)和廣告病毒對客戶的傷害程度大不相同。這時候,工程師就會針對這個命題,餵給AI模型不同病毒種類的數據,讓它學會判斷不同病毒的重要性,分辨出哪些病毒比較嚴重不能有判斷錯誤,而哪些病毒比較無害,不一定要做到一百分。
最常見的訓練方法,是用成本函數(Cost Function)的方式,訓練完再回去調整AI模型的評分(Rating),用加扣分的方式,告訴機器它的學習表現是好是壞,做對就加分,做錯就扣分。
上述評分原則的制定,和企業的商業價值考量息息相關,所以一般在組織分工,會由PM專案團隊負責判斷哪些項目重要,請資料科學家設計在上述Cost Function裡面。
很多人以為,AI人工智慧開發要做到很完美才行,但其實根據我們的經驗,只要AI開發成本符合預算、AI模型表現可接受(大約做到60–70分),而且結果有助於降低成本,就可以算是達到商業目標。反過來,即使AI模型表現非常好(高達90分),但成本卻遠超出預算,就不建議執行。
另外,因為POC階段會做很多的實驗,需要拿兩個穩定且可以互相比較的基準做A/B Test,所以做好基礎建設非常重要。
如果一個團隊裡面有三位工程師,但三個人做出來的結果都無法互相比較,那麼這個實驗就會變得霧裡看花,導致AI專案難以落地。
AI數據小學堂:模型指標(metrics)
在做模型實驗時,通常會用混淆矩陣(Confusion Matrix)的四種指標:TP(True Positive)、TN(True Negative)、FP(False Positive)、FN(False Negative),以及Count、Unique和Accuracy等等函數,來判斷這個模型的表現好不好。
P或TN值,代表模型辨識的答案正確,和預期結果一致。例如:模型正確判斷出「這是一隻貓」、「這不是一隻貓」。而FP或FN值,則代表模型的判斷錯誤,例如「明明是貓,模型卻說不是貓」、「明明不是貓,模型卻說它是貓」。
附圖:AI模型 若水國際
AI模型的POC概念驗證實驗怎麼做?
資料來源:https://www.bnext.com.tw/article/60440/ai-strategy-04?fbclid=IwAR1SOhjjGxypdGgOGfaBIl_a1IsZFJAQZ8J2aeDd98spbUfOdg7hiPQP7UA
「a/b testing是什麼」的推薦目錄:
- 關於a/b testing是什麼 在 台灣物聯網實驗室 IOT Labs Facebook 的最讚貼文
- 關於a/b testing是什麼 在 DavidKo Learning Journey Facebook 的最讚貼文
- 關於a/b testing是什麼 在 TechOrange 科技報橘 Facebook 的最佳解答
- 關於a/b testing是什麼 在 關於A/B 測試| Meta 企業商家使用說明 - Facebook 的評價
- 關於a/b testing是什麼 在 什麼是A/B Test? Facebook廣告裡面的A/B Test優化技巧懶人包! 的評價
- 關於a/b testing是什麼 在 A/B test 怎麼做?Facebook 廣告投放新手必讀!基礎篇 的評價
- 關於a/b testing是什麼 在 產品數據分析|快速理解A/B Testing ,提升產品決策品質 的評價
- 關於a/b testing是什麼 在 Facebook A/B Testing測試影片貼文功能 - 我係小編 的評價
- 關於a/b testing是什麼 在 提高Facebook/IG A/B Test成效!Ad Manager 4大A/B Test要點 的評價
- 關於a/b testing是什麼 在 找出10倍成效增長的Facebook A/B測試 的評價
- 關於a/b testing是什麼 在 3招A/B測試心法,優化Facebook廣告| 大大學院職場趨勢新觀點 的評價
a/b testing是什麼 在 DavidKo Learning Journey Facebook 的最讚貼文
用 DevOps 手法的目的是什麼? 應該不是學一堆工具或技術
個人覺得用 DevOps, 應該是想有效率交付價值, 及早回饋, 避免做客戶不要的功能
如果這點很重要, 這個技能樹應該要加上些跟 business validation 有關的項目
(1) 假設驅動開發
(2) A/B Testing
a/b testing是什麼 在 TechOrange 科技報橘 Facebook 的最佳解答
在 A/B Testing 的過程中,記得時時提醒自己最終目標是什麼?並檢視目標達成的進度,莫忘初衷~
-----
📣TechOrange 的 Twitter 已經上線囉~
歡迎大家追蹤我們👉 https://twitter.com/TechOrangeTW
a/b testing是什麼 在 什麼是A/B Test? Facebook廣告裡面的A/B Test優化技巧懶人包! 的推薦與評價
簡單來說,A/B Test是驗證廣告成效的假設。系統通過測試不同的廣告元素,找出哪個廣告表現最為出色。 例如你設計了一個廣告的版本之後,覺得另外一個 ... ... <看更多>
a/b testing是什麼 在 A/B test 怎麼做?Facebook 廣告投放新手必讀!基礎篇 的推薦與評價
無論你是身為公司創辦人,希望可以透過廣告帶來營收;或是想要成為品牌端、媒體代理商廣告投手的你,一定有聽過前輩們說廣告投放最重要的就是「不斷 ... ... <看更多>
a/b testing是什麼 在 關於A/B 測試| Meta 企業商家使用說明 - Facebook 的推薦與評價
A /B 測試可讓您透過變更廣告圖像、廣告文案、分享對象或廣告版位等變數來針對廣告策略的兩個版本進行比較。我們會將各版本展示給您的部分廣告受眾,並確保沒有人同時 ... ... <看更多>