📝
表形式の合成データに関するサーベイ論文の紹介

はじめに
2000年代に第三次人工知能(AI)ブームが到来して以来、正確なAIモデルを構築するためのビッグデータの重要性がますます注目されています。しかしながら、いくつかのAIの研究分野では、プライバシー保護の観点から自由に実データを使用することが難しい状況に直面しています。
この状況を打破するために最も有力だと考えられているのは、合成データの利用です。合成データとは、実データの性質を保持したまま人為的に生成された偽データのことです。2030年までに、AIモデルの構築に用いるデータとして、合成データが実データに完全に取って代わることが予想されています[1]。
このような背景から、近年、合成データの生成に関する研究が盛んに行われており、画像やテキストに対する合成データの生成について数多くの方法が提案されております(たとえば、文献[2-4]を参照)。一方、最も頻繁に利用される表形式データに対する合成データの生成はそれほど行われておらず、表形式の合成データに関する情報を、特に日本語で、入手することは難しいです。
そこで本記事では、表形式データに着目したサーベイ論文[5,6]を参考に、表形式の合成データにおける代表的な生成方法と評価方法についてご紹介します。
表形式の合成データ
表形式の合成データは、下に示す3つの目的のために主に用いられます。
- データ拡張[7]
- データ補完[8,9]
- リバランス[10]
データ拡張はデータの水増しを行うこと、データ補完はデータ中の欠損値を補うこと、リバランスはデータの不均衡の是正を行うことです。詳しくは、上で示した文献をご参照ください。また、表形式の合成データは秘匿情報を含むデータを活用した機械学習[11]にも用いられており、プライバシーテックの発展の鍵となる可能性があります。
表形式の合成データの生成が画像やテキストの合成データの生成に比べてあまり行われていない理由は、データ構造の性質にあります。画像データや言語データとは対照的に、表形式のデータは離散値特徴量と連続値特徴量が混在しており、不均一な場合が多いです。また、一般に、画像データや言語データに比べて表形式のデータの特徴量の相関は弱いです。このような理由から、有用な表形式のデータセットを合成することが困難であり、Kadraら[12]は表形式のデータセットを深層学習モデルの”last unconquered castle (最後の征服されていない城)”と呼んでいます[6]。
生成方法の分類
Hernandezら[5]は、2016年1月1日から2021年5月17日までに公開された査読付き出版物に限定して、表形式の合成データに関する様々な生成方法を調査しました。その結果、表形式の合成データの生成方法は、次の3つのアプローチに分類できることを示しました。
古典的アプローチ
- ベースライン手法:モデルを使用せず、値の置換や秘匿情報の削除及びノイズの追加による手法。
- 統計モデル:元データの相関構造を反映させたモデルを用いる手法。
- 機械学習モデル:元データと非常によく似た新しいデータを予測することを学習した機械学習モデルを用いる手法。
深層学習によるアプローチ
- オートエンコーダー[13]:教師なし学習の一種であるオートエンコーダーを用いる手法。
- 敵対的生成ネットワーク[14]:GeneratorとDiscriminatorという2つのニューラルネットワークで構成される深層学習モデルを用いる手法。この手法については、次節でより詳しく紹介します。
- アンサンブル法:2つの異なるタイプの深層学習モデルを用いる手法。
その他のアプローチ
- CoMSER[15]:公的に使用可能な健康情報統計(Health Information Statistics, HIS)と経験豊富な臨床医の知識に基づく手法。
- Aten Framework[16]:必要な知識と実データの特性、合成データの現実性を考慮しながら生成する手法。
- SynSys[17]:隠れマルコフモデルを応用する手法。
- Synthea[18]:事前に定義されたモジュールを用いて合成データをシミュレートする手法。
- Prophet[19]:加法的モデルに基づいて時系列データを予測する手法。
![表形式の合成データにおける生成方法の分類図。Hernandez et al. (2022)[5]のFig. 2を参考に作成。](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/acompany-engineer/9b20a248-f0c3-4f27-a4b8-c8b16f986d67/102f353e18a534a7963cbdbfdc43ab00.png)
上記の手法のうち、特に医療分野において、ベースライン手法や統計モデルはあまり使用されておらず、機械学習モデルや深層学習によるアプローチが主に使用されているようです。また、その他のアプローチで示した方法は、個別のケースで威力を発揮するアルゴリズムやモデルとして提案されたものです。
合成画像のデータ生成に対して優れた手法であると注目されている敵対的生成ネットワーク(GAN)は、表形式のデータ生成に対しても有用であると考えられています。そこで次は、GANを用いた表形式の合成データの生成方法についてまとめます。
GANに基づく生成方法
Alqahtaniら[14]が定義したように、基本的な GANのアーキテクチャは、Generator(G)とDiscriminator(D)の2つのニューラルネットワークで構成されます。Gはノイズベクトルを入力として受け取り、合成データを生成します。Dは、G によって生成された合成データが本物(実データ)であるかどうかを判断します。このプロセスを繰り返すことで、GはDからのフィードバックを使用して、ますます本物に近い現実的な合成データを生成するようになります。このようなGANを改良し、さらに高精度な表形式の合成データを生成する方法がいくつか考え出されています。以下に、論文[5]で示されている代表的な方法を挙げます。
- ehrGAN[20]:現実的な電子健康記録(Electronic Health Record: EHR)を生成するために考案されたモデル。Dはシグモイド活性化関数を備えたレイヤーで構成され、Gは2つの連続する接続レイヤーを持つディープ畳み込みニューラルネットワークによってエンコードされます。また、G にはエンコーダー/デコーダーとして畳み込みニューラルネットワーク(CNN)が搭載されているため、変化に乏しい出力を繰り返してしまう問題(モード崩壊問題)を回避することができます。
- medGAN[21]:オートエンコーダー(AE)とGANを組み合わせることで、バイナリ及びカテゴリデータを生成する際のモード崩壊問題の回避を試みたモデル。medGANを改良するための様々な研究が行われています。
- DCGAN[22]:GとDの2つのネットワークにCNNを用いたモデル。DCGANについての詳しい説明は、次の記事の該当箇所をご参照ください。https://acompany.tech/privacytechlab/合成データアルゴリズム-table-gan/
- Supervised GAN[23]:Dと分類器(Classifier, C)の両方のフィードバックに基づいてGが学習を行うモデル。G, D, Cの3つのニューラルネットワークはLong Short-Term Memory(LSTM)とフィードフォワードネットワークで構成されており、Dはシグモイド活性化関数を使用し、Cはソフトマックス活性化関数を使用します。
- SC-GAN[24]:医療分野で、患者の状態と投薬量に関する情報を同時に生成するために提案されたモデル。2層双方向LSTMのD、患者の状態を表す2層LSTMのG、投薬量を表す2層LSTMのGの3つで構成されています。投薬量を表すGは患者の状態とランダムノイズベクトルを入力としてデータを生成し、患者の状態を表すGは以前の状態、投薬量、および、ランダムノイズベクトルを入力として使用します。
- AC-GAN[25]:対応するクラスに分類されたデータを生成するモデル。ランダムノイズベクトルを入力として使用し、指定されたクラスを生成するようにGが訓練されます。生成された合成レコードはDの訓練のために使用されます。従来のGANとの違いは、作成する必要のあるクラスをGが認識しているところにあります。 差分プライバシー(DP)の導入も試みられています。
- WGAN[26]:Wasserstein GANの略で、モード崩壊問題を解決するためにWasserstein距離関数を使用するモデル。このモデルは多くの研究のベースになり、他のモデルやDPと組み合わせて使用されています。
- GcGAN[27]:ehrGANと同様、より現実的なEHRを生成するために提案されたモデル。変数グループごとに1つのエンコーダー/デコーダーで構成されるGは隠れた関係を学習し、データを合成します。Gではバッチ正規化層が使用され、Dではスペクトル正規化が使用されます。
- DAAE[28]:medGANと同様、AEとGANの両方を組み合わせてデータの連続潜在分布と離散データ分布を学習するモデル。seq2seq AE、Inner GAN、Outer GANの3つで構成されています。seq2seq AEでは、エンコーダーが入力シーケンスを離散分布から連続分布にマッピングし、デコーダーが元のデータ分布によく似たモデル分布を生成します。Inner GANでは、潜在分布をコード分布と一致させます。Outer GANでは、デコーダーを敵対的に最適化し、Dを騙す合成分布を生成します。
GANに基づく生成方法の評価
ここでは、GANに基づく生成方法で紹介した手法における合成データの類似性、有用性、秘匿性の評価を示します。
類似性評価
合成データの類似性は、次のように評価されます。
- 変数分布の比較:実データの分布と合成データの分布を比較します。
- データ特徴量の比較:合成データの特徴量を実データに対する類似度合いによって分類します。
- 次元確率や確率分布の比較:実データと合成データの確率分布を計算し、それらを比較します。
- 専門家との協議:作成した合成データの評価を専門家に依頼します。
- データの類似性:合成データから合成データ、実データから合成データ、実データから実データを作成し、それぞれの類似度合いを比較します。
- ピアソンの相関係数:ピアソンの相関係数を用いて変数間の相関度合いを比較します。
- 最頻値の比較:実データと合成データの最頻値を比較します。
- 平均絶対値誤差と標準偏差の比較:実データと合成データの平均絶対値誤差および標準偏差を比較します。
- 統計的検定:Welchのt検定やStudentのt検定などの統計的検定を行い、P値を比較します。
- 可視化:主成分分析やヒストグラム、相関行列を用いて視覚的に類似度合いを評価します。
- 最近接の敵対的精度と類似損失:実データと合成データの距離を表す最近接の敵対的精度を計算し、それらを組み合わせることで類似損失を求めます。類似損失が0.5未満であれば、得られた合成データと実データは似ていると言えます。
- 平均トレンドの比較:実データと合成データの平均トレンドをグラフで比較します。
- 機械学習の利用:実データか合成データかを分類するように訓練された機械学習のモデルを用います。
有用性評価
合成データの有用性は、次のように評価されます。
- 機械学習モデルの訓練用データ:実データで訓練された機械学習モデルを合成データで訓練されたモデルと比較し、モデルパフォーマンスの差を評価します。
- 機械学習における合成データの使用:実データで訓練し実データでテスト(TRTR)、合成データで訓練して実データでテスト(TSTR)、実データで訓練して合成データでテスト(TRTS)、合成データで訓練して合成データでテスト(TSTS)の4パターンを用いて評価します。モデルの性能を評価するために、F1スコアやROC、AUCなど様々な測定基準を使用します。
秘匿性評価
合成データの秘匿性は、次のように評価されます。
- 完全レコードと属性の開示:攻撃シナリオをシミュレートして、完全なレコードといくつかの属性の開示について検証します。
- 最近接レコードまでの距離:合成データの番目のレコードと実データの番目のレコードのユークリッド距離を計算し、この値が 0 に近いほどプライバシー保護が優れているとします。
- メンバーシップ攻撃:メンバーシップ攻撃を行い、攻撃者がデータを開示できるかどうかを確認します。
- 最大RTS類似度:モデルが実データを記録および保存し、データを生成する際にそれをコピーしていないかどうかを検証します。
- 差分プライバシーの利用:同じモデルに対してDPを使用しない場合と使用する場合の2つのケースで比較検証します。
- プライバシー損失: プライバシー損失(たとえば文献[29]など)の値を比較します。
- MMD:属性の確率空間の距離を表すMaximum Mean Discrepancy (MMD)を計算します。合成データのMMDが実データのMMDよりも低い場合、プライバシーが保持されないことを表します。
- JSダイバージェンスとWasserstein距離:JSダイバージェンスとWasserstein距離を用いて、合成データにおける識別可能性と質のバランスを計算します。
- 差分プライバシーコスト:差分プライバシーコストと呼ばれるものを導入し、プライバシーを分析します。詳しくはLeeら[30]の研究をご参照ください。
![表形式の合成データにおけるGANに基づく生成方法の比較表。Hernandez et al. (2022)[5]のFig. 3を参考に作成。”-”はデータがないことを表す。Hernandez et al. (2022)[5]のFig. 3で重複するデータ(つまり、同一の手法に対して複数の結果が示されているもの)は以下のように処理した。Poor, Good, Excellentをそれぞれ0, 1, 2に対応させ、この値をとする。ここで、はそれぞれのデータのインデックスを表す。重複するデータ数をとし、を計算する。このとき、であればPoor、であればGood、であればExcellentとした。](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/acompany-engineer/afbd8adf-a021-40a0-956c-2335724524dd/83c22f0ac31212c69e4c50c4b45330f8.png)
表形式の合成データにおけるGANに基づく生成方法を類似性、有用性、秘匿性の評価方法を用いて”優れている(Excellent)”、”良い(Good)”、”悪い(Poor)”に分類した表を上に示します。この表を見ると、全て”Excellent”を示した一部の手法を除いて、それぞれの手法には一長一短があることがわかります。これは、生成したい合成データの特徴を認識した上で、適切な手法を選択する必要があることを意味します。なお、同じ生成方法を用いたとしても、データの型によって評価が変わる場合があることに注意しなければなりません。
Borisovらの論文[6]には、上で示した以外の表形式の合成データの生成方法も紹介されています。詳細は省略しますが、WGAN-GP[31]、Cramér GAN[32]、Boundary seeking GAN[33]、VeeGAN[34]、table-GAN[35]、CTGAN[36]、PATE-GAN[37]などがあります。
今後の動向
表形式の合成データの生成方法に関する数々の論文が出版されていますが、その生成方法に対する評価まで行っているものは少ないことが指摘されています[5]。したがって、今後の研究では、生成された合成データの類似性・有用性・秘匿性を評価するための客観的指標とベンチマークを定義することが不可欠だと考えられます。
また、それぞれのGANモデルには長所と短所があり、表形式の合成データを生成するための最良なGANモデルはないことがわかっています。そのため、GANモデルのさらなる改良を進め、すべてのタイプの表形式データで適切に機能するモデルを発見することが今後の課題です。
まとめ
本記事では、表形式の合成データにおける代表的な生成方法と評価方法についてご紹介しました。
- 表形式のデータでは、離散値特徴量と連続値特徴量の混在やデータの特徴量の相関の弱さが理由で、有用な表形式のデータセットを合成することは困難であると認識されている。
- 表形式の合成データの生成方法は古典的アプローチ・深層学習によるアプローチ・その他のアプローチの3つに分類され、機械学習モデルや深層学習によるアプローチが主に使用されている。
- 表形式の合成データにおけるGANに基づいた生成方法は数多く提案されているが、それぞれの手法に長所と短所があるため、生成したい合成データの特徴を認識した上で適切な手法を選択する必要がある。
参考文献
[1] https://www.gartner.com/en/newsroom/press-releases/2022-06-22-is-synthetic-data-the-future-of-ai
[2] K. Lin, D. Li, X. He, Z. Zhang, and M.-T. Sun, Adversarial ranking for language generation, in Proc. Adv. Neural Inf. Process. Syst., 1 (2017).
[3] S. Subramanian, S. Rajeswar, F. Dutil, C. Pal, and A. Courville, Adversarial generation of natural language, in Proc. 2nd Workshop Represent. Learn. NLP, 241 (2017).
[4] T. Karras, S. Laine, M. Aittala, J. Hellsten, J. Lehtinen, and T. Aila, Analyzing and improving the image quality of StyleGAN, in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), 8110 (2020).
[5] M. Hernandez, G. Epelde, A. Alberdi, R. Cilla, and D. Rankin, Synthetic data generation for tabular health records: A systematic review, Neurocomputing, 493, 28 (2022).
[6] V. Borisov, T. Leemann , K. Seßler , J. Haug , M. Pawelczyk , and G. Kasneci, Deep neural networks and tabular data: a survey, IEEE Trans. Neural Netw., 1 (2022).
[7] H. Chen, S. Jajodia, J. Liu, N. Park, V. Sokolov, and V. S. Subrahmanian, FakeTables: Using GANs to generate functional dependency preserving tables with bounded real data, in Proc. Twenty- Eighth Int. Joint Conf. Artif. Intell., 2074 (2019).
[8] L. Gondara and K. Wang, MIDA: Multiple imputation using denoising autoencoders, in Proc. Pacific–Asia Conf. Knowl. Discovery Data Mining. Cham, Switzerland: Springer, 260 (2018).
[9] R. D. Camino, C. A. Hammerschmidt, and R. State, Working with deep generative models and tabular data imputation, in Proc. ICML Artemiss Workshop, 1 (2020).
[10] M. Quintana and C. Miller, Towards class-balancing human comfort datasets with GANs, in Proc. 6th ACM Int. Conf. Syst. Energy-Efficient Buildings, Cities, Transp., pp. 391 (2019).
[11] J. Fan, J. Chen, T. Liu, Y. Shen, G. Li, and X. Du, Relational data synthesis using generative adversarial networks: A design space exploration, Proc. VLDB Endowment, 13, 12, 1962 (2020).
[12] A. Kadra, M. Lindauer, F. Hutter, and J. Grabocka, Well-tuned simple nets excel on tabular datasets, in Proc. Adv. Neural Inf. Process. Syst., 1 (2021).
[13] G. E. Hinton and R. R. Salakhutdinov, Reducing the Dimensionality of Data with Neural Networks, Science, 313, 5786, 504 (2006).
[14] H. Alqahtani, M. Kavakli-Thorne, and G. Kumar, Applications of Generative Adversarial Networks (GANs): An Updated Review, Arch. Comput. Methods Eng., 28, 525 (2021).
[15] S. McLachlan, K. Dube, and T. Gallagher, Using the CareMap with Health Incidents Statistics for Generating the Realistic Synthetic Electronic Healthcare Record, in 2016 IEEE International Conference on Healthcare Informatics (ICHI), 439 (2016).
[16] S. McLachlan, K. Dube, T. Gallagher, J. A. Simmonds, and N. Fenton, Realistic Synthetic Data Generation: The ATEN Framework, in: A. Cliquet Jr., S. Wiebe, P. Anderson, G. Saggio, R. Zwiggelaar, H. Gamboa, A. Fred, and S. Bermúdez i Badia (Eds.), Biomedical Engineering Systems and Technologies, Communications in Computer and Information Science, Springer International Publishing, 497 (2019).
[17] J. Dahmen and D. Cook, SynSys: A Synthetic Data Generation System for Healthcare Applications, Sensors, 19 (5), 1181 (2019).
[18] J. Walonoski, M. Kramer, J. Nichols, A. Quina, C. Moesel, D. Hall, C. Duffett, K. Dube, T. Gallagher, and S. McLachlan, Synthea: An approach, method, and software mechanism for generating synthetic patients and the synthetic electronic health care record, J. Am. Med. Inf. Assoc., 25(3), 230 (2018).
[19] J. Hyun, S. H. Lee, H. M. Son, J.-U. Park, and T.-M. Chung, A Synthetic Data Generation Model for Diabetic Foot Treatment, in: T. K. Dang, J. Kung, M. Takizawa, T. M. Chung (Eds.), Future Data and Security Engineering. Big Data, Security and Privacy, Smart City and Industry 4.0 Applications, Communications in Computer and Information Science, Springer, 249 (2020).
[20] Z. Che, Y. Cheng, S. Zhai, Z. Sun, and Y. Liu, Boosting Deep Learning Risk Prediction with Generative Adversarial Networks for Electronic Health Records, in: 2017 IEEE International Conference on Data Mining (ICDM), 787 (2017).
[21] E. Choi, S. Biswal, B. Malin, J. Duke, W. F. Stewart, and J. Sun, Generating Multi-label Discrete Patient Records using Generative Adversarial Networks, Proceedings of Machine Learning for Healthcare (MLHC).
[22] N. Park, M. Mohammadi, K. Gorde, S. Jajodia, H. Park, and Y. Kim, Data synthesis based on generative adversarial networks, Proc. VLDB Endowment 11(10), 1071 (2018).
[23] S. Norgaard, R. Saeedi, K. Sasani, and A. H. Gebremedhin, Synthetic Sensor Data Generation for Health Applications: A Supervised Deep Learning Approach, in: 2018 40th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC), 1164 (2018).
[24] L. Wang, W. Zhang, and X. He, Continuous Patient-Centric Sequence Generation via Sequentially Coupled Adversarial Learning, in: G. Li, J. Yang, J. Gama, J. Natwichai, Y. Tong (Eds.), Database Systems for Advanced Applications, Lecture Notes in Computer Science, Springer International Publishing, 36 (2019).
[25] B. K. Beaulieu-Jones, Z. S. Wu, C. William, R. Lee, S. P. Bhavnani, J. B. Byrd, and C. S. Greene, Privacy-Preserving Generative Deep Neural Networks Support Clinical Data Sharing, Circulation: Cardiovasc. Qual. Outcomes, 12(7) (2019).
[26] K. Chin-Cheong, T. Sutter, and J. E. Vogt, Generation of Heterogeneous Synthetic Electronic Health Records using GANs, in: Workshop on Machine Learning for Health (ML4H) at the 33rd Conference on Neural Information Processing Systems (NeurIPS 2019), ETH Zurich, Institute for Machine Learning, 1 (2019).
[27] F. Yang, Z. Yu, Y. Liang, X. Gan, K. Lin, Q. Zou, and Y. Zeng, Grouped Correlational Generative Adversarial Networks for Discrete Electronic Health Records, in: 2019 IEEE International Conference on Bioinformatics and Biomedicine (BIBM), 906 (2019).
[28] D. Lee, H. Yu, X. Jiang, D. Rogith, M. Gudala, M. Tejani, Q. Zhang, and L. Xiong, Generating sequential electronic health records using dual adversarial autoencoder, J. Am. Med. Inform. Assoc. 27 (9), 1411 (2020).
[29] A. Yale, S. Dash, R. Dutta, I. Guyon, A. Pavao, and K. P. Bennett, Generation and evaluation of privacy preserving synthetic health data, Neurocomputing, 416, 244 (2020).
[30] D. Lee, H. Yu, X. Jiang, D. Rogith, M. Gudala, M. Tejani, Q. Zhang, and L. Xiong, Generating sequential electronic health records using dual adversarial autoencoder, J. Am. Med. Inform. Assoc., 27 (9), 1411 (2020).
[31] I. Gulrajani, F. Ahmed, M. Arjovsky, V. Dumoulin, and A. Courville, Improved training of Wasserstein GANs, in Proc. 31st Int. Conf. Neural Inf. Process. Syst., 5769 (2017).
[32] M. G. Bellemare, I. Danihelka, W. Dabney, S. Mohamed, B. Lakshminarayanan, S. Hoyer, and R. Munos, The Cramér distance as a solution to biased Wasserstein gradients, arXiv:1705.10743 (2017).
[33] R. D. Hjelm, A. P. Jacob, T. Che, A. Trischler, K. Cho, and Y. Bengio, Boundary-seeking generative adversarial networks, in Proc. Int. Conf. Learn. Represent., 1 (2018).
[34] A. Srivastava, L. Valkov, C. Russell, M. U. Gutmann, and C. Sutton, VEEGAN: Reducing mode collapse in GANs using implicit varia- tional learning, in Proc. 31st Int. Conf. Neural Inf. Process. Syst., 3310 (2017).
[35] N. Park, M. Mohammadi, K. Gorde, S. Jajodia, H. Park, and Y. Kim, Data synthesis based on generative adversarial networks, Proc. VLDB Endowment, 11, 10, 1071 (2018).
[36] L. Xu, M. Skoularidou, A. Cuesta-Infante, and K. Veeramachaneni, Modeling tabular data using conditional GAN, in Proc. Adv. Neural Inf. Process. Syst., 33, 1 (2019).
[37] J. Jordon, J. Yoon, and M. Van Der Schaar, PATE-GAN: Generating synthetic data with differential privacy guarantees, in Proc. Int. Conf. Learn. Represent., 1 (2018).