Can a Model Be Differentially Private and Fair?
新しいバンドをおすすめする機械学習システムを作りたいとします。多くの人にお気に入りのバンドをリストアップしてもらい、それを使ってモデルを学習させれば、便利で楽しいモデルができるかもしれません。しかし、モデルをうまく突けば、学習に使われた誰かの音楽嗜好を抜き出せてしまうかもしれません。ほかのモデルにも同様の脆弱性があり、言語モデルからはクレジットカード番号が、画像モデルからは実際の顔が再構成された例があります。
差分プライバシーで学習すれば、個々のデータポイントから取り出せる情報量を制限できますが、思わぬ副作用として代表性の低いサブグループの精度低下が起きることがあります。
機械学習モデルは通常、誤差関数を最小化するための細かなステップである勾配降下法で学習します。学習データがどのように漏えいするかを示すため、左上の孤立した 1 点だけが赤と青で異なる 2 つのデータセットを使って、赤と青の点を分ける単純なモデルを 2 つ学習させてみましょう。
学習を進めると、孤立点の付近で 2 つのモデルの境界線が大きく異なっていることに気付くはずです。学習済みモデルにアクセスできる人なら、左上が赤か青かを推測できてしまうかもしれません。もし色が誰かの投票履歴のような機微情報を表していたら、大問題です!
各学習ステップに 2 つの操作を追加することで、単一のデータポイントがモデルを大きく変えてしまうのを防げます。²
下のスライダーでノイズを増やしてみましょう。差分プライバシーを効かせたモデルを多数学習させることで、赤と青の外れ値に対する境界線のバリエーションが重なり合うほど、左上のデータ提供者にはより大きな言い逃れの余地が生まれます。
他の点をドラッグして配置を変えたり、勾配クリッピングを調整したりすることもできます。境界線への影響が大きいのは、中心にある点でしょうか、それとも外れ値でしょうか? 2 次元では外れ値の数は限られますが、高次元になるとたくさんの点が外れ値になり、学習済みモデルから抽出できる情報量が一気に増えます。
勾配クリッピングとランダムノイズを適切に組み合わせれば、差分プライバシー付きでモデルを学習できます。つまり、あるデータセットで学習したモデルは、1 点だけ変えた同じデータセットで学習したモデルと区別がつかないことを保証できるのです。
これが実際のデータではどう見えるのでしょうか? Distribution Density, Tails, and Outliers in Machine Learning では、差分プライバシーの強度を変えながら MNIST の数字モデルを多数学習させました。学習データ内の各数字を、正しく分類するために必要なプライバシーレベルでランク付けしています。
左下にある「3」の例を見てみましょう。学習データでは「3」とラベル付けされていますが、見た目は「2」や「9」に近いものばかりです。他の「3」と大きく異なるため、少しでもプライバシー保護を強化するとモデルは「3」と認識しなくなります。ある条件では、差分プライバシーがスプリアスな特徴の影響を抑えることで、学習していないデータへの一般化性能がむしろ向上する可能性も指摘されています。
右側には、典型的な数字が高いプライバシーレベルでも正しく分類されている例が示されています。これらは学習データ中の他の数字と非常によく似ているためです。
単一の事例からモデルが学習できる量を制限すると、精度が下がってしまうという副作用があります。
このトレードオフから抜け出す方法のひとつは訓練データを増やすことです。
数字のクラスごとに予測の違いを見ると、別のやっかいな問題が見えてきます。クラスによって識別の難しさが違うのです。「8」を高い信頼度で見分けるには、「0」を高い信頼度で見分けるよりも多くの訓練データ、もしくはより低いプライバシーが必要になります。
この問題は、あるクラスだけ訓練データの例が少ない場合にさらに悪化します。差分プライバシー付きモデルで稀な事象を予測しようとすると、膨大なデータが必要になる可能性があります。
外れ値もクラス内で均等に分布しているわけではありません。下図では、差分プライバシーの強さに対する感度で色分けした MNIST の数字を UMAP で可視化したところ、プライバシー感度が高い黄色の数字が複数のクラスターを形成しています。クラス全体では高い精度を達成していても、クラス内の小さな集団では極端に精度が低いモデルがうっかりできてしまう可能性があります。
左に傾いた「1」を識別すること自体が本質的に難しいわけではありませんが、訓練データに傾いた「1」がほとんど含まれていないため、情報漏えいなしに高精度で分類するのは困難です。
こうした不均衡な影響は、手書き数字のようなデータセットに限った話ではありません。さまざまな画像・言語モデルで差分プライバシーを強めると、代表性の低いサブグループの精度が大幅に低下しました。医療モデルに差分プライバシーを導入した例では、黒人患者のデータの影響が小さくなり、白人患者のデータの影響が大きくなるという結果も出ています。
プライバシーレベルを下げれば代表性の低いデータポイントが助かるとも限りません。むしろ彼らこそ情報漏えいの危険性が高いのです。ここでも精度とプライバシーのトレードオフを乗り越えるには、今回は代表性の低いサブグループから追加データを収集する必要があります。
汎化、記憶、プライバシー のあいだには未解明の深い関係があります。プライバシー制約を少し変えるだけで選択肢が広がることもあります。公開されているラベルなしデータがあれば、勾配クリッピングやノイズ付加の代わりに「教師アンサンブルのプライベート集約」を用いて、精度への不均衡な影響が小さい差分プライバシーモデルを学習できるかもしれません。
精度への影響を抑えながらプライバシーを高める方法を探る研究は活発です。プライバシーを意識したモデルアーキテクチャや、より良いデータセットクリーニングが有望視されています。
この投稿で扱った以外にも、精度・プライバシー・公平性のトレードオフがあります。差分プライバシー付きモデルでサブグループ間の精度差が小さくても、公平性指標を厳格に適用するとプライバシーや精度が下がる場合もあります。
この記事では個々のデータポイントのプライバシー保護に焦点を当てましたが、実際には 1 人のユーザーが複数のデータポイントを提供することが多いため、ユーザー単位のプライバシー を確実に守るための追加措置が必要になるかもしれません。
これらの課題は機械学習に限ったものではありません。差分プライバシー付きデータセットをもとに資源配分を行うだけでも、グループ間で不均等な影響が生じる可能性があります。2020 年の国勢調査は初めて差分プライバシーを導入しましたが、それにより選挙区の線引きなど幅広い影響が考えられます。
Adam Pearce // January 2022
Abhradeep Thakurta、Andreas Terzis、Andy Coenen、Asma Ghandeharioun、Brendan McMahan、Ellen Jiang、Emily Reif、Fernanda Viégas、James Wexler、Kevin Robinson、Matthew Jagielski、Martin Wattenberg、Meredith Morris、Miguel Guevara、Nicolas Papernot、Nithum Thain の協力に感謝します。
学習の高速化と引き換えにプライバシーの上限をゆるめるなら、各データポイントではなくデータのグループごとに勾配・クリッピング・ノイズを計算できます。
ε-差分プライバシーの「ε」は、1 点だけ変えた 2 つの分布がどの程度重なっているかを測る指標です。
クリッピングやノイズ付加は差分プライバシー以外でも精度向上の正則化手法として使われます。
誤ラベルの例を補正するだけでなく、差分プライバシーはデータ汚染攻撃への一定の防御にもなります。
見た目が似ている数字が必ずしもモデルに同じように解釈されるとは限りませんが、ページ下部の UMAP 図(分類器の最終層手前の埋め込みを可視化)で似た数字がクラスターを形成していることから、密接な関係があると考えられます。
追加データなしでクラスバランスだけ調整しても、プライバシーと精度のトレードオフは避けられません。小さいクラスをアップサンプリングするとプライバシーが低下し、大きいクラスをダウンサンプリングするとデータが減って精度も下がります。
詳しくは サブグループの規模と精度 の付録を参照してください。
訓練データの量、プライバシーの強度、サブグループが占める割合は、精度にどのような影響を与えるのでしょうか? 小さなサブグループの代用として 90 度回転させた MNIST の数字を用いると、「1」と「7」を分類する単純なモデルの精度がこれらの属性によってどう変化するかが分かります。
左端に位置するのは、訓練データに回転した数字をまったく含まないモデルです。この場合、ランダム推測以上の精度で回転した数字を分類することはできません。訓練データの 5% を回転させると、十分な訓練データと緩いプライバシー設定を持つ一部のモデルが回転数字を正確に分類できるようになります。
回転した数字の割合を 10% や 20%、さらにそれ以上に増やすと、訓練データ量は同じでも、両方の数字で良好な性能を示すより強いプライバシー設定のモデルを学習できるようになります。
上のモデルをクリックすると、訓練データ数、プライバシーレベル、回転数字の割合を個別に変化させたときに精度の差がどのように動くかを確かめられます。
直感的には、訓練データを増やすほど精度の増分は小さくなります。学習の境界線上にある回転数字のような小さなサブグループの精度は、実質的な訓練データ量が減ると急速に落ち、精度低下の度合いが不均衡になります。