見出し画像

銀行データのような合成データを人工的に作ってみた

三菱UFJフィナンシャル・グループの戦略子会社であるJapan Digital Design株式会社でデータサイエンティストをしている高田です.

本記事では,合成データと呼ばれる技術にまつわる概念やモデルを紹介し,合成データを生成する実験の手法と結果を共有します.実験は2023年8月に弊社のインターン生の成田大起さん (早稲田大学 基幹理工学研究科 情報理工・情報通信専攻 当時修士1年生) に行っていただきました.

合成データは実際のデータをもとに生成された人工的なデータであり,機密性の高いデータに適用するための機械学習モデルの開発に役立つ可能性を秘めています.しかし,そのようなデータを扱うには,元々のデータのプライバシーが十分に保護されている必要があります.
本記事の実験では,銀行のデータに近い公開データを用い,プライバシーを保護する複数の生成モデルで合成データを生成し,合成データの質を比較しました.


背景

合成データとは

合成データとは,実際のデータ (実データ) の統計的性質を反映しつつも,実データとは異なる,人工的に生成されたデータです.合成データを生成する目的にもよりますが,元々機密性の高いデータをセキュリティが比較的厳重でない環境や外部と共有された環境で利用して機械学習モデルを開発する場合には,合成データの内容から実データの内容を推定できないようにすることで,実データのプライバシーを保護する必要があります.

合成データの分野はUniversity of Cambridgeなどを拠点とするvan der Schaar研究室により精力的に研究されており,その研究室によるブログや,ブログの下部に貼られているICML 2021チュートリアル,NeurIPS 2021ワークショップ招待講演の動画とスライドが参考になります.

合成データは金融機関からも注目されており,特にJ.P. Morganは合成データに関する論文を複数発表してきました.J.P. Morganの合成データ研究についてはホームページ上のブログ出版リストを参照してください.また,金融分野における人工知能・機械学習の活用に関する学会であるICAIF (International Conference on AI in Finance) では,合成データに関するワークショップが2022年2023年に開催されました.

合成データの意義

合成データ生成に取り組む動機はvan der Schaar研究室によるICML 2021チュートリアル (van der Schaar & Alaa, Synthetic Healthcare Data Generation and Assessment: Challenges, Methods, and Impact on Machine Learning, ICML Tutorial, 2021) やJ.P. Morganによる論文 (Assefa, Generating synthetic data in finance: opportunities, challenges and pitfalls, NeurIPS Workshop on AI in Financial Services: Data, Fairness, Explainability, Trustworthiness, and Privacy, 2019) において様々に挙げられていますが,それらを整理すると以下のようにデータの柔軟な利用,データの補完に大きく分けられると考えています.

1点目のデータの柔軟な利用は,本記事で特に焦点を当てている動機です.例えば金融機関のデータは機密性が高いことが多く,機械学習モデルの開発に利用しやすい環境に置かれているとは限りません.弊社では機密性の高いデータを,セキュア環境と呼ばれるインターネットから遮断された環境に格納しています.セキュア環境ではデータ分析プラットフォームのDatabricksを使ってモデルを開発できますが,通常の環境と比べると作業する上での制約が存在します.そこで,実データとは異なるが実データの性質を反映した合成データを用いることで,より機械学習モデルを開発しやすい環境でモデルを開発することができるかもしれません.

また,合成データを生成することで,他社やアカデミアなどの外部とデータを共有したり,共同でモデルを開発したりすることも可能になるかもしれません.加えて,研究発表などの機会に合成データを公開すれば,分析の再現性を担保することができます.

2点目のデータの補完はいくつかの利用法に分けられます.例えば不正検知では多くの場合,不正サンプルが正常サンプルに比べて圧倒的に少なく,クラスの不均一性が存在するため,不正サンプルを人工的に生成することでモデルの予測性能を向上させられる可能性があります.また,相場急落や景気後退などの珍しい事象を想定した合成データを使って戦略をテストしたいといった動機も存在します.

加えて,実データに不公平性が存在したとしても,公平なデータを人工的に生成することでモデルの予測を公平にする研究もあります (論文Breugel et al., DECAF: Generating Fair Synthetic Data Using Causally-Aware Generative Networks, NeurIPS, 2021を参照).例えば銀行のデータに対しては,過去の融資データから学習したモデルが人種や性別などに関するバイアスを元に融資の判断をしてしまうことを防ぐといった利用法が考えられます.

プライバシー保護

上述したように比較的セキュリティが厳重でない環境で合成データを利用するには,実データのプライバシーが保護されている必要があります.言い換えると,仮に合成データの内容が外部に漏れたとしても実データの内容を推定できないようにする必要があります.

