企業導入AI先期專案指南

GoatWang
18 min readMar 9, 2020

前言

今年我們公司幫助三間公司企業(測繪業、石油探採業、工程顧問業)兩個政府機構成功導入先期專案。而我在裡面扮演的角色,除了專案的實作之外,花更多時間的地方是AI推案與導入,因此比起AI工程師,我覺得自己比較像AI傳教士。而這篇文章的出現,便是希望與大家分享一些這段期間累積了經驗與想法。

在進入文章前,先簡單交代一下我們公司的推案與導入流程。我們在接觸客戶後,會調查客戶對於各項議題的興趣、需求以及資料供應的完整性,然後排定議題的先後順序,並透果演講與實作POC (Proof of Concept)專案,最終成功進入長期的專案合作關係。

而這篇文章所想要談的便是,在這過程中我們要幫助客戶評估的各式各樣的問題: 專案議題、演算法、評價方法與驗證資料的選擇問題、資料量不足的問題、與AI工程師溝通的問題、與組織內部從業人員溝通的問題...

我不敢說每一樣問題我們都找到了最佳的解決方案,但我想這邊可以提供一些觀念性問題的指引;至於比較組織面的問題,我也希望透過分享一些踩雷經驗,讓讀者比較有方向去解決。

然後我寫一寫之後發現文章會太長,因此大約會分成多篇文章去談,我也不太確定幾篇,不過大致會有以下議題: 「什麼樣的企業適合導入AI」、「導入AI面臨的困難」、「AI專案的選擇、規劃與執行」、「任務類型與可行的演算法」、「評價AI專案成功與否」。

必須提醒的是,這篇文章的目標讀者是慾導入AI的公司管理階層,因此會更多的在關注觀念上、管理上或組織上的問題,幾乎不會談及演算法、程式實作與技術細節,有興趣的再往下看就好。

什麼樣的企業適合導入AI — 資料勝過一切

AI雖然看起來很潮很智慧,但其實說白了就是填鴨式教育,AI的記憶能力極強,但不具備推理能力,人類可以舉一反三,但AI只能舉三反一。當有足夠量的訓練資料時,他可以處理各式各樣訓練資料裡面見過的問題;但是如果訓練資料量不足,他就會變成人工智障。因此,AI最重要的前提就是資料;而適合導入AI的企業便是有累積大量資料的企業,或是短時間可以生產大量資料的企業。

AI最重要的前提就是資料,資料的重要性絕對勝過工程師與演算法。

前一陣子,一個朋友找我吃飯說想要搞一間新創公司,做建築景觀相關的工作,想透過AI自動澆水施肥植栽景觀,以確保在未來十年內維持它原始的樣子。聽起來是個有趣的案件,但是最大的問題是他們沒有任何資料來訓練AI模型,況且他們還沒開始實作他們的產品,基本上連AI可以介入的施力點在哪都沒有頭緒。在這種狀況下,我給他們的建議是,先去尋找一些感測器,可以用if、else來解決的問題,絕對不要動到AI。

從這個個案上來看,AI似乎已經變成一種資本市場上變現的工具,也容易被同「區塊練」與「彼特幣」等技術相比較,說明市場泡沫的存在。不過在我看來AI技術確實能夠創造一些價值,只是需要對的企業與環境。我們總不能期待每一項新技術的出現都像「網際網路」或是「iPhone」一樣,帶來如此全面性的革命。因此,以下就來看看我個人心目中覺得比較適合導入AI的企業樣態。

這些企業往往已經有一些現行的商業流程,無論是工廠的生產流程、會計業的審計流程或者是測繪業的製圖流程…,這些流程基本上已經把所有可以透過專業、經驗或是其他物理方法解決問題的手段都用盡了,在這個基礎上,一方面公司企業可以持續蒐集大量的內部資料,另一方面也可以分析這些流程中的適合導入AI的各環節。

舉例來說,我們合作的測繪業,他們長期在幫助農業相關的政府部門,稽核台灣每一年水稻田的總面積。他們已經養了足夠的空拍機、街景車、以及進行資料判釋所需要的人力,也累積了大量的標記資料。這種公司要開始導入AI速度就會非常快,最先可以從他們累積了長年的資料中篩選適合的資料開始AI專案,如果沒有適合的,企業也可以透過既有商業流程的小更動,在不太增加額外成本的情況下,快速的累積適合AI使用的資料。

