(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】推論装置、学習装置、機械学習システム、推論方法、学習方法、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241001BHJP
G06N 3/09 20230101ALI20241001BHJP
G06F 21/62 20130101ALI20241001BHJP
【FI】
G06N20/00 130
G06N3/09
G06F21/62 345
(21)【出願番号】P 2023520696
(86)(22)【出願日】2021-05-13
(86)【国際出願番号】 JP2021018267
(87)【国際公開番号】W WO2022239201
(87)【国際公開日】2022-11-17
【審査請求日】2023-10-31
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】森 隼基
(72)【発明者】
【氏名】寺西 勇
(72)【発明者】
【氏名】土田 光
(72)【発明者】
【氏名】エンケタイワン バトニヤマ
(72)【発明者】
【氏名】伊東 邦大
【審査官】新井 則和
(56)【参考文献】
【文献】中国特許出願公開第111931216(CN,A)
【文献】NASR, MILAD et al.,Machine learning with membership privacy using adversarial regularization,Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security [online],2018年10月,pp.634-646,[検索日 2024.06.18],インターネット:<URL:https://dl.acm.org/doi/pdf/10.1145/3243734.3243855>
【文献】SONG, LIWEI et al.,Systematic evaluation of privacy risks of machine learningmodels,arXiv.org [online],2020年03月24日,pp.1-17,[検索日 2024.06.18],インターネット:<URL:https://arxiv.org/pdf/2003.10595v1>
【文献】高江洲 勲,機械学習モデルの学習データを推論する方法,三井物産セキュアディレクション [online],2020年06月18日,[検索日 2024.06.18],インターネット:<URL:https://www.mbsd.jp/research/20200618/membership-inference-attacks/>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/09
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
第1学習データを用いた機械学習により生成され、入力データが前記第1学習データではない場合に推論を行う第1推論器と、
前記第1学習データと異なる第2学習データを用いた機械学習により生成され、入力データが前記第1学習データである場合に推論を行う第2推論器と、
前記第1学習データを用いた機械学習により生成され、前記第1推論器を生成するための機械学習よりも過学習することにより生成された第3推論器と
前記第3推論器の推論結果に基づいて、前記入力データが前記第1学習データであるか否かを判定する疑似攻撃器と、を備えた推論装置。
【請求項2】
前記入力データをx,前記入力データxのラベルをy、前記第3推論器の出力結果をG(x)とした場合に、前記疑似攻撃器が、
以下の式(1)に基づいて、Mentrを算出し、
【数1】
前記Mentrに基づいて、前記第1学習データであるか否か判定する請求項
1に記載の推論装置。
【請求項3】
第1学習データを用いた機械学習により第1推論器を生成する第1学習部と、
前記第1学習データをn(nは2以上の整数)分割することで、nセットの分割データを生成するデータ分割部と、
前記第1学習データから1セットの分割データを除いたデータを用いた機械学習によりn個の学習データ生成用推論器を生成する推論器生成部と、
前記推論器生成部の前記機械学習で除かれた前記1セットの前記分割データをn個の前記学習データ生成用推論器にそれぞれ入力することで、第2学習データを生成する学習データ生成部と、
前記第2学習データを用いた機械学習により第2推論器を生成する第2学習部と、を備えた学習装置。
【請求項4】
前記第1学習データを用いて、前記第1学習部よりも過学習を行うことで、第3推論器を生成する第3学習部と、を備えた請求項3に記載の学習装置。
【請求項5】
請求項
4に記載の学習装置と、
請求項
1、又は2に記載の推論装置と、を備えた機械学習システム。
【請求項6】
第1学習データを用いた機械学習により生成された第1推論器が、入力データが前記第1学習データではない場合に推論を行い、
前記第1学習データと異なる第2学習データを用いた機械学習により生成された第2推論器が、入力データが前記第1学習データである場合に推論を行い、
前記第1学習データを用いた機械学習により生成され、前記第1推論器を生成するための機械学習よりも過学習することにより生成された第3推論器が、前記入力データに基づいて推論を行い、
疑似攻撃器が、前記第3推論器の推論結果に基づいて、前記入力データが前記第1学習データであるか否かを判定する、推論方法。
【請求項7】
前記入力データをx,前記入力データxのラベルをy、前記第3推論器の出力結果をG(x)とした場合に、前記疑似攻撃器が、
以下の式(1)に基づいて、Mentrを算出し、
【数2】
前記Mentrに基づいて、前記第1学習データであるか否か判定する請求項6に記載の推論方法。
【請求項8】
第1学習データを用いた機械学習により第1推論器を生成し、
前記第1学習データをn(nは2以上の整数)個に分割することで、nセットの分割データを生成し、
前記第1学習データから1セットの分割データを除いたデータを用いた機械学習によりn個の学習データ生成用推論器を生成し、
前記学習データ生成用推論器を生成する前記機械学習で除かれた前記1セットの前記分割データをn個の前記学習データ生成用推論器にそれぞれ入力することで、第2学習データを生成し、
前記第2学習データを用いた機械学習により第2推論器を生成する、学習方法。
【請求項9】
コンピュータに対して推論方法を実行させるためのプログラムであって、
前記推論方法は、
第1学習データを用いた機械学習により生成された第1推論器が、入力データが前記第1学習データではない場合に推論を行い、
前記第1学習データと異なる第2学習データを用いた機械学習により生成された第2推論器が、入力データが前記第1学習データである場合に推論を行い、
前記第1学習データを用いた機械学習により生成され、前記第1推論器を生成するための機械学習よりも過学習することにより生成された第3推論器が、前記入力データに基づいて推論を行い、
疑似攻撃器が、前記第3推論器の推論結果に基づいて、前記入力データが前記第1学習データであるか否かを判定する
プログラム。
【請求項10】
コンピュータに対して学習方法を実行させるためのプログラムであって、
前記学習方法は、
第1学習データを用いた機械学習により第1推論器を生成し、
前記第1学習データをn(nは2以上の整数)個に分割することで、nセットの分割データを生成し、
前記第1学習データから1セットの分割データを除いたデータを用いた機械学習によりn個の学習データ生成用推論器を生成し、
前記学習データ生成用推論器を生成する前記機械学習で除かれた前記1セットの前記分割データをn個の前記学習データ生成用推論器にそれぞれ入力することで、第2学習データを生成し、
前記第2学習データを用いた機械学習により第2推論器を生成する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習に関する。
【背景技術】
【0002】
非特許文献1、2には、機械学習の学習済みパラメータから学習に用いた秘密情報(例:顧客情報、企業秘密など)を漏洩させるMembership Inference攻撃(MI攻撃)が知られている。例えば、非特許文献1には、推論アルゴリズムへのアクセスが可能であるとの条件下で、MI攻撃の方法が開示されている。MI攻撃は、機械学習の「過学習」という現象を利用して実行する。過学習とは学習に用いたデータに対して機械学習が過剰に適合してしまう現象の事である。過学習が原因となり推論アルゴリズムの入力に学習に用いたデータを入力した場合とそうでないデータを入力した場合の出力の傾向が異なってしまう。MI攻撃の攻撃者はこの傾向の違いを悪用する事で、手元にあるデータが学習に用いられたものなのかそうでないのかを判別する。
【0003】
非特許文献4には、MemGuardという方法が開示されている。この方法では、攻撃対象の推論アルゴリズムの学習済みパラメータが知られていないとの条件下でのブラックボックス攻撃に対する対策として、攻撃者の分類器を誤解させる処理を行う。
【0004】
非特許文献5は、MI攻撃に耐性のある学習アルゴリズムを開示している。具体的には、非特許文献5では、任意の既知の機械学習の推論アルゴリズムfと、fに入力されたデータがfの学習に用いられたデータか否かを識別する識別器hを用いている。そして、それぞれのパラメータを敵対的に学習させ、推論アルゴリズムfの推論精度と、MI攻撃に対する耐性を引き上げている。
【先行技術文献】
【非特許文献】
【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]、[令和3年4月19日検索]、インターネット〈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 onMachine Learning Models”、 Network and Distributed System Security Symposium 2019、[online]、[令和3年4月19日検索]、インターネット〈URL:https://arxiv.org/abs/1806.01246〉
【文献】L. Song and P. Mittal. “Systematic Evaluation of Privacy Risks of Machine Learning Models”、USENIX Security Symposium 2021、[online]、[令和3年4月19日検索]、インターネット〈URL:https://arxiv.org/abs/2003.10595〉
【文献】Jinyuan Jia, Ahmed Salem, Michael Backes, Yang Zhang, Neil Zhenqiang Gong、“MemGuard:Defending against Black-Box MembershipInference Attacks via Adversarial Examples”、ACM SIGSAC Conference on Computer and Communications Security 2019: 259-274、[online]、[令和3年4月19日検索]、インターネット〈URL:https://arxiv.org/pdf/1909.10594.pdf〉
【文献】Milad Nasr, Reza Shokri, Amir Houmansadr、“Machine Learning with Membership Privacy using Adversarial Regularization”、ACM SIGSAC Conference on Computer and Communications Security 2018: 634-646、[online]、[令和3年4月19日検索]、インターネット〈URL:https://arxiv.org/pdf/1807.05852.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【0006】
機械学習では、学習に用いられるデータ(訓練データともいう)が顧客情報や企業秘密などの秘密情報を含んでいる場合がある。MI攻撃により、機械学習の学習済みパラメータから学習に用いた秘密情報が漏洩してしまうおそれがある。例えば、学習済みパラメータを不正に入手した攻撃者が、学習データを推測してしまうおそれがある。あるいは、学習済みパラメータが漏洩していない場合でも、攻撃者が推論アルゴリズムに何度もアクセスすることで、学習済みパラメータが予想できてしまう。そして、予想された学習済みパラメータから学習データが予測されてしまうことがある。
【0007】
また、非特許文献4の方式は、推論結果にノイズを載せることで防御している。このため、防御性能に関係なく、推論結果にノイズの影響が及んでしまうという問題点がある。
【0008】
非特許文献5では、精度と攻撃耐性がトレードオフとなっている。具体的には、精度と攻撃耐性のトレードオフ度合いを決めるパラメータが設定されている。したがって、精度と攻撃耐性の両方を向上することが困難であるという問題点がある。
【0009】
本開示の目的は、MI攻撃に対する耐性が高く、かつ精度の高い推論装置、学習装置、機械学習システム、推論方法、学習方法、及び記録媒体を提供することである。
【課題を解決するための手段】
【0010】
本開示にかかる推論装置は、第1学習データを用いた機械学習により生成され、入力データが前記第1学習データではない場合に推論を行う第1推論器と、前記第1学習データと異なる第2学習データを用いた機械学習により生成され、入力データが前記第1学習データである場合に推論を行う第2推論器と、前記第1学習データを用いた機械学習により生成され、前記第1推論器を生成するための機械学習よりも過学習することにより生成された第3推論器と、前記第3推論器の推論結果に基づいて、前記入力データが前記第1学習データであるか否かを判定する疑似攻撃器と、を備えている。
【0011】
本開示にかかる学習装置は、第1学習データを用いた機械学習により第1推論器を生成する第1学習部と、前記第1学習データをn(nは2以上の整数)分割することで、nセットの分割データを生成するデータ分割部と、前記第1学習データから1セットの分割データを除いたデータを用いた機械学習によりn個の学習データ生成用推論器を生成する推論器生成部と、前記推論器生成部の前記機械学習で除かれた前記1セットの前記分割データをn個の前記学習データ生成用推論器にそれぞれ入力することで、第2学習データを生成する学習データ生成部と、前記第2学習データを用いた機械学習により第2推論器を生成する第2学習部と、を備えている。
【0012】
本開示にかかる推論方法は、第1学習データを用いた機械学習により生成された第1推論器が、入力データが前記第1学習データではない場合に推論を行い、前記第1学習データと異なる第2学習データを用いた機械学習により生成された第2推論器が、入力データが前記第1学習データである場合に推論を行い、前記第1学習データを用いた機械学習により生成され、前記第1推論器を生成するための機械学習よりも過学習することにより生成された第3推論器が、前記入力データに基づいて推論を行い、疑似攻撃器が、前記第3推論器の推論結果に基づいて、前記入力データが前記第1学習データであるか否かを判定する。
【0013】
本開示にかかる学習方法は、第1学習データを用いた機械学習により第1推論器を生成し、前記第1学習データをn(nは2以上の整数)個に分割することで、nセットの分割データを生成し、前記第1学習データから1セットの分割データを除いたデータを用いた機械学習によりn個の学習データ生成用推論器を生成し、前記学習データ生成用推論器を生成する前記機械学習で除かれた前記1セットの前記分割データをn個の前記学習データ生成用推論器にそれぞれ入力することで、第2学習データを生成し、前記第2学習データを用いた機械学習により第2推論器を生成する。
【0014】
本開示にかかるコンピュータ可読媒体は、コンピュータに対して推論方法を実行させるためのプログラムが格納されたコンピュータ可読媒体であって、前記推論方法は、第1学習データを用いた機械学習により生成された第1推論器が、入力データが前記第1学習データではない場合に推論を行い、前記第1学習データと異なる第2学習データを用いた機械学習により生成された第2推論器が、入力データが前記第1学習データである場合に推論を行い、前記第1学習データを用いた機械学習により生成され、前記第1推論器を生成するための機械学習よりも過学習することにより生成された第3推論器が、前記入力データに基づいて推論を行い、疑似攻撃器が、前記第3推論器の推論結果に基づいて、前記入力データが前記第1学習データであるか否かを判定する。
【0015】
本開示にかかるコンピュータ可読媒体は、コンピュータに対して学習方法を実行させるためのプログラムが格納されたコンピュータ可読媒体であって、前記学習方法は、第1学習データを用いた機械学習により第1推論器を生成し、前記第1学習データをn(nは2以上の整数)個に分割することで、nセットの分割データを生成し、前記第1学習データから1セットの分割データを除いたデータを用いた機械学習によりn個の学習データ生成用推論器を生成し、前記学習データ生成用推論器を生成する前記機械学習で除かれた前記1セットの前記分割データをn個の前記学習データ生成用推論器にそれぞれ入力することで、第2学習データを生成し、前記第2学習データを用いた機械学習により第2推論器を生成する。
【発明の効果】
【0016】
本開示によれば、MI攻撃に対する耐性が高く、かつ精度の高い推論装置、学習装置、機械学習モデル、推論方法、学習方法、及びコンピュータ可読媒体を提供できる。
【図面の簡単な説明】
【0017】
【
図1】本開示にかかる推論装置の構成を示すブロック図である。
【
図2】推論装置の動作を示すフローチャートである。
【
図3】学習装置を備えた機械学習システムの構成を示すブロック図である。
【
図4】学習装置の動作を示すフローチャートである。
【
図5】推論器Hの学習部の動作を示すフローチャートである。
【
図6】その他の実施形態にかかる学習装置を示すブロック図である。
【
図7】本実施の形態にかかる装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【0018】
本実施の形態にかかる推論装置について、
図1を用いて説明する。
図1は、推論装置10の構成を示すブロック図である。推論装置10は、入力データ20に対して推論を行うことで、出力データ28又は出力データ29を生成する。つまり、推論装置10が入力データ20に基づいて推論を行った時の推論結果が出力データ28又は出力データ29となる。例えば、推論装置10は、画像分類を行う分類器とすることができる。この場合、推論装置10が各クラスに該当する確率を示すスコアベクトルを出力する。
【0019】
推論装置10は、推論器G、疑似攻撃器I、推論器F、推論器Hを備えている。推論器G、疑似攻撃器I、推論器F、推論器Hは、それぞれ機械学習により生成された機械学習モデルである。推論器F、推論器H、推論器Gは、畳み込みニューラルネットワーク(CNN)などを用いた機械学習アルゴリズムである。推論器F、推論器H、推論器Gのパラメータは、CNNの畳み込み層、プーリング層、及び全結合層の重み又はバイアス値に対応している。推論器G、推論器F、推論器Hは画像分類などを行う分類器である場合、推論装置10と同様のスコアベクトルを出力する。
【0020】
同様に、疑似攻撃器Iは、畳み込みニューラルネットワーク(CNN)などを用いた機械学習アルゴリズムである。疑似攻撃器Iのパラメータは、CNNの畳み込み層、プーリング層、及び全結合層の重み又はバイアス値に対応している。
【0021】
推論器Fは、第1学習データ(以下、メンバデータともいう)を用いた機械学習により生成された機械学習モデルである。推論器Fは、入力データ20に基づいて、推論を行う。推論器Fは、入力データ20から推論された推論結果を出力データ28として出力する。推論器Fを第1推論器とも称する。
【0022】
推論器Hは、第2学習データ(以下、第2訓練データともいう)を用いた機械学習により生成された機械学習モデルである。第2学習データは、推論器Fの機械学習に用いられた第1学習データではない非学習データ(ノンメンバデータともいう)である。つまり、推論器Hを生成するための機械学習で用いられた第2学習データは、推論器Fを生成するための機械学習で用いられた第1学習データと異なるデータである。第1学習データに含まれるデータは第2学習データに含まれるデータと重複していない。推論器Hを第2推論器とも称する。
【0023】
推論器Gは、第1学習データを用いた機械学習により生成された機械学習モデルである。つまり、推論器Gの機械学習に用いられたデータと、推論器Fの機械学習に用いられたデータは、一致している。推論器Gを第3推論器とも称する。推論器F、推論器H、推論器Gの学習方法については後述する。
【0024】
疑似攻撃器Iは、推論器Gから出力された推論結果に基づいて、入力データ20が第1学習データか否かを識別する。疑似攻撃器Iは、入力データがメンバデータかノンメンバデータか否かを判別する。そして、識別結果を推論器H、及び推論器Fに出力する。
【0025】
さらに、疑似攻撃器Iは,非特許文献3におけるmodified entropyを用いた攻撃を用いることができる。この場合、データ(x、y)に対する推論器Gのmodified entropyは以下の式(1)で示される。
【数1】
【0026】
なお、Mentrがmodified emtropyである。xは疑似攻撃器Iに対する入力データであり、yはそのラベルである。G(x)は、入力データxに対する推論器Gの推論結果である。従って、各ラベルの確率を示すスコアベクトルに基づいて、識別する。Mentrが閾値τよりも大きければ、(x,y)は第1学習データ(メンバデータ)となる。Mentrが閾値τよりも小さければ、(x,y)は第1学習データではない非学習データ(ノンメンバデータ)となる。
【0027】
入力データ20が第1学習データ(メンバデータ)である場合、推論器Hが入力データに基づいて推論を行う。つまり、推論器Hの推論結果が出力データ29として出力される。入力データ20が第1学習データ(メンバデータ)でない非学習データ(ノンメンバデータ)である場合、推論器Fが入力データに基づいて推論を行う。つまり、推論器Fの推論結果が出力データ28として出力される。
【0028】
このように、疑似攻撃器Iの識別結果に応じて、推論器F又は推論器Hが推論を行う。なお、疑似攻撃を推論器Fに行う場合は、推論器Gは不要となる。この場合、疑似攻撃器Iは推論器Fの推論結果に基づいて、入力データ20が第1学習データか否かを識別する。
【0029】
機械学習装置では、訓練(機械学習)に使用した訓練データ(学習データ)と使用していない非訓練データ(非学習データ)とで、推論器の出力の傾向が異なる。攻撃者は、この推論器の出力の傾向の違いを利用して、機械学習モデルに対して攻撃を行っている。例えば、訓練に使用された入力データについては、訓練に使用されていない入力データと比較して、推論器の推論精度が非常に高くなることが想定される。よって、攻撃者は、推論精度を比較することで、訓練データを推測することが可能となる。
【0030】
これに対して、本実施の形態では、訓練時(機械学習時)と推論時とで使用される推論器が異なっている。つまり、推論器Fの訓練に使った入力データ(第1学習データ)に関して、推論時に推論器Fの推論結果が出力されることはない。また、推論器Hの訓練に使った入力データ(第2学習データ)に関して、推論時に推論器Hの推論結果が出力されることはない。つまり、推論装置10の入力データ20がメンバデータの場合、推論器Hが推論結果を出力データ29として出力する。推論装置10の入力データ20がノンメンバデータの場合、推論器Fが推論結果を出力データ29として出力する。
【0031】
よって、MI攻撃に対する耐性を向上することができる。また、非特許文献5のように、MI攻撃耐性と、推論精度がトレードオフの関係となっていないため、推論精度を向上することができる。
【0032】
さらに、推論器Gの訓練に用いられた第1学習データと、推論器Fの訓練に用いた第1学習データとは完全に一致している。そして、推論器Gは第1学習データを用いて過学習された機械学習モデルとなっている。推論器Gは、第1学習データを用いた機械学習により生成され、推論器Fを生成するための機械学習よりも過学習することにより生成されている。
【0033】
これにより、疑似攻撃器Iは、入力データ20が第1学習データであるか否かを適切に判別することできる。つまり、推論器Gは、MI攻撃に対する耐性が低いため、疑似攻撃器Iが高い識別精度で入力データ20を識別することができる。上記のように、推論器Gは過学習された機械学習モデルである。従って、入力データ20がメンバデータ(第1学習データ)である場合、推論器Gの推論精度が極めて高くなる。一方、入力データがノンメンバデータである場合、推論器Gの推論精度が低くなる。
【0034】
このように、入力データ20がメンバデータかノンメンバデータであるかに応じて、推論器Gの推論精度が大きく変化する。入力データ20がメンバデータである場合、推論器Gの推論精度は、推論器Fの推論精度よりも高くなる。反対に、入力データ20がノンメンバデータである場合、推論器Gの推論精度は、推論器Fの推論精度よりも低くなる。よって、推論器Gの推論精度を比較することで、疑似攻撃器Iが適切に入力データ20を識別することができる。
【0035】
次に、推論装置10における推論方法について、
図2を用いて説明する。
図2は推論装置10での処理を示すフローチャートである。
【0036】
まず、推論器Gを使用するか否かを判定する(S201)。例えば、ユーザが推論器Gを使用するか否かを選択してもよい。推論装置10がユーザの選択を受け付けると、その選択に応じて推論器Gを使用するか否かを決定する。あるいは、推論装置10を実装するシステムに応じて、推論器Gを使用するか否かが決定されていてもよい。
【0037】
推論器Gを使用する場合(S201のYes)、入力データ20を推論器Gに入力する。つまり、推論器Gが入力データ20に基づいて、推論を行う(S202)。推論器Gを使用しない場合(S201のNo)、入力データ20を推論器Fに入力する(S203)。つまり、推論器Fが入力データ20に基づいて、推論を行う。
【0038】
次に、推論器F、又は推論器Gの出力が疑似攻撃器Iに入力される(S204)。すなわち、推論器Gを使用する場合(S201のYes)、推論器Gの推論結果が疑似攻撃器Iに入力される。一方、推論器Gを使用しない場合(S201のNo)、推論器Fの推論結果が疑似攻撃器Iに入力される。
【0039】
疑似攻撃器Iは、推論器F又は推論器Gの推論結果から、入力データ20が第1学習データか否かを判定する(S205)。つまり、疑似攻撃器Iは推論器F又は推論器Gの推論結果を入力として、推論を行う。上記のように、疑似攻撃器Iは、推論器F又は推論器Gの推論精度やスコアベクトルに基づいて、推論を行うことができる。これにより疑似攻撃器Iは、入力データ20が第1学習データ(メンバデータ)であるか否かを適切に判定することができる。
【0040】
入力データ20が第1学習データである場合(S205のYes)、推論器Hに入力データ20を入力して、推論器Hが推論を行う(S206)。入力データ20が第1学習データでない場合(S205のNo)、推論器Fに入力データ20を入力して、推論器Fが推論を行う(S207)。このようにして処理が終了する。
【0041】
このように、入力データ20が第1学習データ(メンバデータ)である否かに応じて、推論装置10が推論器F、推論器Hを使い分けている。つまり、入力データ20がメンバデータである場合、推論器Hが入力データ20に基づいて推論を行う。入力データ20がノンメンバデータである場合、推論器Fが入力データ20に基づいて、推論を行う。従って、推論装置10が、MI攻撃に対する高い耐性を有し、かつ、高い推論精度で推論を行うことができる。
【0042】
次に、推論装置10を生成するための機械学習(訓練)について、
図3を用い説明する。
図3は、学習装置100を備えた機械学習システムの構成を示すブロック図である。学習装置100は、データ生成部200と、3つの学習部121~123とを備えている。データ生成部200は、推論器Hの学習データを生成する。また、推論装置10の機械学習には、予め学習データTが用意されている。つまり、学習装置100は、学習データTに基づいて機械学習を行う。
【0043】
学習データTは、上記した第1学習データであり、複数のデータを含むデータ群となっている。教師有り学習を行う場合、学習データTは正解ラベル(教師データ)付きのデータ集合となる。学習データTでは、複数の入力データを備え、それぞれの入力データには正解ラベルが対応付けられている。もちろん、機械学習は教師有り学習に限られるものはない。
【0044】
学習部121は、学習データTを用いて、推論器Fを生成するための機械学習を行う。学習部121は学習データTに基づいて、推論器Fを訓練する。学習部121における機械学習は、教師有り学習などの種々の手法を用いることができる。学習部121の機械学習については、公知の手法を用いることができるため、説明を省略する。学習部121は学習データTに含まれる全てのデータを用いて機械学習を行う。機械学習では、例えば、ディープラーニングモデルにおける各層のパラメータの最適化を行う。これにより、推論器Fが生成される。
【0045】
学習部123は、学習データTを用いて、推論器Gを生成するための機械学習を行う。学習部123は学習データTに基づいて、推論器Gを訓練する。学習部123における機械学習は、教師有り学習などの種々の手法を用いることができる。学習部123の機械学習については、公知の手法を用いることができるため、説明を省略する。学習部123は学習データTに含まれる全てのデータを用いて機械学習を行う。機械学習では、例えば、ディープラーニングモデルにおける各層のパラメータの最適化を行う。これにより、推論器Gが生成される。
【0046】
ここで、推論器Fと推論器Gは、同様のレイヤ構成を有する機械学習モデルとすることができる。そして、学習部123は、学習データTを用いて、機械学習モデルを過学習することで、推論器Gを生成する。学習部123は、機械学習モデルを学習データTについて過学習させることで、意図的にMI攻撃に対する耐性の低い推論器Gを生成することができる。
【0047】
例えば、学習部123は、学習データTに対する分類精度が十分横ばいになるエポック数で学習させる。学習部123は学習部121よりも高いエポック数で機械学習を行う。つまり、学習部123が、学習データTに含まれるデータを繰り返し用いることで、過学習を行う。学習部123において、1つのデータのイタレーション数が学習部121のイタレーション数よりも多くなっている。学習部123は、学習部121のイタレーション数よりも多いイタレーション数で機械学習を行う。もちろん、推論器Fと推論器Gは異なるレイヤ構成の機械学習モデルであってもよい。
【0048】
データ生成部200は、推論器Hの機械学習に用いられる第2学習データ(訓練データ)を生成する。データ生成部200は、データ分割部220と、F1~Fnの学習部202-1~202-nと、学習データ記憶部250と、を備えている。
【0049】
データ分割部220は、学習データTをn(nは2以上の整数)分割する。ここで、n分割された学習データを分割データT1~Tnとする。つまり、データ分割部220は、学習データTをn分割することで、nセットの分割データT1~Tnを生成する。学習データTを1つのデータセットとすると、分割データT1~Tnのそれぞれがサブセットとなる。後述するように、分割データT1~Tnのそれぞれは推論器F1~Fnの入力データとなる。
【0050】
分割データT1~Tnに含まれるデータセットは互いに重複していないことが好ましい。例えば、分割データT1に含まれるデータは、分割データT2~Tnに含まれていないことが好ましい。また、分割データTnに含まれているデータは、分割データT1~Tn-1に含まれていないことが好ましい。
【0051】
分割データT1~Tnに含まれるデータ数は均等にすることが好ましい。つまり、データ分割部220は、学習データTを均等にn分割する。従って、分割データT1~Tnには同じ数のデータが含まれる。分割データT1~Tnに含まれるデータ数は均等に限らず、異なっていてもよい。データ分割部220は、学習データTから抽出された一部の分割データを、学習部202-1~202-nに出力する。
【0052】
データ生成部200は、分割データT1~Tnから学習データT\T1を抽出して、F1の学習部202-1に入力する。なお、学習データT\T1は、学習データTから分割データT1を除いた差集合となる。つまり、F1の学習データT\T1は、T2~Tnを含む。データ生成部200は、学習データTから分割データT1を取り除くことで、学習データT\T1を生成する。
【0053】
F1の学習部202-1は、学習データT\T1を用いて推論器F1を生成するための機械学習を行う。学習部202-1は学習データT\T1に基づいて、推論器F1を訓練する。学習部202-1における機械学習は、教師有り学習などの種々の手法を用いることができる。学習部202-1の機械学習については、公知の手法を用いることができるため、説明を省略する。学習部202-1は学習データT\T1に含まれる全てのデータを用いて機械学習を行う。機械学習では、例えば、ディープラーニングモデルにおける各層のパラメータの最適化を行う。これにより、推論器F1が生成される。
【0054】
データ生成部200は、分割データT1を推論器F1に入力する。推論器Hの学習データ記憶部250は、推論器F1の出力をHの学習データとして記憶する。つまり、推論器F1の推論結果が、推論器Hの学習データとして、メモリなどに格納される。推論器Hの学習データには、分割データT1を推論器F1に入力した時の推論器F1の推論結果が含まれる。このように、推論器F1の学習時に用いられる学習データと、推論時に用いられる入力データとが異なるデータとなっている。
【0055】
Fnの学習部202-nは、学習データT\Tnを用いて推論器Fnを生成するための機械学習を行う。学習部202-nは学習データT\Tnに基づいて、推論器Fnを訓練する。学習部202-nにおける機械学習は、教師有り学習などの種々の手法を用いることができる。学習部202-nの機械学習については、公知の手法を用いることができるため、説明を省略する。学習部202-nは学習データT\Tnに含まれる全てのデータを用いて機械学習を行う。機械学習では、例えば、ディープラーニングモデルにおける各層のパラメータの最適化を行う。これにより、推論器Fnが生成される。
【0056】
データ生成部200は、分割データTnを推論器Fnに入力する。推論器Hの学習データ記憶部250は、推論器Fnの出力をHの学習データとして記憶する。つまり、推論器Fnの推論結果が、推論器Hの学習データとして、メモリなどに格納される。推論器Hの学習データには、分割データTnを推論器Fnに入力した時の推論器Fnの推論結果が含まれる。このように、推論器Fnの学習時に用いられる学習データと、推論時に用いられる入力データとが異なるデータとなっている。
【0057】
なお、i(iは1以上n以下の任意の整数)を用いて、推論器F1~Fnにおける機械学習を一般化すると、以下のようになる。データ生成部200は、学習データTの全体集合を受け取る。データ分割部220は、学習データTをnセット(n個のサブセット)に分割して、分割データTiを生成する。データ生成部200の学習部は、学習データT\Tiを用いて、推論器Fiを機械学習する。推論器Fiの機械学習に用いられる学習データは、T1~Ti-1,Ti+1~Tnとなる。推論器Fiは、分割データTiに基づいて推論を行う。学習データ記憶部250は、推論器Fiの推論結果を、学習データとして記憶する。
【0058】
このように、推論器F1~Fnは第2学習データを生成する学習データ生成部となる。F1~Fnの学習部202-1~202-nは推論器F1~Fnを生成する学習データ生成用推論器生成部となる。なお、推論器F1~Fnは同様のレイヤ構成を有する機械学習モデルとすることができる。つまり、推論器F1~Fnはレイヤ、ノード、エッジ等の数が同じとなっている。そして、学習部202-1~202-nは、それぞれ異なる学習データを用いて推論器F1~Fnを生成している。つまり、推論器F1~Fnは異なる学習データを用いて生成された機械学習モデルである。推論器F1~Fnは推論器F、推論器G、及び推論器Hなどと同様に、画像分類などを行う機械学習モデルである。この場合、推論器F1~Fnは推論器H等と同様のスコアベクトルを出力する。
【0059】
推論器Hの学習データ記憶部250は、推論器F
1、F
2、・・・F
i、・・・F
n-1、F
nの推論結果を学習データとして記憶する。学習データ記憶部250は、推論器F
1~F
nへの入力データとその推論結果を対応付けて記憶してもよい。推論器Hの学習データ記憶部250に記憶された学習データは、上記の通り、第2学習データとなる。よって、以下の説明では、推論器Hの学習データ記憶部250に記憶された学習データを単に第2学習データとも称する。第2学習データは以下の式(2)に示すデータ集合となる。
【数2】
【0060】
推論器Hの学習部122は、第2学習データを用いて推論器Hを生成するための機械学習を行う。学習部122は第2学習データに基づいて、推論器Hを訓練する。学習部122における機械学習は、教師有り学習などの種々の手法を用いることができる。学習部122の機械学習については、公知の手法を用いることができるため、説明を省略する。学習部122は第2学習データに含まれる全てのデータを用いて機械学習を行う。機械学習では、例えば、ディープラーニングモデルにおける各層のパラメータの最適化を行う。これにより、推論器Hが生成される。
【0061】
例えば、分割データT
iに含まれる入力データxについての推論結果F
i(x)を正解ラベルとして、学習部122が、教師有り学習を行う。推論器Hに入力データxを入力した場合、推論器Hから出力される推論結果は以下の式(3)で示される。
【数3】
【0062】
このように、本実施の形態では、データ生成部200が、推論器F1~Fnの出力に基づいて、推論器Hの学習データを生成している。推論器Hは、推論器F1~Fnの出力を用いて生成された蒸留モデルとなる。つまり、推論器F1~Fnは、学習データTから一部の情報を取り出す。学習データ記憶部250は、推論器F1~Fnで取り出された情報を学習データとして用いて、推論器Hを学習させる。よって、推論器Hはシンプルなモデルで高い精度を得ることができる。
【0063】
以下、
図4を参照して、本実施の形態にかかる学習方法について説明する。
図4は、本実施に形態にかかる学習方法を示すフローチャートである。
【0064】
まず、推論器Fの学習部121が推論器Fを学習させる(S401)。ここでは、推論器Fの学習部121が、学習データTの全体集合を用いて、推論器Fを訓練する。これにより、推論器Fが生成される。つぎに、推論装置10は、推論器Gを使用するか否かを判定する(S402)。ここでは、ステップS201と同様に、推論装置10が、ユーザ等の選択入力を受け付けることで、判定を行う。
【0065】
推論器Gを使用する場合(S402のYes)、学習部123が、推論器Gを推論器Fより過学習させて生成する(S403)。つまり、学習データTの全体集合を用いて、推論器Gを訓練する。さらに、推論器Gの学習が、推論器Fの学習より過学習になるように、学習部123が推論器Gを学習させる。これにより、推論器Gが生成される。
【0066】
推論器Gを使用しない場合(S402のNo)、又は推論器Gの機械学習が終了した場合、データ生成部200が、推論器Hの学習データを生成する(S404)。ステップS404の処理について、
図5を用いて詳細に説明する。
図5は推論器Hの学習データを生成する処理を示すフローチャートである。
【0067】
データ分割部220が学習データTをn分割する(S501)。つまり、データ分割部220は分割データT1~Tnを生成する。学習部202-1~202-nが各分割データT1~Tnを除いた学習データでn個の推論器F1~Fnを学習させる(S502)。つまり、データ生成部200の学習部は、T\Tiを用いて、推論器Fiを機械学習する。
【0068】
データ生成部200は、n個の推論器F1~Fnの学習に使用しなかった分割データをそれぞれの推論器F1~Fnに入力する(S503)。つまり、データ生成部200は、分割データTiを推論器Fiに入力する。換言すると、推論器Fiの学習時の入力データと推論時の入力データが異なるように、推論器Fiに分割データTiが入力される。例えば、Fiの学習部202-iでの機械学習で除かれた分割データTiを推論器Fiに入力する。
【0069】
推論器F1~Fnの出力を推論器Hの学習データとして、学習データ記憶部250が保存する(S504)。つまり、推論器Fiは、推論器Fiを生成する機械学習から除かれた分割データTiに基づいて推論を行う。学習データ記憶部250は、推論器Fiの推論結果を、推論器Hの学習データとして記憶する。これにより、学習データの生成が終了する。
【0070】
図4の説明に戻る。学習部122が第2学習データを用いて推論器Hを学習させる(S405)。学習部122は、学習データ記憶部250に記憶されている学習データを読み出して、推論器Hの機械学習に使用する。これにより、推論器Hが生成される。このようにして、学習装置100が推論器F、推論器G、及び推論器Hを生成する。なお、推論器Gを用いない場合、推論器Gの生成処理が省略される。
【0071】
推論器Fにノンメンバデータを入力した場合の出力と、推論器Hにメンバデータを入力した場合の出力は区別がつかないように設計されている。推論装置10において、学習データに対する分類精度(推論精度)と非学習データに対する分類精度(推論精度)のギャップが小さくなる。このため、MI攻撃の攻撃者に学習データの情報が漏れることを防ぐことが可能となる。
【0072】
また、疑似攻撃器Iとしては、既知の最も攻撃力の高いものを使用すれば推論器Fと推論器Hとの振り分けミスを減らすことが出来る。また、疑似攻撃対象として別途過学習させて作った推論器Gを用いている。このようにすることで、入力データxの振り分けミスをより減らすことが出来る。さらには、疑似攻撃器Iは、ブラックボックス設定の攻撃者と異なり、ホワイトボックス攻撃を行うことができるため、より強力な攻撃を行うことができる。つまり、疑似攻撃器Iは、推論器F,又は推論器Gのパラメータにアクセス可能であるため、メンバデータとノンメンバデータとを高い精度で識別できる。
【0073】
上記の方法によれば、MI攻撃に対する耐性が高く、かつ精度の高い推論装置10を生成することができる。推論時に入力データxがノンメンバデータと推論された場合には、そのまま推論結果F(x)を出力するため精度劣化がほとんどない。
【0074】
その他の実施形態
図6はその他の実施形態にかかる学習装置600を示すブロック図である。学習装置600は、第1学習部601と、データ分割部602と、推論器生成部603と、学習データ生成部604と、第2学習部605とを備える。
【0075】
第1学習部601は、第1学習データを用いた機械学習により第1推論器を生成する。データ分割部602は、第1学習データをn(nは2以上の整数)分割することで、nセットの分割データを生成する。推論器生成部603は、第1学習データから1セットの分割データを除いたデータを用いた機械学習によりn個の学習データ生成用推論器を生成する。学習データ生成部604は、前記推論器生成部603の前記機械学習で除かれた1セットの分割データをn個の学習データ生成用推論器にそれぞれ入力することで、第2学習データを生成する。第2学習部605は、第2学習データを用いた機械学習により第2推論器を生成する。これにより、MI攻撃に対する耐性が高く、かつ、精度の高い機械学習モデルを実現することができる。
【0076】
上記の実施形態において、機械学習システムのそれぞれの要素はそれぞれコンピュータプログラムで実現可能である。つまり、推論器F、推論器G,推論器H、疑似攻撃器I、学習部121~123、データ生成部200等はそれぞれコンピュータプログラムで実現可能である。また、推論器F、推論器G,推論器H、疑似攻撃器I、学習部121~123、データ生成部200等は、物理的に単一な装置となっていなくてもよく、複数のコンピュータに分散されていてもよい。
【0077】
次に、実施の形態にかかる機械学習システムのハードウェア構成について説明する。
図7は、機械学習システム700のハードウェア構成の一例を示すブロック図である。
図7に示すように、機械学習システム700は例えば、少なくとも一つのメモリ701、少なくとも一つのプロセッサ702,及びネットワークインタフェース703を含む。
【0078】
ネットワークインタフェース703は、有線又は無線のネットワークを介して他の装置と通信するために使用される。ネットワークインタフェース703は、例えば、ネットワークインタフェースカード(NIC)を含んでもよい。機械学習システム700は、ネットワークインタフェース703を介して、データの送受信を行う。機械学習システム700は、ネットワークインタフェースを介して、学習データTを取得してもよい。
【0079】
メモリ701は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ701は、プロセッサ702から離れて配置されたストレージを含んでもよい。この場合、プロセッサ702は、図示されていない入出力インタフェースを介してメモリ701にアクセスしてもよい。
【0080】
メモリ701は、プロセッサ702により実行される、1以上の命令を含むソフトウェア(コンピュータプログラム)などを格納するために使用される。機械学習システム700が推論装置10を有する場合、メモリ701は、推論器F、推論器G,推論器H、疑似攻撃器Iを格納していてもよい。また、機械学習システム700が学習装置100を有する場合、メモリ701は、学習部121~123、データ生成部200等を格納していてもよい。
【0081】
プログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
【0082】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
第1学習データを用いた機械学習により生成され、入力データが前記第1学習データではない場合に推論を行う第1推論器と、
前記第1学習データと異なる第2学習データを用いた機械学習により生成され、入力データが前記第1学習データである場合に推論を行う第2推論器と、
前記第1学習データを用いた機械学習により生成され、前記第1推論器を生成するための機械学習よりも過学習することにより生成された第3推論器と
前記第3推論器の推論結果に基づいて、前記入力データが前記第1学習データであるか否かを判定する疑似攻撃器と、を備えた推論装置。
(付記2)
前記入力データをx,前記入力データxのラベルをy、前記第3推論器の出力結果をG(x)とした場合に、前記疑似攻撃器が、
以下の式(1)に基づいて、Mentrを算出し、
【数4】
前記Mentrに基づいて、前記第1学習データであるか否か判定する付記1に記載の推論装置。
(付記3)
第1学習データを用いた機械学習により第1推論器を生成する第1学習部と、
前記第1学習データをn(nは2以上の整数)分割することで、nセットの分割データを生成するデータ分割部と、
前記第1学習データから1セットの分割データを除いたデータを用いた機械学習によりn個の学習データ生成用推論器を生成する推論器生成部と、
前記推論器生成部の前記機械学習で除かれた前記1セットの前記分割データをn個の前記学習データ生成用推論器にそれぞれ入力することで、第2学習データを生成する学習データ生成部と、
前記第2学習データを用いた機械学習により第2推論器を生成する第2学習部と、を備えた学習装置。
(付記4)
前記第1学習データを用いて、前記第1学習部よりも過学習を行うことで、第3推論器を生成する第3学習部と、を備えた付記3に記載の学習装置。
(付記5)
付記4に記載の学習装置と、
付記1、又は2に記載の推論装置と、を備えた機械学習システム。
(付記6)
第1学習データを用いた機械学習により生成された第1推論器が、入力データが前記第1学習データではない場合に推論を行い、
前記第1学習データと異なる第2学習データを用いた機械学習により生成された第2推論器が、入力データが前記第1学習データである場合に推論を行い、
前記第1学習データを用いた機械学習により生成され、前記第1推論器を生成するための機械学習よりも過学習することにより生成された第3推論器が、前記入力データに基づいて推論を行い、
疑似攻撃器が、前記第3推論器の推論結果に基づいて、前記入力データが前記第1学習データであるか否かを判定する、推論方法。
(付記7)
前記入力データをx,前記入力データxのラベルをy、前記第3推論器の出力結果をG(x)とした場合に、前記疑似攻撃器が、
以下の式(1)に基づいて、Mentrを算出し、
【数5】
前記Mentrに基づいて、前記第1学習データであるか否か判定する付記6に記載の推論方法。
(付記8)
第1学習データを用いた機械学習により第1推論器を生成し、
前記第1学習データをn(nは2以上の整数)個に分割することで、nセットの分割データを生成し、
前記第1学習データから1セットの分割データを除いたデータを用いた機械学習によりn個の学習データ生成用推論器を生成し、
前記学習データ生成用推論器を生成する前記機械学習で除かれた前記1セットの前記分割データをn個の前記学習データ生成用推論器にそれぞれ入力することで、第2学習データを生成し、
前記第2学習データを用いた機械学習により第2推論器を生成する、学習方法。
(付記9)
前記第1学習データを用いて、前記第1推論器の機械学習よりも過学習を行うことで、第3推論器を生成する、付記8に記載の学習方法。
(付記10)
コンピュータに対して推論方法を実行させるためのプログラムが格納されたコンピュータ可読媒体であって、
前記推論方法は、
第1学習データを用いた機械学習により生成された第1推論器が、入力データが前記第1学習データではない場合に推論を行い、
前記第1学習データと異なる第2学習データを用いた機械学習により生成された第2推論器が、入力データが前記第1学習データである場合に推論を行い、
前記第1学習データを用いた機械学習により生成され、前記第1推論器を生成するための機械学習よりも過学習することにより生成された第3推論器が、前記入力データに基づいて推論を行い、
疑似攻撃器が、前記第3推論器の推論結果に基づいて、前記入力データが前記第1学習データであるか否かを判定する、
コンピュータ可読媒体。
(付記11)
前記入力データをx,前記入力データxのラベルをy、前記第3推論器の出力結果をG(x)とした場合に、前記疑似攻撃器が、
以下の式(1)に基づいて、Mentrを算出し、
【数6】
前記Mentrに基づいて、前記第1学習データであるか否か判定する付記10に記載のコンピュータ可読媒体。
(付記12)
コンピュータに対して学習方法を実行させるためのプログラムが格納されたコンピュータ可読媒体であって、
前記学習方法は、
第1学習データを用いた機械学習により第1推論器を生成し、
前記第1学習データをn(nは2以上の整数)個に分割することで、nセットの分割データを生成し、
前記第1学習データから1セットの分割データを除いたデータを用いた機械学習によりn個の学習データ生成用推論器を生成し、
前記学習データ生成用推論器を生成する前記機械学習で除かれた前記1セットの前記分割データをn個の前記学習データ生成用推論器にそれぞれ入力することで、第2学習データを生成し、
前記第2学習データを用いた機械学習により第2推論器を生成する、
非一時的なコンピュータ可読媒体。
(付記13)
前記第1学習データを用いて、前記第1学習部よりも過学習を行うことで、第3推論器を生成する第3学習部と、を備えた付記12に記載のコンピュータ可読媒体。
【0083】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0084】
10 推論装置
20 入力データ
28 出力データ
29 出力データ
T 学習データ
T1~Tn 分割データ
100 学習装置
121 学習部
122 学習部
123 学習部
200 データ生成部
220 データ分割部
202-1 F1の学習部
202-n Fnの学習部
250 学習データ記憶部
F 推論器
H 推論器
G 推論器
I 疑似攻撃器