IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

<>
  • 特許-学習装置、学習方法およびプログラム 図1
  • 特許-学習装置、学習方法およびプログラム 図2
  • 特許-学習装置、学習方法およびプログラム 図3
  • 特許-学習装置、学習方法およびプログラム 図4
  • 特許-学習装置、学習方法およびプログラム 図5
  • 特許-学習装置、学習方法およびプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】学習装置、学習方法およびプログラム
(51)【国際特許分類】
   G06N 3/0895 20230101AFI20240903BHJP
【FI】
G06N3/0895
【請求項の数】 6
(21)【出願番号】P 2022532887
(86)(22)【出願日】2020-06-30
(86)【国際出願番号】 JP2020025663
(87)【国際公開番号】W WO2022003824
(87)【国際公開日】2022-01-06
【審査請求日】2022-12-07
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【弁理士】
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】天田 拓磨
【審査官】渡辺 順哉
(56)【参考文献】
【文献】特開2017-091083(JP,A)
【文献】DABOUEI, Ali ほか,Exploiting Joint Robustness to Adversarial Perturbations,Proceedings of 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR),IEEE,2020年06月13日,pp.1119-1128
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
教師有り学習データに対するニューラルネットワークモデルの予測確率ベクトルから正解クラスの要素を除いた不正解クラス予測確率ベクトルを求める不正解予測算出部と、
2つの前記ニューラルネットワークモデルの前記不正解クラス予測確率ベクトルのなす角度が大きいほど値が小さくなる多様性関数を含む目的関数の値をより小さくするように、前記ニューラルネットワークモデルの学習を行う更新部と、
を含む学習装置。
【請求項2】
前記多様性関数は、学習対象の全ての前記ニューラルネットワークモデルのうちの2つの前記ニューラルネットワークモデルの全ての組み合わせについて、前記不正解クラス予測確率ベクトルのなす角度の大きさの評価値の演算を含む、
請求項1に記載の学習装置。
【請求項3】
前記多様性関数は、2つの前記不正解クラス予測確率ベクトルのなす角度の大きさの評価値の演算として、それら2つの不正解クラス予測確率ベクトルのコサイン類似度の演算を含む、
請求項1または請求項2に記載の学習装置。
【請求項4】
前記多様性関数は、2つの前記ニューラルネットワークモデルの前記不正解クラス予測確率ベクトルのコサイン類似度の、学習対象の全ての前記ニューラルネットワークモデルのうちの2つの前記ニューラルネットワークモデルの全ての組み合わせについての平均を算出する演算を含む、
請求項1に記載の学習装置。
【請求項5】
コンピュータが、
教師有り学習データに対するニューラルネットワークモデルの予測確率ベクトルから正解クラスの要素を除いた不正解クラス予測確率ベクトルを求めることと、
2つの前記ニューラルネットワークモデルの前記不正解クラス予測確率ベクトルのなす角度が大きいほど値が小さくなる多様性関数を含む目的関数の値をより小さくするように、前記ニューラルネットワークモデルの学習を行うことと、
を含む学習方法。
【請求項6】
コンピュータに、
教師有り学習データに対するニューラルネットワークモデルの予測確率ベクトルから正解クラスの要素を除いた不正解クラス予測確率ベクトルを求めることと、
2つの前記ニューラルネットワークモデルの前記不正解クラス予測確率ベクトルのなす角度が大きいほど値が小さくなる多様性関数を含む目的関数の値をより小さくするように、前記ニューラルネットワークモデルの学習を行うことと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は学習装置、学習方法およびプログラムに関する。
【背景技術】
【0002】
敵対的サンプル(Adversarial Example)に対する対策として、非特許文献1に記載の技術では、複数のモデルが同様に騙されることを防ぐために、複数のモデルが多様な分類結果を出力し易くなるように学習を行う。
【先行技術文献】
【非特許文献】
【0003】
【文献】Tianyu Pang、外4名、"Improving Adversarial Robustness via Promoting Ensemble Diversity"、arXiv:1901.08846、2019年、https://arxiv.org/abs/1901.08846
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数のモデルが多様な分類結果を出力し易くなるように学習を行う際の計算量が少ないことが好ましい。
例えば、上記の非特許文献1では、モデル(ニューラルネットワーク)の出力の多様性を得るために用いる関数の計算量のオーダーが、O(Lm+m)となる。このオーダーよりも小さいオーダーで、モデルの出力の多様性を得るために用いる関数の計算を行えることが好ましい。
【0005】
本発明の目的の一例は、上記の問題を解決することができる学習装置、学習方法およびプログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の第1の態様によれば、学習装置は、教師有り学習データに対するニューラルネットワークモデルの予測確率ベクトルから正解クラスの要素を除いた不正解クラス予測確率ベクトルを求める不正解予測算出部と、2つの前記ニューラルネットワークモデルの前記不正解クラス予測確率ベクトルのなす角度が大きいほど値が小さくなる多様性関数を含む目的関数の値をより小さくするように、前記ニューラルネットワークモデルの学習を行う更新部と、を含む。
【0007】
本発明の第2の態様によれば、学習方法は、コンピュータが、教師有り学習データに対するニューラルネットワークモデルの予測確率ベクトルから正解クラスの要素を除いた不正解クラス予測確率ベクトルを求めることと、2つの前記ニューラルネットワークモデルの前記不正解クラス予測確率ベクトルのなす角度が大きいほど値が小さくなる多様性関数を含む目的関数の値をより小さくするように、前記ニューラルネットワークモデルの学習を行うことと、を含む。
【0008】
本発明の第3の態様によれば、プログラムは、コンピュータに、教師有り学習データに対するニューラルネットワークモデルの予測確率ベクトルから正解クラスの要素を除いた不正解クラス予測確率ベクトルを求めることと、2つの前記ニューラルネットワークモデルの前記不正解クラス予測確率ベクトルのなす角度が大きいほど値が小さくなる多様性関数を含む目的関数の値をより小さくするように、前記ニューラルネットワークモデルの学習を行うことと、を実行させるためのプログラムである。
【発明の効果】
【0009】
上記した学習装置、学習方法およびプログラムによれば、複数のモデルが多様な分類結果を出力し易くなるように学習を行う際の計算量が比較的少なくて済む。
【図面の簡単な説明】
【0010】
図1】実施形態にかかる学習装置の構成の一例を表す概略ブロック図である。
図2】実施形態にかかる多様性算出装置の構成の一例を表す概略ブロック図である。
図3】実施形態にかかる学習装置が行う処理の一例を表すフローチャートである。
図4】実施形態にかかる学習装置の構成のもう1つの例を示す概略ブロック図である。
図5】実施形態にかかる学習方法における処理手順の一例を示すフローチャートである。
図6】少なくとも1つの実施形態に係る情報処理装置の構成の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0012】
<実施形態における構成の説明>
図1は実施形態にかかる学習装置の構成の一例を表す概略ブロック図である。
図1に示す構成で、学習装置10は、入出力部11と、予測部12と多重予測損失算出部13と多様性算出装置100と目的関数算出部14と更新部15とを含む。
【0013】
学習装置10は、ニューラルネットワークモデルf、…、fの学習を行う。ここで、nは、学習装置10による学習対象のニューラルネットワークモデルの個数を示す正の整数である。ニューラルネットワークモデルf、…、fの組み合わせをニューラルネットワークモデル集合とも称する。
【0014】
学習装置10は、ニューラルネットワークモデル集合としての出力に多様性を持たせるように、ニューラルネットワークモデルの学習を行う。これにより、ニューラルネットワークモデル集合が、敵対的サンプル(Adversarial Example)に対してロバスト(Robust)に構築されることが期待される。
【0015】
ここでいう敵対的サンプルは、人間が認識できない程度の微小なノイズが加えられたサンプル(クラス分類対象データ)である。例えば、敵対的サンプル画像の場合、肉眼では加工に気付かないか、あるいは気付くことが困難である。
また、ここでいうロバストは、敵対的サンプルに対して間違いにくいこと、すなわち、敵対的サンプルの元のサンプルである正常サンプルに対する正解クラス以外のクラスへの分類が生じづらいことである。
【0016】
例えば、学習装置10の学習によるニューラルネットワークモデル集合が分類結果のクラスを複数出力し、それら複数のクラスのうち正解クラスを出力するニューラルネットワークモデルが最も多い場合、ニューラルネットワークモデルの出力の多数決をとることで、正解を得られる。その際、ニューラルネットワークモデル集後の出力が多様になることで、ニューラルネットワークモデルf、…、fが一様に騙される可能性を軽減できる。
【0017】
また、学習装置10の学習によるニューラルネットワークモデル集合が分類結果のクラスを複数出力することで、仮に正解クラスを特定できない場合でも、入力データが敵対的サンプルである可能性があることを示すことができる。
【0018】
入出力部11は、学習装置10の外部との間でデータの入出力を行う。
例えば、入出力部11は、ニューラルネットワークモデルf、…、fと、各ニューラルネットワークモデルのパラメータθ、…、θの初期値と、訓練データXと、正解ラベルYと、ハイパーパラメータαおよびβの値との入力を受け付ける。
【0019】
ニューラルネットワークモデルf(iは、1≦i≦nの整数)が複数のパラメータを含んでいてもよく、パラメータθが、複数のパラメータのベクトルとして構成されていてもよい。また、ニューラルネットワークモデルf、…、fの各々で構成およびパラメータの個数が異なっていてもよく、パラメータθ、…、θの各々で要素数が異なっていてもよい。
【0020】
また、入出力部11は、学習による更新済みのパラメータθ、…、θの値を出力する。学習による更新済みのパラメータθ、…、θの値を、パラメータ値θ’、…、θ’とも表記する。
あるいは、学習装置10が、パラメータ値θ’、…、θ’の出力に加えて、あるいは代えて、ニューラルネットワークモデルf、…、fと、パラメータ値θ’、…、θ’とを用いて分類器として機能し、データの入力を受けてクラス分類結果を出力するようにしてもよい。
【0021】
入出力部11がデータの入出力を行う方法は、特定の方法に限定されない。例えば、入出力部11が、通信装置を含んで構成されるなど通信機能を有し、他の装置とデータの送受信を行うようにしてもよい。あるいは、入出力部11が、キーボードおよびマウス等の入力デバイスを含んで構成され、データの受信に加えて、あるいは代えて、ユーザ操作によるデータの入力を受け付けるようにしてもよい。また、入出力部11が、液晶パネルまたはLED(Light Emitting Diode)パネル等の表示画面を含んで構成され、データの送信に加えて、あるいは代えて、データを表示するようにしてもよい。
【0022】
予測部12はニューラルネットワークモデルf、…、fと訓練データXとに基づいて、各ニューラルネットワークモデルの予測確率ベクトルf(X,θ)、…、f(X,θ)を算出し、出力する。
ここでいう予測確率ベクトルは、ニューラルネットワークモデルの出力であり、各クラスの予測確率を示す。すなわち、ニューラルネットワークモデルf(iは、1≦i≦nの整数)は、データの入力に対して、クラス毎に、そのデータに紐付けられる分類対象がそのクラスに属する確率を出力する。予測部12は、パラメータθのもとでの訓練データXの入力に対するニューラルネットワークモデルfの出力を算出し、予測確率ベクトルf(X,θ)として出力する。
【0023】
多重予測損失算出部13は、予測確率ベクトルf(X,θ)、…、f(X,θ)と正解ラベルYとに基づいて、ニューラルネットワークモデルf、…、fの予測結果と正解ラベルとの誤差の大きさを示す指標値を算出し、出力する。ニューラルネットワークモデルf、…、fの予測結果と正解ラベルとの誤差の大きさを示す指標値を計算する関数を、多重予測損失関数ECEと称する。多重予測損失関数ECEの値を多重予測損失と称する。
【0024】
例えば、fの予測損失をlとし、多重予測損失関数ECEはlの平均値としてもよい。lには交差エントロピーを用いるようにしてもよい。この場合、多重予測損失算出部13は、式(1)で示される多重予測損失関数ECEを用いて多重予測損失を算出する。
【0025】
【数1】
【0026】
「1」は、Y番目の要素が1で他の要素が0であるワンホットベクトル(One-Hot Vector)を示す。「-log(1(X,θ))」は、ニューラルネットワークモデルfにおける交差エントロピーによる予測損失を示し、-log(p(Y))と表される。ここで、p(Y)は、ニューラルネットワークモデルfが正解ラベルY(正解のクラス)について出力する予測確率である。
ただし、多重予測損失関数ECEは式(1)に示すものに限定されない。ニューラルネットワークモデルの出力が正解に近いほど誤差が小さくなるいろいろな関数を、多重予測損失関数ECEとして用いることができる。
学習装置10が、多重予測損失関数ECEの値が小さくなるようにニューラルネットワークモデルf、…、fの学習を行うことで、ニューラルネットワークモデルf、…、fによるクラス分類の精度が高くなる。
【0027】
多様性算出装置100は、予測確率ベクトルf(X,θ)、…、f(X,θ)と、正解ラベルYとに基づいて、ニューラルネットワークモデルf、…、fの出力の多様性の指標値を算出する。ニューラルネットワークモデルf、…、fの出力の多様性の指標値を計算する関数を、多様性関数EDと称する。多様性関数EDとして、ニューラルネットワークモデルf、…、fの出力の多様性が大きいほど値が小さくなる関数を用いる。すなわち、同じ訓練データXに対して、予測確率ベクトルf(X,θ)、…、f(X,θ)のばらつきが大きいほど、多様性関数EDの値が小さくなる。
【0028】
学習により多様性関数EDの値を小さくすることで予測確率ベクトルf(X,θ)、…、f(X,θ)を多様的にし、敵対的サンプルの入力に対してニューラルネットワークモデルf、…、fがロバストになる効果がある。
図1の例のように、多様性算出装置100が学習装置10の一部として構成されていてもよい。あるいは、多様性算出装置100が学習装置10とは別の装置として構成されていてもよい。
【0029】
目的関数算出部14は多重予測損失算出部13が算出する多重予測損失関数ECEの値と多様性算出装置100からの出力であるEDとハイパーパラメータαおよびβの値に基づいて目的関数の値を算出する。目的関数は例えばloss=αECE―βEDとすることができる。
【0030】
更新部15は、ニューラルネットワークモデルf、…、fの学習を行う。具体的には、更新部15は、目的関数算出部14が算出する目的関数の値に基づいて、ニューラルネットワークの出力と正解ラベルとの差が小さくなるよう、且つニューラルネットワークモデル間の類似度が小さくなるように、ニューラルネットワークモデルのパラメータθ、…、θの値を更新する。
【0031】
例えば、更新部15が、目的関数のニューラルネットワークの各パラメータによる微分係数を用いて、勾配法に基づいて目的関数の値を小さくするパラメータθ、…、θの値を算出するようにしてもよい。ただし、更新部15が用いる学習方法は特定の方法に限定されない。更新部15がニューラルネットワークモデルf、…、fの学習を行う方法として、目的関数の値を小さくするいろいろな方法を用いることができる。
【0032】
図2は多様性算出装置100の構成の一例を表す概略ブロック図である。図2に示す構成で、多様性算出装置100は、不正解予測算出部101と、正規化部102と、角度算出部103とを含む。
多様性算出装置100は、予測部12から予測確率ベクトルf(X,θ)、…、f(X,θ)と、正解ラベルYを入力として受け付ける。
【0033】
ここで、クラスに1からnまでの番号が紐付けられており、この番号を用いてクラス1、…、クラスnと称するものとする。また、予測確率ベクトルf(X,θ)、…、f(X,θ)の各々では、ベクトルの要素として、クラス1の予測確率からクラスnの予測確率までが順に並んでいるものとする。Yは、正解のクラスの番号を示すものする。
ただし、クラスの識別方法、正解クラスの提示方法、および、予測確率ベクトルの構成は、特定のもの限定されない。
【0034】
不正解予測算出部101は、各f(X,θ)の正解ラベルに対応する要素、すなわちY番目の要素を除いた不正解クラス予測確率ベクトルf (X,θ)、…、f (X,θ)を算出し出力する。
正規化部102は不正解クラス予測確率ベクトルf (X,θ)、…、f (X,θ)を正規化し出力する。多様性算出装置100が不正解クラス予測確率ベクトルf (X,θ)、…、f (X,θ)に基づいて多様性関数EDの値(多様性の指標値)を算出する際に、ベクトルの大きさの影響を除外するためである。
【0035】
正規化部102が行う正規化として、ベクトルに対するいろいろな正規化を用いることができる。例えば、正規化部102がL2正規化を行うようにしてもよいが、これに限定されない。あるいは、多様性算出装置100が正規化部102を備えていなくてもよい。すなわち、正規化部102による不正解クラス予測確率ベクトルf (X,θ)、…、f (X,θ)の正規化は必須ではない。
正規化部102が不正解クラス予測確率ベクトルf (X,θ)、…、f (X,θ)をL2正規化する場合は、式(2)のように計算する。
【0036】
【数2】
【0037】
角度算出部103は多様性関数EDの値を算出し出力する。例えば、正規化部102がL2正規化する場合、多様性関数EDとして式(3)に示される関数を用いることができる。
【0038】
【数3】
【0039】
式(3)の「・」は、ベクトルの内積を示す。
角度算出部103は、式(3)に基づいて、ニューラルネットワークモデルf、…、fにおける2つの不正解クラス予測確率ベクトルの全ての組み合わせについての、不正解クラス予測確率ベクトルのコサイン類似度の総和を、多様性の指標値として算出する。不正解クラス予測確率ベクトルのばらつきが大きいほどコサイン類似度が小さくなり、多様性の指標値(多様性関数EDの値)が小さくなる。
あるいは、角度算出部103が、式(4)のように、正規化された不正解クラス予測確率ベクトルの内積の総和に代えて、内積の平均を算出するようにしてもよい。
【0040】
【数4】
【0041】
式(3)または式(4)の例のように、多様性関数EDとして、2つのニューラルネットワークモデルfとfと(i、jは、1≦i<j≦nを満たす正の整数)の不正解クラス予測確率ベクトルf (X,θ)とf (X,θ)とのなす角度が大きいほど値が小さくなる関数を用いるようにしてもよい。
【0042】
また、式(3)、(4)は何れも、学習対象の全てのニューラルネットワークモデルf、…、fのうちの2つのニューラルネットワークモデルfとfとの全ての組み合わせについて、不正解クラス予測確率ベクトルf (X,θ)とf (X,θ)とのなす角度の大きさの評価値の演算を含む多様性関数EDの例に該当する。
【0043】
ただし、多様性関数EDとして、学習対象の全てのニューラルネットワークモデルのうちの2つのニューラルネットワークモデルの一部の組み合わせのみについて、不正解クラス予測確率ベクトルのなす角度の大きさの評価値の演算を含む関数を用いるようにしてもよい。
例えば、角度算出部103が、式(5)の例のように、識別番号で隣同士のニューラルネットワークモデルの不正解クラス予測確率ベクトルのなす角度の大きさの評価値の演算を含む多様性関数EDの値を計算するようにしてもよい。
【数5】
【0044】
多様性関数EDに用いる、角度の大きさの評価値の演算はコサイン類似度に限定されず、角度が大きいほど値が小さくなるいろいろな関数とすることができる。
【0045】
<学習装置の動作の説明>
図3は、学習装置10が行う処理の一例を表すフローチャートである。
まず、入出力部11は、n個のニューラルネットワークモデルf、…、f、パラメータθ、…、θの値、訓練データX、正解ラベルY、ハイパーパラメータαおよびβの値を取得する(ステップS10)。
【0046】
次に、予測部12は、各ニューラルネットワークモデルの予測確率ベクトルf(X,θ)、…、f(X,θ)を算出する(ステップS20)。
次に、多重予測損失算出部13は、予測確率ベクトルf(X,θ)、…、f(X,θ)と正解との誤差を算出し、モデル間の平均値を算出することで、多重予測損失関数ECEの値を算出する(ステップS31)。
【0047】
次に、多様性算出装置100は、予測確率ベクトルf(X,θ)、…、f(X,θ)と正解ラベルYとに基づいて、不正解クラス予測確率ベクトルf (X,θ)、…、f (X,θ)を算出し、これらのベクトルがなす角度に基づくスコアを多様性の数値(多様性関数ED)として算出する(ステップS32)。
【0048】
次に、目的関数算出部14は多重予測損失関数ECEと、多様性関数EDと、ハイパーパラメータαおよびβの値とに基づいて目的関数lossを算出する(ステップS4)。
最後に、更新部15は目的関数lossをネットワークパラメータθ、…、θで微分したときの微分係数の値に従ってネットワークパラメータθ、…、θを更新する(ステップS5)。すなわち、更新部15は、更新後のネットワークパラメータθ’、…、θ’を算出する。
【0049】
ステップS4の後、学習装置10は、図3の処理を終了する。
学習装置10は、図3の処理を繰り返し行う。例えば、学習装置10が、図3の処理を所定回数繰り返すようにしてもよい。あるいは、学習装置10が、目的関数の減少率の大きさが所定の大きさ以下に収束するまで繰り返すようにしてもよい。
【0050】
以上のように、不正解予測算出部101は、訓練データXに対するニューラルネットワークモデルf、…、fの予測確率ベクトルから正解クラスの要素を除いた不正解クラス予測確率ベクトルf (X,θ)、…、f (X,θ)を求める。更新部15は、2つのニューラルネットワークモデルの不正解クラス予測確率ベクトルのなす角度が大きいほど値が小さくなる多様性関数EDを含む目的関数lossの値をより小さくするように、ニューラルネットワークモデルf、…、fの学習を行う。
【0051】
更新部15が、目的関数lossの値を小さくするように、ニューラルネットワークモデルf、…、fの学習を行うことで、目的関数lossに含まれる損失関数の値が小さくなり、ニューラルネットワークモデルf、…、fによる分類精度が高くなると期待される。
【0052】
また、更新部15が、目的関数lossの値を小さくするように、ニューラルネットワークモデルf、…、fの学習を行うことで、目的関数lossに含まれる多様性関数の値が小さくなり、ニューラルネットワークモデルf、…、fの出力(ニューラルネットワーク集合の出力)の多様性が得られると期待される。ニューラルネットワークモデルf、…、fの出力が多様になることで、敵対的サンプルに対してロバストになることが期待される。
【0053】
かつ、更新部15が、多様性関数として、2つのニューラルネットワークモデルの間において不正解クラス予測確率ベクトルがなす角度の評価値に基づく関数を用いる点で、学習における計算量が比較的少なくて済むと期待される。
例えば、ニューラルネットワークモデルの個数をm個とし、出力ベクトルのクラスの個数(クラス数)をL個として、上記の非特許文献1では、ニューラルネットワークモデルの出力の多様性を得るために用いる関数の計算量がO(Lm+m)のオーダーとなるのに対し、学習装置10によれば、O(Lm)で済む。
【0054】
また、多様性関数は、学習対象の全てのニューラルネットワークモデルf、…、fのうちの2つのニューラルネットワークモデルの全ての組み合わせについて、クラス予測確率ベクトルのなす角度の大きさの評価値の演算を含む。
これにより、学習装置10では、ニューラルネットワークモデルの出力の多様性をより高精度に評価することができ、ニューラルネットワークモデルの出力の多様性を得やすいと期待される。
【0055】
また、多様性関数は、2つの不正解クラス予測確率ベクトルのなす角度の大きさの評価値の演算として、それら2つの不正解クラス予測確率ベクトルのコサイン類似度の演算を含む。
これにより、学習装置10では、2つの不正解クラス予測確率ベクトルのなす角度の大きさの評価の際に、2つの不正解クラス予測確率ベクトルそれぞれの大きさの影響を除外することができる。この点で、学習装置10では、ニューラルネットワークモデルの出力の多様性をより高精度に評価することができ、ニューラルネットワークモデルの出力の多様性を得やすいと期待される。
【0056】
また、多様性関数は、2つのニューラルネットワークモデルの不正解クラス予測確率ベクトルのコサイン類似度の、学習対象の全てのニューラルネットワークモデルのうちの2つのニューラルネットワークモデルの全ての組み合わせについての平均を算出する演算を含む。
このように、学習装置10が、多様性関数の計算でコサイン類似度の平均を求めることで、多様性関数の値大きさがニューラルネットワークモデルの個数に応じて増減することを回避でき、目的関数における多様性関数の影響の度合いが変化することを回避できる。
【0057】
図5は、実施形態にかかる学習装置の構成のもう1つの例を示す概略ブロック図である。
図5に示す構成で、学習装置500は、不正解予測算出部と501と、更新部502とを備える。
かかる構成で、不正解予測算出部501は、教師有り学習データに対するニューラルネットワークモデルの予測確率ベクトルから正解クラスの要素を除いた不正解クラス予測確率ベクトルを求める。更新部502は、2つのニューラルネットワークモデルの前記不正解クラス予測確率ベクトルのなす角度が大きいほど値が小さくなる多様性関数を含む目的関数の値をより小さくするように、ニューラルネットワークモデルの学習を行う。
【0058】
更新部502が、目的関数の値を小さくするように、ニューラルネットワークモデルの学習を行うことで、目的関数に含まれる多様性関数の値が小さくなり、ニューラルネットワークモデルの出力の多様性が得られると期待される。ニューラルネットワークモデルの出力が多様になることで、敵対的サンプルに対してロバストになることが期待される。
【0059】
かつ、更新部502が、多様性関数として、2つのニューラルネットワークモデルの間において不正解クラス予測確率ベクトルがなす角度の評価値に基づく関数を用いる点で、学習における計算量が比較的少なくて済むと期待される。
例えば、ニューラルネットワークモデルの個数をm個とし、出力ベクトルのクラスの個数(クラス数)をL個として、上記の非特許文献1では、ニューラルネットワークモデルの出力の多様性を得るために用いる関数の計算量がO(Lm+m)のオーダーとなるのに対し、学習装置500によれば、O(Lm)で済む。
【0060】
図6は実施形態にかかる学習方法における処理手順の一例を示すフローチャートである。図6に示す処理で、教師有り学習データに対するニューラルネットワークモデルの予測確率ベクトルから正解クラスの要素を除いた不正解クラス予測確率ベクトルを求める(ステップS501)。そして、2つの前記ニューラルネットワークモデルの前記不正解クラス予測確率ベクトルのなす角度が大きいほど値が小さくなる多様性関数を含む目的関数の値をより小さくするように、前記ニューラルネットワークモデルの学習を行う(ステップS502)。
【0061】
目的関数の値を小さくするように、ニューラルネットワークモデルの学習を行うことで、目的関数に含まれる多様性関数の値が小さくなり、ニューラルネットワークモデルの出力の多様性が得られると期待される。ニューラルネットワークモデルの出力が多様になることで、敵対的サンプルに対してロバストになることが期待される。
【0062】
かつ、多様性関数として、2つのニューラルネットワークモデルの間において不正解クラス予測確率ベクトルがなす角度の評価値に基づく関数を用いる点で、学習における計算量が比較的少なくて済むと期待される。
例えば、ニューラルネットワークモデルの個数をm個とし、出力ベクトルのクラスの個数(クラス数)をL個として、上記の非特許文献1では、ニューラルネットワークモデルの出力の多様性を得るために用いる関数の計算量がO(Lm+m)のオーダーとなるのに対し、図6に示す処理によれば、O(Lm)で済む。
【0063】
<ハードウェアの構成について>
図7は、少なくとも1つの実施形態に係る情報処理装置300の構成の一例を示す図である。図7に示す構成で、情報処理装置300は、CPU(Central Processing Unit)301と、ROM(Read Only Memory)302と、RAM(Random Access Memory)303と、RAM303にロードされるプログラム群304と、プログラム群304を格納する記憶装置305と、情報処理装置300外部の記録媒体310の読み書きを行うドライブ装置306と、情報処理装置300外部の通信ネットワーク311と接続する通信インタフェース307と、データの入出力を行う入出力インタフェース308と、各構成要素を接続するパス309とを含む。
【0064】
上述した学習装置10の一部又は全部、あるいは、学習装置500の一部または全部を、例えば図7で示すような情報処理装置300がプログラムを実行することで実現するようにしてもよい。その場合、上述した各処理部の機能を実現するプログラム群304をCPU301が取得して実行することで実現することができる。学習装置10または学習装置500が有する各部の機能を実現するプログラム群304は、例えば、予め記憶装置305やROM302に格納されており、必要に応じてCPU301がRAM303にロードして実行する。なお、プログラム群304は通信ネットワーク311を介してCPU301に供給されてもよいし、予め、記録媒体310に格納されており、ドライブ装置306が該プログラムを読みだしてCPU301に供給してもよい。
なお、図7は情報処理装置300の構成の一例を示しており、情報処理装置300の構成は上述した場合に例示されない。例えば、情報処理装置300は、ドライブ装置306を有さないなど、上述した構成の一部から構成されても構わない。
【0065】
学習装置10が情報処理装置300に実装される場合、予測部12、多重予測損失算出部13、目的関数算出部14、更新部15、不正解予測算出部101、正規化部102、および、角度算出部103の動作は、プログラムの形式で例えば記憶装置305またはROM302に記憶されている。CPU301は、プログラムを記憶装置305またはROM302から読み出してRAM303に展開し、当該プログラムに従って上記処理を実行する。
【0066】
また、CPU301は、プログラムに従って、記憶領域をRAM303に確保する。入出力部11が他の装置と通信を行う場合、通信インタフェース307がCPU301の制御に従って通信を実行する。入出力部11がユーザ操作によるデータの入力など、データの入力を受け付ける場合、入出力インタフェース308が、データの入力の受付を実行する。例えば、入出力インタフェース308が、キーボードおよびマウスなどの入力デバイスを含んで構成され、ユーザ操作を受け付けるようにしてもよい。入出力部11が、データを表示するなどデータを出力する場合、入出力インタフェース308が、データの出力を実行する。例えば、入出力インタフェース308が、液晶パネルまたはLEDパネル等の表示画面を含んで構成され、データを表示するようにしてもよい。
【0067】
学習装置500が情報処理装置300に実装される場合、不正解予測算出部501および更新部502の動作は、プログラムの形式で例えば記憶装置305またはROM302に記憶されている。CPU301は、プログラムを記憶装置305またはROM302から読み出してRAM303に展開し、当該プログラムに従って上記処理を実行する。
【0068】
また、CPU301は、プログラムに従って、記憶領域をRAM303に確保する。学習装置500が他の装置と通信を行う場合、通信インタフェース307がCPU301の制御に従って通信を実行する。学習装置500がユーザ操作によるデータの入力など、データの入力を受け付ける場合、入出力インタフェース308が、データの入力の受付を実行する。例えば、入出力インタフェース308が、キーボードおよびマウスなどの入力デバイスを含んで構成され、ユーザ操作を受け付けるようにしてもよい。学習装置500が、データを表示するなどデータを出力する場合、入出力インタフェース308が、データの出力を実行する。例えば、入出力インタフェース308が、液晶パネルまたはLEDパネル等の表示画面を含んで構成され、データを表示するようにしてもよい。
【0069】
上記のように、学習装置10、および、学習装置500が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0070】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0071】
本発明の実施形態は、学習装置、学習方法および記録媒体に適用してもよい。
【符号の説明】
【0072】
10 学習装置
11 入出力部
12 予測部
13 多重予測損失算出部
14 目的関数算出部
15 更新部
100 多様性算出装置
101 不正解予測算出部
102 正規化部
103 角度算出部
201 内積総和算出部
図1
図2
図3
図4
図5
図6