(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-05
(45)【発行日】2023-06-13
(54)【発明の名称】機械学習装置、機械学習方法及び機械学習プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20230606BHJP
【FI】
G06N20/00
(21)【出願番号】P 2020099778
(22)【出願日】2020-06-09
【審査請求日】2022-06-07
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【氏名又は名称】林 一好
(72)【発明者】
【氏名】披田野 清良
(72)【発明者】
【氏名】清本 晋作
【審査官】金田 孝之
(56)【参考文献】
【文献】国際公開第2017/090194(WO,A1)
【文献】特開2019-101485(JP,A)
【文献】Nicolas Papernot et al.,Semi-supervised Knowledge Transfer for DeepLearning from Private Training Data,arXiv:1610.05755v4,2017年03月,<URL: https://arxiv.org/abs/1610.05755>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
機械学習モデルの訓練データを、プライベートなデータを含む第1の集合、及びプライベートなデータを含まない第2の集合に分割するデータ分割部と、
前記第1の集合を用いて前記機械学習モデルを学習する第1学習部と、
前記第1学習部により学習された前記機械学習モデルを、入力側モデルと出力側モデルとに分割するモデル分割部と、
前記出力側モデルを、前記第2の集合のタスクに適合した形式の初期モデルに置き換えるモデル置換部と、
前記第2の集合を用いて、前記機械学習モデルのうち、少なくとも前記初期モデルを含む部分を学習する第2学習部と、を備える機械学習装置。
【請求項2】
前記第2学習部は、前記機械学習モデルの全体を更新する請求項1に記載の機械学習装置。
【請求項3】
前記データ分割部は、プライベートなデータのみで前記第1の集合を構成する請求項1又は請求項2に記載の機械学習装置。
【請求項4】
機械学習モデルの訓練データを、プライベートなデータを含む第1の集合、及びプライベートなデータを含まない第2の集合に分割するデータ分割ステップと、
前記第1の集合を用いて前記機械学習モデルを学習する第1学習ステップと、
前記第1学習ステップにおいて学習された前記機械学習モデルを、入力側モデルと出力側モデルとに分割するモデル分割ステップと、
前記出力側モデルを、前記第2の集合のタスクに適合した形式の初期モデルに置き換えるモデル置換ステップと、
前記第2の集合を用いて、前記機械学習モデルのうち、少なくとも前記初期モデルを含む部分を学習する第2学習ステップと、をコンピュータが実行する機械学習方法。
【請求項5】
請求項1から請求項3のいずれかに記載の機械学習装置としてコンピュータを機能させるための機械学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プライバシを保護する機械学習装置、機械学習方法及び機械学習プログラムに関する。
【背景技術】
【0002】
従来、機械学習のプライバシに関する脅威として、学習済みモデルの出力から訓練データを推測する攻撃がある。代表的な攻撃としては、訓練データそのものを復元するモデルインバージョン攻撃や、あるデータが訓練データに含まれていたかどうかを推定するメンバシップインファレンス攻撃がある(例えば、非特許文献1参照)。
【0003】
メンバシップインファレンス攻撃の概念に基づき定義されたメンバシッププライバシは、機械学習のプライバシに関する最も強い安全性の定義である。本概念では、学習済みモデルの出力が訓練データとテストデータとで同じ場合、あるデータが訓練データに入っていたかどうかを推定できないため、このモデルはメンバシッププライバシを満たすという。
【先行技術文献】
【非特許文献】
【0004】
【文献】S. Reza, et al., “Membership Inference Attacks Against Machine Learning Models,” IEEE S&P 2017.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、一般的な学習方法では、機械学習モデルを完全に汎化することが難しく、訓練データとテストデータとで出力される予測値(確率)に乖離が生じるため、メンバシッププライバシを達成することはできなかった。
【0006】
訓練データからプライベートなデータを除外すれば、たとえ出力から訓練データの情報が漏洩したとしても、メンバシッププライバシは問題とならない。しかしながら、プライベートなデータが訓練データの大多数を占める場合、プライベートなデータを除外することで全体のデータ数が大幅に減少する。この場合、学習済みモデルの性能が大幅に低下する。このため、モデルの性能を低下させずに、プライベートなデータを除外する方法が必要となる。
【0007】
本発明は、プライベートなデータを含むデータ集合から、プライバシを保護しつつ、十分な性能を持つ学習済みモデルを作成できる機械学習装置、機械学習方法及び機械学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る機械学習装置は、機械学習モデルの訓練データを、プライベートなデータを含む第1の集合、及びプライベートなデータを含まない第2の集合に分割するデータ分割部と、前記第1の集合を用いて前記機械学習モデルを学習する第1学習部と、前記第1学習部により学習された前記機械学習モデルを、入力側モデルと出力側モデルとに分割するモデル分割部と、前記出力側モデルを、前記第2の集合のタスクに適合した形式の初期モデルに置き換えるモデル置換部と、前記第2の集合を用いて、前記機械学習モデルのうち、少なくとも前記初期モデルを含む部分を学習する第2学習部と、を備える。
【0009】
前記第2学習部は、前記機械学習モデルの全体を更新してもよい。
【0010】
前記データ分割部は、プライベートなデータのみで前記第1の集合を構成してもよい。
【0011】
本発明に係る機械学習方法は、機械学習モデルの訓練データを、プライベートなデータを含む第1の集合、及びプライベートなデータを含まない第2の集合に分割するデータ分割ステップと、前記第1の集合を用いて前記機械学習モデルを学習する第1学習ステップと、前記第1学習ステップにおいて学習された前記機械学習モデルを、入力側モデルと出力側モデルとに分割するモデル分割ステップと、前記出力側モデルを、前記第2の集合のタスクに適合した形式の初期モデルに置き換えるモデル置換ステップと、前記第2の集合を用いて、前記機械学習モデルのうち、少なくとも前記初期モデルを含む部分を学習する第2学習ステップと、をコンピュータが実行する。
【0012】
本発明に係る機械学習プログラムは、前記機械学習装置としてコンピュータを機能させるためのものである。
【発明の効果】
【0013】
本発明によれば、プライベートなデータを含むデータ集合から、プライバシを保護しつつ、十分な性能を持つ学習済みモデルを作成できる。
【図面の簡単な説明】
【0014】
【
図1】実施形態における機械学習装置の機能構成を示す図である。
【
図2】実施形態における機械学習方法を説明する概念図である。
【
図3】実施形態における機械学習方法の流れを示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態の一例について説明する。
本実施形態では、機械学習のためにn個のデータからなる訓練データの集合Dが用意されているものとする。各データxには、データが分類されたクラスを表すラベルyが付与されている。機械学習では、データxとラベルyとを関連付けるモデルfが学習される。
【0016】
ここで、あるデータxが与えられたときに、攻撃者はxをモデルfに入力し、出力f(x)を得る。このとき、攻撃者がf(x)に基づいてデータxがモデルfの訓練データに含まれていたかどうかを推定することが難しい場合、モデルfは、メンバシッププライバシが満たされているという。
【0017】
訓練データの集合Dには、プライベートなデータが含まれているため、本実施形態では、プライバシ保護のため、プライベートな情報を含まないデータを分類するための機械学習モデルを生成する。
このとき、本実施形態の機械学習方法では、学習済みモデルの分類性能を維持するために、プライベートな情報を含むデータ集合も学習に用いつつ、転移学習の手法を適用することで、このデータ集合に基づく訓練データとテストデータとの間での出力の乖離を消失させる。
【0018】
図1は、本実施形態における機械学習装置1の機能構成を示す図である。
機械学習装置1は、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備える。
【0019】
制御部10は、機械学習装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
【0020】
記憶部20は、ハードウェア群を機械学習装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。具体的には、記憶部20は、本実施形態の各機能を制御部10に実行させるためのプログラム(機械学習プログラム)、及び機械学習モデル、訓練データ等を記憶する。
【0021】
制御部10は、データ分割部11と、第1学習部12と、モデル分割部13と、モデル置換部14と、第2学習部15とを備える。
【0022】
データ分割部11は、機械学習モデルの訓練データ集合Dを、プライベートなデータを含む第1の集合D1、及びプライベートなデータを含まない第2の集合D2に分割する。
データ分割部11は、プライベートなデータのみで第1の集合D1を構成してもよいが、第1の集合D1には、プライベートでないデータが含まれてもよい。
また、分割の条件としてラベルyに関する制約はないものとする。
【0023】
第1学習部12は、第1の集合D1を訓練データとして用い、機械学習モデルを学習する。
このとき、機械学習モデルのパラメータは、第1の集合D1に含まれるラベルyに応じた出力となるように設計される。
【0024】
モデル分割部13は、第1学習部12により学習された機械学習モデルを、入力側モデルAと出力側モデルB1とに分割する。
なお、複数レイヤで構成された機械学習モデルの分割箇所は、モデルによる分類タスクに応じて適宜決定されてよい。
【0025】
モデル置換部14は、分割された出力側モデルB1を、第2の集合D2のタスクに適合した形式の初期モデルB2に置き換える。
なお、第1の集合D1と第2の集合D2とは、分類のタスクが異なっていてよく、第2の集合D2に付与されているラベルyに応じた出力となるように初期モデルB2のパラメータが設計される。
すなわち、B1とB2とは、同じ形式でなくてよく、例えば、ニューラルネットワークにおけるユニットの数や、分類クラスの数等、構造が異なっていてよい。
【0026】
第2学習部15は、第2の集合D2を訓練データとして用い、機械学習モデルのうち、少なくとも初期モデルB2を含む部分を学習する。
このとき、第2学習部15は、機械学習モデルの全体(A+B2)を更新してもよいし、初期モデルB2のみを更新してもよい。
【0027】
図2は、本実施形態における機械学習方法を説明する概念図である。
訓練データの集合Dを分割して、プライベートなデータを含む第1の集合D
1と、プライベートなデータを含まない第2の集合D
2とが与えられると、まず、第1の集合を用いて、モデルf
1が学習される。
学習済みモデルf
1は、D
1に含まれているラベル(例えばa,b,c)に応じた予測値を出力する。
【0028】
次に、モデルf1は、入力に近い前半部分(A)と出力に近い後半部分(B1)とに分割され、転移学習の手順にしたがって、後半部分がB1からB2に置き換えられる。
このとき、モデルB2は、第2の集合D2のタスクに合わせて初期化され、モデルf2は、D2に含まれているラベル(例えばc,d,e)に応じた予測値を出力する。
【0029】
続いて、モデルf2は、第2の集合D2を用いて学習され、少なくとも後半部分(B2)が更新される。
【0030】
図3は、本実施形態における機械学習方法の流れを示すフローチャートである。
ステップS1において、データ分割部11は、訓練データの集合Dを、プライベートなデータを含む第1の集合D
1と、プライベートなデータを含まない第2の集合D
2とに分割する。
【0031】
ステップS2において、第1学習部12は、第1の集合D1を訓練データとして用い、D1に含まれているデータのクラスを分類するための複数のレイヤからなるモデルf1を学習する。
【0032】
ステップS3において、モデル分割部13は、学習したモデルf1を2つのモデルに分割し、入力に近い側の前半部のモデルをA、出力に近い側の後半部のモデルをB1とする。
【0033】
ステップS4において、モデル置換部14は、学習済みモデルf1の前半部のモデルAに繋げて、第2の集合D2に含まれているデータのクラスを分類するための後半部のモデルB2を作成し、モデルf2を初期化する。
【0034】
ステップS5において、第2学習部15は、第2の集合D2を訓練データとして用い、D2に含まれているデータのクラスを分類するためのモデルf2を更新する。なお、第2学習部15は、Aを更新せずにB2のみを更新してもよいし、A及びB2の両方を更新してもよい。
【0035】
本実施形態によれば、機械学習装置1は、訓練データDを、プライベートなデータを含む第1の集合D1、及びプライベートなデータを含まない第2の集合D2に分割する。そして、機械学習装置1は、第1の集合D1を用いて機械学習モデルを学習した後、入力側のモデルAのみを転移させ、出力側モデルB1を第2の集合D2のタスクに適合した形式の初期モデルB2に置き換えてからD2を用いて更新する。
【0036】
これにより、モデルf2の出力はプライベートなデータを含まない第2の集合D2のみに依存し、プライベートなデータを含む第1の集合D1についての訓練データとテストデータとの差は消失する。この結果、モデルf2の出力からプライベートなデータが訓練データに含まれていたことを推定できなくなる。
また、モデルf2の入力に近い部分(A)はプライベートなデータを含む第1の集合を用いて学習されたため、データ集合D全体の傾向を反映したものであり、特徴抽出が十分に行われ学習済みモデルf2の性能は保たれる。
したがって、機械学習装置1は、転移学習の手法を応用することで、プライベートなデータを含むデータ集合から、プライバシを保護しつつ、十分な性能を持つ学習済みモデルを作成できる。
【0037】
機械学習装置1は、プライベートなデータを含まない第2の集合D2を用いて機械学習モデルの全体(A+B2)を更新してもよい。
これにより、プライベートなデータを含まない第2の集合D2の特徴も含めて前半部分(A)が学習され、学習済みモデルの性能の向上が期待できる。
【0038】
機械学習装置1は、プライベートなデータのみで第1の集合を構成することにより、プライベートなデータが多数の場合に、プライベートなデータを含まない第2の集合D2のデータ量を最大化でき、学習済みモデルの性能低下を抑制できる。
【0039】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【0040】
機械学習装置1による機械学習方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【0041】
1 機械学習装置
10 制御部
11 データ分割部
12 第1学習部
13 モデル分割部
14 モデル置換部
15 第2学習部
20 記憶部