(57)【要約】  ロバスト学習装置１０は、学習用データを２つ以上のクラスのうちのいずれか１つのクラスに分類する分類モデルの分類結果において分類モデルの出力層の活性化前の各クラスそれぞれに対するスコアの中で、学習用データに対する正解ラベルが表す正解クラスに対するスコアを除いて最も高いスコアを所定の数だけ嵩増しする嵩増し部１１を備える。
2020084683.tif 000002
【特許請求の範囲】
【請求項１】
学習用データを２つ以上のクラスのうちのいずれか１つのクラスに分類する分類モデルの分類結果において前記分類モデルの出力層の活性化前の各クラスそれぞれに対するスコアの中で、前記学習用データに対する正解ラベルが表す正解クラスに対するスコアを除いて最も高いスコアを所定の数だけ嵩増しする嵩増し部を備える
ことを特徴とするロバスト学習装置。
【請求項２】
嵩増しが行われた分類結果と、学習用データと、前記学習用データに対する正解ラベルとを用いて分類モデルに対して教師あり学習を行う学習部を備える
請求項１記載のロバスト学習装置。
【請求項３】
嵩増しが行われた分類結果を基に損失関数を計算する第１計算部を備え、
学習部は、計算された損失関数を用いて教師あり学習を行う
請求項２記載のロバスト学習装置。
【請求項４】
リプシッツ定数およびロバスト性の大きさに基づいて所定の数を計算する第２計算部を備える
請求項１から請求項３のうちのいずれか１項に記載のロバスト学習装置。
【請求項５】
分類結果において学習用データに対する正解ラベルが表す正解クラスに対するスコアを除いてスコアが最も高いクラスを同定する同定部を備える
請求項１から請求項４のうちのいずれか１項に記載のロバスト学習装置。
【請求項６】
分類モデルは、ニューラルネットワークである
請求項１から請求項５のうちのいずれか１項に記載のロバスト学習装置。
【請求項７】
学習用データを２つ以上のクラスのうちのいずれか１つのクラスに分類する分類モデルの分類結果において前記分類モデルの出力層の活性化前の各クラスそれぞれに対するスコアの中で、前記学習用データに対する正解ラベルが表す正解クラスに対するスコアを除いて最も高いスコアを所定の数だけ嵩増しする
ことを特徴とするロバスト学習方法。
【請求項８】
嵩増しが行われた分類結果と、学習用データと、前記学習用データに対する正解ラベルとを用いて分類モデルに対して教師あり学習を行う
請求項７記載のロバスト学習方法。
【請求項９】
コンピュータに、
学習用データを２つ以上のクラスのうちのいずれか１つのクラスに分類する分類モデルの分類結果において前記分類モデルの出力層の活性化前の各クラスそれぞれに対するスコアの中で、前記学習用データに対する正解ラベルが表す正解クラスに対するスコアを除いて最も高いスコアを所定の数だけ嵩増しする嵩増し処理
を実行させるためのロバスト学習プログラム。
【請求項１０】
コンピュータに、
嵩増しが行われた分類結果と、学習用データと、前記学習用データに対する正解ラベルとを用いて分類モデルに対して教師あり学習を行う学習処理を実行させる
請求項９記載のロバスト学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロバスト学習装置、ロバスト学習方法およびロバスト学習プログラムに関し、特に人工知能、機械学習モデル、または分類器が想定されていない動作を行うことを回避するためのロバスト学習装置、ロバスト学習方法およびロバスト学習プログラムに関する。
【背景技術】
【０００２】
深層学習に代表される機械学習は、コンピュータの性能向上、学習アルゴリズムの改良、およびビッグデータが利用された学習の実行等に伴い、手動でのルール記述および特徴量設計が不要であり、かつ認識精度が高いパターン認識を実現している。【０００３】
膨大な訓練データを用いてモデルを学習する深層学習等の機械学習を実行する学習器は、複雑な状況を判断できる人工知能を構築できる。構築された人工知能には、様々なシステムの中心的な制御機能を担うことが期待されている。【０００４】
自動運転に求められるアプリケーションは、人工知能が中心的な制御機能を担うアプリケーションとして最も注目されている１つのアプリケーションである。また、画像認識、または音声認識が応用された高精度な生体認証の実行に求められるアプリケーションも、人工知能が中心的な制御機能を担う代表的なアプリケーションである。【０００５】
しかし、機械学習で構築された学習済みモデルには、脆弱性が存在する。具体的には、学習済みモデルを欺くように精巧に作られた人工的なサンプルである敵対的サンプル（Adversarial Example 、以下AXという。）が用いられると、訓練時に設計者が想定していない誤動作を行うように学習済みモデルが誘引されるという問題が知られている。【０００６】
例えば、AXは、以下の方式で生成される。AXが用いられる攻撃の対象の人工知能や分類器が入力されたAXに対してどう反応し、何を出力するかが解析されることによって、対象の分類器等が誤りを生じやすい領域が特定される。次いで、特定された領域に分類器等を誘導するような人工的なサンプルが生成される。【０００７】
既に提案されているAXを生成する多くの方法には、人間や人工知能にAXであると判別されないように、学習器が訓練時に用いた正規サンプル(Legitimate Sample) との差異が小さいAXを生成するような工夫が施されている。【０００８】
また、AXを生成する他の方法は、最初に分類器の生成元である訓練データに関する情報を取得する。訓練データに関する情報を取得する方法には、分類器の学習に用いられた訓練データを用いる方法、訓練データを表す生成モデルやシミュレーションモデルを用いる方法がある。【０００９】
または、分類器にいくつかの問合せを行い、問合せの結果を基に分類器における入力と出力との関係を観測または推定する方法がある。なお、訓練データに関する情報を取得する方法は、上記の方法に限定されない。【００１０】
次いで、AXを生成する他の方法は、取得された訓練データを基に、分類器に誤分類を誘発させる可能性があるAXを生成する。【００１１】
例えば、交通標識を認識するタスクを学習した分類器に対するAXは、特定の標識に誤分類するように精巧に作られたシールが張られた既存の標識、特定の部分が削られた標識、または人間が認識できない程度のノイズが微量に付加された標識である。【００１２】
上記のAXは、例えば人間が“進入禁止”を表示する標識として認識する標識を、“進入禁止”以外の内容を表示する標識として誤認識することを分類器（人工知能）に意図的に誘発させることができる。【００１３】
換言すると、入力サンプルと入力サンプルが分類される正解クラスを示すラベルとの組が訓練データとして与えられた教師あり学習で構築された分類器は、入力サンプルと少し異なるAXが入力されると、入力されたAXを正解クラス以外のクラスに誤分類してしまう。なお、教師あり学習で構築された分類器には、学習済みモデルが搭載されている。【００１４】
すなわち、AXは、教師あり学習で構築された分類器が判断処理を実行しているシステムに誤動作等のインシデントの対象動作を誘発させたり、システムを制御不能な状態に陥らせたりすることができる可能性がある。【００１５】
AXが引き起こす問題への対策として、学習モデルをロバストに構築する方法が提案されている。本明細書における「ロバスト」は、任意の正規サンプルと僅かに異なるAXが入力されても、正規サンプルに対応する正解クラス以外のクラスに入力されたAXを誤分類することが少ない学習モデルの状態である。【００１６】
換言すると、ロバストに構築された学習済みモデルは、入力されたAXを正解クラスに正しく分類できる可能性が高い。すなわち、ロバストに構築された学習済みモデルがAXを正解クラスに分類する確率と、ロバストに構築された学習済みモデルが正規サンプルを正解クラスに分類する確率との間に大きな差はない。【００１７】
以下、学習されたモデルが所定のロバスト性を有する機械学習を、ロバスト学習と呼ぶ。ロバスト性を表す尺度として、ε-robustness が知られている。訓練データX が用いられて構築されたニューラルネットワーク fθがε-robustness を満たす場合、ε（≧０）において、任意のx ∈X 、||δ||2 ≦εである任意のδに対して、以下の式が成り立つ。【００１８】
arg max fθ(x)i = arg max fθ(x+δ)i  ・・・式（１）【００１９】
なお、θは、ニューラルネットワークf のパラメータである。ε-robustness を満たすニューラルネットワーク fθは、少なくとも訓練データx ∈X の周辺のεに対して一貫した内容を回答する。すなわち、AXが入力されてもニューラルネットワーク fθは、誤判断を行うことが少ない。【００２０】
非特許文献１には、ニューラルネットワークが入力に対してどの程度の敏感度を有しているかを表すリプシッツ定数 Lf,θに基づいて、ニューラルネットワークがε-robustness を満たすための学習方法であるLMT(Lipschitz Margin Training)が記載されている。【００２１】
LMT では、訓練データx のlogit である fθ(x) における正解クラスy の値 fθ(x)yと、正解クラスy 以外のクラスi の値 fθ(x)iとの間に求められる余白の大きさを示すマージン Mf,θ,xという概念が導入されている。【００２２】
logit は、ニューラルネットワークの出力層の活性化前の各クラスに対するスコアを表す。また、マージン Mf,θ,xは、以下の式で定義される。【００２３】
Mf,θ,x ≡ fθ(x)y - maxi≠y fθ(x)i  ・・・式（２）【００２４】
さらに、LMT は、マージン Mf,θ,xが以下の条件式を満たすように学習することによって、ε-robustness を満たすニューラルネットワークを生成する。【００２５】
Mf,θ,x ≧ 21/2Lf,θε  ・・・式（３）【００２６】
また、LMT では、ニューラルネットワークにおいて通常の fθ(x) とy とを用いて計算される損失関数Loss(fθ(x),y)の代わりに、 fθ(x) がf(x)y-βIyに置き換えられた損失関数 Loss(f(x)y-βIy,y) が使用される。【００２７】
なお、β=21/2Lf,θ||ε||2 である。また、Iyは、正解クラスの要素が１、正解クラス以外の要素が０のベクトルである。LMT は、損失関数Lossを用いて式（３）を満たすマージン Mf,θ,xを取得する。【００２８】
図９は、非特許文献１に記載されているLMT によるロバスト学習の例を示す説明図である。図９（ａ）は、学習途中の fθ(x) を示す。図９（ａ）に示すように、 fθ(x) は、クラスC1〜クラスC4それぞれに関する出力を示す。また、クラスC2が、正解クラスy である。【００２９】
図９（ｂ）は、学習途中で出力が抑制された fθ*(x)を示す。図９（ｂ）に示すように、LMT は、正解クラスy に関する出力を抑制する。正解クラスy に関する出力f(x)y が他のクラスに関する出力よりもβ以上大きい値を示さない限り、ニューラルネットワークは、正解ラベルが示す内容を高い確率で出力できない。すなわち、ニューラルネットワークは、ε-robustness を満たすことができない。【００３０】
図９（ｃ）は、最終的に得られる fθ(x) を示す。図９（ｃ）に示す網目模様の矩形のように、最終的には正解クラスy に関する出力f(x)y が他のクラスに関する出力よりもβ以上大きい値になる。上記のように設定された損失関数Lossが用いられると、マージン Mf,θ,xがβ以上になるようにロバスト学習が進行する。
【先行技術文献】
【非特許文献】
【００３１】
【非特許文献１】Yusuke Tsuzuku, Issei Sato, and Masashi Sugiyama, "Lipschitz-Margin Training: Scalable Certification of Perturbation Invariance for Deep Neural Networks," CoRR abs/1802.04034, 2018.
【発明の概要】
【発明が解決しようとする課題】
【００３２】
上述したLMT には、実行されるロバスト学習の進行度合いが遅いという問題がある。具体的には、ε-robustness を満たすために要するマージン Mf,θ,xが得られるまでに教師あり学習が何度も繰り返し実行されることが求められる。また、教師あり学習が何度も繰り返し実行されても、所望の学習結果が得られない、すなわちε-robustness が満たされない可能性があるという問題もある。【００３３】
以下、LMT が実行する正解クラスに関する出力の抑制を考える。LMT が実行する正解クラスに関する出力を抑制することは、換言すると、正解クラス以外のクラスに関する出力にマージン Mf,θ,xだけ嵩増しすることと同等であると考えられる。【００３４】
図１０は、非特許文献１に記載されているLMT によるロバスト学習における出力の抑制の例を示す説明図である。図１０（ａ）は、図９（ｂ）に示す学習途中で出力が抑制された fθ*(x)を示す。【００３５】
図１０（ｂ）は、正解クラス以外のクラスに関する出力にマージンが嵩増しされた例を示す。図１０（ｂ）に示す例では、正解クラスy に関する出力は抑制されていない。また、正解クラスy 以外のクラスに関する出力に、白色の矩形で表された大きさがβのマージンが嵩増しされている。【００３６】
図１０（ｂ）に示す嵩増しは、機械学習であるロバスト学習が従う学習の方針である正則化に相当する。すなわち、図１０（ｂ）に示すロバスト学習では、嵩増しされたマージンの総和に強さが比例する正則化が行われていると捉えられる。【００３７】
よって、 Lf,θの大きさやεの大きさに応じて、マージンを取得するための正則化が強くなりすぎる場合がある。正則化が強くなりすぎると、ロバスト学習に求められるニューラルネットワークの表現力が過度に抑制され、ε-robustness が満たされる段階までロバスト学習が進まない現象が生じる可能性がある。【００３８】
そこで、本発明は、上述した課題を解決する、分類モデルがロバスト化されるまで繰り返し実行される学習の回数を削減できるロバスト学習装置、ロバスト学習方法およびロバスト学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【００３９】
本発明によるロバスト学習装置は、学習用データを２つ以上のクラスのうちのいずれか１つのクラスに分類する分類モデルの分類結果において分類モデルの出力層の活性化前の各クラスそれぞれに対するスコアの中で、学習用データに対する正解ラベルが表す正解クラスに対するスコアを除いて最も高いスコアを所定の数だけ嵩増しする嵩増し部を備えることを特徴とする。【００４０】
本発明によるロバスト学習方法は、学習用データを２つ以上のクラスのうちのいずれか１つのクラスに分類する分類モデルの分類結果において分類モデルの出力層の活性化前の各クラスそれぞれに対するスコアの中で、学習用データに対する正解ラベルが表す正解クラスに対するスコアを除いて最も高いスコアを所定の数だけ嵩増しすることを特徴とする。【００４１】
本発明によるロバスト学習プログラムは、コンピュータに、学習用データを２つ以上のクラスのうちのいずれか１つのクラスに分類する分類モデルの分類結果において分類モデルの出力層の活性化前の各クラスそれぞれに対するスコアの中で、学習用データに対する正解ラベルが表す正解クラスに対するスコアを除いて最も高いスコアを所定の数だけ嵩増しする嵩増し処理を実行させることを特徴とする。
【発明の効果】
【００４２】
本発明によれば、分類モデルがロバスト化されるまで繰り返し実行される学習の回数を削減できる。
【図面の簡単な説明】
【００４３】
【図１】本発明によるロバスト学習装置の第１の実施形態の構成例を示すブロック図である。
【図２】嵩増し部１２０により所定のクラスに関する出力が嵩増しされる例を示す説明図である。
【図３】第１の実施形態のロバスト学習装置１００によるロバスト学習処理の動作を示すフローチャートである。
【図４】ロバスト学習装置１００による学習方法で取得されるマージンの大きさと非特許文献１に記載されている学習方法で取得されるマージンの大きさを示すグラフである。
【図５】ロバスト学習装置１００による学習方法で学習された分類器のAXに対する分類精度と非特許文献１に記載されている学習方法で学習された分類器のAXに対する分類精度を示すグラフである。
【図６】ロバスト学習装置１００による学習方法で算出された損失の大きさと非特許文献１に記載されている学習方法で算出された損失の大きさを示すグラフである。
【図７】本発明によるロバスト学習装置のハードウェア構成例を示す説明図である。
【図８】本発明によるロバスト学習装置の概要を示すブロック図である。
【図９】非特許文献１に記載されているLMT によるロバスト学習の例を示す説明図である。
【図１０】非特許文献１に記載されているLMT によるロバスト学習における出力の抑制の例を示す説明図である。
【発明を実施するための形態】
【００４４】
以下、本発明の実施形態を、図面を参照して説明する。
【００４５】
なお、各図面は、本発明の実施形態を説明するものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には同じ番号を付し、その繰り返しの説明を省略する場合がある。
【００４６】
また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成の記載を省略し、図示しない場合もある。
【００４７】
（第１の実施の形態）
［構成の説明］
図１は、本発明によるロバスト学習装置の第１の実施形態の構成例を示すブロック図である。
【００４８】
上述したように、ε-robustness が満たされるために求められるマージンを取得するための正則化が強すぎる場合、ロバスト学習が実行されても、ニューラルネットワークは、ε-robustness を満たすことができない。または、ロバスト学習において、ε-robustness が満たされるまでに教師あり学習が何度も繰り返し実行される可能性がある。
【００４９】
本実施形態のロバスト学習装置１００は、上記の課題を解決できる。上記の課題を解決できるロバスト学習装置１００は、人工知能、特に機械学習で構築された分類器を欺くような入力データであるAXにより分類器が想定されていない動作を行うことを回避するための、AXに対する機械学習モデルのロバスト化方法を提供する。
【００５０】
図１に示すように、ロバスト学習装置１００は、訓練部１１０と、嵩増し部１２０と、嵩増しクラス同定部１３０と、嵩増し量算出部１４０と、損失算出部１５０とを備える。各部の概要は、以下の通りである。
【００５１】
ロバスト学習装置１００は、ニューラルネットワークf 、パラメータθ、学習目標のロバスト性の大きさε、訓練データX 、および正解ラベルY をそれぞれ入力として受け付ける。受け付けられた入力は、最初に訓練部１１０に渡される。
【００５２】
なお、入力とされるニューラルネットワークf 、パラメータθ、訓練データX 、および正解ラベルY は、特に限定されない。また、ニューラルネットワークf の損失関数Lossとして、交差エントロピーが用いられてもよい。また、ニューラルネットワークf の入力層の活性化関数にrelu、出力層の活性化関数にsoftmax がそれぞれ使用されてもよい。
【００５３】
訓練部１１０は、ニューラルネットワークf 、パラメータθ、訓練データX 、および正解ラベルY を用いて、訓練データX と正解ラベルY とが対応付けられるようにニューラルネットワークf に対して教師あり学習（以下、単に学習とも呼ぶ。）を行う。
【００５４】
訓練部１１０は、嵩増し部１２０および損失算出部１５０を用いて、教師あり学習による損失を計算する。次いで、訓練部１１０は、誤差逆伝搬を実行することによって、訓練データX から正解ラベルY が出力される確率が高まるように学習を行う。
【００５５】
嵩増し部１２０は、x ∈X から得られるlogit の値 fθ(x) の所定のクラスに関する出力を、ε-robustness が満たされるために求められる分だけ嵩増しする。嵩増し部１２０は、 fθ(x) の出力が嵩増しされるクラスを、嵩増しクラス同定部１３０を用いて決定する。また、嵩増し部１２０は、嵩増しされる量を、嵩増し量算出部１４０を用いて決定する。
【００５６】
嵩増しクラス同定部１３０は、x ∈X から得られるlogit の値 fθ(x) のうち、正解クラスy 以外のクラスの中で最大の値を出力したクラスを同定する。すなわち、嵩増しクラス同定部１３０は、以下の計算を行う。
【００５７】
j = arg maxj≠y fθ(x)j  ・・・式（４）
【００５８】
嵩増し部１２０は、嵩増しクラス同定部１３０から出力が嵩増しされるクラスj を受け取り、ベクトルIjを生成する。ベクトルIjは、j 番目の要素のみが１であり、他の要素が０であるベクトルである。
【００５９】
また、嵩増し量算出部１４０は、ニューラルネットワークf とパラメータθから、リプシッツ定数 Lf,θを非特許文献１に記載されている方法と同様の方法で導出する。次いで、嵩増し量算出部１４０は、ε-robustness が満たされるために求められるマージンの大きさである嵩増しされる量βを、以下のように算出する。
【００６０】
β = 21/2Lf,θε  ・・・式（５） 
【００６１】
嵩増し部１２０は、嵩増し量算出部１４０から嵩増しされる量βを受け取る。嵩増し部１２０は、ベクトルIjと嵩増しされる量βとを用いて、以下の式を計算する。
【００６２】
fθ*(x) = fθ(x) + βIj  ・・・式（６）
【００６３】
図２は、嵩増し部１２０により所定のクラスに関する出力が嵩増しされる例を示す説明図である。図２（ａ）は、図９（ａ）に示す学習途中の fθ(x) を示す。
【００６４】
嵩増し部１２０は、嵩増しクラス同定部１３０から出力が嵩増しされるクラスがクラスC1であることを示す情報を受け取る。また、嵩増し部１２０は、嵩増し量算出部１４０から嵩増しされる量βを受け取る。
【００６５】
図２（ｂ）は、クラスC1に関する出力が嵩増しされた fθ*(x)を示す。図２（ｂ）に示すように、嵩増し部１２０は、正解クラスC2以外のクラスの中で出力が最大のクラスC1にだけ嵩増しを行う。
【００６６】
図２（ｃ）は、最終的に得られる fθ(x) を示す。図２（ｃ）に示す網目模様の矩形のように、最終的には正解クラスy(C2) に関する出力f(x)y が他のクラスに関する出力よりもβ以上大きい値を示す。図２（ｃ）に示す fθ(x) は、嵩増しが実行されたことによって最終的に得られることが期待される学習結果である。
【００６７】
損失算出部１５０は、嵩増し部１２０が嵩増しを実行したlogit である fθ*(x)を用いて損失関数Loss(fθ*(x),y) を算出する。訓練部１１０は、例えば算出された損失関数の値が最小になるように誤差逆伝搬を実行する。
【００６８】
本実施形態のロバスト学習装置１００は、上述した動作を繰り返し実行し、ロバスト学習を完了させる。次いで、ロバスト学習装置１００は、ロバスト学習が完了したニューラルネットワークf のパラメータθ* を出力する。
【００６９】
本実施形態のロバスト学習装置１００が嵩増しする量の総和は、非特許文献１に記載されているLMT が嵩増しする量の総和以下になる。
【００７０】
例えば、ニューラルネットワークf が分類するクラスの数をm(≧2)としたとき、LMT が嵩増しする量の総和は、 (m-1)βである。また、本実施形態のロバスト学習装置１００が嵩増しする量の総和は、常にβである。
【００７１】
よって、m>2 である場合、本実施形態のロバスト学習装置１００による正則化の強さは、LMT による正則化の強さよりも常に小さい。また、m=2 である場合、両手法による正則化の強さは等しい。
【００７２】
また、本実施形態のロバスト学習装置１００、およびLMT のどちらも、正解クラスに関する出力と正解クラス以外のクラスに関する出力との差をβ以上にできる。従って、本実施形態のロバスト学習装置１００は、LMT による正則化より弱い正則化を実行して、LMT による効果と同等のロバスト化の効果を奏するロバスト学習を実現できる。
【００７３】
以上の処理の概要として、本実施形態のロバスト学習装置１００は、学習用データを２つ以上のクラスのうちのいずれか１つのクラスに分類する分類モデルに対してロバスト学習を行う。
【００７４】
ロバスト学習装置１００は、分類モデルの分類結果において分類モデルの出力層の活性化前の各クラスそれぞれに対するスコアの中で、学習用データに対する正解ラベルが表す正解クラスに対するスコアを除いて最も高いスコアを所定の数だけ嵩増しする嵩増し部１２０を備える。
【００７５】
［動作の説明］
以下、本実施形態のロバスト学習装置１００のロバスト学習を実行する動作を図３を参照して説明する。図３は、第１の実施形態のロバスト学習装置１００によるロバスト学習処理の動作を示すフローチャートである。
【００７６】
最初に、訓練部１１０は、ニューラルネットワークf 、パラメータθ、学習目標のロバスト性の大きさε、訓練データX 、および正解ラベルY をそれぞれ入力として受け付ける（ステップS101）。
【００７７】
次いで、訓練部１１０は、ニューラルネットワークf に対してロバスト学習を行う。すなわち、訓練部１１０は、学習ループに入る（ステップS102）。
【００７８】
嵩増し部１２０は、出力が嵩増しされるクラスを同定するように嵩増しクラス同定部１３０に指示する。指示を受けた嵩増しクラス同定部１３０は、x ∈X から得られるlogit の値 fθ(x) のうち、正解クラスy 以外のクラスの中で最大の値を出力したクラスを同定する（ステップS103）。次いで、嵩増しクラス同定部１３０は、出力が嵩増しされるクラスを示す情報を嵩増し部１２０に入力する。
【００７９】
次いで、嵩増し部１２０は、ステップS103で同定されたクラスに関する出力が嵩増しされる量を算出するように嵩増し量算出部１４０に指示する。
【００８０】
指示を受けた嵩増し量算出部１４０は、ε-robustness が満たされるために求められるマージンの大きさである嵩増しされる量βを、式（５）に従って算出する（ステップS104）。次いで、嵩増し量算出部１４０は、出力が嵩増しされる量βを嵩増し部１２０に入力する。
【００８１】
次いで、嵩増し部１２０は、嵩増しクラス同定部１３０から入力された情報を基に算出されたベクトルIjと、嵩増し量算出部１４０から入力された嵩増しされる量βとを用いて、式（６）に示す計算を行う。すなわち、嵩増し部１２０は、所定のクラスに関する出力の嵩増しを実行する（ステップS105）。
【００８２】
次いで、損失算出部１５０は、嵩増し部１２０が嵩増しを実行したlogit である fθ*(x)を基に損失関数Loss(fθ*(x),y) を算出する（ステップS106）。損失算出部１５０は、算出された損失関数Loss(fθ*(x),y) を訓練部１１０に入力する。
【００８３】
次いで、訓練部１１０は、訓練データX と正解ラベルY とが対応付けられるようにニューラルネットワークf に対して教師あり学習を行う。本例では、訓練部１１０は、入力された損失関数Loss(fθ*(x),y) の値が最小になるように誤差逆伝搬を実行する（ステップS107）。
【００８４】
ロバスト学習が完了されたことに対応する所定の条件が満たされていない間、ステップS103〜ステップS107の処理が繰り返し行われる。所定の条件は、例えば正解クラスy に関する出力と正解クラスy 以外のクラスに関する出力との差がβ以上であることである。
【００８５】
所定の条件が満たされたとき、訓練部１１０は、学習ループを抜ける（ステップS108）。次いで、訓練部１１０は、学習ループを抜けた段階でのニューラルネットワークf のパラメータθ* を出力する（ステップS109）。パラメータを出力した後、ロバスト学習装置１００は、ロバスト学習処理を終了する。
【００８６】
［効果の説明］
本実施形態のロバスト学習装置１００は、ニューラルネットワークf 、パラメータθ、学習目標のロバスト性の大きさε、訓練データX 、および正解ラベルY を入力として、訓練データX と正解ラベルY とが対応付けられるように教師あり学習を行う訓練部１１０を備える。
【００８７】
また、ロバスト学習装置１００は、訓練部１１０が学習した結果に対して所定のクラスに関する出力に嵩増しを行う嵩増し部１２０と、嵩増しされるクラスを同定する嵩増しクラス同定部１３０とを備える。
【００８８】
また、ロバスト学習装置１００は、ニューラルネットワークf とパラメータθから導出されたリプシッツ定数 Lf,θおよびロバスト性の大きさεに基づいて嵩増しされる量を算出する嵩増し量算出部１４０と、嵩増しが実行されたlogit に対して損失を算出する損失算出部１５０とを備える。
【００８９】
AXへの対策として、学習モデルがε-robustness を満たすことができるロバスト学習が実行される際、ε-robustness が満たされるために求められるマージンを取得するための正則化が強くなりすぎるという問題がある。マージンを取得するための正則化が強くなりすぎると、ロバスト学習が完了できない、またはε-robustness が満たされるまでに教師あり学習が繰り返し実行されることが求められるという問題がある。
【００９０】
本実施形態のロバスト学習装置１００は、嵩増し部１２０が正解クラス以外のクラスの中で最大の値を出力したクラスに対してのみ嵩増しを行うため、マージンを取得するための正則化が強くなりすぎない。よって、ロバスト学習装置１００は、ε-robustness が満たされるロバスト学習において繰り返し実行される教師あり学習の回数を削減できる。また、ロバスト学習装置１００は、既存のロバスト学習が提供できない、より高いロバスト性を提供できる。
【実施例】
【００９１】
以下、第１の実施形態のロバスト学習装置１００が用いられた実験の結果を本実施例で説明する。なお、本実施例では、ロバスト学習装置１００による学習方法をLC-LMT、非特許文献１に記載されている学習方法をLMT とそれぞれ呼ぶ。【００９２】
最初に、実験の概要を説明する。実験ではデータセットとして、０から９までの手書きされた数字の画像データであるMNIST(Mixed National Institute of Standards and Technology database)を利用した。【００９３】
また、ニューラルネットワーク fθとして、４層の全結合層（パラメータ数:100、活性化関数:Relu ）と、１層の全結合層（出力数:10 、活性化関数:softmax）とで構成されたネットワークを用いた。また、損失関数Lossとして、交差エントロピーを用いた。【００９４】
図４は、ロバスト学習装置１００による学習方法で取得されるマージンの大きさと非特許文献１に記載されている学習方法で取得されるマージンの大きさを示すグラフである。図４に示す例では、LC-LMT、LMT 共に、2-robustが満たされるようにロバスト学習を実行している。【００９５】
図４のグラフに示す「LC-LMT」が、LC-LMTで取得されたマージンの大きさを表す。また、「LMT 」が、LMT で取得されたマージンの大きさを表す。図４のグラフには、LC-LMTで取得されたマージンの大きさと、LMT で取得されたマージンの大きさが、教師あり学習が繰り返された回数であるエポック毎にプロットされている。【００９６】
また、図４のグラフに示す「Required LC-LMT 」は、LC-LMTで教師あり学習が実行された後のニューラルネットワークにおいてε-robustness が満たされるために求められるマージンの大きさを表す。また、図４のグラフに示す「Required LMT」は、LMT で教師あり学習が実行された後のニューラルネットワークにおいてε-robustness が満たされるために求められるマージンの大きさを表す。【００９７】
図４のグラフを参照すると、ロバスト学習装置１００による学習方法であるLC-LMTは、LMT よりも小さいエポック数で、ε-robustness が満たされるために求められるマージンよりも大きなマージンを取得している。換言すると、LC-LMTは、LMT よりも早期にε-robustness が満たされるロバスト学習を完了できる。【００９８】
図５は、ロバスト学習装置１００による学習方法で学習された分類器のAXに対する分類精度と非特許文献１に記載されている学習方法で学習された分類器のAXに対する分類精度を示すグラフである。【００９９】
図５のグラフは、LC-LMTで学習された分類器とLMT で学習された分類器が、AXをそれぞれ正しく分類できた割合(Accuracy)を示す。図５のグラフには、100 エポックまで各方法でそれぞれ学習された分類器のAccuracyがプロットされている。【０１００】
また、図５に示す凡例には、順に方法名と、ロバスト学習に利用されたεの大きさが記載されている。例えば、図５のグラフに示す「LC-LMT 0.1」は、0.1-robustが満たされるようにLC-LMTがロバスト学習を実行した分類器が、AXを正しく分類できた割合を表す。【０１０１】
また、図５のグラフの横軸は、AXが生成される際に用いられた探索の範囲を表す。横軸の値が大きくなるほど、より広い範囲から探索された、正規サンプルとより混同されやすいAXが用いられて評価されたAccuracyがプロットされている。なお、横軸の値「０」に対するAccuracyは、正規サンプルの入力に対する正答率である。【０１０２】
図５のグラフを参照すると、LC-LMTでε=1またはε=2を満たすロバスト学習が実行された分類器は、LMT でε=1またはε=2を満たすロバスト学習が実行された分類器に比べて、AXをより正しく分類できている。すなわち、LC-LMTでロバスト学習が実行された分類器は、よりロバストな分類器になる。【０１０３】
また、図５のグラフを参照すると、LMT でε=1またはε=2を満たすロバスト学習が実行された分類器は、入力されたAXでない正規サンプルさえも正しく分類できていない。すなわち、ロバスト学習が実行されても、ε-robustness が十分に満たされていない。【０１０４】
換言すると、エポック数が同一である場合、LMT でロバスト学習が実行された分類器のロバスト性よりも、本実施形態のロバスト学習装置１００でロバスト学習が実行された分類器のロバスト性の方が高い。【０１０５】
図６は、ロバスト学習装置１００による学習方法で算出された損失の大きさと非特許文献１に記載されている学習方法で算出された損失の大きさを示すグラフである。図６に示す例では、LC-LMT、LMT 共に、2-robustが満たされるようにロバスト学習を実行している。【０１０６】
図６のグラフに示す「LC-LMT」が、LC-LMTによるロバスト学習における各エポックでの損失Lossの大きさを表す。また、「LMT 」が、LMT によるロバスト学習における各エポックでの損失Lossの大きさを表す。【０１０７】
図６のグラフを参照すると、LMT によるロバスト学習では、エポック数に関わらず損失が殆ど変化していない。エポック数に関わらず損失が殆ど変化していないことは、教師あり学習が何度実行されても分類の誤差が一向に減少しないことを意味する。すなわち、LMT によるロバスト学習では、マージンを取得しようとすることによって、本来分類器が獲得すべき分類精度が獲得されていない。よって、分類器の分類精度を維持しながらマージンを取得するロバスト学習が達成されていない可能性が高い。【０１０８】
対称的に、LC-LMTによるロバスト学習では、図６のグラフを参照するとエポック数が小さいうちに損失が低減している。すなわち、LC-LMTは、ロバスト学習が十分に進む程度に正則化の強さを抑制できる。【０１０９】
図４〜図６に示す実験の結果は、本実施形態のロバスト学習装置１００が実行するε-robustness が満たされるロバスト学習において、繰り返し実行される教師あり学習の回数が削減されることを意味する。また、図４〜図６に示す実験の結果は、既存のロバスト学習では得られないより高いロバスト性が本実施形態のロバスト学習装置１００が実行するロバスト学習では得られることを意味する。【０１１０】
以下、本実施形態のロバスト学習装置１００のハードウェア構成の具体例を説明する。図７は、本発明によるロバスト学習装置のハードウェア構成例を示す説明図である。【０１１１】
図７に示すロバスト学習装置１００は、ＣＰＵ（Central Processing Unit ）１０１と、主記憶部１０２と、通信部１０３と、補助記憶部１０４とを備える。また、ユーザが操作するための入力部１０５や、ユーザに処理結果または処理内容の経過を提示するための出力部１０６を備えてもよい。図７に示すロバスト学習装置１００は、コンピュータ装置として実現されてもよい。【０１１２】
なお、図７に示すロバスト学習装置１００は、ＣＰＵ１０１の代わりにＤＳＰ（Digital Signal Processor）、またはＧＰＵ（Graphical Processing Unit ）を備えてもよい。または、図７に示すロバスト学習装置１００は、ＣＰＵ１０１、ＤＳＰ、およびＧＰＵを併せて備えてもよい。【０１１３】
主記憶部１０２は、データの作業領域やデータの一時退避領域として用いられる。例えば、主記憶部１０２は、ＣＰＵ１０１が実行するプログラムおよびデータを一時的に記憶する。主記憶部１０２は、例えばＤ−ＲＡＭ（Dynamic Random Access Memory）等のＲＡＭである。【０１１４】
通信部１０３は、有線のネットワークまたは無線のネットワーク（情報通信ネットワーク）を介して、周辺機器との間でデータを入力および出力する機能を有する。【０１１５】
また、通信部１０３は、ネットワークインタフェース回路（ＮＩＣ：Network Interface Circuit ）を用いてもよい。ＮＩＣは、通信ネットワークを介した外部の装置（図示せず）とのデータのやり取りを中継する。ＮＩＣは、例えば、ＬＡＮ（Local Area Network）カードである。【０１１６】
補助記憶部１０４は、一時的でない有形の記憶媒体である。一時的でない有形の記憶媒体として、例えば磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory ）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory ）、Ｐ−ＲＯＭ（Programmable Read Only Memory ）、フラッシュＲＯＭ（Read Only Memory）、半導体メモリが挙げられる。【０１１７】
入力部１０５は、データや処理命令を入力する機能を有する。入力部１０５は、例えばロバスト学習装置１００の操作者からの入力指示を受け取る。入力部１０５は、例えばキーボード、マウス、またはタッチパネル等の入力デバイスである。【０１１８】
出力部１０６は、データを出力する機能を有する。出力部１０６は、例えばロバスト学習装置１００の操作者に情報を表示する。出力部１０６は、例えば液晶ディスプレイ装置等の表示装置、またはプリンタ等の印刷装置である。【０１１９】
また、図７に示すように、ロバスト学習装置１００において、各構成要素は、システムバス１０７に接続されている。【０１２０】
補助記憶部１０４は、例えば、訓練部１１０、嵩増し部１２０、嵩増しクラス同定部１３０、嵩増し量算出部１４０、および損失算出部１５０を実現するためのプログラムを記憶している。また、補助記憶部１０４は、固定的なデータを記憶してもよい。【０１２１】
なお、ロバスト学習装置１００は、ハードウェアにより実現されてもよい。例えば、ロバスト学習装置１００は、内部に図１に示すような機能を実現するプログラムが組み込まれたＬＳＩ（Large Scale Integration ）等のハードウェア部品が含まれる回路が実装されてもよい。【０１２２】
また、ロバスト学習装置１００は、図７に示すＣＰＵ１０１が各構成要素が有する機能を提供するプログラムを実行することによって、ソフトウェアにより実現されてもよい。【０１２３】
ソフトウェアにより実現される場合、ＣＰＵ１０１が補助記憶部１０４に格納されているプログラムを、主記憶部１０２にロードして実行し、ロバスト学習装置１００の動作を制御することによって、各機能がソフトウェアにより実現される。【０１２４】
または、ＣＰＵ１０１は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体（図示せず）から、記憶媒体読み取り装置（図示せず）を用いてプログラムを読み込んでもよい。または、ＣＰＵ１０１は、入力部１０５を介して、外部の装置（図示せず）からプログラムを受け取り、主記憶部１０２に保存して、保存されたプログラムを基に動作してもよい。【０１２５】
また、ロバスト学習装置１００は、長期的に保存されるデータおよびプログラムを記憶する内部記憶装置を備えてもよい。内部記憶装置は、例えばＣＰＵ１０１の一時記憶装置として動作する。内部記憶装置は、例えば、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Solid State Drive ）、またはディスクアレイ装置である。【０１２６】
補助記憶部１０４と内部記憶装置は、不揮発性（non-transitory）の記憶媒体である。また、主記憶部１０２は、揮発性（transitory）の記憶媒体である。ＣＰＵ１０１は、補助記憶部１０４、内部記憶装置、または主記憶部１０２に記憶されているプログラムを基に動作可能である。すなわち、ＣＰＵ１０１は、不揮発性記憶媒体、または揮発性記憶媒体を用いて動作可能である。【０１２７】
また、ロバスト学習装置１００は、入出力接続回路（ＩＯＣ：Input / Output Circuit）を備えてもよい。ＩＯＣは、ＣＰＵ１０１と、入力部１０５および出力部１０６との間で授受されるデータを仲介する。ＩＯＣは、例えば、ＩＯインタフェースカード、またはＵＳＢ（Universal Serial Bus）カードである。【０１２８】
また、各構成要素の一部または全部は、汎用の回路（circuitry ）または専用の回路、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。【０１２９】
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。【０１３０】
次に、本発明の概要を説明する。図８は、本発明によるロバスト学習装置の概要を示すブロック図である。本発明によるロバスト学習装置１０は、学習用データを２つ以上のクラスのうちのいずれか１つのクラスに分類する分類モデルの分類結果において分類モデルの出力層の活性化前の各クラスそれぞれに対するスコアの中で、学習用データに対する正解ラベルが表す正解クラスに対するスコアを除いて最も高いスコアを所定の数だけ嵩増しする嵩増し部１１（例えば、嵩増し部１２０）を備える。【０１３１】
そのような構成により、ロバスト学習装置は、分類モデルがロバスト化されるまで繰り返し実行される学習の回数を削減できる。【０１３２】
また、ロバスト学習装置１０は、嵩増しが行われた分類結果と、学習用データと、学習用データに対する正解ラベルとを用いて分類モデルに対して教師あり学習を行う（例えば、訓練部１１０）を備える。【０１３３】
そのような構成により、ロバスト学習装置は、より高いロバスト性を有する分類モデルを提供できる。【０１３４】
また、ロバスト学習装置１０は、嵩増しが行われた分類結果を基に損失関数を計算する第１計算部（例えば、損失算出部１５０）を備え、学習部は、計算された損失関数を用いて教師あり学習を行ってもよい。【０１３５】
そのような構成により、ロバスト学習装置は、算出された損失関数の値が最小になるように誤差逆伝搬を実行することによってロバスト学習を進めることができる。【０１３６】
また、ロバスト学習装置１０は、リプシッツ定数およびロバスト性の大きさに基づいて所定の数を計算する第２計算部（例えば、嵩増し量算出部１４０）を備えてもよい。【０１３７】
そのような構成により、ロバスト学習装置は、ニューラルネットワークが入力に対して有している敏感度を踏まえてロバスト学習を進めることができる。【０１３８】
また、ロバスト学習装置１０は、分類結果において学習用データに対する正解ラベルが表す正解クラスに対するスコアを除いてスコアが最も高いクラスを同定する同定部（例えば、嵩増しクラス同定部１３０）を備えてもよい。【０１３９】
そのような構成により、ロバスト学習装置は、logit の値 fθ(x) のうち、正解クラスy 以外のクラスの中で最大の値を出力したクラスを同定できる。【０１４０】
また、分類モデルは、ニューラルネットワークでもよい。【０１４１】
そのような構成により、ロバスト学習装置は、より高いロバスト性を有するニューラルネットワークを提供できる。【０１４２】
また、ロバスト学習装置１０は、ニューラルネットワークf 、パラメータθ、学習目標のロバスト性の大きさε、訓練データX 、および正解ラベルY を入力としてもよい。学習部は、訓練データX と正解ラベルY とを用いて教師あり学習を行う。【０１４３】
また、嵩増し部１１は、学習部が学習したニューラルネットワークf による分類結果に対して嵩増しを行う。また、第２算出部は、ニューラルネットワークf とパラメータθから導出されたリプシッツ定数 Lf,θおよびロバスト性の大きさεに基づいて所定の数を算出する。また、第１算出部は、嵩増しされた分類結果であるlogit を用いて損失関数を算出する。【０１４４】
ロバスト学習装置１０は、ε-robustness が満たされるロバスト学習において、繰り返し実行される教師あり学習の回数を削減できる。また、ロバスト学習装置１０が実行するロバスト学習では、既存のロバスト学習では得られないより高いロバスト性が得られる。【０１４５】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１４６】
１０、１００  ロバスト学習装置
１１、１２０  嵩増し部
１０１  ＣＰＵ
１０２  主記憶部
１０３  通信部
１０４  補助記憶部
１０５  入力部
１０６  出力部
１０７  システムバス
１１０  訓練部
１３０  嵩増しクラス同定部
１４０  嵩増し量算出部
１５０  損失算出部
【図１】
2020084683.tif 000003
【図２】
2020084683.tif 000004
【図３】
2020084683.tif 000005
【図４】
2020084683.tif 000006
【図５】
2020084683.tif 000007
【図６】
2020084683.tif 000008
【図７】
2020084683.tif 000009
【図８】
2020084683.tif 000010
【図９】
2020084683.tif 000011
【図１０】
2020084683.tif 000012
【国際調査報告】
2020084683.tif 000013
2020084683.tif 000014