社群計算機視覺課程文件
引言
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
簡介
你是否曾試圖為你的問題(無論是機器學習問題還是其他開發相關問題)獲取一些資料,但卻發現數據不足?資料要麼是閉源且你無法獲取,要麼獲取成本或時間成本過高。我們如何處理這種情況?
嗯,一個解決方案是合成數據。合成數據由模型生成,用於替代真實資料或與真實資料一起使用。這裡,我們所說的模型不僅指機器學習或深度學習模型;它們也可以是簡單的數學或統計模型,比如一組(隨機)微分方程,用於模擬物理或經濟系統。是不是有點興奮了?讓我們深入瞭解合成數據的細節:它是什麼,如何生成,以及它的好處。你現在可能已經能回答最後一個問題了 ;)
什麼是合成數據?
正如英國皇家學會所定義,合成數據是使用專門構建的數學模型或演算法生成的資料,以解決一個(或一組)資料科學任務。請記住,合成數據僅模模擬實資料,並非由真實事件生成。理想情況下,合成數據應具有與它所補充的真實資料相同的統計屬性。它有許多用途,例如改進人工智慧模型、保護敏感資料和減輕偏見。
為什麼要使用合成數據?
在回答這個問題之前,我們先來談談為什麼真實資料不再足夠。真實資料的一些非窮舉問題包括:
- 它可能很混亂,很難處理。
- 由於隱私問題,公司間的資料共享可能無法實現。
- 醫療資料是機密的,因此無法公開共享。
- 它可能存在偏見。
- 資料收集和標註可能成本高昂。
上述大部分問題都可以透過合成數據來解決:
- 合成數據以結構化形式生成,因此易於處理。
- 公司可以訓練合成數據生成模型,這些模型學習原始資料的分佈,但不會洩露原始資料中任何單個數據點的資訊,從而維護隱私。醫療資料也可以採取類似的方法。
- 我們可以訓練資料生成器模型來生成去偏見的資料。
- 合成數據可以與真實資料進行增強,以使模型或應用程式更具魯棒性。
如何生成合成資料?
這裡,我們提到了一些生成合成資料的方法:
- CAD & Blender:允許建立三維場景的光學真實影像資料集,同時控制引數。它可以透過將合成數據與真實資料(生成引數)進行比較來計算指標。這是一種非常穩健的方法,但生成質量、多樣性和數量有限。用例包括使用商業應用、生成合成人臉和監測野生動物。
- 深度生成模型(Transformers/GANs/擴散模型):允許擴充套件資料集、解決資料不平衡問題和隱私問題。非常方便和強大,但可能建立帶有偏見、不連貫和重複性的資料集,這會帶來重要的過擬合風險併產生有限的預測集。用例包括醫學影像生成、高效植物疾病識別、工業廢物分類、交通標誌識別和自動駕駛汽車應用的緊急車輛檢測。
在本單元中,我們將介紹以下生成合成資料的方法:基於物理的渲染、點雲和GAN。
合成數據的挑戰
既然我們已經瞭解了合成數據的力量和用途,現在讓我們花一些時間討論它的挑戰:
- 合成數據本身並不具備隱私性:合成數據也可能洩露其來源資料的資訊,並且容易受到隱私攻擊。生成私有合成數據需要非常謹慎。
- 異常值難以私密捕獲:異常值和低機率事件(通常在真實資料中發現)尤其難以捕獲並私密地包含在合成數據集中。
- 實證評估單個數據集的隱私性可能存在問題:嚴格的隱私概念(例如,差分隱私)是對生成合成資料集的機制的要求,而不是對資料集本身的要求。
- 生成合成資料時,黑盒模型可能尤其不透明:過度引數化的生成模型擅長生成高維合成數據,但這些資料集的準確性和隱私級別難以估計,並且在不同生成資料點之間可能差異很大。
資源
- 用於合成數據生成的機器學習:綜述
- 合成數據——是什麼、為什麼以及如何?
- 合成數據的一個非常有趣的應用程式:這個人不存在