(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-04
(45)【発行日】2024-03-12
(54)【発明の名称】機械学習方法、機械学習システム及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240305BHJP
G06F 21/62 20130101ALI20240305BHJP
【FI】
G06N20/00 130
G06F21/62 354
(21)【出願番号】P 2022522158
(86)(22)【出願日】2020-05-13
(86)【国際出願番号】 JP2020019065
(87)【国際公開番号】W WO2021229706
(87)【国際公開日】2021-11-18
【審査請求日】2022-11-11
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100080816
【氏名又は名称】加藤 朝道
(74)【代理人】
【識別番号】100098648
【氏名又は名称】内田 潔人
(72)【発明者】
【氏名】寺西 勇
(72)【発明者】
【氏名】土田 光
【審査官】坂庭 剛史
(56)【参考文献】
【文献】米国特許第10225277(US,B1)
【文献】岩澤有祐、松尾 豊,類似度学習を用いた敵対的訓練による特徴表現の検閲,2018年度人工知能学会全国大会(第32回)論文集DVD[DVD-ROM],日本,一般社団法人 人工知能学会,2018年06月08日,[3A1-05],pp.1-4
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
教師ラベル付きの第1のデータ集合を学習用データとして用いて機械学習を行ってパラメータθを持つ学習モデルfを作成する学習第1フェーズと、
前記第1のデータ集合又は第2のデータ集合のいずれかをランダムに選択し、
前記第1、第2のデータ集合のデータを前記学習モデルfに入力した結果を、パラメータωを持つ識別器hに入力し、
前記識別器hに入力データが第1、第2のデータ集合のいずれかに属するかを識別させた結果と、正解データと、を用いて機械学習を行って、前記識別器hのパラメータωを学習するとともに、
前記第1のデータ集合を選択した場合に、前記学習モデルfの出力を修正するパラメータτを持つ防御器uに対し、前記第1のデータ集合のデータを前記学習モデルfに入力した結果を入力し、前記防御器uを経由した前記識別器hの出力を用いて、前記防御器uのパラメータτを学習する学習第2フェーズと、を含む、
機械学習方法。
【請求項2】
前記学習第2フェーズにおいて、前記防御器uが、
前記学習モデルfに、前記第2のデータ集合を入力したときの出力と、
前記学習モデルfに、前記第1のデータ集合を入力したときの出力をさらに、前記防御器uに入力したときの出力とが区別がつかないように前記防御器uのパラメータτを学習する請求項1の機械学習方法。
【請求項3】
前記学習第2フェーズにおいて、さらに、
任意のデータ集合のデータを前記学習モデルfに入力した結果と、前記データ集合のデータとを前記防御器uに入力し、前記任意のデータ集合のデータの推論結果をそのまま出力するよう、前記防御器uのパラメータτを学習するステップを含む、請求項1又は2の機械学習方法。
【請求項4】
前記ステップで用いるデータ集合として、前記第1のデータ集合のデータを含まないデータの集合を用いる請求項3の機械学習方法。
【請求項5】
前記ステップにおいて、
前記学習モデルfに前記第2のデータ集合のデータを入力して得られた出力yと、前記防御器uに前記出力yを入力して得られたy’とが同一になるように、前記防御器uの前記パラメータτを学習する請求項3又は4の機械学習方法。
【請求項6】
前記防御器uは、推論フェーズにおいて、前記学習モデルfから出力されたデータに所定の防御処理を実施する請求項1から5いずれか一の機械学習方法。
【請求項7】
教師ラベル付きの第1のデータ集合を学習用データとして用いて機械学習を行ってパラメータθ
1を持つ学習モデルFを作成する学習第1フェーズと、
前記第1のデータ集合又は第2のデータ集合のいずれかをランダムに選択し、
前記第1のデータ集合を選択した場合、パラメータθ
2を持つ学習モデルHに前記第1のデータ集合を入力して得られた結果を、所定の識別器Dに入力し、入力データが第1、第2のデータ集合のいずれかに属するかを識別させた結果を用いて機械学習を行って、前記識別器Dのパラメータ及び前記学習モデルHのパラメータθ
2を学習し、
前記第2のデータ集合を選択した場合、前記パラメータθ
1を持つ学習モデルFに前記第2のデータ集合を入力して得られた結果を、前記所定の識別器Dに入力し、入力データが第1、第2のデータ集合のいずれかに属するかを識別させた結果を用いて機械学習を行って、前記識別器Dのパラメータを学習する学習第2フェーズと、
前記第1のデータ集合又は第2のデータ集合のいずれかをランダムに選択し、
前記第1のデータ集合を選択した場合、前記学習モデルHに前記第1のデータ集合を入力し、前記第2のデータ集合を選択した場合、前記学習モデルFに前記第2のデータ集合を入力し、
所定の疑似攻撃器Sに、前記学習モデルH及び前記学習モデルFが出力した推論結果と、前記学習モデルH及び前記学習モデルFにそれぞれ入力されたデータとを入力することで、前記出力した前記所定の疑似攻撃器Sのパラメータを学習する学習第3フェーズとを含む機械学習方法。
【請求項8】
教師ラベル付きの第1のデータ集合を学習用データとして用いて機械学習を行ってパラメータθを持つ学習モデルfを作成する学習第1フェーズと、
前記第1のデータ集合又は第2のデータ集合のいずれかをランダムに選択し、
前記第1、第2のデータ集合のデータを前記学習モデルfに入力した結果を、パラメータωを持つ識別器hに入力し、
前記識別器hに入力データが第1、第2のデータ集合のいずれかに属するかを識別させた結果と、正解データと、を用いて機械学習を行って、前記識別器hのパラメータωを学習するとともに、
前記第1のデータ集合を選択した場合に、前記学習モデルfの出力を修正するパラメータτを持つ防御器uに対し、前記第1のデータ集合のデータを前記学習モデルfに入力した結果を入力し、前記防御器uを経由した前記識別器hの出力を用いて、前記防御器uのパラメータτを学習する学習第2フェーズと、を実行可能な制御部を備える、
機械学習システム。
【請求項9】
コンピュータに、
教師ラベル付きの第1のデータ集合を学習用データとして用いて機械学習を行ってパラメータθを持つ学習モデルfを作成する学習第1フェーズと、
前記第1のデータ集合又は第2のデータ集合のいずれかをランダムに選択し、
前記第1、第2のデータ集合のデータを前記学習モデルfに入力した結果を、パラメータωを持つ識別器hに入力し、
前記識別器hに入力データが第1、第2のデータ集合のいずれかに属するかを識別させた結果と、正解データと、を用いて機械学習を行って、前記識別器hのパラメータωを学習するとともに、
前記第1のデータ集合を選択した場合に、前記学習モデルfの出力を修正するパラメータτを持つ防御器uに対し、前記第1のデータ集合のデータを前記学習モデルfに入力した結果を入力し、前記防御器uを経由した前記識別器hの出力を用いて、前記防御器uのパラメータτを学習する学習第2フェーズと、を実行させる、
プログラムを記録したプログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習方法、機械学習システム及びプログラムに関する。
【背景技術】
【0002】
機械学習の学習済みパラメータから学習に用いた秘密情報(例:顧客情報、企業秘密など)を漏洩させるMembership Inference攻撃(MI攻撃)が知られている(非特許文献1、2参照)。例えば、非特許文献1には、推論アルゴリズムへのアクセスが可能であるとの条件下で、MI攻撃の方法が開示されている。MI攻撃は、機械学習の「過学習」という現象を利用して実行する。過学習とは学習に用いたデータに対して機械学習が過剰に適合してしまう現象の事で、これが原因となり推論アルゴリズムの入力に学習に用いたデータを入力した場合とそうでないデータを入力した場合の出力の傾向が異なってしまう。MI攻撃の攻撃者はこの傾向の違いを悪用する事で、手元にあるデータが学習に用いられたものなのかそうでないのかを判別する。
【0003】
非特許文献3は、MI攻撃に耐性のある学習アルゴリズムを提案する文献である。具体的には、非特許文献3では、任意の既知の機械学習の推論アルゴリズムfと、fに入力されたデータがfの学習に用いられたデータか否かを識別する識別器hを用いて、それぞれのパラメータを敵対的に学習させ、推論アルゴリズムfの推論精度と、MI攻撃に対する耐性を引き上げる方法が採用されている。
【0004】
非特許文献4には、攻撃対象の推論アルゴリズムの学習済みパラメータが知られていないとの条件下でのブラックボックス攻撃に対する対策として、攻撃者の分類器を誤解させる処理を行う、MemGuardという方法が開示されている。
【0005】
特許文献1には、敵対的ネットワークを用いて学習用データに類似するデータを生成する生成モデル学習方法において、ユーザにとって好ましくないデータの生成を抑制することができるという方法が開示されている。
【先行技術文献】
【特許文献】
【0006】
【非特許文献】
【0007】
【文献】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 IndependentMembership Inference Attacks and Defenses onMachine 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〉
【発明の概要】
【発明が解決しようとする課題】
【0008】
以下の分析は、本発明者によって与えられたものである。MI攻撃に対する対策として、非特許文献3の方法における推論アルゴリズムのパラメータθの更新方法は次式[数1]のmin-max問題として把握される(非特許文献3の5ページ、数(7)参照)。
【数1】
【0009】
ここで、[数1]のoptimal Inference項は、推論アルゴリズムfが与えられた上での識別器hの性能(ゲインG)を最大化することを表している。また、[数1]のカッコ内LD(f)は、推論アルゴリズムfにデータ集合に属する任意のデータを損失関数に入力して得られるEmpitical Lossを表している。[数1]の全体のoptimal privacy-preserving classficationは、所要のゲインGを持つ識別器hが与えられた上での推論アルゴリズムfの最適パラメータを探索することを表している。換言すると、[数1]は、推論アルゴリズムfの精度と攻撃耐性がトレードオフの関係にあることを示しており、λは、そのトレードオフの度合いを決めるパラメータと位置付けられる。
【0010】
従って、非特許文献3の方式では、[数1]のパラメータλを大きくし、識別器hの性能(ゲインG)を重視しようとすると、推論アルゴリズムfの精度をある程度犠牲にしなければならなくなってしまっている。
【0011】
また、非特許文献4の方式は、推論結果にノイズを載せることで防御しているため、防御性能に関係なく、推論結果にノイズの影響が及んでしまうという問題点がある。
【0012】
本発明は、上記したMI攻撃に対する防御性能と推論アルゴリズムの精度とをそれぞれ所要のレベルに向上させることに貢献できる機械学習方法、機械学習システム及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
第1の視点によれば、教師ラベル付きの第1のデータ集合を学習用データとして用いて機械学習を行ってパラメータθを持つ学習モデルfを作成する学習第1フェーズと、前記第1のデータ集合又は第2の集合のいずれかをランダムに選択し、前記第1、第2のデータ集合のデータを前記学習モデルfに入力した結果を、パラメータωを持つ識別器hに入力し、前記識別器hに入力データが第1、第2のデータ集合のいずれかに属するかを識別させた結果と、正解データと、を用いて機械学習を行って、前記識別器hのパラメータωを学習するとともに、前記第1のデータ集合を選択した場合に、前記学習モデルfの出力を修正するパラメータτを持つ防御器uに対し、前記第1のデータ集合のデータを前記学習モデルfに入力した結果を入力し、前記防御器uを経由した前記識別器hの出力を用いて、前記防御器uのパラメータτを学習する学習第2フェーズと、を含む、機械学習方法が提供される。上記した方法は、訓練データを入力として学習モデルfを更新するコンピュータという、特定の機械に結びつけられている。
【0014】
第2の視点によれば、教師ラベル付きの第1のデータ集合を学習用データとして用いて機械学習を行ってパラメータθを持つ学習モデルfを作成する学習第1フェーズと、前記第1のデータ集合又は第2の集合のいずれかをランダムに選択し、前記第1、第2のデータ集合のデータを前記学習モデルfに入力した結果を、パラメータωを持つ識別器hに入力し、前記識別器hに入力データが第1、第2のデータ集合のいずれかに属するかを識別させた結果と、正解データと、を用いて機械学習を行って、前記識別器hのパラメータωを学習するとともに、前記第1のデータ集合を選択した場合に、前記学習モデルfの出力を修正するパラメータτを持つ防御器uに対し、前記第1のデータ集合のデータを前記学習モデルfに入力した結果を入力し、前記防御器uを経由した前記識別器hの出力を用いて、前記防御器uのパラメータτを学習する学習第2フェーズと、を実行可能な制御部を備える、機械学習システムが提供される。
【0015】
第3の視点によれば、上記したコンピュータの機能を実現するためのコンピュータプログラムが提供される。プログラムは、コンピュータ装置に入力装置又は外部から通信インターフェースを介して入力され、記憶装置に記憶されて、プロセッサを所定のステップないし処理に従って駆動させ、必要に応じ中間状態を含めその処理結果を段階毎に表示装置を介して表示することができ、あるいは通信インターフェースを介して、外部と交信することができる。そのためのコンピュータ装置は、一例として、典型的には互いにバスによって接続可能なプロセッサ、記憶装置、入力装置、通信インターフェース、及び必要に応じ表示装置を備える。また、このプログラムは、コンピュータが読み取り可能な(非トランジトリーな)記憶媒体に記録することができる。
【発明の効果】
【0016】
本発明によれば、上記したMI攻撃に対する防御性能と推論アルゴリズムの精度とをそれぞれ所要のレベルに向上させた機械学習を実行することに貢献することが可能となる。
【図面の簡単な説明】
【0017】
【
図1】本発明の第1の実施形態の機械学習方法の流れを表したフローチャートである。
【
図2】本発明の第1の実施形態の推論フェーズの詳細を説明するための図である。
【
図3】本発明の第1の実施形態の学習各フェーズの詳細を説明するための図である。
【
図4】本発明の第2の実施形態の機械学習方法の流れを表したフローチャートである。
【
図5】本発明の第2の実施形態の学習第2フェーズのステップST1の詳細を説明するための図である。
【
図6】本発明の第2の実施形態の学習第2フェーズのステップST2の詳細を説明するための図である。
【
図7】本発明の第3の実施形態の推論フェーズの詳細を説明するための図である。
【
図8】本発明の第3の実施形態の機械学習方法の流れを表したフローチャートである。
【
図9】本発明の第3の実施形態の学習第1フェーズ及び学習第2フェーズの詳細を説明するための図である。
【
図10】本発明の第3の実施形態の学習第3フェーズの詳細を説明するための図である。
【
図11】本発明の機械学習システムを構成するコンピュータの構成を示す図である。
【発明を実施するための形態】
【0018】
[第1の実施形態]
はじめに本発明の第1の実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。プログラムはコンピュータ装置を介して実行され、コンピュータ装置は、例えば、プロセッサ、記憶装置、入力装置、通信インターフェース、及び必要に応じ表示装置を備える。また、このコンピュータ装置は、通信インターフェースを介して装置内又は外部の機器(コンピュータを含む)と、有線、無線を問わず、通信可能に構成される。また、図中の各ブロックの入出力の接続点には、ポート乃至インターフェースがあるが図示省略する。また、以下の説明において、「A及び/又はB」は、A又はB、又はA及びBという意味で用いる。
【0019】
図1は、第1の実施形態の機械学習方法の流れを表したフローチャートである。
図1に示すように、第1の実施形態の機械学習方法は、学習第1フェーズと、学習第2フェーズと、それぞれ実行して、学習モデルf(以下、「推論f」と記す)のパラメータと、防御器u、識別器hのパラメータと、を学習する機械学習方法として構成される。これらのフェーズは畳み込みニューラルネットワーク(Convolutional Neural Network、以下「CNN」)などを用いて構成することが可能であり、各パラメータは、CNNを構成する畳み込み層や全結合層で用いられる重みやバイアス値に相当する。
【0020】
図2は、推論fと、防御器uとを用いた推論フェーズを表した図である。推論fは、推論の対象データが入力されると、対象データに関する推論結果を出力する。防御器uは、推論fの出力に対し、推論fの学習に用いた学習用データに対する推論fの推論結果と、学習に用いていないデータに対する推論fの推論結果と、の区別がつかないように推論fの出力を修正する。これにより、推論fに任意のデータを入力し、その結果により推論fのパラメータを推測する形態の攻撃を行う攻撃者にとって、任意データから学習用データに関する有意な情報を取り出すことは困難となる。最終的には、攻撃者による推論fのパラメータの推測を困難化させることができる。
【0021】
図3を参照して、本実施形態の機械学習システム10による、上記のような性質を持つ推論f、防御器u、識別器hのパラメータを学習する方法について詳細に説明する。
【0022】
[学習第1フェーズ]
学習第1フェーズでは、任意のデータに対し、教師ラベル(以下、単に「ラベル」とも記す。)を付して事前に作成した学習用データS1を用いて、推論fのパラメータθの機械学習を行う(パラメータ学習部101参照)。ここでの推論fのパラメータθの学習では、MI攻撃に対する防御性能は考慮しなくてよいため、学習用データS1を用いた精度を追求することができる。
【0023】
[学習第2フェーズ]
学習第2フェーズでは、データ選択部201にて、学習用データS1と、学習用データS1とは異なる学習用データS0とのいずれかから学習用データのランダムな選択を行う。学習用データS1は、MI攻撃におけるmembersと呼ばれているデータ、学習用データS0は、non-membersと呼ばれているデータに相当する。
【0024】
学習用データS1を選択した場合、データ選択部201は、推論f 202aに学習用データS1を入力し、推論f 202aの出力に防御器u更新部203を経由させる。
【0025】
一方、学習用データS0を選択した場合、データ選択部201は、推論f 202bに学習用データS0を入力し、推論f 202bの出力をそのまま識別器h更新部204に出力させる。
【0026】
また、学習用データS1、S0のいずれかを選択したかに拘わらず、データ選択部201は、選択したデータ及びラベルを、防御器u更新部203と識別器h更新部204にそれぞれ入力する。
【0027】
推論f 202a、202bは、学習用データが入力されると、それぞれ推論結果を出力する。なお、推論f 202a、202bには、それぞれ学習第1フェーズで学習した同一のパラメータθが設定されている。
図3の上では、説明を簡単にするため、推論f 202aと推論f 202bとをそれぞれ独立した処理ブロックとして記載しているが、両者を共通の処理ブロックとして構成することもできる。
【0028】
防御器u更新部203は、識別器h更新部204に保持されている識別器hが学習用データS1、S0のいずれかを区別できないように推論f 202aから推論結果を修正する防御器uを保持し、修正後の推論結果を識別器h更新部204に出力する。例えば、学習用データS1に属するあるデータに対して、推論f 202aは、極めて高い推論結果を出力することがある。その場合、防御器uは、その出力が、学習用データS1に属するあるデータであるか、学習用データS0であるかの区別が付かないように、推論f 202aの出力を修正することになる。また、防御器u更新部203は、識別器h更新部204における識別結果及びデータ選択部201から受け取った正解データ(データ、ラベル)を用いて、防御器uのパラメータを更新する。
【0029】
識別器h更新部204は、防御器u経由の推論f 202aの出力、推論f 202bのいずれかの推論結果が入力されると、受け取った推論結果が、学習用データS1、S0のいずれの推論結果であるかを識別し、その結果を、防御器u更新部203に出力する。さらに、識別器h更新部204は、受け取った推論結果に対する自身の識別結果と、データ選択部201から受け取った正解データ(データ、ラベル)を用いて、識別器hのパラメータを更新する。
【0030】
従って、防御器u更新部203と識別器h更新部204とは、いわゆる敵対的学習を行って、防御器u及び識別器hのそれぞれのパラメータを更新し、性能を向上させていく。これにより、防御器u経由の推論f 202aの出力と、防御器を経由しない推論f 202bの出力との区別を困難とするような高い防御性能を持つ防御器uが得られる。
【0031】
[推論]
図2に示すように、上記学習第1フェーズで得られた推論fに、実データ(対象データ)を入力した後、その出力を、学習第2フェーズで得られた防御器uに入力することで、推論結果が得られる。上述したように、推論fには、学習用データS1を用いて安全性(MI攻撃に対する防御性能)を考慮せずに精度のよいパラメータθが設定されている。そして、防御器uには、推論fに学習用データS1が入力されたときにその安全性(MI攻撃に対する防御性能)を確保できるようなパラメータが設定されている。従って、本実施形態によれば、精度と、安全性(MI攻撃に対する防御性能)とがそれぞれ向上された推論システムを構築することができる。
【0032】
[第2の実施形態]
続いて、上記した第1の実施形態の学習第2フェーズに防御器uの性能を引き上げるステップを追加した第2の実施形態について説明する。
図4は、本発明の第2の実施形態の機械学習方法の流れを表したフローチャートである。
図1に示した第1の実施形態との相違点は、学習第2フェーズに、ステップST2(S103)が追加されている点である。その他の構成は第1の実施形態と同様であるので、以下、その相違点を中心に説明する。
【0033】
[学習第2フェーズ]
図5は、本実施形態の機械学習システム10aによる、第2の実施形態の学習第2フェーズのステップST1の詳細を説明するための図である。第2の実施形態の学習第2フェーズのステップST1は、第1の実施形態の学習第2フェーズと同様であるが、アルゴリズム等を含めてより詳細に説明する。
【0034】
[学習第2フェーズのステップST1]
制御部100は、
図5に表された各処理を順次実行する。まず、制御部100は、それぞれラベル付きの学習用データS1及び学習用データS0のうちいずれかをランダムに選択する。ここで、学習用データS1は、学習第1フェーズで推論fの学習に用いたデータであり、学習用データS0は、学習第1フェーズで推論fの学習に用いていないデータである。
【0035】
学習用データS1を選択した場合、制御部100は、
図5の手順1を実行する。具体的には、制御部100は、ラベルとデータを取り出し、データを推論f
θと、防御器u
τと、に入力する。以下、パラメータθを持つ推論を推論f
θ、パラメータτを持つ防御器を防御器u
τ、パラメータωを持つ識別器を識別器h
ω、と表す。
【0036】
推論fθは、入力された学習用データS1に対する推論結果を計算する。推論fθにおける推論結果は、防御器uτに入力される。
【0037】
防御器uτは、推論fθにおける推論結果に対して、学習用データS0を推論fθに入力したときの推論結果と区別が付かないように、推論結果を修正する防御処理を行う。
【0038】
一方、学習用データS0を選択した場合、制御部100は、
図5の手順0を実行する。具体的には、制御部100は、ラベルとデータを取り出し、データを推論f
θに入力する。
【0039】
推論fθは、入力された学習用データS0に対する推論結果を計算する。
【0040】
上記手順1、0のいずれかを実行すると、ラベル、データに加えて、防御器uτ経由の学習用データS1の推論結果又は学習用データS0の推論結果が得られる。制御部100は、識別器hωに、これら3つのデータを入力し、推論の対象となったデータが、推論fθの学習に用いられた学習用データS1か、そうでない学習用データS0かの識別を行わせる。
【0041】
制御部100は、この識別結果と、正解データ(データ及びラベル)を用いて、識別器hωのパラメータωを更新する。さらに、制御部100は、識別器hωの識別結果と、正解データ(データ及びラベル)を用いて、防御器uτのパラメータτを更新する。
【0042】
制御部100は、以上の処理を所定回数繰り返すことで、識別器hωのパラメータωと、防御器uτのパラメータτとをそれぞれ更新する。この処理は、以下のアルゴリズムで実現することができる。
【0043】
(1)それぞれ所定数の学習用データS1と学習用データS0とを入力として受け取る。
(2)以下(10)、(20)をl
1回繰り返す。ここで、l
1、k
h、m
h、k
u、m
uは事前に定められた定数である。
(10)以下(11)~(13)をk
h回繰り返す。
(11)学習用データS0から、m
h個のデータとそのラベルの組(x
1,y
1),・・・,(x
mh,y
mh)をランダムに選ぶ。
(12)学習用データS1から、m
h個のデータとそのラベルの組(x’
1,y’
1),・・・,(x’
mh,y’
mh)をランダムに選ぶ。
(13)次式[数2]が大きくなる方向にωを更新する。なお、以下、[数2]、[数3]の∇は、ナブラ(=成分毎の微分)を表す。
【数2】
(20)以下(21)~(22)をk
u回繰り返す。
(21)学習用データS1から、m
u個のデータとそのラベルの組(x’
1,y’
1),・・・,(x’
mu,y’
mu)をランダムに選ぶ。
(22)次式[数3]が小さくなる方向にτを更新する。
【数3】
(3)l
1回、上記(10)、(20)を実行して得られたω、τを出力する。
【0044】
以上の学習第2フェーズのステップST1により、識別器hωのパラメータωと、防御器uτのパラメータτとがそれぞれ更新される。
【0045】
[学習第2フェーズのステップST2]
図6は、本発明の第2の実施形態の学習第2フェーズのステップST2の詳細を説明するための図である。第2の実施形態では、上記のようにパラメータτを持つ防御器u
τに対し、以下の機械学習を追加で行う。
【0046】
図6に示すように、まず、学習用データS2を用意する。この学習用データS2は、学習用データS1と異なるデータであればよい。例えば、学習第2フェーズのステップST1で用いた学習用データS0であってもよい。また、学習用データS2はラベルがなくてもよい。
【0047】
制御部100は、このような学習用データS2を、学習第1フェーズで更新したパラメータθを持つ推論fθに入力し、その結果を取得する。
【0048】
そして、制御部100は、前述の防御器uτに、推論fθの出力と、学習用データS2とを入力し、学習用データS2が推論fθに入力されているときに、推論fθの出力をそのまま出力するように、防御器uτのパラメータτをさらに更新する。この処理は、以下のアルゴリズムで実現することができる。
【0049】
(4)それぞれ所定数の学習用データS2(ラベルは不要)を入力として受け取る。
(5)以下、(30)をl
2回繰り返す。ここで、l
2、mは事前に定められた定数である。また、Lは事前に定められた損失関数を示す。
(30)以下(31)~(32)をl
2回繰り返す。
(31)学習用データS2から、m個のデータx
1,・・・,x
mをランダムに選ぶ。
(32)次式[数4]が小さくなる方向にτを更新する。なお、以下、[数4]の∇は、ナブラ(=成分毎の微分)を表す。
【数4】
(6)l
2回、上記(30)を実行して得られたτを出力する。
【0050】
以上の学習第2フェーズのステップST2により、防御器uτのパラメータτがさらに更新される。
【0051】
上記の結果、以下の(a)~(c)の推論結果の区別が困難化される。
(a)学習に用いた学習用データS1を、防御器uτ付きの推論uτfθに入れたときの出力
(b)学習に用いていないデータS0を、防御器uτなしの推論fθに入れたときの出力
(c)学習に用いていないデータS0を、防御器uτ付きの推論uτfθに入れたときの出力
【0052】
第1の実施形態では、上記(a)と(b)の区別の困難化を行った。第2の実施形態では、上記学習第2フェーズのステップST2を追加することにより、上記(b)と(c)の区別を困難化するように、防御器u
τのパラメータτを最適化している。結果として、
図2に示す防御器u
τ付きの推論u
τf
θの出力から、その推論結果の元となった入力が学習に用いられたデータであるか否かを見分けることができなくなる。
【0053】
さらに、本実施形態では、上記学習第1、第2フェーズで説明したとおり、推論fθは、学習用データS1を用いて所要の精度が得られるまで最適化され、その推論fθをそのまま防御器uτの機械学習に用いる構成を採用している。従って、防御器uτ付きの推論uτfθの推論精度は、学習に用いていないデータに対する防御器なし推論fθの推論精度とほぼ同等とみなすことができる。このように、本実施形態では、防御器なしの構成における推論精度と同程度の推論精度の確保に成功している。この点が、背景技術で説明した、推論精度と安全性とがトレードオフの関係にある非特許文献3の方式に対する、本実施形態のアドバンテージとなる。
【0054】
また、非特許文献4との対比においても、本実施形態は、学習データを入力しない限りは、防御器uτ付きの推論uτfθの出力は、防御器なしの推論fθと同じになるようにパラメータτが更新されているため、推論結果にノイズの影響が及んでしまうこともない。また、非特許文献4の方式は、ノイズを載せるものの、極端に高いスコアは、高いスコアとして出力されるため、非特許文献2の攻撃に脆弱である。これに対し、本実施形態は、上記したとおり、推論結果が極端に高いスコアであってもそれが、学習に使われたデータから得られたものであるのか、学習に使われていないデータから得られたものであるのか区別できない。このため、本実施形態は、非特許文献2の攻撃に対しても安全性が確保されている。
【0055】
[第3の実施形態]
続いて、上記第1、第2の実施形態とは異なるアプローチで、第1、第2の実施形態と同等の推論システムが得られるようにした第3の実施形態について説明する。
【0056】
図7は、入力データに応じて、2つの異なる推論F,Hを選択して推論結果を出力する疑似攻撃器Sを用いた推論システムの構成が示されている。
図7の疑似攻撃器Sは、入力データがNoM、即ち、推論Fの学習に用いられていないデータであると判定した場合、推論Fによる入力データの推論結果を出力する。一方、入力データがMeM、即ち、推論Fの学習に用いられたデータであると判定した場合、推論Hによる入力データの推論結果を出力する。本実施形態の機械学習方法は、このような構成にて推論精度と安全性を両立できる推論F及び推論Hを作成する。以下、その方法について詳細に説明する。
【0057】
図8は、第3の実施形態の機械学習方法の流れを表したフローチャートである。第3の実施形態の機械学習方法は、学習第1フェーズと、学習第2フェーズと、学習第3フェーズと、それぞれ実行して、推論Fのパラメータと、推論Hと識別器D、疑似攻撃器Sのパラメータと、を学習する機械学習方法として構成される。
【0058】
[学習第1フェーズ]
図9は、本実施形態の機械学習システム10bによる、第3の実施形態の学習第1フェーズ及び学習第2フェーズの詳細を説明するための図である。学習第1フェーズでは、任意のデータに対し、教師ラベルを付して事前に作成した学習用データS1(Mem)を用いて、推論Fのパラメータθ
1の機械学習を行う(パラメータ学習部301参照)。ここでの推論Fのパラメータθ
1の学習では、MI攻撃に対する防御性能は考慮しなくてよいため、学習用データS1(Mem)を用いた精度を追求することができる。この点は、第1、第2の実施形態と同様である。
【0059】
[学習第2フェーズ]
学習第2フェーズでは、データ選択部401にて、学習用データS1(Mem)と、学習用データS1とは異なる学習用データS0(NoM)とのいずれかから学習用データのランダムな選択を行う。ここでMemはメンバ、Nomは非メンバを表す。
【0060】
学習用データS1(Mem)を選択した場合、データ選択部401は、推論H更新部402に学習用データS1(Mem)を入力する。
【0061】
一方、学習用データS0(NoM)を選択した場合、データ選択部401は、学習第1フェーズで学習したパラメータθ1を持つ推論F403に学習用データS0(NoM)を入力する。
【0062】
また、学習用データS1(Mem)、S0(NoM)のいずれかを選択したかに拘わらず、データ選択部401は、選択したデータ及びラベルを、識別器D更新部404に入力する。
【0063】
推論H更新部402は、推論Hを用いて、入力されたデータの推論結果を出力するとともに、識別器D更新部404に保持されている識別器Dが学習用データS1(Mem)、S0(NoM)のいずれかを区別できないように推論Hのパラメータθ2を更新する。具体的には、推論H更新部402は、識別器D更新部404における識別結果及びデータ選択部401から受け取った正解データ(データ、ラベル)を用いて、推論Hのパラメータθ2を更新する。
【0064】
識別器D更新部404は、推論H更新部402の出力、推論F403のいずれかの推論結果が入力されると、受け取った推論結果が、学習用データS1(Mem)、S0(NoM)のいずれの推論結果であるかを識別し、その結果を、推論H更新部402に出力する。さらに、識別器D更新部404は、受け取った推論結果に対する自身の識別結果と、データ選択部401から受け取った正解データ(データ、ラベル)を用いて、識別器Dのパラメータを更新する。
【0065】
従って、推論H更新部402と識別器D更新部404とは、いわゆる敵対的学習を行って、推論H及び識別器Dのそれぞれのパラメータを更新する。これにより、推論Hの出力と、推論F403の出力との区別を困難とするような高い防御性能を持つ推論Hが得られる。
【0066】
[学習第3フェーズ]
次に、推論システムで用いられる疑似攻撃器Sのパラメータの学習が行われる。
図10は、本発明の第3の実施形態の学習第3フェーズの詳細を説明するための図である。
【0067】
図10に示すように、学習第3フェーズでは、データ選択部501にて、学習用データS1(Mem)と、学習用データS1とは異なる学習用データS0(NoM)とのいずれかから学習用データのランダムな選択を行う。また、データ選択部501は、選択したデータを正解データとして、疑似攻撃器S更新部504に送る。
【0068】
学習用データS1(Mem)を選択した場合、データ選択部501は、学習第2フェーズのステップST1で学習したパラメータθ2を持つ推論H502に学習用データS1(Mem)を入力する。
【0069】
一方、学習用データS0(NoM)を選択した場合、データ選択部501は、学習第1フェーズで学習したパラメータθ1を持つ推論F503に学習用データS0(NoM)を入力する。
【0070】
疑似攻撃器S更新部504は、学習用データS1(Mem)が入力された推論H502の推論結果、又は、学習用データS0(NoM)が入力された推論F503の推論結果を受け取るとともに、データ選択部501から送られた正解データを用いて、推論結果から、学習用データS1(Mem)と学習用データS0(NoM)とを区別できるよう疑似攻撃器Sのパラメータを更新する。
【0071】
以上のようにして、十分な精度を持った推論H502、推論F503、疑似攻撃器S601を得ることができる。
【0072】
[推論]
図7に示すように、疑似攻撃器S601は、入力データが推論Fの学習に用いられていないデータ(NoM)であると判定した場合、推論F503による入力データの推論結果を出力する。一方、入力データが、推論Fの学習に用いられたデータ(Mem)であると判定した場合、推論H502による入力データの推論結果を出力する。
【0073】
結果として、第3の実施形態においても、入力データに応じて、推論H502と、推論F503とを使い分ける疑似攻撃器Sの出力から、その推論結果の元となった入力が学習に用いられたデータであるか否かを見分けることができなくなる。
【0074】
上述したように、推論F503には、学習用データS1を用いて安全性(MI攻撃に対する防御性能)を考慮せずに精度のよいパラメータθ1が設定されている。そして、推論H502には、学習用データS1が入力されたときにその安全性(MI攻撃に対する防御性能)を確保できるようなパラメータθ2が設定されている。従って、本実施形態によれば、精度と、安全性(MI攻撃に対する防御性能)とがそれぞれ向上された推論システムを構築することができる。
【0075】
従って本実施形態においても、以下の(a)~(c)の推論結果の区別が困難化されている。
(a)学習に用いた学習用データS1を、推論H502に入れたときの出力
(b)学習に用いていないデータS0を、推論F503に入れたときの出力
(c)学習に用いていないデータS0を、推論H502に入れたときの出力
このように、本実施形態においても推論精度と安全性とがトレードオフの関係にある非特許文献3の方式に対するアドバンテージが達成されている。
【0076】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したシステム構成、各要素の構成、データ等の表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【0077】
上記した実施形態に示した手順は、機械学習システムとして機能するコンピュータ(
図11の9000)に、同装置としての機能を実現させるプログラムにより実現可能である。このようなコンピュータは、
図11のCPU(Central Processing Unit)9010、通信インターフェース9020、メモリ9030、補助記憶装置9040を備える構成に例示される。すなわち、
図11のCPU9010にて、機械学習プログラムや暗復号プログラムを実行し、その補助記憶装置9040等に保持された各計算パラメータの更新処理を実施させればよい。
【0078】
即ち、上記した実施形態に示した機械学習システムの学習処理やこの学習によって得られた推論処理は、これらの装置に搭載されたプロセッサに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することができる。
【0079】
なお、上記の特許文献および非特許文献の各開示は、本書に引用をもって繰り込み記載されているものとし、必要に応じて本発明の基礎ないし一部として用いることが出来るものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択(部分的削除を含む)が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。さらに、上記引用した文献の各開示事項は、必要に応じ、本発明の趣旨に則り、本発明の開示の一部として、その一部又は全部を、本書の記載事項と組み合わせて用いることも、本願の開示事項に含まれるものと、みなされる。
【符号の説明】
【0080】
10、10a、10b 機械学習システム
100 制御部
101、301 パラメータ学習部
201、401、501 データ選択部
202a、202b 推論f
203 防御器u更新部
204 識別器h更新部
402 推論H更新部
403、503 推論F
404 識別器D更新部
502 推論H
601 疑似攻撃器S
S0、S1、S2 学習用データ
9000 コンピュータ
9010 CPU
9020 通信インターフェース
9030 メモリ
9040 補助記憶装置