(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-04
(45)【発行日】2024-03-12
(54)【発明の名称】推論装置、推論方法、及びプログラム
(51)【国際特許分類】
G06F 21/50 20130101AFI20240305BHJP
G06N 20/00 20190101ALI20240305BHJP
【FI】
G06F21/50
G06N20/00
(21)【出願番号】P 2023503248
(86)(22)【出願日】2020-07-22
(86)【国際出願番号】 JP2020028498
(87)【国際公開番号】W WO2022018867
(87)【国際公開日】2022-01-27
【審査請求日】2023-01-17
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】土田 光
(72)【発明者】
【氏名】寺西 勇
【審査官】宮司 卓佳
(56)【参考文献】
【文献】米国特許出願公開第2020/0097763(US,A1)
【文献】米国特許出願公開第2020/0082272(US,A1)
【文献】Lucas Tindall,Membership Inference Attacks On Neural Networks,Medium,2018年11月10日,https://gab41.lab41.org/membership-inference-attacks-on-neural-networks-c9dee3db67da
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/50
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
訓練データを用いて訓練された機械学習モデルであり、入力データに基づいて推論を行う推論器と、
前記推論器に前記入力データが入力された時の推論結果を示す推論データに基づいて、前記入力データが前記訓練データであるか否かを判定する判定器と、
前記判定器において前記入力データが前記訓練データでないと判定された場合、前記推論データを出力データとして出力し、前記判定器において前記入力データが前記訓練データであると判定された場合、前記推論データと異なる代替データを出力データとして出力する出力器と、を備えた推論装置。
【請求項2】
前記推論データが複数のスコアを含むスコアベクトルで有り、
前記代替データが、前記推論データと同じ次元数のスコアベクトルであり、
前記推論データと前記代替データとで、トップスコアの成分の次数が一致している請求項1に記載の推論装置。
【請求項3】
前記推論データと前記代替データとで、スコアの大小関係が維持されている請求項2に記載の推論装置。
【請求項4】
前記代替データでは、トップスコアに対して上限値が設定されている請求項2、又は3に記載の推論装置。
【請求項5】
前記代替データの成分が、乱数により得られている請求項1~4のいずれか1項に記載の推論装置。
【請求項6】
前記出力器が、前記訓練データと異なるノンメンバデータを用いて訓練された機械学習モデルを備えている請求項1~5のいずれか1項に記載の推論装置。
【請求項7】
前記判定器が、前記訓練データ、及び前記訓練データと異なるノンメンバデータを用いて訓練された機械学習モデルを備えている請求項1~6のいずれか1項に記載の推論装置。
【請求項8】
コンピュータが
訓練データを用いて訓練された機械学習モデルである推論器に入力データを入力するステップと、
前記推論器による推論結果を示す推論データを出力するように、前記推論器によって推論を行うステップと、
前記推論データに基づいて、前記入力データが前記訓練データであるか否かを判定するステップと、
前記入力データが前記訓練データでないと判定された場合、前記推論データを出力データとして出力し、前記入力データが前記訓練データであると判定された場合、前記推論データと異なる代替データを出力データとして出力するステップと、を備えた推論方法。
【請求項9】
前記推論データが複数のスコアを含むスコアベクトルで有り、
前記代替データが、前記推論データと同じ次元数のスコアベクトルであり、
前記推論データと前記代替データとで、トップスコアの成分の次数が一致している請求項8に記載の推論方法。
【請求項10】
コンピュータに対して推論方法を実行させるためのプログラムであって、
前記推論方法は、
訓練データを用いて訓練された機械学習モデルを用いて、入力データに基づいて推論を行うステップと、
前記機械学習モデルに前記入力データが入力された時の推論結果を示す推論データに基づいて、前記入力データが前記訓練データであるか否かを判定するステップと、
前記入力データが前記訓練データでないと判定された場合、前記推論データを出力データとして出力し、前記入力データが前記訓練データであると判定された場合、前記推論データと異なる代替データを出力データとして出力するステップと、を備えたプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習モデルを用いた推論に関する。
【背景技術】
【0002】
非特許文献1、2には、機械学習の学習済みパラメータから学習に用いた秘密情報(例:顧客情報、企業秘密など)を漏洩させるMembership Inference攻撃(MI攻撃)が知られている。例えば、非特許文献1には、推論アルゴリズムへのアクセスが可能であるとの条件下で、MI攻撃の方法が開示されている。MI攻撃は、機械学習の「過学習」という現象を利用して実行する。過学習とは学習に用いたデータに対して機械学習が過剰に適合してしまう現象の事である。過学習が原因となり推論アルゴリズムに学習に用いたデータを入力した場合とそうでないデータを入力した場合の出力の傾向が異なってしまう。MI攻撃の攻撃者はこの傾向の違いを悪用する事で、手元にあるデータが学習に用いられたものなのかそうでないのかを判別する。
【0003】
非特許文献3は、MI攻撃に耐性のある学習アルゴリズムを開示している。具体的には、非特許文献3では、任意の既知の機械学習の推論アルゴリズムfと、fに入力されたデータがfの学習に用いられたデータか否かを識別する識別器hを用いている。そして、それぞれのパラメータを敵対的に学習させ、推論アルゴリズムfの推論精度と、MI攻撃に対する耐性を引き上げている。
【0004】
非特許文献4には、MemGuardという方法が開示されている。この方法では、攻撃対象の推論アルゴリズムの学習済みパラメータが知られていないとの条件下でのブラックボックス攻撃に対する対策として、攻撃者の分類器を誤解させる処理を行う。
【先行技術文献】
【非特許文献】
【0005】
【文献】Reza Shokri, Marco Stronati, Congzheng Song, Vitaly Shmatikov: “Membership Inference Attacks Against Machine Learning Models ” 、IEEE Symposium on Security and Privacy 2017: 3-18、[online]、[令和2年4月9日検索]、インターネット〈URL:https://arxiv.org/pdf/1610.05820.pdf〉
【文献】Ahmed Salem, Yang Zhang, Mathias Humbert, Pascal Berrang, Mario Fritz, Michael Backes: “ML-Leaks: Model and Data Independent Membership Inference Attacks and Defenses on Machine Learning Models”、[online]、[令和2年4月9日検索]、インターネット〈URL:https://arxiv.org/abs/1806.01246〉
【文献】Milad Nasr, Reza Shokri, Amir Houmansadr、“Machine Learning with Membership Privacy using Adversarial Regularization”、[online]、[令和2年4月9日検索]、インターネット〈URL:https://arxiv.org/pdf/1807.05852.pdf〉
【文献】Jinyuan Jia, Ahmed Salem, Michael Backes, Yang Zhang, Neil Zhenqiang Gong、“MemGuard:Defending against Black-Box Membership Inference Attacks via Adversarial Examples”、[online]、[令和2年4月9日検索]、インターネット〈URL:https://arxiv.org/pdf/1909.10594.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【0006】
機械学習では、学習に用いられるデータ(訓練データともいう)が顧客情報や企業秘密などの秘密情報を含んでいる場合がある。MI攻撃により、機械学習の学習済みパラメータから学習に用いた秘密情報が漏洩してしまうおそれがある。例えば、学習済みパラメータを不正に入手した攻撃者が、学習データを推測してしまうおそれがある。あるいは、学習済みパラメータが漏洩していない場合でも、攻撃者が推論アルゴリズムに何度もアクセスすることで、学習済みパラメータが予想できてしまう。そして、予想された学習済みパラメータから学習データが予測されてしまうことがある。
【0007】
非特許文献3では、精度と攻撃耐性がトレードオフとなっている。具体的には、精度と攻撃耐性のトレードオフ度合いを決めるパラメータが設定されている。したがって、精度と攻撃耐性の両方を向上することが困難であるという問題点がある。
【0008】
また、非特許文献4の方式は、推論結果にノイズを載せることで防御している。このため、防御性能に関係なく、推論結果にノイズの影響が及んでしまうという問題点がある。
【0009】
本開示の目的は、MI攻撃に対する耐性が高く、かつ推論精度の高い機械学習装置、機械学習方法、及び記録媒体を提供することである。
【課題を解決するための手段】
【0010】
本開示にかかる推論装置は、訓練データを用いて訓練された機械学習モデルであり、入力データに基づいて推論を行う推論器と、前記推論器に前記入力データが入力された時の推論結果を示す推論データに基づいて、前記入力データが前記訓練データであるか否かを判定する判定器と、前記判定器において前記入力データが前記訓練データでないと判定された場合、前記推論データを出力データとして出力し、前記判定器において前記入力データが前記訓練データであると判定された場合、前記推論データと異なる代替データを出力データとして出力する出力器と、を備えている。
【0011】
本開示にかかる推論方法は、訓練データを用いて訓練された機械学習モデルである推論器に入力データを入力するステップと、前前記推論器による推論結果を示す推論データを出力するように、前記推論器によって推論を行うステップと、前記推論データに基づいて、前記入力データが前記訓練データであるか否かを判定するステップと、前記入力データが前記訓練データでないと判定された場合、前記推論データを出力データとして出力し、前記入力データが前記訓練データであると判定された場合、前記推論データと異なる代替データを出力データとして出力するステップと、を備えている。
【0012】
本開示にかかるコンピュータ可読媒体は、コンピュータに対して推論方法を実行させるためのプログラムを格納したコンピュータ可読媒体であって、前記推論方法は、訓練データを用いて訓練された機械学習モデルを用いて、入力データに基づいて推論を行うステップと、前記機械学習モデルに前記入力データが入力された時の推論結果を示す推論データに基づいて、前記入力データが前記訓練データであるか否かを判定するステップと、前記入力データが前記訓練データでないと判定された場合、前記推論データを出力データとして出力し、前記入力データが前記訓練データであると判定された場合、前記推論データと異なる代替データを出力データとして出力するステップと、を備えている。
【発明の効果】
【0013】
本開示によれば、MI攻撃に対する耐性が高い機械学習システム、機械学習方法、及びプログラムを提供できる。
【図面の簡単な説明】
【0014】
【
図1】本開示にかかる推論装置を示すブロック図である。
【
図2】本実施の形態1にかかる推論装置の処理を示す図である。
【
図3】本実施の形態1にかかる方法を示すフローチャートである。
【
図4】手法3における推論装置の処理を説明するための図である。
【
図5】手法3における機械学習方法を示すフローチャートである。
【
図6】本実施の形態にかかる装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【0015】
本実施の形態にかかる機械学習装置について、
図1を参照して説明する。
図1は推論装置100の構成を示すブロック図である。推論装置100は、推論器101と、判定器102と、出力器103とを備えている。
【0016】
推論器101は、訓練データを用いて訓練された機械学習モデルであり、入力データに基づいて推論を行う。判定器102は、推論器101に入力データが入力された時の推論結果を示す推論データに基づいて、入力データが訓練データであるか否かを判定する。判定器102において入力データが訓練データでないと判定された場合、出力器103は、推論データを出力データとして出力する。判定器102において入力データが訓練データであると判定された場合、出力器103は、推論データと異なる代替データを出力データとして出力する。
【0017】
この構成によれば、MI攻撃に対する耐性が高く、かつ推定精度の高い機械学習装置を実現することができる。
【0018】
実施の形態1.
本実施の形態にかかる機械学習装置、及び機械学習方法について、
図2,を用いて説明する。
図2は、本実施の形態にかかる推論装置の処理を説明するための図である。
【0019】
ユーザUがターゲットモデルfに入力データxを入力して、推論装置にクエリする。ターゲットモデルfは、入力データxに基づいて推論を行う推論器である。ターゲットモデルfは
図1の推論器101に対応する。ターゲットモデルfは、例えば、画像を分類する分類器である。入力データxがターゲットモデルfに入力された場合、ターゲットモデルfは画像の分類結果を出力する。
【0020】
ターゲットモデルfは、DNN(Deep Neural Network)等のニューラルネットワークモデルである。ターゲットモデルfは、畳み込みニューラルネットワーク(CNN)などを用いた推論アルゴリズムである。ターゲットモデルfは機械学習により生成されている。つまり、ターゲットモデルfのパラメータは、訓練データを用いた機械学習による最適化されている。ターゲットモデルfのパラメータは、CNNの畳み込み層、プーリング層、及び全結合層の重み又はバイアス値に対応している。
【0021】
ターゲットモデルfに入力データxが入力された場合の出力を推論データf(x)として示す。推論データf(x)は、ターゲットモデルfによる推論結果を示す。例えば、f(x)は、複数のスコアを含むスコアベクトルである。例えば、nクラス分類の場合、f(x)はn次元のベクトルとなる。nは2以上の整数である。なお、明細書本文中において、推論データf(x)や後述する代替データr’及び出力データsがベクトルであることを示す矢印を適宜省略する。
【0022】
推論データf(x)のベクトル成分は、各分類結果に該当する確率(スコア)を示し、0~1の値を取る。なお、スコアベクトルであるf(x)に含まれるn個の成分(要素)の中で最も大きい値の成分がトップスコアとなる。
【0023】
検知器dには推論データf(x)が入力される。検知器dは、推論データf(x)に基づいて、入力データxが、訓練データであるか否かを検知する。検知器dは検知結果に応じた出力データsをユーザUに出力する。検知器dは、
図1の判定器102及び出力器103に相当する。
【0024】
検知器dは、推論データf(x)から、入力データxが訓練データであるか否かを検知する。具体的には、検知器dは推論データf(x)を入力として、検知データd(f(x))を算出する機械学習モデルとなっている。例えば、検知器dは、DNN等のニューラルネットワークを用いた機械学習モデルである。検知器dは2値分類するモデルであれば特に限定されるものではない。
【0025】
検知器dは、検知結果に基づいて、出力データsを出力する。入力データxが訓練データでない場合、検知器dは、出力データsとして推論データf(x)を出力する。入力データxが訓練データである場合、検知器dは、出力データsとして、推論データf(x)と異なる代替データを出力する。
【0026】
以下、本実施の形態にかかる方法について、
図2とともに
図3を用いて説明する。
図3は、機械学習方法、及び推論方法を示すフローチャートである。ステップS301及びステップS302が機械学習方法に対応し、ステップS303~S306が推論方法に対応する。
【0027】
ターゲットモデルfによる推論に先立ち、ターゲットモデルfと検知器dの機械学習が行われる。まず、訓練データを用いて、ターゲットモデルfが訓練される(S301)。ここでは、例えば、訓練データを用いた教師有り学習が行われる。訓練データには、正解ラベル(教師信号、教師データともいう)が対応付けられている。推論結果が正解ラベルに一致するように、ターゲットモデルfのパラメータが最適化されていく。
【0028】
次に、検知器dが訓練される(S302)。例えば、ターゲットモデルfと、メンバデータと、ノンメンバデータとを用いて、検知器dの機械学習が行われる。メンバデータはS301において、ターゲットモデルfに訓練に用いられた訓練データである。ノンメンバデータは、ターゲットモデルfの訓練に用いられていないデータである。
【0029】
検知器dは、入力された信頼度(confidence score)に基づいて、2値分類を行う。検知器dは、メンバデータに対するスコアなのか、ノンメンバデータに対するスコアなのかを分類する。例えば、メンバデータでは、過学習の結果、f(x)のトップスコアが極めて1に近くなる。ノンメンバデータでは、メンバデータでの場合と比べて、f(x)のトップスコアが小さくなる。よって、検知器dは、推論データf(x)のトップスコアが極めて1に近いとき、入力データxをメンバデータとして検知することができる。具体的には、非特許文献3のAttack Classifierの訓練手法と同様の方法を用いて、検知器dの訓練を行うことができる。
【0030】
検知器dの訓練では、メンバデータ及びノンメンバデータが無作為に選択されて、ターゲットモデルfに入力される。ターゲットモデルfの推論データf(x)が、検知器dに入力される。検知器dの機械学習は、教師有り学習とすることができる。推論データf(x)には、正解ラベルが対応付けている。正解ラベルは、xがメンバデータかノンメンバデータかを示す2値とすることができる。具体的には、xがメンバデータの場合、正解ラベルは0となり、xがノンメンバデータの場合、正解ラベルが1となる。検知器dの検知結果が正解ラベルに一致するように、検知器dのパラメータが最適化されていく。
【0031】
このように、検知器dは機械学習により生成された機械学習モデルとなる。検知器dのパラメータは、メンバデータ及びノンメンバデータを用いた教師有り学習に学習されている。検知器dのパラメータは、CNNの畳み込み層、プーリング層、及び全結合層の重み又はバイアス値に対応している。ターゲットモデルfのパラメータはステップS301で決定されているため、ステップS302での検知器dの機械学習では、変化しない。つまり、ターゲットモデルfのパラメータを固定したまま、検知器dの機械学習が行われる。
【0032】
上記のようにして、ターゲットモデルfと検知器dに対する機械学習方法が実施される。ターゲットモデルfと検知器dに対する機械学習が完了したら、ターゲットモデルfを用いた推論を行う。
【0033】
ユーザUは、入力データxを推論装置100に入力する(S303)。推論装置100のユーザUからは、ターゲットモデルf、及び検知器dは認識できなくなっている。つまり、入力データxをクエリしたユーザUは、出力データsのみを受けとる。
【0034】
クエリされた入力データxは、ターゲットモデルfに入力される。ターゲットモデルfは入力データxに基づいて、推論を行う(S304)。ターゲットモデルfは、推論結果を示す推論データf(x)を、検知器dに出力する。
【0035】
検知器dは推論データf(x)に基づいて、入力データxが訓練データであるか否かを検知する(S305)。訓練データは、上記の通り、ターゲットモデルfの訓練に用いられたメンバデータである。
【0036】
検知器dに推論データf(x)を入力した時の出力を検知データd(f(x))とする。検知器dは検知データd(f(x))を算出する。検知器dは検知データd(f(x))に基づいて、推論データf(x)から入力データxがメンバデータであるか、ノンメンバデータであるかを推論する。検知データd(f(x))は、以下の式(1)のように0~1の値を取る。
【数1】
【0037】
検知データd(f(x))が1に近いほど、xがノンメンバデータである可能性が高い。検知データd(f(x))が0に近いほど、xがメンバデータである可能性が高い。入力データxが訓練データ(メンバデータ)である否かを判定するための閾値をkとする。kは例えばハイパーパラメータである。検知器dは、d(f(x))がk以上の場合、xがノンメンバデータであると判定する。検知器dは、d(f(x))がk未満の場合、xがメンバデータであると判定する。このように、検知器dは、閾値kを用いて2値分類を行っている。
【0038】
検知器dは、判定結果に基づいて、出力データsを出力する(S306)。xがノンメンバデータである場合、検知器dは、出力データsとして推論データf(x)を出力する。xがメンバデータである場合、検知器dは、出力データsとして代替データr’を出力する。検知器dは検知結果に応じて、出力データsをユーザに返す。出力データsは以下の式(2)で示される。
【数2】
【0039】
(手法1)
代替データr’を求める手法1について説明する。ターゲットモデルfがnクラス分類を行う推論モデルであると仮定する。推論データf(x)がスコアベクトルとすると、推論データf(x)を以下の(3)のように示される。
【数3】
【0040】
iは1以上n以下の任意の整数である。スコアf
iは、0~1の値を取る。式(3)のように、スコアf
iの総和が1となる。以下、推論データf(x)において、f
1をベクトルの第1成分、f
nをベクトルの第n成分とする。スコアfiが大きい順に添え字をi
1,i
2,・・・i
nとする。つまり、以下の式(4)が成り立つ。
【数4】
【0041】
推論データf(x)において、fi1が最も大きいスコアを有する成分となる、fi2が2番目に大きいスコアを有する成分となる。finがn番目に大きいスコアを有する成分となる。つまり、finは最も小さいスコアを有する成分となる。
【0042】
検知器dは、n個の乱数r
1、・・・r
nを生成する。なお、乱数r
1、・・・r
nはランダムに生成された非負の値となる。式(5)のように、n個の乱数r
1、・・・r
nの総和をmとする。
【数5】
【0043】
代替データr’は、推論データf(x)と同じ次元数のベクトルである。つまり、代替データr’は推論データf(x)と同様に、n次元ベクトルとなっている。代替データr’のベクトルを(r’
1、・・・r’
n)と示す場合、代替データr’の成分r’
1~r’
nは以下の式(6)で示すことができる。
【数6】
【0044】
検知器dは、推論データf(x)のスコアの大小関係に応じて、n個の乱数(r1,・・・,rn)を並び替えている。代替データr’のスコアの大小関係が、推論データf(x)のスコアの大小関係と一致するように具体的には、検知器dは、ijによって、スコアの大小関係を維持しつつ、mによってスコアの総和が1となるようにしている。推論データf(x)と、代替データr’とは、同じ次元数のスコアベクトルとなっている。代替データr’の各成分は各クラスの信頼度(スコア)を示す。
【0045】
推論データf(x)と、代替データr’とで、n個の全成分のスコアの大小関係が維持されている。推論データf(x)のベクトルのスコアの大きさの順番が、代替データr’のベクトルのスコアの大きさの順番と同じとなっている。つまり、推論データf(x)に含まれる成分f1~fnの大きさの順番が、代替データr’に含まれる成分r’1~r’nの大きさの順番と同じとなっている。
【0046】
例えば、推論データf(x)の全成分のうち、最もスコアが大きい成分が第l成分(lは1以上n以下の任意の整数)の場合、代替データr’の全成分のうち最もスコアが大きい成分が第l成分となる。一般化すると、推論データf(x)の全成分のうち、p(pは1以上n以下の任意の整数)番目に大きいスコアの成分が第l成分の場合、代替データr’の全成分のうちp番目に大きいスコアの成分が第l成分となる。
【0047】
入力データxが訓練データである場合、検知器dが代替データr’を出力データsとして出力している。したがって、ターゲットモデルfのパラメータを推測する形態のMI攻撃を行う攻撃者にとって、任意データから訓練データに関する有意な情報を取り出すことは困難となる。その結果、攻撃者によるターゲットモデルfのパラメータの推測を困難化させることができる。MI攻撃に対する耐性を改善することができる。
【0048】
さらに、推論装置100が高い精度で推論を行うことができる。入力データxがノンメンバデータである場合、推論装置100は、推論データf(x)を出力データsとして出力する。入力データxがメンバデータである場合、推論装置100は、代替データr’を出力データsとして出力する。推論データf(x)と、代替データr’との間、スコアの大小関係が維持されている。このため、入力データxがメンバデータであっても、スコアのひずみやラベルロスを抑制することができる。したがって、推論精度の低下を抑制することができる。
【0049】
上記の説明では、推論データf(x)と代替データr’において、n個全ての成分の大小関係が維持されているが、本実施の形態は、これに限られるものではない。例えば、推論データf(x)と代替データr’において、n個のうちの一部の成分の大小関係が維持されていればよい。例えば、推論データf(x)と代替データr’において、トップスコアの成分の次数(次元)が一致していればよい。推論データf(x)、及び代替データr’においても、最もスコアが大きい成分が第l成分となっていればよい。
【0050】
また、代替データr’において、スコアに上限が定められていてもよい。例えば、乱数により得られた代替データr’の成分r’i1が所定の上限値よりも大きい場合、異なる乱数を発生させて代替データr’の成分とすれば良い。
【0051】
ターゲットモデルf及び検知器dは敵対的正則化に用いられるわけではない。よって、簡便にターゲットモデルfと検知器dのパラメータを機械学習により得ることができる。機械学習は、さらに、ターゲットモデルfのパラメータを求めるステップS301と、検知器dのパラメータを求めるステップS302のみでよいため、推論装置100を簡便に生成することができる。例えば、ノンメンバデータが入力された場合の出力データと、メンバデータが入力された場合の出力データとを識別できなくなるようにする防御器を機械学習で生成する必要がなくなる。よって、本実施の形態の方法により、簡便に推論装置を生成することができる。
【0052】
また、上記の説明では、検知器dが機械学習モデルとなっていたが、検知器dは機械学習モデルに限られるものではない。つまり、上記の実施の形態では、機械学習モデルを用いて、入力データxが訓練データか否かを判定していたが、この判定は機械学習モデルを用いる方法に限定されるものではない。例えば、メンバデータでは、推論データf(x)のトップスコアが極めて1に近くなるので、検知器dが単にトップスコアと閾値とを比較することで、判定を行うことができる。この場合、全ての訓練データを用いて、ターゲットモデルfを訓練することができる。よって、ターゲットモデルfの推論精度を高くすることができる。
【0053】
上記の手法1では、代替データr’が乱数により求められているが、他の手法により求めることも可能である。以下、代替データr’を求める他の手法について説明する。
【0054】
(手法2)
手法2は、ターゲットモデルfに対して敵対的正則化(Adversarial Regularization)を行った代替データ計算モデルf’を用いる方法である。具体的には、敵対的サンプルを用いて、ターゲットモデルfを正則化することで、代替データ計算モデルf’を生成する。代替データ計算モデルf’は機械学習により生成された機械学習モデルである。xを代替データ計算モデルf’に入力すると、代替データ計算モデルf’は代替データf’(x)を出力する。xがメンバデータである場合、検知器dは、代替データf’(x)をr’として返す。
【0055】
敵対的正則化により過学習を防ぐことができる。よって、推論時に推論装置100に訓練データが入力された場合、代替データ計算モデルf’で算出された代替データf’(x)が出力データsとして出力される。これにより、ターゲットモデルfのパラメータを推測する形態のMI攻撃を行う攻撃者が、任意データから訓練データに関する有意な情報を取り出すことは困難となる。
【0056】
代替データ計算モデルf’は、ターゲットモデルfの訓練に用いられていないノンメンバデータを用いて訓練されていてもよい。代替データ計算モデルf’は、ターゲットモデルfの訓練に用いられたメンバデータを用いて訓練されていてもよい。さらに、代替データ計算モデルf’はノンメンバデータとメンバデータの両方を用いて訓練されていてもよい。なお、代替データ計算モデルf’は
図1の出力器103に格納されていてもよい。
【0057】
(手法3)
手法3では、非特許文献4に開示されたMemGuardという方法が用いられる。MemGuardをターゲットモデルfに対して実現する。具体的には、ターゲットモデルfの推論データf(x)に対してノイズが加えられる。スコアベクトルに対してノイズベクトルが加えられる。ノイズについては、非特許文献4に詳述してるため、説明を省略する。
【0058】
(手法4)
手法4では、代替データ計算モデルHが代替データr’を生成している。
図4に示すように、推論装置100は、ターゲットモデルfと代替データ計算モデルHを有している。ターゲットモデルfと代替データ計算モデルHがそれぞれ推論器となる。代替データ計算モデルHはターゲットモデルfと異なる機械学習モデルである。例えば、代替データ計算モデルHには、ターゲットモデルfと異なるパラメータなどが設定されている。
【0059】
代替データ計算モデルHは、入力データxに基づいて推論を行う推論アルゴリズムである。代替データ計算モデルHに入力データxが入力されると、代替データ計算モデルHは推論結果を示す推論データH(x)を出力する。推論データH(x)は上記の代替データr’に対応する。
【0060】
代替データ計算モデルHは、ターゲットモデルfの訓練に用いられていないノンメンバデータを用いて訓練されていてもよい。代替データ計算モデルHは、モデルfの訓練に用いられたメンバデータを用いて訓練されていてもよい。さらに、モデルHはノンメンバデータとメンバデータの両方を用いて訓練されていてもよい。
【0061】
検知器dは、ターゲットモデルfの推論データf(x)から、入力データxがメンバデータかノンメンバデータであるかを検知する。入力データxがノンメンバデータである場合、検知器dは、推論データf(x)を出力データsとして出力する。入力データxがメンバデータである場合、検知器dは、推論データH(x)を出力データsとして出力する。このように、検知器dの検知結果に応じて、推論器を切替えることが可能である。なお、代替データ計算モデルHは
図1の出力器103に格納されていてもよい。
【0062】
手法4における機械学習方法について、
図5を用い説明する。
図5は、機械学習方法を示すフローチャートである。まず、機械学習によって、ターゲットモデルfが訓練される(S501)。ここでは、ステップS301と同様に訓練データを用いて教師有り学習を行うことができる。これにより、ターゲットモデルfのパラメータが最適化される。
【0063】
次に、機械学習によって、代替データ計算モデルHが訓練される(S502)。ここでは、S501の訓練データと異なるデータを用いて、代替データ計算モデルHのパラメータが最適化される。つまり、代替データ計算モデルHはノンメンバデータを用いて訓練される。S501と同様に教師有り学習によって、代替データ計算モデルHが生成される。
【0064】
機械学習によって、検知器dが訓練される(S503)。例えば、ターゲットモデルfと、メンバデータと、ノンメンバデータとを用いて、検知器dの機械学習が行われる。検知器dは
図1の判定器102に格納されていてもよい。このステップS503は、ステップS302と同様であるため説明を省略する。これにより、
図4に示す推論装置100が生成される。
【0065】
(手法5)
手法5では、f(x)の成分について上限値を決めている。そして、上限値を超える成分については、検知器dが成分の値を修正している。例えば、上限値を0.9とすることができる。推論データf(z)が上限値を超える成分fi1を含む場合、検知器dは、成分fi1を上限値を超えない値に修正する。手法5は、上記の手法と組み合わせ用いることも可能である。例えば、検知器dは、乱数により成分fi1を決定することができる。
【0066】
また、代替データr’を求める手法については、上記の手法を適宜組み合わせても良い。代替データr’を求める手法については上記の手法に限られるものではない。既存の防御手法と検知器dとを適宜組み合わせて用いることが可能である。
【0067】
上記の実施形態において、推論装置はそれぞれコンピュータプログラムで実現可能である。つまり、推論器、判定器、出力器、ターゲットモデル、検知器などはそれぞれコンピュータプログラムで実現可能である。また、推論器、判定器、出力器は、物理的に単一な装置となっていなくてもよく、複数のコンピュータに分散されていてもよい。
【0068】
次に、実施の形態にかかる推論装置や機械学習装置のハードウェア構成について説明する。
図6は、装置600のハードウェア構成の一例を示すブロック図である。
図6に示すように、装置600は例えば、少なくとも一つのメモリ601、少なくとも一つのプロセッサ602,及びネットワークインタフェース603を含む。
【0069】
ネットワークインタフェース603は、有線又は無線のネットワークを介して他の装置と通信するために使用される。ネットワークインタフェース603は、例えば、ネットワークインタフェースカード(NIC)を含んでもよい。装置600は、ネットワークインタフェース603を介して、データの送受信を行う。装置600は、ネットワークインタフェースを介して、入力データxを取得してもよい。
【0070】
メモリ601は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ601は、プロセッサ602から離れて配置されたストレージを含んでもよい。この場合、プロセッサ602は、図示されていない入出力インタフェースを介してメモリ601にアクセスしてもよい。
【0071】
メモリ601は、プロセッサ602により実行される、1以上の命令を含むソフトウェア(コンピュータプログラム)などを格納するために使用される。メモリ601は、機械学習モデルである推論器101やターゲットモデルfを格納していてもよい。メモリ601は、判定器102、出力器103、検知器d等を格納していてもよい。
【0072】
また、装置600が機械学習モデルを生成する機械学習装置として機能することもできる。この場合、装置600は、訓練前の機械学習モデルをメモリ601に格納している。そして、装置600は、機械学習モデルに訓練データを入力して機械学習を行うことで、機械学習モデルのパラメータを更新する。装置600は、機械学習モデルのパラメータなどをメモリ601に格納する。
【0073】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0074】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0075】
100 推論装置
101 推論器
102 判定器
103 出力器
600 装置
601 メモリ
602 プロセッサ
603 ネットワークインタフェース
f ターゲットモデル
d 検知器