最新AI論文をキャッチアップ

深層学習モデルのプライバシーは保護できるか?

深層学習モデルのプライバシーは保護できるか?

深層学習

3つの要点
✔️ 知識蒸留(KD)によるモデル複製・再現を防ぐ"Nasty Teacher"の提案
✔️ 通常のモデルと同等の性能を維持しつつ、学生モデルの性能を著しく低下させる

✔️ 様々な条件での実験により、知識蒸留に対する免疫(KD-immunity)を実証

Undistillable: Making A Nasty Teacher That CANNOT teach students
written by Haoyu MaTianlong ChenTing-Kuei HuChenyu YouXiaohui XieZhangyang Wang
(Submitted on 29 Sept 2020)
Comments: Accepted to ICLR2021.

Subjects: knowledge distillation, avoid knowledge leaking
  

はじめに

知識蒸留(Knowledge Distillation)は、学習済みの教師モデルを、(より軽量な)学生モデルにより模倣することで、性能を維持しながらモデルサイズを削減することができます。

この技術は、実際に利用するには規模が大きすぎるモデルを現実に利用するなど、様々な場合において役立ちます。しかしながら、場合によっては大きな問題を引き起こしかねない手法でもあります。

例えば、一般に公開されている深層学習モデル(ブラックボックスであったとしても)を教師モデルとして知識蒸留が利用された場合、(高いコストを支払って作成したかもしれない)そのモデルが勝手に複製・再現されてしまう可能性があります。

本記事で紹介する論文では、こうした知識蒸留の悪用を防ぐため、知識蒸留を用いても学生モデルが有効な性能を発揮出来ないようにモデルを学習させる、"Nasty Teacher"と呼ばれる教師モデルを作成する手法、Self-Undermining Knowledge Distillationが提案されています。

この手法により学習されたモデルは、それを教師モデルとして知識蒸留を行った場合、学生モデルの性能を大きく低下させることができます。

knowledge distillationについて

はじめに、知識蒸留(knowledge distillation)の定式化を行います。

事前に学習された教師ネットワーク$f_{\theta_T}(・)$と学生ネットワーク$f_{\theta_S}(・)$について考えます($\theta_T,\theta_S$はネットワークのパラメータ)。

このとき知識蒸留の目標は、$f_{\theta_S}(・)$の出力確率を$f_{\theta_T}(・)$のそれに近づけることです。

ここで、データセット$X$の訓練サンプルを$(x_i,y_i)$、$p_{f_\theta(x_i)}$を$f_{\theta}(・)$による$x_i$のロジットとすると、$f_{\theta_S}(・)$は以下の式で学習されます。

ここで、$KL(・)$はKL-divergenceを、$X\varepsilon$はクロスエントロピー損失を表します。

大まかには、$\alpha \tau^s_S KL(\sigma_{\tau_S}(p_{f_{\theta_T}}(x_i)),\sigma_{\tau_S}(x_i)))$によって学生ネットワークは教師ネットワークの出力を真似するように学習し、$(1-\alpha)X\varepsilon(\sigma(p_{f_{\theta_S}}(x_i)),y_i))$によってタスクの性能を向上させるよう学習します。

$\alpha$は、教師ネットワークを真似するか、タスクの性能を向上させるかのトレードオフを示すハイパーパラメータとなります。

$\sigma_{\tau_S}$は温度付きソフトマックス温度(softmax temperature)関数で、$\tau_S$の値が(1より)大きいほど、出力の分布がソフトとなります(1の場合は通常のソフトマックス関数と同一です)。

手法(Self-Undermining Knowledge Distillation)

理論的根拠(Nasty Teacher)

本題に入ります。Nasty Teacherと呼ばれる教師ネットワークを作成する、Self-Undermining Knowledge Distillationの目標は、学生ネットワークが知識蒸留を行うことができない(通常通り学習を行った場合と同等以下の性能しか発揮できない)よう、特別な教師ネットワークの学習を行うことです。

ここで、$f_{\theta_T}(・)$をNasty Teacherネットワーク、$f_{\theta_A}$を敵対(教師ネットワークから知識蒸留を行おうとする)ネットワークとします。

このとき、Nasty Teacherと敵対ネットワーク間のKL-divergenceを最大化するよう、Nasty Teacherの学習を行います。これは以下の式で表されます。