但是如果像前述搞植栽景觀的公司,在完全沒有「資料」或是「累積資料的現有流程」的情況下,希望可以透過AI解決問題,幾乎是天方夜譚。不過也不是說沒有資料就完全做不起來AI,只是需要在前期投資大量的人力資本標記成本,AI雖然是軟體,但是在進入競爭激烈的時代,還是資本的軍備競賽。

整體來說,在沒有既有資料生產方法的情況下,想要有成功的AI專案,務必要將生產資料的成本納入考量,而且務必要讓老闆清楚的知道這將會是一筆可觀的成本。

導入AI面臨的困難

談到AI導入的困難,其實必須從「技術面」與「組織面」來著手。

在「技術面」上,說實話絕大多數的AI技術,不論是處理表格、圖片或文字,現在在網路上都可以很容易地取得資源,這些資源包刮開源軟體、原始論文、演算法套件甚至是教學課程。

人才的取AI人才也是源源不絕的生產,開個年薪80w的AI缺,每天就幾十封的履歷進來,國內外的都有,真的不行把自己的員工送去人工智慧學校或是買個Coursera課程來看,也能有一些斬獲,畢竟絕大多數的AI任務並不需要多厲害的AI大神來執行。

因此,在我看來,在技術面上,最大的難題還是資料,就像前面所提的,AI專案的成功,資料的重要性絕對遠勝於工程師與演算法。因此,本章會談談標記資料的蒐集困難、盲點與一些基礎的解決方案。

另外就是「組織面」的問題了。其實很多時候,適合導入AI的企業大都已經具備穩定的商業流程與營收基礎,像石化、銀行甚至有一定規模的紡織業,比起他們原物料或是機械設備的成本,AI導入所花用的投資真的燒不掉他們多少錢。真正困難的地方在於組織架構與企業文化衝突,若沒有人真的有心與認真推展導入作業,並且處理好這些人事或部門之間心理的疙瘩,將會是AI導入最大的困難。

技術面 – 資料與模型可推廣能力

現在主流在在評價模型的好壞時,絕大多數時候還是以準確率的高低為主要考量,這可能是受到kaggle上或其他資料集所創造的大型比賽的影響,但在實際實做企業內部的AI專案的時候,起初我們蒐集的資料必定沒有這些資料集全面且大量,因此比起關注準確率,更因該關心的是蒐集訓練資料時,資料的樣態(Type)與分佈(Distribution),是否涵蓋所有未來預測使用到的資料。

舉例來說,最近訓練完一組航拍影像的裸露地判釋(如下圖),這幾張圖看起來模型準確率很高,我們主管就希望可以把這個模型應用到其他影像上面去進行崩塌地判釋,如衛星影像或是UAV影像。

Landslide Segmentation

這個時候就會發生一些問題,像是資料的樣態(Type)不同,標記資料中河道亦屬於裸露地,但是河道並不屬於崩塌地,因此模型可能會誤把河道判釋為崩塌地;還有影像的解析度不同,衛星影像10m、UAV影像0.1m、航拍影像0.25m,但模型僅看過0.25m解析度的影像,可能就無法在其他解析度上得到好的效果。另外,資料的值域分佈(Distribution)也不同,三種類型的遙測影像,由於感光元件的不同,可以紀錄資料的精細程度與感測波段意義也不同,衛星影像中紅色的波段可能與UAV紅色的波段頻率上仍有歧異,另外rgb值域分佈也不同,UAV可能介在0~255之間,但是衛星影像可能介在0~25000之間。

因此,雖然在這個專案上看似得到很好的準確率,但由於訓練資料未包含未來判釋的資料分佈(Distribution),在樣態(Type)上標記資料(裸露地)亦與未來判釋的(崩塌地)標的有落差,因此使用上並不會如想像中的順利。這時就要想辦法創造這些更完整且大量的資料,讓模型可以學習到這些資訊,方能解決問題。

技術面 — 資料標記的決心

在吳恩達教授提出的AI Transformation Playbook中提到,最理想可以成功的AI公司,是可以透過既有的商業流程產生標記資料的公司。這樣的流程最容易想像的例子就是電商網站,產品在銷售的過程中蒐集更多的使用者資料(解釋變數)、以及使用者與產品互動的資料(標記資料或被解釋變數),然後可以讓產品變得更好,並吸引更多使用者, 然後再持續這樣的一個循環。

