當真實資料集未能滿足品質、數量或多樣化的需求時,可利用人造資料取代真實歷史資料,以訓練人工智慧模型。
文/Maria Korolov‧譯/曾祥信
合成資料(synthetic data)是人造產生的資訊,可取代真實歷史資料,用以訓練人工智慧模型,尤其當真實資料集缺乏足夠的品質、數量或多樣化時,合成資料就能派上用場。此外,在可取得資料無法滿足企業需求,或是用在訓練機器學習模型、測試軟體等會造成隱私問題時,合成資料也會成為企業人工智慧發展的必要工具。
[ 推薦閱讀:2022之後的IT趨勢預測 ]
Gartner 分析師 Svetlana Sicular 預測,到了 2024 年,用在人工智慧和資料分析方案開發的資料,將有 60% 是合成資料,這個數字在 2021 年只有 1%。
合成資料使用案例
人造資料在企業人工智慧策略當中具有許多用途。作為真實資料的替代品,合成資料在以下情境將大有助益:
1. 缺乏真實世界資料時,用合成資料訓練模型
人工智慧和機器學習系統需要龐大的資料量。在某些情況下,就是無法取得足夠的資料,或許是因為使用案例極為稀少,或是使用案例太新,沒有太多歷史資料可循。另外,當收集或購買真實世界資料的成本極為昂貴時,合成資料亦有助節省成本。
2. 填補訓練資料裡的缺口
有些資料集無法完全反映公司的使用案例,例如,一套被訓練用來辨識電話號碼的系統,可能沒有足夠的國際電話號碼可供參考。
另一個常見問題是用合成資料來平衡資料集內容。全球管理顧問公司 SSA & Co. 的首席資料科學家 John Blankenbaker 舉例,一份歷史資料集可能有 99% 都是非詐欺交易記錄,只有不到 1% 是詐欺交易。「很多模型都會認定,最成功的策略是將所有交易記錄標記為非詐欺交易」。
合成資料可協助平衡這類資料集,但是在實踐上必須非常小心。Blankenbaker 說:「這種作法有效的前提是,合成資料流程能夠捕捉到有跡象為詐欺行為的交易,這顯然不是容易的事,因為可行的話,我們就能把它作為詐欺偵測工具」。
3. 使用案例的「長尾效應」
隨著人工智慧在組織間變得普及、無所不在,如果所需的訓練資料充足且容易取得,公司可能已用盡所有的使用案例。一旦這些專案成功,企業領導人就會希望將相同方法運用在他們自己的使用案例。
[ 2022年度CIO大調查報告下載 ]
4. 加速模型開發工作
收集真實世界訓練資料可能會曠日費時,因為資訊必須經過蒐集、標記、處理,並經過法規或政策等核查。這些流程會拖慢新人工智慧模型的開發進程。透過合成資料,我們可以在取得真實世界資料前,就先訓練及校正模型。
5. 模擬未來趨勢
當流行趨勢改變時,歷史資料可能一夕之間變得一文不值。例如,當人們從有線耳機轉換到無線耳機時,所有顧客的歷史資料都失去其預測價值。由於建議引擎仰賴舊的訓練資料,依然會 作出有線耳機的建議選項。利用把趨勢變化納入考量的合成資料,取代或加強歷史資料,可協助建議引擎持續做出有意義的建議。
6. 模擬不同的未來
如果改變即將發生,但實際方向仍不明確時,模擬資料可幫助公司推演不同情境模擬,為不同選項做好萬全準備。
7. 模擬「黑天鵝(black swan)」事件
某些情況極為罕見,可能完全不存在於歷史資料當中 – 但是萬一真的發生時,會對組織造成劇烈衝擊,那麼就有必要未雨綢繆。使用合成資料來模擬這類使用案例,能幫助公司建立出模型來因應這類事件。
8. 模擬元宇宙
元宇宙(metaverse)包括虛擬世界、遊戲 3D 模擬、社交與商業環境 – 將會需要極大量的內容元素。建構元宇宙必須創造房間、建築物、景色等等,而雇用 3D 藝術家從無到有去創造所有這些內容,勢必代價昂貴。合成資料可以填補某些缺口,為虛擬世界中的環境、事件及互動創造出逼真且合宜的背景和物體。
9. 產生廣告圖像
事實上廣告客戶已經用合成影像來展示產品,例如,模特兒身穿毛衣的一張照片,可用來產生出同一個模特兒穿著同款毛衣但不同顏色的逼真照片。甚至還有圖像產生工具可以創造出擬真且獨特的臉孔,或是以不同陳列方式來展示家具。
[ 加入 CIO Taiwan 官方 LINE 與 Facebook ,與全球CIO同步獲取精華見解 ]
10. 用於軟體測試
使用真實資料來測試新軟體,可能會產生安全和隱私問題。看似真實資料的合成資料,可用來對軟體執行所有使用案例的測試,而不會冒著引入真實資料伴隨的風險。SSA 的 Blankenbaker 說:「如果我們想測試軟體基礎建設如何處理龐大數量的使用者帳號,我們可以輕易地寫一支程式,連接到我們的網站,登入合成的使用者帳號」。
11. 建立數位分身(digital twins)
在訴訟案件中,有時候律師會建立影子陪審團(shadow jury)來測試論點。企業組織可利用合成資料達到類似的效果。例如,2019 年,挪威勞工福利局建立了所有人口資料的合成版本。Gartner 的 Sicular 表示,這些資料每天都會重新產生,供許多外部組織使用。
12. 取代醫療和財務資料
使用真實客戶或病患的資料來訓練人工智慧模型、執行模擬、或是尋找有效治療方法或關聯性,從法規觀點來說,是非常危險的舉動。Constellation Research 副總裁兼首席分析師 Andy Thurai 表示,即使是經過匿名處理的真實資料,通常也可透過逆向工程(reverse engineering)還原出原始資料。合成資料沒有反匿名的風險,但仍可用來找出有用的洞察。
13. 用於銷售和行銷
在銷售團隊拜訪客戶,展示需要輸入資料的某項產品或服務時,使用的樣本資料越接近該客戶自身使用案例,效果當然越好。但是直接使用另一位客戶的資料可能會違反隱私權,此時,合成資料可以讓銷售團隊使用類似該客戶使用案例的資料來展示產品,而不會洩露任何敏感資訊。
全球管理顧問公司 AArete 的副總裁 Priya Iragavarapu 說:「想像今天有一間新創公司,想要創造一套醫療保健應用程式,他們可以利用合成的受保護健康信息(PHI, protected health information)來建立整套軟體框架,進而創造出可用來展示給客戶的點對點框架,不必煩惱和等待如何正確地使用真實的受保護健康信息」。
14. 測試人工智慧系統的偏見
如果人工智慧系統依據種族、宗教或其他非法考量而做出帶有歧見的決定,很可能會產生法規責任或是公關災難,更有可能的是兩者同時發生。在「黑箱」(black box)人工智慧系統及新的人工智慧技術例如神經網路(neural networks)中,很難找出人工智慧做出某項建議的原因。在這種情況下,可以設計出模擬真實世界人口統計變項的合成資料集,用來測試人工智慧系統,協助我們發現這類隱藏的偏見。
合成資料的產生
有時候,產生合成資料可以非常簡單。例如一份姓名清單,只要先有一份姓氏清單跟一份名字清單,接著隨機組合姓氏和名字,即可產生出合成的姓名清單。至於郵遞區號,可由一份郵遞區號列表隨機挑選而成,這對某些應用程式來說已足夠。不過,在某些應用情境下,可能必須對合成清單進行調整,比方合成的消費資料,必須與郵遞區號地區經常性的消費模式建立起關聯性。
Capgemini Canada 副總裁兼資料洞察領導人 Steven Karan 表示,大部份的資料集依然是透過 SQL 手動地選取資料並予以匿名化,然後再利用標準的編程語言進行淨化。
他說:「目前市場上還沒有商業現成的解決方案,雖然有少數新創公司提供合成資料解決方案,還沒有任何產品達到足以廣泛採用的程度」。
他進一步表示,因為尚無現成方案,多數資料科學家利用預先建構的軟體套件來產生合成資料集。
AArete 的 Iragavarapu 說道,要產生在統計學上有意義、且與使用案例相關、能夠反映真實資料的合成資料不是一件容易的事。近來,人工智慧和機器學習演算法被用來創造更有用且更具代表性的合成資料。例如,資料科學家開始利用生成對抗網路(GANs, generative adversarial networks)。
她說:「生成對抗網路是一種神經網路,對於實現合成資料可謂一大躍進」。
生成對抗網路的運作方式是由一套系統產生資料,比方一隻貓的影像,然後由另一套系統試圖判斷該影像是真實還是假造的。透過兩套系統的彼此競賽,生成的影像很快就會變得像真的一樣,真假難辨。
合成資料工具
對於產生合成資料有興趣的組織,目前已有一些工具可供使用,它們大多數是開放源碼。以下是部份建立合成資料的常見工具:
- GPT-J:OpenAI 人工智慧研究組織的 GPT-3 文字產生工具的開源替代方案。
- Synthea:醫療領域廣為使用的開源工具。
- scikit-learn:根據 Capgemini 的 Karan 表示,此工具產生的合成資料集,可用於迴歸(regression)、集群(clustering)及分類(classification),旨在產生出具備預測用途的資料集。
- symPy:適合由於較特定需求而必須建立更加客製化合成資料集的資料科學家使用,因為它支援客製化符號表達式的建立和開發。
- pydbgen:用來產生常見的資料集,例如電話號碼或電子郵件位址。
- synthpop:R 軟體套件,可用來產生合成的人口統計變項資料。
- faker:Python 軟體套件,可以產生合成資料例如:姓名、地址、電子郵件、社會安全號碼及其他資料。
- SDV:Python 工具,用來產生表單、關聯資料庫和時間序列模型。
合成資料最佳實踐
Gartner 的 Sicular 建議,才剛開始實驗合成資料的公司應由結構良好的資料著手,這類使用案例最容易部署,為公司帶來最初步的價值。例如,儲存姓名和社會安全號碼的資料庫,可輕易地被存有合成資料的資料庫取代,能提供商業效益而不會造成法規問題。
Constellation 的 Thurai 建議不要用合成資料同時進行模型的建立和測試工作,他說:「因為這麼做會造成誤判(false positive)。此外,不要為了省錢而全部使用合成資料,你還是需要一定數量的真實世界資料與合成資料混合才行」。
AArete 的 Iragavarapu 指出,另一種錯誤作法是用合成資料找出事件的關聯性,或是產生合成的離群值(outlier),除非有特定的邏輯可用來產生這種資料,否則此作法不恰當。
他補充道:「此外,我們必須永遠清楚註明在什麼地方使用合成資料以及在何處使用真實資料,維持面對客戶的公開透明」。
合成資料公司
各式各樣的公司開始建立合成資料,供企業人工智慧模型使用,包括這些公司:
- BiText
- Datagen
- Diveplane
- Gretel
- Hazy
- AI
- Mostly AI
- OpenAI
- Synthesized
- Tonic
- Ydata
(本文授權非營利轉載,請註明出處:CIO Taiwan)