先述した式と非常に類似していることがわかりますが、こちらは教師ネットワークの学習プロセスを表す式である点に注意してください。

ここで、$X\varepsilon(\sigma(p_{f_{\theta_T}}(x_i)),y_i))$は、教師ネットワークのタスクに対する性能を向上させることを目的とするクロスエントロピー損失項となります。

一方$-\omega tau^2_A KL(\sigma_{\tau_A}(p_{f_{\theta_T}}(x_i)),\sigma_{\tau_A}(x_i)))$は、教師ネットワークと学生ネットワーク間のKL-divergenceを最大化することを目的とした項です(符号がマイナスであるため、KL-divergenceが大きいほど、全体の値は小さくなります)。

$\tau_A$は温度付きソフトマックス関数のための温度を、$\omega$はタスク性能とKL-divergence最大化のトレードオフを表します。 

KL-divergence項の符号を変更したこと、教師ネットワークと学生ネットワークが一部入れ替わるなどの変更がなされていることを除けば、通常の知識蒸留と酷似した数式から構成されており、非常にシンプルな発想であるといえます。

実装について

ネットワークアーキテクチャについての仮定は行いません。そのため、$f_{\theta_T}$と$f_{\theta_A}$については、どちらも同じアーキテクチャを利用して学習します(実験のアブレーション研究時には$f_{\theta_A}$を変更した場合の検証を行います)。

Nasty Teacherの学習時には、$f_{\theta_A}$は事前に学習されたモデルを固定して利用し、$f_{\theta_T}$のみが更新されます。

実験

Nasty Teacherの有効性を確認するため、先述した式に基づいてネットワークの学習を行い、その後に任意の学生ネットワークにて知識蒸留を行った場合の性能を検証します。

実験設定

データセットにはCIFAR-10、CIFAR-100、Tiny-ImageNetを利用します。

・ネットワーク

CIFAR-10では、教師ネットワークとしてResNet18を、学生ネットワークとして5層のCNNを利用します。また、学生ネットワークをResNetC-20/ResNetC-32に置き換え、学生ネットワークの変化による影響を調査します。

CIFAR-100とTiny-ImageNetでは、教師ネットワークとしてResNet-18、ResNet-50、ResNeXt-29を利用します。また、学生ネットワークとしてMobileNetV2、ShuffleNetV2、ResNet-18を用います。

また、"Teacher Self"設定として、教師ネットワークと生徒ネットワークで同一のアーキテクチャを利用します。

・ハイパーパラメータ

温度$\tau_A$は、CIFAR-10では4、CIFAR-100とTiny-ImageNetでは20に設定されています(知識蒸留時の$\tau_S$と同じ値)。

ωはCIFAR-10で0.004、CIFAR-100で0.005、Tiny-ImageNetでは0.01となります。

実験結果

CIFAR-10, CIFAR-100, Tiny-ImageNetでの実験結果はそれぞれ以下の表の通りです。

Nasty Teacherは通常(normal)と比較して、性能の低下は最大でも2%程度で抑えられていることがわかります。

そして、通常のネットワークに対して知識蒸留を行うと、最大で4%ほど学生ネットワークの性能が向上する一方で、Nasty Teacherに対し知識蒸留を行った場合、精度が1.72%~67.57%低下したことが示されました。

また、弱い学生ネットワーク(MobilenetV2など)は、強い学生ネットワーク(ResNet-18など)と比べて、より大きく性能が低下することもわかります。

例え教師ネットワークと学生ネットワークが同一の場合(Teacher Self)であっても、性能が低下することは一貫して変わりません。

これらの結果は、Nasty Teacherからの知識蒸留は非常に困難であり、知識蒸留によるモデルの複製・再現を防ぐ能力があることを示していると言えるでしょう。

定性的分析

Nasty Teacherと通常の学習時との違いを探るため、ResNet-18を用いた場合のCIFAR-10におけるロジット応答例を以下に示します。


通常通り学習されたResNet-18のロジット応答(青色の縦棒)は、どれもほぼ単一のピークからなります。

一方Nasty Teacher(薄い黄色)では、ピークが複数存在していることがわかります。

このような教師ネットワークから知識蒸留を行えば、学生ネットワークは誤った知識を獲得してしまう可能性が高いと直感的に推測できます。

