(57)【要約】【課題】教師あり学習において、データポイゾニングの影響を最小限に抑えつつ、大規模な訓練データであっても高速に学習できる学習装置、学習方法及び学習プログラムを提供すること。【解決手段】教師あり学習により関数のパラメータ値を決定する学習装置１は、訓練データの集合からランダムに一つを抽出する抽出部１１と、抽出された訓練データに対して、現在のパラメータ値による損失関数の勾配を計算し、訓練データそれぞれに対応する勾配を格納した勾配記録データを更新する計算部１２と、勾配記録データのうち、小さい方から所定数の勾配を抽出し、当該所定数の勾配の平均値に基づいてパラメータ値を更新する更新部１３と、を備え、抽出部１１、計算部１２及び更新部１３による処理を、パラメータ値が収束するまで繰り返し実行する。【選択図】図１
2020098531.tif 000002
【特許請求の範囲】
【請求項１】
教師あり学習により関数のパラメータ値を決定する学習装置であって、
訓練データの集合からランダムに一つを抽出する抽出部と、
前記抽出部により抽出された訓練データに対して、現在のパラメータ値による損失関数の勾配を計算し、前記訓練データそれぞれに対応する勾配を格納した勾配記録データを更新する計算部と、
前記勾配記録データのうち、小さい方から所定数の勾配を抽出し、当該所定数の勾配の平均値に基づいて前記パラメータ値を更新する更新部と、を備え、
前記抽出部、前記計算部及び前記更新部による処理を、前記パラメータ値が収束するまで繰り返し実行する学習装置。
【請求項２】
前記更新部は、前記繰り返しが所定回数に満たない場合、非ゼロの勾配のうち小さい方から、前記繰り返しの回数に応じた所定割合の数の勾配を抽出する請求項１に記載の学習装置。
【請求項３】
前記更新部は、抽出した前記非ゼロの勾配が所定数に満たない場合、不足する数の勾配をゼロとして前記平均値を算出する請求項２に記載の学習装置。
【請求項４】
教師あり学習により関数のパラメータ値を決定する学習方法であって、
訓練データの集合からランダムに一つを抽出する抽出ステップと、
前記抽出ステップにおいて抽出された訓練データに対して、現在のパラメータ値による損失関数の勾配を計算し、前記訓練データそれぞれに対応する勾配を格納した勾配記録データを更新する計算ステップと、
前記勾配記録データのうち、小さい方から所定数の勾配を抽出し、当該所定数の勾配の平均値に基づいて前記パラメータ値を更新する更新ステップと、
を前記パラメータ値が収束するまでコンピュータが繰り返し実行する学習方法。
【請求項５】
教師あり学習により関数のパラメータ値を決定するための学習プログラムであって、
訓練データの集合からランダムに一つを抽出する抽出ステップと、
前記抽出ステップにおいて抽出された訓練データに対して、現在のパラメータ値による損失関数の勾配を計算し、前記訓練データそれぞれに対応する勾配を格納した勾配記録データを更新する計算ステップと、
前記勾配記録データのうち、小さい方から所定数の勾配を抽出し、当該所定数の勾配の平均値に基づいて前記パラメータ値を更新する更新ステップと、
を前記パラメータ値が収束するまでコンピュータに繰り返し実行させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データポイゾニングに耐性のある学習装置、学習方法及び学習プログラムに関する。
【背景技術】
【０００２】
教師あり学習に対する脅威の一つとして、訓練データに悪性データを混入するデータポイゾニング攻撃がある。本攻撃への対策としては、ＴＲＩＭと呼ばれる学習アルゴリズムがある（例えば、非特許文献１参照）。
一般的な教師あり学習では、訓練データから入力と出力との対応関係を表すモデルを学習する際に、最適化問題を解くことで損失関数を最小化するモデルのパラメータを決定する。一方、ＴＲＩＭでは、データポイゾニングの影響を最小限に抑えるために、悪性データが混入したＮ個の訓練データのうち正常な訓練データの数をｎ（＜Ｎ）として最適化問題を解くことで、モデルのパラメータを決定する。具体的には、ＴＲＩＭでは、交互最小化法により、訓練データとモデルのパラメータとを交互に最適化することで、Ｎ個の訓練データから損失関数を最小化するｎ個の訓練データを抽出しつつ、同時に損失関数を最小化するモデルのパラメータを決定する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｍ．  Ｊａｇｉｅｌｓｋｉ  ｅｔ  ａｌ．，  “Ｍａｎｉｐｕｌａｔｉｎｇ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ：  Ｐｏｉｓｏｎｉｎｇ  Ａｔｔａｃｋｓ  ａｎｄ  Ｃｏｕｎｔｅｒｍｅａｓｕｒｅｓ  ｆｏｒ  Ｒｅｇｒｅｓｓｉｏｎ  Ｌｅａｒｎｉｎｇ，”  ＩＥＥＥ  Ｓ＆Ｐ  ２０１８．
【発明の概要】
【発明が解決しようとする課題】
【０００４】
損失関数は、一般的に、訓練データそれぞれに対する損失度の平均で表される。このため、ＴＲＩＭにおいて、現在のモデルのパラメータを用いて損失関数を最小化するｎ個の訓練データを選ぶ際は、Ｎ個の訓練データに対して損失度を計算し、損失度が小さい方からｎ個の訓練データを選択する。したがって、少なくともオーダＮの計算が必要となる。
また、現在のｎ個の訓練データを用いて損失関数を最小化するモデルのパラメータを選択する際も、ｎ個の訓練データに対して損失度を計算する必要がある。このため、オーダｎの計算が必要となる。
したがって、Ｎ及びｎが大きい場合、ＴＲＩＭの計算コストは膨大となっていた。
【０００５】
本発明は、教師あり学習において、データポイゾニングの影響を最小限に抑えつつ、大規模な訓練データであっても高速に学習できる学習装置、学習方法及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る学習装置は、教師あり学習により関数のパラメータ値を決定する学習装置であって、訓練データの集合からランダムに一つを抽出する抽出部と、前記抽出部により抽出された訓練データに対して、現在のパラメータ値による損失関数の勾配を計算し、前記訓練データそれぞれに対応する勾配を格納した勾配記録データを更新する計算部と、前記勾配記録データのうち、小さい方から所定数の勾配を抽出し、当該所定数の勾配の平均値に基づいて前記パラメータ値を更新する更新部と、を備え、前記抽出部、前記計算部及び前記更新部による処理を、前記パラメータ値が収束するまで繰り返し実行する。
【０００７】
前記更新部は、前記繰り返しが所定回数に満たない場合、非ゼロの勾配のうち小さい方から、前記繰り返しの回数に応じた所定割合の数の勾配を抽出してもよい。
【０００８】
前記更新部は、抽出した前記非ゼロの勾配が所定数に満たない場合、不足する数の勾配をゼロとして前記平均値を算出してもよい。
【０００９】
本発明に係る学習方法は、教師あり学習により関数のパラメータ値を決定する学習方法であって、訓練データの集合からランダムに一つを抽出する抽出ステップと、前記抽出ステップにおいて抽出された訓練データに対して、現在のパラメータ値による損失関数の勾配を計算し、前記訓練データそれぞれに対応する勾配を格納した勾配記録データを更新する計算ステップと、前記勾配記録データのうち、小さい方から所定数の勾配を抽出し、当該所定数の勾配の平均値に基づいて前記パラメータ値を更新する更新ステップと、を前記パラメータ値が収束するまでコンピュータが繰り返し実行する。
【００１０】
本発明に係る学習プログラムは、教師あり学習により関数のパラメータ値を決定するための学習プログラムであって、訓練データの集合からランダムに一つを抽出する抽出ステップと、前記抽出ステップにおいて抽出された訓練データに対して、現在のパラメータ値による損失関数の勾配を計算し、前記訓練データそれぞれに対応する勾配を格納した勾配記録データを更新する計算ステップと、前記勾配記録データのうち、小さい方から所定数の勾配を抽出し、当該所定数の勾配の平均値に基づいて前記パラメータ値を更新する更新ステップと、を前記パラメータ値が収束するまでコンピュータに繰り返し実行させるためのものである。
【発明の効果】
【００１１】
本発明によれば、教師あり学習において、データポイゾニングの影響を最小限に抑えつつ、大規模な訓練データであっても高速に学習できる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係る学習装置の機能構成を示すブロック図である。
【図２】実施形態に係る学習装置の処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態の一例について説明する。
本実施形態に係る学習方法では、悪性データが混入された訓練データを用いた教師あり学習において、悪性データの影響を抑制する。
なお、悪性データは、例えば全体の２０％等、所定の割合で混入されているものと仮定して、この所定の割合の訓練データが全体から除去される。
【００１４】
教師あり学習では、訓練データの集合から、入力ｘと出力ｙとの対応関係を示す関数ｆｗのパラメータｗが導出される。
ここで、Ｄ１を、ｎ個のデータからなる訓練データの集合とする。また、ｌｉ（ｗ）を、ｗを入力としてｉ番目の訓練データについての損失度を出力する関数とする。教師あり学習では、次の最適化問題を解くことで、損失関数Ｌを最小化する関数ｆｗのパラメータｗが導出される。
ｍｉｎｗ  Ｌ（Ｄ１，ｗ）＝ｍｉｎｗ  （１／ｎ）・Σｉ∈［ｎ］ｌｉ（ｗ）
【００１５】
データポイゾニング攻撃では、攻撃者は、悪性データの集合を訓練データの集合に混入することで、関数ｆｗを意図的に操作する。
ここで、Ｄ２を訓練データの集合Ｄ１と悪性データの集合Ｄ１’との和集合とし、Ｄ２はＮ個の要素からなるものとする。また、Ｒを効用関数とする。効用関数Ｒは、パラメータｗ及び攻撃者が用意したテストデータの集合Ｄ３を入力として攻撃の効用度を出力する。攻撃者は、例えば次の最適化問題を解くことで、効用関数Ｒを最大化する悪性データの集合Ｄ１’を導出する。
ｍａｘＤ１’  Ｒ（Ｄ３，  ｗ’）
ｓ．ｔ．  ｗ’∈ａｒｇｍｉｎｗ  Ｌ（Ｄ２，ｗ）
【００１６】
本実施形態の学習方法では、Ｄ１”をｎ（＜Ｎ）個の要素からなるＤ２の部分集合とし、次の最適化問題を解くことで、悪性データの集合の影響を最小限にするパラメータｗを導出する。
ｍｉｎｗ，Ｄ１”  Ｌ（Ｄ１”，ｗ）
【００１７】
図１は、本実施形態に係る学習装置１の機能構成を示すブロック図である。
学習装置１は、サーバ装置又はパーソナルコンピュータ等の情報処理装置（コンピュータ）であり、制御部１０及び記憶部２０の他、各種データの入出力デバイス及び通信デバイス等を備える。
【００１８】
制御部１０は、学習装置１の全体を制御する部分であり、記憶部２０に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部１０は、ＣＰＵであってよい。
【００１９】
記憶部２０は、ハードウェア群を学習装置１として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ＲＯＭ、ＲＡＭ、フラッシュメモリ又はハードディスク（ＨＤＤ）等であってよい。具体的には、記憶部２０は、本実施形態の各機能を制御部１０に実行させるためのプログラム（学習プログラム）、学習モデルである関数のパラメータ群、及び後述の勾配記録データ等のデータを記憶する。
【００２０】
制御部１０は、抽出部１１と、計算部１２と、更新部１３とを備える。制御部１０は、これらの機能部を繰り返し動作させることにより、教師あり学習により関数のパラメータ値を決定する。
【００２１】
抽出部１１は、教師あり学習に用いる訓練データの集合から、ランダムに一つの訓練データを抽出する。
【００２２】
計算部１２は、抽出部１１により抽出された訓練データに対して、現在のパラメータ値による損失関数の勾配を計算し、勾配記録データを更新する。
勾配記録データは、訓練データそれぞれに対応する損失関数の勾配を格納したベクトルデータである。抽出部１１により同一の訓練データが抽出された場合には、勾配記録データにおける同一のインデックスの値が上書き更新される。
【００２３】
更新部１３は、勾配記録データのうち、小さい方から所定数の勾配を抽出し、これら所定数の勾配の平均値に基づいてパラメータ値を更新する。
更新部１３は、学習の繰り返し回数が訓練データの数に満たないような初期の段階では、非ゼロの勾配のうち小さい方から、学習の繰り返し回数に応じた所定割合の数の勾配を抽出する。そして、更新部１３は、非ゼロの勾配が所定数に満たない場合、不足する数の勾配をゼロとして平均値を算出する。
【００２４】
制御部１０は、抽出部１１、計算部１２及び更新部１３による処理を、パラメータ値が収束するまで繰り返す。
【００２５】
図２は、本実施形態に係る学習装置１の処理を示すフローチャートである。
学習装置１は、確率的勾配降下法を応用して前述の最適化問題を解くことで、悪性データを除去しながら関数ｆｗのパラメータｗを学習する。
【００２６】
ステップＳ１において、制御部１０は、後続の繰り返し処理における勾配を記録するためのＮ次元のベクトル（勾配記録データ）Ｚ（０）＝（ｚ１（０），…，ｚＮ（０））を用意する。ただし、全てのｉについてｚｉ（０）＝０とする。
また、制御部１０は、パラメータｗの学習前の初期値ｗ（０）、及び学習の繰り返し回数ｔの初期値０を設定する。
【００２７】
ステップＳ２において、制御部１０（抽出部１１）は、学習の繰り返し回数ｔをカウントアップし、ｔ回目の学習のために、正常データと悪性データとが混在したＮ個の訓練データの集合Ｄ２から１個の訓練データ（ｘｃ，ｙｃ）をランダムに抽出する。
【００２８】
ステップＳ３において、制御部１０（計算部１２）は、ステップＳ２で抽出された訓練データ（ｘｃ，ｙｃ）に対応する損失関数ｌｃ（ｗ（ｔ−１））の勾配∇ｌｃ（ｗ（ｔ−１））を計算し、ベクトルＺのｃ番目の要素のみを次のように上書き更新する。
ｚｃ（ｔ）←∇ｌｃ（ｗ（ｔ−１））
【００２９】
ステップＳ４において、制御部１０（更新部１３）は、学習の繰り返し回数ｔがＮ未満か否かを判定する。この判定がＹＥＳ（ｔ＜Ｎ）の場合、処理はステップＳ５に移り、判定がＮＯ（ｔ≧Ｎ）の場合、処理はステップＳ６に移る。
【００３０】
ステップＳ５において、制御部１０（更新部１３）は、ベクトルＺの非ゼロの要素のうち値が小さい要素からｎｔ／Ｎ個を抽出し、これらの要素のインデックス集合Ｉ（ｔ）を作成する。
【００３１】
ステップＳ６において、制御部１０（更新部１３）は、ベクトルＺの中で値が小さい要素からｎ個を抽出し、これらの要素のインデックス集合Ｉ（ｔ）を作成する。
【００３２】
ステップＳ７において、制御部１０（更新部１３）は、次の更新式を用いて、パラメータｗを更新する。ここで、λは、ステップサイズである。
ｗ（ｔ）←ｗ（ｔ−１）−（λ／ｎ）・Σｉ∈Ｉｚｉ（ｔ）
【００３３】
ステップＳ８において、制御部１０は、パラメータｗの値が収束したか否かを判定する。この判定がＹＥＳの場合、処理は終了し、判定がＮＯの場合、処理はステップＳ２に戻り、制御部１０は、ステップＳ２からステップＳ７までの処理をパラメータｗの値が収束するまで繰り返す。
パラメータｗの値が収束すると、インデックス集合Ｉも特定の集合に収束する。この特定の集合は、悪性データと推定される所定の割合の集合が除外された良性の訓練データとなる。
【００３４】
以上のように、本実施形態によれば、学習装置１は、毎回の繰り返し処理おいて、一つの訓練データをランダムに抽出してモデル（関数ｆｗ）のパラメータｗに対する損失関数の勾配を計算し、過去の勾配の平均を用いてパラメータｗを更新する。これにより、繰り返し処理におけるパラメータｗの更新に関わる計算がＴＲＩＭの場合のオーダｎからオーダ１まで減少する。
また、学習装置１は、過去の勾配の平均を算出する際に、全ての勾配の平均ではなく、値の小さい一部（ｎ個）の勾配を選択して平均値を算出する。これにより、勾配が大きくなる外れ値、すなわち悪性データの可能性が高い訓練データが除外されるので、訓練データの最適化が同時に実現される。この場合、訓練データの最適化に関する計算量がＴＲＩＭの場合のオーダＮからオーダ１に減少する。
このように、学習装置１は、教師あり学習において、データポイゾニングの影響を最小限に抑えつつ、大規模な訓練データであっても高速に学習できる。
【００３５】
学習装置１は、繰り返しの回数が所定回数、例えば訓練データの数に満たない場合、記録された非ゼロの勾配のうち小さい方から、繰り返しの回数に応じた所定割合（ｎｔ／Ｎ）の勾配を抽出する。これにより、学習装置１は、学習の初期の段階においても、適切に悪性データを除外しつつ、パラメータｗを学習できる。
【００３６】
学習装置１は、抽出した非ゼロの勾配が所定数ｎに満たない場合、不足する数の勾配をゼロとして平均値を算出する。これにより、学習装置１は、学習の初期の段階においても、各訓練データによる学習への影響度を均一にできる。
【００３７】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【００３８】
前述の実施形態では、学習装置１は、パラメータｗを更新する際に用いる非ゼロの勾配の数がｎに満たない場合、不足する数の勾配をゼロとするため固定値のｎで除して平均値を算出したが、これには限られない。例えば、ｎに代えて、抽出された勾配の数ｎｔ／Ｎが用いられてもよい。
【００３９】
前述の実施形態では、学習装置１は、繰り返しの回数ｔが訓練データの数Ｎに満たない学習の初期において、繰り返しの回数ｔに応じて、勾配記録データからｎｔ／Ｎ個の要素を抽出したが、これには限られない。例えば、勾配記録データに存在する非ゼロの要素の個数に対して所定割合（ｎ／Ｎ）を乗じた数が抽出されてもよい。
【００４０】
前述の実施形態において、訓練データはランダムに選択されることとしたが、これには限られない。例えば、インデックスの順番等、全ての訓練データが均一に選択されてもよい。
【００４１】
学習装置１による学習方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置（コンピュータ）にインストールされる。また、これらのプログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したＷｅｂサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【００４２】
１  学習装置
１０  制御部
１１  抽出部
１２  計算部
１３  更新部
２０  記憶部
【図１】
2020098531.tif 000003
【図２】
2020098531.tif 000004