注意: 雖然 JavaScript 對於本網站不是必需的,但您與內容的互動將受到限制。請開啟 JavaScript 以獲得完整的體驗。

與 Gretel.ai 結合使用 Python 生成合成位置資料

標題圖片來源:sylv1rob1 經 ShutterStock* 授權

Gretel.ai 如何使用 Python 訓練 FastCUT GAN,為世界上任何城市生成逼真的合成位置資料。

引言

在 Gretel.ai,我們的使命是讓開發人員和資料科學家能夠快速輕鬆地建立生產級合成數據。為了實現這一目標,我們設計了一系列 API,讓任何人都能在幾分鐘內上手,從而識別、轉換和生成必要的資料,為現代軟體應用程式和 AI/ML 模型的測試提供支援。Python 是 Gretel 大部分研究、開發以及 API 和工具包部署的引擎。從使用者體驗的角度來看,Python 豐富的庫和框架(例如,用於機器學習的 Scikit-learn 和 TensorFlow,用於文字處理的 Spacy,以及用於資料探索的 Numpy)、處理複雜資料結構的能力以及開箱即用的整合幫助我們確保 Gretel 平臺易於使用,並且可以擴充套件到任何工作流或專案。

在這篇文章中,我們將重點介紹我們如何——在 Python 的支援下——建立了一個 GAN 位置生成器,該生成器可以使用地圖影像和地理定位資料來建立新的合成訓練資料,這些資料可以幫助模型以高度統計準確性預測人類(或本例中的電動腳踏車)可能位於世界任何地方的位置。這種透過組合和情境化不同型別資料進行更好預測的概念驗證在各行各業都有應用——例如,改進醫療診斷和金融市場預測,甚至在元宇宙中構建逼真的模擬。

如果您想自己嘗試這個實驗,所有工具、程式碼和資料都是開源的,並且可以在 GitHub 上獲取。

過程概述

為使用者生成逼真的位置資料以進行測試或建模模擬是一個難題。目前的方法只是在框內建立隨機位置,將使用者放置在水路或建築物頂部。這種無法生成準確的合成位置資料的情況阻礙了許多需要多樣化複雜資料集來推動工作的創新專案。

Gretel 的方法是將電動腳踏車位置資料編碼為影像中的畫素來解決這個問題,然後將該資料作為影像翻譯任務進行訓練,類似於 CycleGAN、Pix2pix 和 StyleGAN。對於本研究,我們使用了由 pix2pix 和 CycleGAN 作者建立的較新的對比非配對翻譯 (FastCUT) 模型,因為它記憶體效率高,訓練速度快(即,適用於更高解析度的位置),並且在最小的引數調整下也能很好地泛化。

方法

在本案例研究中,我們想測試是否可以透過使用來自其他城市的公開電動腳踏車資料訓練 GAN 模型,準確預測一個城市中踏板車的位置。

為此,我們首先向模型輸入不同城市地圖的影像資料,包括華盛頓特區、丹佛和聖地亞哥,然後分別使用這些城市中電動腳踏車位置的表格資料訓練模型,其中還包括捕獲電動腳踏車交通流量的時間序列資料。以下是原始資料組合前後的示例

透過組合時間序列和影像資料建立情境學習

三步流程

訓練我們的模型有三個基本步驟。首先,我們建立了訓練資料。為此,我們從地圖上精確的電動腳踏車位置語料庫中建立了域 A,並從相同的地圖中建立了域 B,但沒有位置。

接下來,我們使用新的訓練資料(包括標記和未標記的地圖影像)訓練了我們的 FastCUT 模型。這是透過訓練模型將域 B → 域 A 進行翻譯來完成的。

最後,一旦我們的初始模型經過訓練,我們就生成了我們的合成數據集,然後我們用它來進一步測試和最佳化模型對新城市地圖的真實使用者位置的預測。這個生成過程需要下載目標位置的新地圖(域 C),然後在 FastCUT 模型上執行推理來預測踏板車位置(換句話說,翻譯域 C → 域 A),最後使用 OpenCV-Python 處理這些影像以找到電動腳踏車位置,然後將它們轉換為地理定位(即,經緯度)資料點。有了這些資訊,我們構建了合成位置資料集,並準備進行測試。

結果:聖地亞哥 → 舊金山 → 東京

我們的模型在真實世界的聖地亞哥電動腳踏車資料上進行訓練後,我們重複了最初的相同過程,即使用來自美國各個城市的影像資料訓練我們的模型,但隨後要求我們的模型預測缺失的電動腳踏車位置資料。輸出的預測結果與實際踏板車的準確、真實世界位置有 90% 的統計相關性!

換句話說,我們成功地在完全不同的環境和時間下投射了這些獨特資料屬性之間的關係。 真實世界與合成電動腳踏車位置的比較

我們還對東京市進行了相同的過程和模型測試,也取得了類似的積極結果。請注意,根據城市在世界上的位置,每個經度或緯度之間的物理距離可能存在顯著差異,我們需要使用基於橢球體的模型來計算畫素到位置對映時的精確偏移量。幸運的是,geopy Python 庫使得這很容易。 東京市中心預測的電動腳踏車位置

在檢視東京的資料時,確實存在一些假陽性,特別是水域位置的生成。也許進一步的模型調優,或者在訓練資料中提供更多水域的負面示例(域 A 或域 B)會減少假陽性。然而,結果令人鼓舞(考慮到很少的模型或資料集調優),模型似乎能夠模仿它在世界不同地區使用地圖訓練的電動腳踏車資料集的分佈和位置。

重要的啟示是,這是一個概念驗證,您可以隨時隨地對合成位置資料進行準確預測,因為底層屬性是可互換的(至少在處理電動腳踏車時是如此)。

結論

在這篇文章中,我們嘗試將視覺領域(例如城市地圖資料)的上下文與表格資料結合起來,為全球城市建立逼真的位置資料。這項激動人心的案例研究對各行業高階軟體應用程式和強大 AI/ML 模型的開發具有深遠的影響。例如,總有一天,使用類似的機器學習技術,醫療保健從業者可以快速處理書面醫生筆記的文字以及 X 射線影像,然後合成這些資料的安全版本,用於更好地診斷和治療患者。有了高質量的合成數據(和一些 Python 程式碼),可能性是無限的。

親自嘗試這個實驗,讓我們知道您認為 FastCUT GAN 位置生成器有哪些激動人心的用例。

關於作者 Alex Watson 是 Gretel.ai 的聯合創始人兼首席產品官,Gretel.ai 是合成數據的開發者棧。