また、特徴埋め込みと出力ロジットについて、t-SNEにより可視化した図は以下のようになります。

図の上側は特徴埋め込みの可視化を、下側は出力ロジットの可視化を表します。

通常時とNasty Teacherとで、特徴空間のクラス間距離に大きな変化はなく、Nasty Teacherは通常の教師ネットワークと似た動作をすることがわかります。

一方、ロジット出力は大きく変化しています。これは、Nasty Teacherが主に最後の全結合層の重みを変化させていることを意味しています。

アブレーション研究

Adversarial Network

Nasty Teacherの学習時に用いる敵対ネットワーク$f_{\theta_A}$を変更した(教師ネットワークと敵対ネットワークで別のアーキテクチャを用いた)場合は以下のようになります。

表のうち、ResNet18(ResNet18)はこれまでと同様、教師・敵対ネットワークに同じアーキテクチャ(ResNet18)を利用しています。その他の場合と比較してみると、総じてNasty Teacherは有効であることがわかります。

ただし、弱いネットワーク(CNNなど)は、教師ネットワークの性能を低下させる可能性があることには注意が必要でしょう。

・$\omega$について

次に、ハイパーパラメータ$\omega$を0から0.1まで変化させた場合の結果は以下の通りです。

図のTは教師ネットワークを、Sは学生ネットワークを示します。

ωを調整することで、教師ネットワークの性能と、知識蒸留時の学生ネットワークの性能低下のトレードオフを制御できることがわかります。

・$\tau_S$について

知識蒸留時の温度パラメータ$\tau_S$を変化させた場合の結果は以下の通りです。


どの場合でも総じて学生ネットワークの性能は低下していますが、$\tau_S$が大きいほど、より学生ネットワークの性能は低下していることがわかります。

・$\alpha$について

$\alpha$の値はデフォルトで0.9に設定されていましたが、これを0.1~1.0まで変化した場合は以下のようになります。

$\alpha$の値がどう選択されていても、総じて学生ネットワークの性能は低下しています。

$\alpha$が小さいほど学生ネットワークの性能は高くなっていますが、これは教師ネットワークからの知識蒸留(KL-divergenceの最小化)の度合いが低下していることを意味しているため、Nasty Teacherから知識蒸留を行うことはやはり困難であるといえます。

・トレーニングサンプルの割合について

学生ネットワークが全ての訓練データにアクセスできないことを考慮し、トレーニングサンプルの割合を変化させた場合の性能は以下の通りです。

どの場合でも一貫して、学生ネットワークは通常の教師ネットワークからの場合と比較し、Nasty Teacherからの知識蒸留により悪影響を受けていることがわかります。

データフリーの知識蒸留

教師ネットワークの訓練時のデータセットにアクセス出来ない場合でも知識蒸留を行うことができる手法(Data-free knowledge distillation)を利用する場合を考慮し、最先端のデータフリー知識蒸留手法(DAFLDeepInversion)上でNasty Teacherの性能を評価します。

はじめに、DAFLを適用した場合の実験結果は以下の通りです。

通常のResNet34を利用した場合と比較し、Nasty Teacherは学生ネットワークの性能を5%以上低下させることに成功しています。

また、DeepInversionにより、学習済みの教師ネットワークが学習時に用いたデータの復元を試みた場合の可視化例が以下の通りです。

通常のResNet-34から生成された画像と比較し、Nasty Teacherから生成された画像は、歪んだノイズや誤ったクラス特徴を含んでおり、リバースエンジニアリングによる訓練データの再構築をも抑止できる可能性を示しています。

まとめ

知識蒸留は非常に有用な技術ですが、それ故に公開されているモデルが複製・再現されてしまう危険性をも生み出しています。この問題の存在は、モデルを公開し、利用可能にすることの潜在的リスクに繋がります。

場合によっては、知識蒸留による複製を恐れ、深層学習モデルの多くが公開されなくなり、コミュニティの成長を阻むことに繋がるかもしれません。

本記事で紹介した論文では、通常のモデルとほぼ同等の性能を発揮しながらも、知識蒸留を行った学生モデルの性能を大幅に低下させることができます。

この技術は「深層学習モデルのプライバシー保護」に繋がり、前述した問題の解決策となりうる重大な研究であると言えるでしょう。

 

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする