【もでるはんてんこうげき】
モデル反転攻撃 とは?
最終更新:
💡 モデルの情報から、入力側の特徴を逆向きに推定する
機械学習モデルの出力や内部情報を手がかりに、学習データに関係する特徴や、特定のクラスを代表する入力などを推定する攻撃。元の学習データを完全に取り出せるとは限らない。
📌 このページのポイント
- 出力スコアやモデルの内部情報などを手がかりに推定する
- 顔認識モデルで、対象人物の特徴を持つ画像を得た研究例がある
- 推定した代表例と、元の学習データそのものの復元を区別する
- 公開情報の制限やプライバシーを保つ学習などを、攻撃条件に合わせて検討する
モデル反転攻撃って、何を狙うの?
モデルが返すスコアや、手に入る内部情報を使って、入力側の特徴を推定する攻撃だよ。攻撃者が使える情報には、問い合わせだけの場合も、モデルの中身が分かる場合もある。大量に質問することだけが定義ではないんだ。
元の学習データが、そのまま出てくるの?
必ずそうなるわけではないよ。たとえば、ある人物として認識されやすい顔画像を推定しても、それが学習時の写真そのものとは限らない。特徴を持つ代表例の推定と、個別の学習データの復元を区別するんだ。
顔画像の研究では、何を使ったの?
Fredriksonらの2015年の研究では、人物名と顔認識モデルの信頼度スコアなどを使って、本人と認識できる画像を得た例があるよ。どのモデルでも同じように復元できるという保証ではなく、モデルや公開される情報が攻撃の条件に関わるんだ。
出力を丸めたり、回数を制限したりすれば防げる?
詳しいスコアを公開する必要があるかを見直したり、問い合わせを制限したりする対策は検討できるよ。ただし、モデルの中身が公開されていればAPIの制限だけでは足りない。対策の効果も、攻撃者が持つ情報や手法に合わせて評価するんだ。
差分プライバシーも対策になる?
個々の学習データから漏れる情報を抑えるための考え方で、DP-SGDなど学習に使う方法もあるよ。単に出力へ適当なノイズを加えればよいわけではなく、保護の単位やパラメーターを設計する。品質とのトレードオフも確認するんだ。
もっと詳しく知りたい人へ
メンバーシップ推論とは違う?
メンバーシップ推論は、あるデータが学習に使われたかを判定することを狙います。モデル反転攻撃は、入力側の特徴などの推定を狙います。何を知ろうとする攻撃かを区別すると整理できます。
まとめ:ざっくりこれだけ覚えればOK!
「モデル反転攻撃」って出てきたら「モデルの情報から、入力側の特徴を逆向きに推定する攻撃」と思えればだいたいOK!
📖 おまけ:英語の意味
「Model Inversion Attack」 = モデル反転攻撃
💬 Inversionは逆向きにすること。通常は入力から予測を得るモデルを、入力側の情報の推定に使うイメージだよ