このようなプライバシーの代表的な概念として,差分プライバシーが知られています.大雑把に説明すると,実データから合成データを生成するアルゴリズムが差分プライバシーを満たしているとは,実データから任意の1サンプルを除いてから (あるいは実データに任意の1サンプルを加えてから) 生成した合成データが,元の実データから生成した合成データとほぼ見分けがつかないことを指します.合成データの生成モデルが差分プライバシーを満たすようにするには,生成モデルの学習時の勾配などにノイズを加えるという方法があります.なお,差分プライバシーの概念自体は合成データに限定されるものではありませんが,以下では議論を簡単にするため合成データに関する差分プライバシーに限定して説明を続けます.

差分プライバシーはプライバシーレベルε,失敗確率δという2個の調整可能なパラメータを持っています.ε, δともに小さいほどプライバシーが強く保護されていることを意味しますが,δは小さな値に固定し,εを求められるプライバシーレベル (実データのサンプル除去に対して合成データの見分けがどの程度つかなければよいか) に応じて調整することが多いです.もちろんプライバシー保護という意味ではεが小さいに越したことはありませんが,εが小さすぎると合成データの性質が実データとかけ離れるおそれがあるため,εを適切に設定する必要があります.差分プライバシーについては,LayerXのブログや,原論文 (Dwork, Differential Privacy, ICALP, 2006 (リンク先のMicrosoftホームページのPublicationボタンから閲覧可能)),書籍 (Dwork & Roth, The Algorithmic Foundations of Differential Privacy, 2014 (リンク先のPDFボタンから閲覧可能)) を参照してください.

差分プライバシーとは別のプライバシーに関する指標として,Identifiability Scoreを紹介します.この指標は下記で説明するADS-GANという生成モデルの論文 (Yoon et al., Anonymization Through Data Synthesis Using Generative Adversarial Networks (ADS-GAN), IEEE Journal of Biomedical and Health Informatics, 2020) の中で提案されました.Identifiability Scoreは,実データサンプルのうち,自分以外の実データサンプルよりも合成データサンプルの方が近くに存在するようなサンプルの割合を表します.近くに存在するかどうかは,特徴量空間におけるEuclid距離で測ります.状況に応じて距離を計算する前に各特徴量に重みを付けることも可能です.

Identifiability Scoreが小さければ,それぞれの実データサンプルに対し,自分自身と異なる実データサンプルよりも離れた合成データサンプルから特定される可能性は少ないだろうという意味で,プライバシーが保護されていると言えます.差分プライバシーは合成データを生成するアルゴリズムに関する指標であるのに対し,Identifiability Scoreは実データと実際に生成された合成データを比較して算出する指標になります.

合成データの生成モデル

以下では,今回の実験で利用する合成データの生成モデルを紹介します.

合成データ生成手法としては,統計値をベースにした手法,Baysian Network, VAE (Variational Autoencoder), GAN (Generative Adversarial Network), Normalizing Flow, Diffusion Modelをもとにした手法など,様々に存在します.

実験で利用するモデルはGANをベースにしているため,まずはGANの説明をします.GANは日本語では敵対的生成ネットワークと呼ばれ,Generator (生成器) とDiscriminator (識別器) の2つによって構成されます.Generatorは何らかの事前分布をもとに合成データを生成します.一方,Discriminatorは入力されたサンプルが実データか合成データかを判定しようとします.GeneratorとDiscriminatorの2つを訓練することで,GeneratorはDiscriminatorに合成データ (偽のデータ) と見分けられないようなデータを生成しようとするようになります.このように両者を敵対的な関係におくことで,合成データが実データに近く,より「リアルな」データになります.

今回の実験で利用するモデルはDP-GAN, PATE-GAN, ADS-GANの3個です.今回は合成データの生成において,様々な生成モデルを用意しているSynthcityというライブラリを利用しました.ライブラリの利用にあたっては論文Qian et al., Synthcity: facilitating innovative use cases of synthetic data in different data modalities, arXiv, 2023も参照してください.
上記の3個のモデルは,Synthcityが提供している,プライバシーを何らかの意味で保護する生成モデルです.なお,Synthcityは差分プライバシーを保証する生成モデルとしてPrivBayes (論文Zhang et al., PrivBayes: Private Data Release via Bayesian Networks, ACM Transactions on Database Systems, 2017を参照) も用意していますが,実際に動かそうとしたところメモリが数100GBあっても足りず比較対象から外したため,モデルの仕組みに関する説明は割愛します.

DP-GAN (論文Xie et al., Differentially Private Generative Adversarial Network, arXiv, 2018を参照) は,GANの一種であるWGAN (Wasserstein GAN) の学習において,Discriminatorに関する勾配にノイズを加えることで差分プライバシーが満たされるようにした生成モデルです.