Virtuous circle of AI. From: https://landing.ai/ai-transformation-playbook/

但不得不說,在AI技術出來也好幾年,真的有辦法這樣累積使用者資料的企業,大約也已經早就對AI技術聊若指掌,想要創業並成功複製一個符合上圖要求的商業流程也不太容易,因此與其想著怎麼樣創造出上面的商業流程,不如好好來面對標記資料不足的問題。

資料標記聽起來是個簡單的作業,但其無聊瑣碎的程度遠超乎管理者想像,要真正有高品質生產力的資料標記流程,大約是大多剛開始接觸AI企業的最大的困難,或是說大家在畫AI大餅時大多會逃避的問題。然而,足夠量的標記資料仍然決定了AI專案的成敗,因此在評估是否開始一個AI專案前,務必要有決心,企業不僅僅要取得一次性的標記資料,更要建立一個可被重複實現的資料標記流程。

以下提供幾個手段來建立這個流程:

第一、尋找群眾外包網路平台的協助。這個手段上,首先必須提到的就是亞馬遜的 Mechanical Turk (MTurk)平台,在這個平台上,你可以透過使用者介面(GUI)或是簡單的HTML自己定義自己需要的標記介面,在上傳待標記的資料並設定價格後,便可等待別人來標記。最大的好處是便宜、快速且方便,如果你開價比較高,很快就會有一堆人幫你完成標記工作,然後已經幫忙做好標記介面,企業無需自行開發;但是致命的缺點是品質確實參差不齊、專業限制以及文化限制,即便平台上面已經可以設條件篩選誰可標記資料,也可以檢核標記資料是否核可,但自己的實驗結果跟網路上的評價似乎都比較負面。另外,太過專業或太過在地化的標記工作,在上面比較難找到適合的人力進行標記。

第二、專案委託資料標記公司。這樣的專業標記公司台灣我自己接觸過的是 Linker Networks,其他網路上可以查到的有 Hive, Cloudfactory, and Samasource…。這樣的公司好處是品質比較可以控管,畢竟可以直接見面說明需求,並以合約方式進行標記專案,客製化程度會比群眾外包平台還高一些,自己實際上合作的經驗也是比較好的。要說壞處的話,就是價格比較不親民也不透明,再來就是要慢慢磨合合作的默契了。

第三、企業自行管理標記團隊。這個做法的需要自己注意的事情就比較多了。首先要決定由誰來標記,如果是比較簡單的業務,請工讀生進行標記即可,如果是比較專業的標記工作,需要累積一些專業知識與經驗的話,可能要請公司的老師傅來標記。再來要決定標記的次數,有些時候如果標記的正確答案比較模稜量可、不同人會有不同的結果,那可能要請三個人標記同一份資料,然後採多數決。另外,如果標記的資料比較特殊,像是圖片或是影片,可能還要訓找適合的標記工具,如果找不到適合的,或許要自行開發,以增加標記的效率。

以我自己執行標記工作的經驗為例。剛開始學習AI時,為了完成一個小專案,由於屬於一人專案沒什麼預算,便採用了MTurk的解決方案,但效果真的不怎麼樣,我在否決一些標記成果後,還會有人寫信來argue他們以後會接不到工作。後來自己弄了一些預算,在校園板上面尋找打工仔,自己組織了一個小型的Label Team,辦了說明會與訓練課程,才有品質比較好的標記成果。

開始到業界後,比較常見的標記工作就比較會委託資料標記公司幫忙標記,像是車牌辨識、號誌辨識、道路線辨識,畢竟這些工作他們必定有既有的標記工具與團隊可以快速地完成標記專案。至於像衛星影像雲層、河道或崩塌地的判釋,因為標記的資訊比較複雜,可以前處理的手段就比較多,自己也建立了公司的標記流程,在工讀生進行標記前,先進行一系列的前處理,讓工讀生不用每一個多邊形的細節曲折都需要細緻素化,僅須對多邊形進行分類即可(如下圖)。

Label Preprocessing

當然,這樣標記流程建立的決心要到什麼因企業的需求不同而異。前一陣子聽說,某生產線的品管流程中,需要透過日本進口的高清像機檢查是否有鐵屑存留於產品上,然而要培養判釋師傅並不容易,而且即便是老師傅,在判斷時仍然無法達到客戶的要求,因此希望改採AI進行判釋。他們的資料標記流程中,師傅不僅標註一次資料,資料標註完送給模型檢核,如果模型仍然難以區分,就會要求其他師傅從新標記,直到最終正確率達到他們預期的水準。

