追加実験: DPSynth の挙動を深掘りする
本ページは メインレポート の発見を掘り下げる追加実験です。
スコープはメインと同じく In-Memory DataFrame API のみ(Apache Beam 系は対象外)。
データ・サンプリング・列・評価指標はメインと共通(UCI Adult、20,000 行サンプル、seed=42、δ=1e-5)。
🔎 このページは全体が「考察」(本デモの実測・分析・推定)。google/dpsynth のドキュメント記載ではありません。 事実とドキュメント記載の対応はメインレポートの第10章「参考文献」を参照。
数値は本実行環境(
requirements.txt固定、Python 3.12.3)での結果。 実験B が示す通り個々の値はシード/環境で揺れるため、傾向を読み取ってください。
実験A: numerical_bins と数値列の忠実度
メインの発見「数値列(特に hours-per-week)が誤差の主因」を受け、
連続値の離散化ビン数 numerical_bins を変えて数値列の 1-way TVD を測定(MST, ε=1.0)。
| numerical_bins | age TVD ↓ | hours-per-week TVD ↓ |
|---|---|---|
| 8 | 0.381 | 0.827 |
| 16 | 0.214 | 0.263 |
| 32 | 0.080 | 0.522 |
| 64 | 0.105 | 0.157 |
所見: いずれの列も ビンを増やすほど単調に良くなるわけではない。age(なだらかな分布)は
bins=32 で最小(0.080)となり、64 では微増(0.105)した。hours-per-week(40 時間に鋭く集中)は
8→16 で大きく改善した後、bins=32 で悪化(0.522)し 64 で再び最小(0.157)になる 非単調な振る舞いを見せた。
ビンを増やすと分解能は上がるが、セル数が増える分 1 セルあたりの DP ノイズが相対的に大きくなるため、
分布形状・ビン数の組み合わせで最適点が変わる。
→ 数値列は「列ごとに適切なビン数を選ぶ」ことが重要(一律の既定値が常に最適とは限らない)。
なお本実測は単一シードであり、ビンごとの細かな上下にはシード変動も含まれる点に留意する。
実験B: マルチシード頑健性(数値の揺れの定量化)
メインの数値が単一シードで、再現環境では値が前後した件を受け、seed を変えて mean±std を測定(ε=1.0)。 3 機構とも 10 シード(Issue #20 で AIM を 5→10 に拡張)。
| 機構 | n(seeds) | 平均 1-way TVD | TSTR ROC-AUC |
|---|---|---|---|
| MST | 10 | 0.084 ± 0.022 | 0.651 ± 0.106 |
| INDEPENDENT | 10 | 0.091 ± 0.017 | 0.506 ± 0.065 |
| AIM | 10 | 0.099 ± 0.022 | 0.709 ± 0.051 |
所見: - 平均 1-way TVD は 3 機構で同程度(0.09〜0.10)。これは数値列の誤差が全機構で支配的なため(実験A参照)。 1-way TVD だけでは機構の優劣はほとんど判別できない。 - TSTR AUC は AIM(0.709)> MST(0.651)> INDEPENDENT(0.506) の順。 10 シードでは AIM が MST をやや上回る(差 0.058)が、両者の標準偏差(±0.05〜0.11)が重なるため、 優劣はシード次第で逆転しうる(AIM ≳ MST)。一方 INDEPENDENT は一貫して最下位(相関を捨てる構造的弱点)。 - 標準偏差が依然大きい(±0.05〜0.11)ことが、「単一シードの数値を鵜呑みにせず、複数シード平均で比較すべき」という メインの再現性注意を定量的に裏付ける。MST は ±0.11 と最も分散が大きく、機構間の小さな差を論じるには なお慎重さが要る。
実験C: 2-way(ペア)周辺分布の忠実度
1-way が揃っていても相関が保たれるとは限らない。属性ペアの同時分布の TVD を測定し、 相関保持力を直接比較した(ε=1.0、メインで生成済みの合成データを再利用)。
| 属性ペア | MST ↓ | AIM ↓ | INDEPENDENT ↓ |
|---|---|---|---|
| education × income | 0.024 | 0.064 | 0.131 |
| marital-status × income | 0.359 | 0.048 | 0.185 |
| occupation × income | 0.282 | 0.034 | 0.141 |
| age × income | 0.199 | 0.158 | 0.219 |
所見:
- AIM が 4 ペア中 3 ペアで最良(0.03〜0.16)。ワークロードに応じて有用なマージナルを適応選択するため、
ペア相関を広く保てる。例外は education×income で、ここは MST(0.024)が AIM(0.064)を上回った
——このペアは MST の全域木に載りやすく、AIM 側は他ペアへ予算を割いたためと考えられる。
- MST はペアによって明暗が分かれる。education×income は最良(0.024)だが、
marital-status×income(0.359)・occupation×income(0.282)は大きく崩れる。
MST は相関の最大全域木(1 本の木)しかモデル化しないため、木に載らないペアの同時分布は保たれにくい。
- 興味深いことに、これらのペアでは INDEPENDENT(0.185 / 0.141)の方が MST より良い。
「全ペアを独立と仮定する」素朴さが、MST の木が張る誤った相関より結果的にマシになる場合がある。
- 教訓: 「どのペア相関が重要か」が決まっているなら AIM(または該当ペアを含むワークロード指定)が有利。
MST は高速だが、関心のあるペアが全域木から外れると 2-way 忠実度を落とす。
実験D: メンバーシップ推論攻撃(MIA)による経験的プライバシー評価
DP は理論的に「個人の有無が出力をほとんど変えない」ことを保証する。これを経験的にも確かめるため、 標準的な距離ベースのメンバーシップ推論攻撃(MIA)を行った。
- メンバー(合成元の 20k に含む実レコード)と 非メンバー(未使用の holdout 実レコード)を各 2,000 件用意。
- 各レコードの 合成データへの最近傍距離 をスコアに、メンバー/非メンバーを当てる ROC-AUC を測る。 AUC ≈ 0.5 なら個人の有無は漏れていない(= 安全)。
- 対照として「合成データ = 訓練データそのもの(非DPのコピー)」を入れる。これは漏洩するはずで、攻撃が機能する証拠になる。
| 合成データ | MIA AUC ↓(0.5 ≒ 安全) |
|---|---|
| copy (非DP・対照) | 0.894 |
| MST ε=1 | 0.517 |
| AIM ε=1 | 0.509 |
| INDEPENDENT ε=1 | 0.504 |
| MST ε=0.5 | 0.517 |
| MST ε=2 | 0.516 |
| MST ε=10 | 0.514 |
所見:
- 非DPのコピーは AUC 0.894 と明確に攻撃可能(攻撃が機能している証拠)。
※ 1.0 に届かないのは、9 列に絞ると自然な重複レコードが多く、非メンバーにも一致先が偶然存在するため。
- DP 合成データはすべて AUC ≈ 0.51 と 0.5(漏洩なし)にほぼ張り付く。
機構・ε によらずメンバーシップの手がかりはほぼゼロで、マージナル(集計統計量)からのみ生成する DP 合成の安全性が経験的に裏づけられた。
- ε による差はほとんど出ない(0.51〜0.52)。これらの ε では既に漏洩信号が下限(0.5)付近に達しているため。
- 注釈: 現状は距離型 MIA の結果であり、シャドウモデル型 MIA は未実施(計算が重いため今後の課題 → Issue #26)。
距離型は平均的・比較的弱い攻撃で、外れ値個人を狙う最悪ケース評価ではない。これは1種類の経験的チェックであり、
DP の理論保証((ε, δ))を置き換えるものではない。
- ε による差が出ないのも距離型の弱さゆえで、ε–安全性のトレードオフを精査するにはシャドウモデル型が必要。
実験E: マルチシード ε スイープ(ε トレンドと確率的ばらつきの分離)
メインの図2(MST 単一シード)と AIM の単一シードスイープは、run-to-run 分散が ε トレンドを覆い、
とくに AIM では ε 依存を判定できなかった。そこで 3 機構すべてを ε=0.5/1.0/2.0/10.0 × 複数シードで生成し、
平均±標準偏差で ε–有用性を評価した(3 機構とも 10 シード。Issue #20 で
AIM を 5→10 に拡張し、3 機構を共通シード 0..9 の単一系列で再生成)。入力データは random_state=42 で固定し、
機構の seed のみ 0..9 を振って構造的傾向と確率的ばらつきを分離する。WSL 固定環境の単一系列での実測。
| 機構 | ε | n | 平均 1-way TVD ↓ | 相関誤差 ↓ | TSTR AUC ↑ |
|---|---|---|---|---|---|
| MST | 0.5 | 10 | 0.089±0.021 | 0.058±0.041 | 0.656±0.137 |
| MST | 1.0 | 10 | 0.090±0.023 | 0.073±0.058 | 0.690±0.075 |
| MST | 2.0 | 10 | 0.071±0.015 | 0.085±0.063 | 0.664±0.104 |
| MST | 10.0 | 10 | 0.061±0.002 | 0.066±0.069 | 0.669±0.093 |
| AIM | 0.5 | 10 | 0.098±0.023 | 0.114±0.096 | 0.819±0.023 |
| AIM | 1.0 | 10 | 0.087±0.023 | 0.022±0.011 | 0.693±0.072 |
| AIM | 2.0 | 10 | 0.076±0.022 | 0.019±0.009 | 0.829±0.016 |
| AIM | 10.0 | 10 | 0.064±0.002 | 0.024±0.008 | 0.878±0.006 |
| INDEPENDENT | 0.5 | 10 | 0.086±0.021 | 0.074±0.004 | 0.473±0.063 |
| INDEPENDENT | 1.0 | 10 | 0.088±0.018 | 0.076±0.006 | 0.510±0.036 |
| INDEPENDENT | 2.0 | 10 | 0.074±0.018 | 0.077±0.005 | 0.509±0.084 |
| INDEPENDENT | 10.0 | 10 | 0.061±0.003 | 0.083±0.008 | 0.522±0.077 |
所見:
- 分布再現性(1-way TVD)は 3 機構とも高 ε ほど改善し、標準偏差も縮む(ε=10 で AIM/MST ±0.002)。AIM は ε で単調に低下し、MST/INDEPENDENT は ε=0.5→1.0 に分散内の微増がある。
単一シードで見えた非単調(メイン図2 や AIM 単一シード)は分散由来で、シードを振ると消える。
マルチシード化によって ε トレンドが判定可能になった(単一シードで「判定不能」だった件の解消)。
- TSTR AUC の下流性能順序は ε によらず AIM ≳ MST > INDEPENDENT で安定。AIM は ε=0.5→1.0 に AUC の谷
(0.819→0.693)を持ち、これは 10 シードで実在する(ε=1.0 の全シード AUC が ε=0.5・ε=2.0 のどのシードより低く分布が重ならない)。
ε=1.0 は AUC 標準偏差が最大(±0.072、1 シードは AUC≈0.51)の不安定点でもあり、ε≥2 では単調向上・低分散に収束する(ε=10 で 0.878±0.006)。
- 相関誤差は ε≥2 で安定して AIM(0.019〜0.024)< MST(0.066〜0.085)に逆転する。ε=1 は本実行で AIM(0.022)< MST(0.073)だが、AIM の ε=1 相関誤差は run-to-run でも振れやすく、安定して言えるのは ε≥2 の逆転。
予算が増えると AIM は income 周りの相関を確実に捉えるようになる。詳細は AIM の解説 §7。
- INDEPENDENT は全 ε で AUC ≈ 0.47〜0.52 にとどまり、相関を捨てる構造的弱点が ε を上げても解消しないことを示す。
補足: 数値離散化への汎用的な向き合い方(実験Aの含意)
実験Aで見た通り、hours-per-week のような尖った分布はビンを増やすほど良いわけではない(セルが増えると 1 セルあたりの DP ノイズが増す)。
ただし列ごとに最適ビンを手で合わせるのはデモとして不適切(過剰適合)なので、汎用的な指針として:
- 既定は分位(等頻度)ビンのまま。dpsynth の
numerical_binsがそのまま汎用レバー。 - bins は "n·ε(データ量×予算)" に応じて選ぶ。中庸(16〜32)を基準に、データ・予算が潤沢なら増やす。タイトな予算で高ビンは逆効果。
- 真に適応的にしたいなら、列ごとに DP でビン境界を決める dpsynth 自身の
dp_auto_discretizer(分散側) が筋。これは個別最適化ではなく汎用機構だが重いので、本デモのスコープ外(今後の課題 → Issue #25)。
まとめ(追加実験から)
- 数値列はビン数のチューニングが効く。分布が尖っている列ほど、ビン過多は DP ノイズで逆効果(実験A)。汎用的には「分位ビン+ n·ε に応じた中庸なビン数」。
- 機構比較は複数シード平均で。1-way TVD は機構差を捉えにくく、TSTR はばらつきが大きい(実験B)。
- 相関保持は AIM > INDEPENDENT ≳/≈ MST(ペア依存)。MST の全域木制約は、関心ペアが木から外れると弱点になる(実験C)。
- DP 合成データは MIA に耐える。非DPコピーが AUC 0.89 で攻撃される一方、DP 合成は ≈0.5 で漏洩信号がほぼ無い(実験D)。
- ε トレンドはマルチシードで初めて判定できる。3 機構とも TVD は ε で単調改善、下流性能順序(AIM ≳ MST > IND)は ε 不変。AIM は ε=1 に 10 シードで実在する AUC の谷を持つが ε≥2 で向上し、相関誤差は ε≥2 で安定して MST を下回る(実験E)。
これらは「機構選択は目的(どの相関・どの下流タスクを重視するか)で決まる」「DP は有用性と引き換えに経験的にもプライバシーを守る」という DP 合成データの実務的な勘所を示している。