DP-GANの構造 (van der Schaar & Alaa, Synthetic Healthcare Data Generation and Assessment: Challenges, Methods, and Impact on Machine Learning, ICML Tutorial, 2021のスライドから引用)

PATE-GAN (論文Jordon et al., PATE-GAN: Generating Synthetic Data with Differential Privacy Guarantees, ICLR, 2019を参照) はGANのDiscriminatorにPATE (Private Aggregation of Teacher Ensembles) を利用することで差分プライバシーが満たされるようにした生成モデルです.PATEの枠組では,分割した実データそれぞれにつき,実データと合成データを識別するTeacher Modelを別個に訓練したあと,合成データに対するTeacher Modelの予測にノイズを加えてから多数決をとります (正確には各クラスに投票したTeacher Model数にノイズを加えた上で最もスコアの高いクラスを採用します).このようにして複数のTeacher Modelに付与されたラベルを教師としてDiscriminatorであるStudent Modelを訓練します.Generatorは通常のGANと同様にDiscriminatorを騙すように (すなわち合成データが実データに見えるように) 訓練します.

PATE-GANの構造 (van der Schaar & Alaa, Synthetic Healthcare Data Generation and Assessment: Challenges, Methods, and Impact on Machine Learning, ICML Tutorial, 2021のスライドから引用)

ADS-GAN (論文Yoon et al., Anonymization Through Data Synthesis Using Generative Adversarial Networks (ADS-GAN), IEEE Journal of Biomedical and Health Informatics, 2020を参照) は,Generatorの訓練を行う際に,Identifiability Scoreを正則化項として損失関数に加えることで,Identifiability Scoreを小さくしつつ合成データを生成する手法です (差分プライバシーは保証しません).
ただし,正則化項のIdentifiability Scoreはそのまま計算するわけではなく,計算コストを下げるような近似をします.具体的には,それぞれの実データサンプルから最も近い合成データサンプルまでの距離を,その実データサンプルから生成した合成データサンプルまでの距離で近似します.なおADS-GANでは通常のGANと異なり,Generatorが潜在変数だけでなく実データサンプルにも依存して合成データサンプルを生成するようになっています.

ADS-GANの構造 (van der Schaar & Alaa, Synthetic Healthcare Data Generation and Assessment: Challenges, Methods, and Impact on Machine Learning, ICML Tutorial, 2021のスライドから引用)

実験

実験目的

今回の実験目的は,銀行のデータに近いデータを用い,プライバシーを保護する生成モデルの中で最良の合成データを生成するモデルを明らかにすることです.
合成データを評価する1つ目の観点は実データと統計的性質が似ているかということです.合成データを生成したとしても,生成されたデータの性質が実データと異なっていると,分析やその後のモデル開発などに利用することができないため,できるだけ性質を保持しつつ合成データを生成したいと考えられます.
2つ目の評価観点はデータのプライバシーは保護されているかということです.データの機密性が高い場合,合成データから実データの内容を推定できてはいけません.

データセット

実験データセットはUCI Machine Learning RepositoryのBank Marketingです.このデータセットは,ポルトガルの銀行のダイレクトマーケティング (電話) によって顧客が定期預金に加入したかを示すデータで,特徴量には顧客の属性情報 (年齢,職業など) が含まれています.
銀行の代表的なデータとして,属性情報の他には送金情報 (いつ誰が誰に対していくら送金したかを表すデータ) がありますが,送金情報は時系列性やグラフ構造 (ネットワーク構造) を持っておりデータ生成が難しいため,今回はデータ生成の敷居が低い属性情報を採用しました.

生成モデル

上述の通り,今回の実験では合成データの生成モデルとしてDP-GAN, PATE-GAN, ADS-GANを利用しました.DP-GAN, PATE-GANについては,差分プライバシーのδを0.00001に固定し,εを調整しました.ADS-GANについては,Identifiability Scoreの正則化項の係数λを調整しました.いずれの生成モデルについても今回はハイパーパラメータ調整を行いませんでした.上述のように,合成データの生成にはライブラリのSynthcityを使いました.

評価指標

実験目的で記載した通り,合成データを評価する観点は,実データと似た性質を持っているか,実データのプライバシーは保護されているかという2点です.

1点目については,定期預金加入有無を予測するモデルの訓練とテストを行った際のROC AUCで測りました.具体的には,合成データで訓練された予測モデルの,実データに対するテスト結果のAUCが高ければ (実データで訓練して実データに対してテストした場合のAUCに近ければ),合成データは実データに近い性質を持っていると言えます.今回は予測モデルとしてLightGBMを用いました.他にも合成データの評価指標は存在しますが,今回は合成データを使った予測モデル構築を想定し,このような評価指標を設定しました.より詳しい設定は下記のデータ分割を参照してください.