組織面 – 理想的AI組織架構

當今許所多希望導入AI的企業,很多時候對軟體部門的想像,大約與會計部門差不多,並非主力的研發單位,且大多時候僅對既有軟體進行維護,甚至是僅負責打電話請廠商來維護,所以只有投資少量的心力與人力在上面,因此大約也沒甚麼動力發展新的東西。

在我看來,這將是導入AI的一大挑戰。畢竟軟體這種東西,沒有最好只有更好,未來的需求會不斷膨脹,如果真心想做好,沒有一個內部專門服務公司需求的團隊,很難有彈性去更精準的適應公司的商業流程。以下介紹個人理想中的AI Team建構的二(或三)個階段:

一、外包測試專案以驗證想法。
一開始導入就做組織的重大轉型其實也不切實際,因此建議在期初可以先透過外包的方式驗證想法與可行性。然後選擇種子部門或員工同時開始學習一些AI的技術,在專案期末務必要求承包廠商進行教育訓練,把他們實際訓練模型的程式碼帶著內部員工跑一遍,這樣一來企業可以在風險最小的情況底下,完成初步測試專案,同時當員工看見成果可以開始對AI有一些信心,訓練部分也為未來成立新部門做準備。

二、獨立成立獨立的AI Team
接著,如果測試專案的成效不錯,可以將這些員工拉出來,獨立成立獨立的AI Team,直接隸屬於CEO並協助解決公司其他各部門的問題。最好找一個AI背景的CTO或是CAIO來管理AI Team,當然管理者可以對公司的領域有一些涉略最好。部門成員除了原有的員工外,可以招入兩種人才,「純資工背景的」或是「具公司domain同時跨足AI領域的」工程師,後者的年資與經驗無須要求太高,可以快速學習、閱讀文獻實做出論文中的演算法比較重要。

Ideal AI Team Structure. From: https://landing.ai/ai-transformation-playbook/

三、將AI功能去中心化(僅給分析型單位)
由於最近有機會接觸到比較多的組織屬於分析型單位,像是國稅局數據分析部門、航測學會的影像分析部門或是探油的資料分析部門,這些單位核心的工作就是做資料分析,只差在底下的子部門分析的數據樣態不同而已。因此期初已中心化的方式,幫助各部門完成AI先行專案後,也須逐步培養子部門內部工程師獨立使用AI的能力,一方面要求工程師上手AI不會太難,另一方面這樣才能打破穀倉效應,都把相關的業務事不關己的丟給AI Team。

組織面 – 害怕被取代的不合作

根據前一章的敘述,大概不難想像,適合導入AI的公司大多是中老齡企業,這些企業組織大多已經科層化,要說服裡面的從業人員協助做商業流程的改變並不容易,對於AI黑盒子的質疑、對於增加工作量的反感、對於被AI取代的憂慮…這些聲音會不斷的出現。因此,專案過程中AI團隊永遠要保持一顆年輕的心,針對這些組織性的問題進行溝通。

說實話,AI其實很笨,AI模型真的就是填鴨教育底下的產物。它能夠做到的任務還是比較重複性且單調的事情,基本上不太可能取代掉既有的專業人士的產出。因此,很多人說,在人工智慧之前必須先先有工人智慧,這也就是說,這些既有員工未來的工作產出,都會是訓練AI模型最好的標記資料,且一但有新的任務變化,即便再這些變化再微小,都還是需要他們的產出去修正模型。

其實讀者可以想像看看,要做到自駕車那麼多工的任務 – 同時注意行人、號誌、標線、導航、方向盤與煞車…,Google、Uber或是Tesla請了多少世界菁英的軟體工程師,又請了多少硬體廠商幫忙客製化所需要的晶片,又花了幾百台車每天都在試跑,國家又花了多少金費建造試驗場域。而且,即便在那麼積極研發好幾年後,目前還無法達到人類開車的失誤率,也沒有國家真的敢允許私家自駕車離開試驗場域。這樣大家大概就知道AI與人類的距離了,況且台灣的資本市場大概不會允許公司這麼燒錢,員工要能夠被取代,大概還有五到十年的時間要走。

或許這些論證仍太過生硬,講個有趣的小故事好了。一個朋友在傳產工廠裡面當AI工程師,最近希望透過聲音或是振動頻率的偵測,提前預警機器的故障。當時要在工廠端安裝感測器時遇到很大的阻礙,畢竟工廠端的心態大都趨於保守,以不出事為最高指導原則,創新與流程改善對他們來說都不是有KPI的東西。但是有一個很奇怪的現象,他們對於老總裁的專業技術十分敬重,於是當時他們團隊就說了這樣一個故事,才完成第一階段感測器的裝設。

當時老總才進了他們高雄廠時,耳朵一聽便快速地指向了某一個馬達,說馬達的聲音不對,於是現場的工人便把馬達卸下檢修,果真發現裡面的一個零件已經斷裂。因此,他們希望透過AI技術,複製一個老總裁的耳朵,讓這樣的檢測技術不只可以在高雄廠創造價值,在世界各地的廠都能夠有總裁的身影。

不過,有兩點需要提醒的是。第一、個人覺得AI導入團隊仍需對於既有商業流程有幾分好奇與尊敬,盡可能不要覺得他們是因為害怕被取代所以不合作。畢竟這樣的流程在沒有AI的時代也就活得好好的,並且可以讓企業穩定的產生獲利生存至今,你搞AI的能不能在市場上活下來還未必。

第二,以我的經驗來看,很多人認為「內部員工的反彈來自於他們害怕被取代」,其實我所遇到的案例大都不是這個心態,比較多是看不起AI,覺得AI是黑盒子云云。因此,AI導入團隊應該更關心的不是他們會害怕被取代的議題,反而是下一小節要談的議題「內部專業人士的反彈」。

組織面 — 內部專業人士的反彈

即便現行AI教育仍是以最終的評價分數作為最高指導準則,但是要突破與傳統工程師溝通的障礙,他們重視的仍然是可檢視的推論過程,也就是說要在有己有解決方案的公司,透過AI取代既有方法,工程師除了需要透徹了解AI的推論過程之外,仍有兩項工作需要認真著墨。

其一,盡可能的學習傳統的處理方式,並且準確的說明AI與傳統解決方案的差異。舉例來說,我個人在處理衛星影像的時候,發現絕大多數傳統在做衛星影像分割(Segmentation)的任務的時候,都是pixel based的分類,也就是說把一個pixel中不同band(CV領域中稱為channel)的值當成獨立的row,放入模型訓練。而之所以,現行CNN based的影像分割方法之所以會有比較好的效果,基本上是基於其在影像空間關聯性的考量,可以讓紋理特徵與特殊的圖形被偵測出來,並進行判釋。舉例來說,看到一個像素是橘色的,可能很難辨識是什麼物件,但是看到多個像素中橘色貓毛的紋理、加上尾巴的形狀,可能就比較容易辨識這就是一隻貓。其後在印出一張模型各階段的Feature Map也能增加說服力,像是下面這張便是人臉辨識模型個階段抓取的特徵。

Face Recognition Feature Map. From: https://arxiv.org/pdf/1804.06655.pdf
Face Recognition Feature Map. From: https://arxiv.org/pdf/1804.06655.pdf

其二、盡可能將AI的推論過程可視化,最簡地的案例便是找出變數的貢獻重要性,圖像上可以畫出各層的模型輸出。

有一個案例是我個人在執行探採業案子的實際經驗。由於今年只有半年的執行時間,他們公司對於我們做出的成果大都半信半疑,但我們將影響預測結果的關鍵特徵抓出來後製成簡單的長條圖,便獲得了他們的信任。說實話,其實也不是甚麼厲害的圖,當初我還很猶豫要不要做這個分析,但最終因為與他們長年累積的經驗相符,才成功讓他們對於AI技術卸下心防。當然,如果你覺得長條圖太弱, 你也可以透過SHAP這個套件搞出fancy一點的分析圖。

Shap Package Visualization Result. From: https://github.com/slundberg/shap#citations

另外,電腦視覺相關的模型,現在都已經發展出了各式各樣的視覺化方式,讓模型的中間層不再是黑盒子。舉例來說,在今年在執行透地雷達影像判釋的案子時,我把每一層的判釋為(地下)人孔蓋的影像放入模型中,並將模型計算的每一層輸出印出來,我們便可以發現雖然一開始人孔蓋的雜訊很多,但是在經過濃縮與特徵值萃取後的輸出層,人孔蓋的部分不是全黑就是全白,基本上已經可以反映人孔蓋涵蓋範圍了。

--

--