2点目については,Identifiability Scoreを用いてプライバシーを保護できているかを確認しました.プライバシー保護の指標としては差分プライバシーの方が一般的ですが,今回利用したADS-GANは差分プライバシーを満たさないため,実際に生成された合成データからプライバシー保護度合を測ることができるIdentifiability Scoreを使いました.

データ分割

実データの70%を訓練データ,残り30%をテストデータとし,合成データの生成には訓練データのみを用いました.評価指標のAUCの計算では,訓練データをそのままLightGBMの訓練に使った場合と,合成データを使ってLightGBMを訓練した場合の,テストデータに対するAUCを比較しました.いずれの場合もLightGBMの訓練に用いるデータはStratified 4-foldで分割して4個の予測モデルを作成し (訓練データまたは合成データの3/4で訓練),それぞれの予測モデルによるテストデータAUCを平均しました.今回はLightGBMのハイパーパラメータ調整は行いませんでした.

実験結果

各生成モデルについて,プライバシーの保護度合を調整しながらAUCと1 - Identifiability Scoreをプロットしたところ,下図のような結果になりました (便宜上Identifiability Scoreを1から引いた値をプロットしました).図中には各点に対応するεまたはλの値を記入しました (複数の値が書かれている場合はAUCとIdentifiability Scoreが等しかったことを意味します).
下図から,今回実験した3個の生成モデルの中では,PATE-GANによる合成データがプライバシーを保ちつつ,テストデータに対する予測性能も高いということがわかります.

合成データによる予測性能とプライバシー保護度合

DP-GAN, PATE-GANについては,εを大きくすると,プライバシーは保護されなくなる一方で,合成データは実データにより近いものとなり,グラフの左上に向かって移動する (AUCとIdentifiability Scoreが上がる) と予想されます.ADS-GANについては,λを大きくすると,Identifiability Scoreの正則化項の影響が大きくなるため,グラフの右下に移動する (AUCとIdentifiability Scoreが下がる) と予想されます.しかし今回の実験結果では,予想したような振る舞い (合成データによる予測性能とプライバシー保護のトレードオフ) を観察することはできませんでした.

DP-GANの結果では他の手法と比べて明らかにAUCが小さく,合成データの生成において実データの性質が保持されていません.Identifiability Scoreは小さいですが,プライバシーが保護されているというよりも,そもそも実データとは全然違うデータが生成されていると考えられます.

PATE-GANの結果では,εの増加に伴って概ねAUCは上がっているように見えますが,Identifiability Scoreは大きく振動しています.振動の原因は,PATE-GANがあくまで差分プライバシーを保証するモデルであってIdentifiability Scoreを直接小さくするわけではないためという可能性があります.

ADS-GANの結果では,テストデータに対する予測性能は高い一方で,プライバシーを保護できていません.近似が含まれるとはいえ,Identifiability Scoreが直接正則化項に含まれるにもかかわらず,他の生成モデルよりもIdentifiability Scoreが大きくなっています.今回はハイパーパラメータを調整しなかったため,ハイパーパラメータ調整によってIdentifiability Scoreが小さくなる可能性はあります.また,Identifiability Scoreの振動が誤差の範囲かは現時点で不明ですが,乱数の値について平均をとることで振動が収まるかもしれません.

まとめ

本記事では,銀行のデータに近い公開データを用い,DP-GAN, PATE-GAN, ADS-GANという3個の生成モデルによる合成データ生成を試しました.各生成モデルについてプライバシーの保護度合を調整した結果,PATE-GANによる合成データがプライバシーを保護しつつ実データの性質を保っているという結果になりました.今回の実験結果では合成データによる予測性能とプライバシー保護のトレードオフが見られませんでしたが,ハイパーパラメータ調整や乱数に関する平均によってトレードオフを観察できる可能性はあります.

また,今回利用したデータセット (ポルトガルの銀行における顧客の属性情報と定期預金加入有無) は行ごとに独立していると見なせるため,プライバシーを保護する合成データの生成モデルが複数存在しており,ライブラリのSynthcityを使って合成データを比較的容易に生成することができました.一方,例えば銀行の送金情報のように時系列性とグラフ構造 (ネットワーク構造) を有するデータの場合,今回利用した生成モデルをそのまま適用することはできず,合成データ生成のハードルははるかに高くなります.

以上,合成データの技術紹介と実験結果の共有でした.実験を行っていただいたインターン生の成田大起さんにこの場で感謝申し上げます.最後までご覧いただきありがとうございました.


Japan Digital Design株式会社では,一緒に働いてくださる仲間を募集中です.カジュアル面談も実施しておりますので下記リンク先からお気軽にお問合せください.

この記事に関するお問い合わせはこちら.

M-AIS
Kabuki Takada (高田珠武己)