(57)【要約】【課題】ニューラルネットワークの過学習をより抑制する。【解決手段】学習装置は、取得部と、推論部と、更新部と、を備える。取得部は、入力データと、入力データによる推論の正解を示す対象ラベルと、を取得する。推論部は、入力データをニューラルネットワークに入力したときの推論結果に対する入力データに含まれる複数の要素の寄与度に基づいたノイズを、入力データ、および、ニューラルネットワークの中間層のデータの少なくとも一方に付加し、入力データに対するニューラルネットワークによる推論を実行する。更新部は、ニューラルネットワークによる推論結果と、対象ラベルと、が一致するようにニューラルネットワークのパラメータを更新する。【選択図】図１
2020177582.tif 000002
【特許請求の範囲】
【請求項１】
入力データと、前記入力データによる推論の正解を示す対象ラベルと、を取得する取得部と、
前記入力データをニューラルネットワークに入力したときの推論結果に対する前記入力データに含まれる複数の要素の寄与度に基づいたノイズを、前記入力データ、および、前記ニューラルネットワークの中間層のデータの少なくとも一方に付加し、前記入力データに対する前記ニューラルネットワークによる推論を実行する推論部と、
前記ニューラルネットワークによる推論結果と、前記対象ラベルと、が一致するように前記ニューラルネットワークのパラメータを更新する更新部と、
を備える学習装置。
【請求項２】
前記推論部は、前記対象ラベルと一致する推論結果に対する前記寄与度が閾値以上の要素に対して前記ノイズを付加する、
請求項１に記載の学習装置。
【請求項３】
前記推論部は、前記ノイズを付加する要素の個数が上限値以下となるように、前記閾値を変更する、
請求項２に記載の学習装置。
【請求項４】
前記推論部は、前記対象ラベルと一致しない推論結果に対する前記寄与度が閾値以上である要素に対して前記ノイズを付加する、
請求項１に記載の学習装置。
【請求項５】
前記推論部は、前記対象ラベルと一致しない推論結果に対する前記寄与度が閾値より小さい要素に対して前記ノイズを付加する、
請求項１に記載の学習装置。
【請求項６】
前記推論部は、前記対象ラベルと一致する推論結果に対する前記寄与度が第１閾値以上であり、かつ、前記対象ラベルと一致しない推論結果に対する前記寄与度が第２閾値以上である要素に対して前記ノイズを付加する、
請求項１に記載の学習装置。
【請求項７】
前記推論部は、前記寄与度に基づく頻度で、前記ノイズを前記入力データおよび前記中間層のデータの少なくとも一方に付加する、
請求項１に記載の学習装置。
【請求項８】
前記推論部は、
複数回実行される学習処理の各回で、前記入力データに対する前記ニューラルネットワークによる第１推論を実行し、前記第１推論の推論結果に対する前記入力データに含まれる複数の要素の寄与度に基づいたノイズを算出し、前記入力データ、および、前記中間層のデータの少なくとも一方に、算出したノイズを付加し、前記入力データに対する前記ニューラルネットワークによる第２推論を実行する、
請求項１に記載の学習装置。
【請求項９】
前記推論部は、
複数回実行される学習処理の各回で、前記入力データおよび前記中間層のデータの少なくとも一方に前記ノイズを付加し、前記入力データに対する前記ニューラルネットワークによる推論を実行し、
複数回実行される学習処理のうちｍ回目（ｍは２以上の整数）の学習処理で付加する前記ノイズを、複数回実行される学習処理のうち（ｍ−１）回目の学習処理での前記ニューラルネットワークによる推論の推論結果に対する前記入力データに含まれる複数の要素の寄与度に基づいて算出する、
請求項１に記載の学習装置。
【請求項１０】
入力データと、前記入力データによる推論の正解を示す対象ラベルと、を取得する取得ステップと、
前記入力データをニューラルネットワークに入力したときの推論結果に対する前記入力データに含まれる複数の要素の寄与度に基づいたノイズを、前記入力データ、および、前記ニューラルネットワークの中間層のデータの少なくとも一方に付加し、前記入力データに対する前記ニューラルネットワークによる推論を実行する推論ステップと、
前記ニューラルネットワークによる推論結果と、前記対象ラベルと、が一致するように前記ニューラルネットワークのパラメータを更新する更新ステップと、
を含む学習方法。
【請求項１１】
コンピュータを、
入力データと、前記入力データによる推論の正解を示す対象ラベルと、を取得する取得部と、
前記入力データをニューラルネットワークに入力したときの推論結果に対する前記入力データに含まれる複数の要素の寄与度に基づいたノイズを、前記入力データ、および、前記ニューラルネットワークの中間層のデータの少なくとも一方に付加し、前記入力データに対する前記ニューラルネットワークによる推論を実行する推論部と、
前記ニューラルネットワークによる推論結果と、前記対象ラベルと、が一致するように前記ニューラルネットワークのパラメータを更新する更新部と、
として機能させるためのプログラム。
【請求項１２】
請求項１に記載の学習装置により学習された前記ニューラルネットワークを用いて、入力データの認識を実行する認識部と、
前記認識部による認識結果を出力する出力制御部と、
を備える認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、学習装置、学習方法、プログラムおよび認識装置に関する。
【背景技術】
【０００２】
ニューラルネットワークの過学習を抑制する方法として、中間層のノード値の一部をランダムにゼロにしながら最適化する方法、および、入力データの一部をランダムに遮蔽しながら最適化する方法が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１４／１０５８６６号
【非特許文献】
【０００４】
【非特許文献１】G.  Ghiasi,  T.  Lin,  Q.  V.  Le,  "DropBlock:  A  regularization  method  for  convolutional  networks,"  in  arXiv:1810.12890v1,  2018.
【非特許文献２】T.  DeVries  and  G.  W.  Taylor,  “Improved  Regularization  of  Convolutional  Neural  Networks  with  Cutout”,  in  arXiv:1708.04552,  2017.
【非特許文献３】Z.  Zhong,  L.  Zheng,  G.  Kang,  S.  Li,  and  Y.  Yang,  “Random  Erasing  Data  Augmentation”,  in  arXiv:1708.04896,  2017.
【非特許文献４】B.  Zhou,  A.  Khosla,  A.  Lapedriza,  A.  Oliva,  A.  Torralba,  “Learning  Deep  Features  for  Discriminative  Localization”,  In  IEEE  Conference  on  Computer  Vision  and  Pattern  Recognition  (CVPR),  pp.  2921-2929,  2016.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、ノイズを付加する頻度、データ中でノイズを付加する位置（要素）、ノイズのサイズ、および、学習進捗に合わせたスケジュールなどの、ノイズの付加方法を調整するパラメータの設定が難しく、過学習を十分に抑制できない場合があった。
【課題を解決するための手段】
【０００６】
実施形態の学習装置は、取得部と、推論部と、更新部と、を備える。取得部は、入力データと、入力データによる推論の正解を示す対象ラベルと、を取得する。推論部は、入力データをニューラルネットワークに入力したときの推論結果に対する入力データに含まれる複数の要素の寄与度に基づいたノイズを、入力データ、および、ニューラルネットワークの中間層のデータの少なくとも一方に付加し、入力データに対するニューラルネットワークによる推論を実行する。更新部は、ニューラルネットワークによる推論結果と、対象ラベルと、が一致するようにニューラルネットワークのパラメータを更新する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態にかかる学習装置のブロック図。
【図２】第１の実施形態における更新処理のフローチャート。
【図３】入力画像の一例を示す図。
【図４】注目度画像の一例を示す図。
【図５】ノイズおよびノイズを付加した画像の例を示す図。
【図６】変形例における更新処理のフローチャート。
【図７】第２の実施形態にかかる情報処理システムのブロック図。
【図８】第１または第２の実施形態にかかる装置のハードウェア構成図。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、この発明にかかる学習装置の好適な実施形態を詳細に説明する。
【０００９】
以下では、画像を入力データとして推論を行うニューラルネットワークを学習する学習装置を例に説明する。より具体的には、入力された画像（２次元画像）を、数字の０〜９のいずれかに分類する１０クラスの画像分類問題を例に説明する。適用可能な処理はこれに限られるものではなく、その他の推論処理（認識処理、分類処理を含む）にも適用できる。例えば、１クラスの分類処理（異常検出など）などの１０クラス以外の分類処理にも適用できる。また、３次元画像を用いた推論、音声データからの推論対象（特定の話者など）の推論、および、テキストデータを用いた推論などにも適用できる。
【００１０】
（第１の実施形態）
第１の実施形態は、ニューラルネットワークの推論（認識）の寄与度に基づいて、付加するノイズのパラメータを決定する。これにより、付加するノイズのパラメータが、学習の進捗および認識率に対して適応的に決定されるため、過学習をより安定して抑制できる。また、このように学習されたニューラルネットワークを用いれば、認識率を向上させることができる。
【００１１】
図１は、第１の実施形態にかかる学習装置１００を示すブロック図である。学習装置１００は、取得部１０１と、推論部１０２と、注目度画像算出部１０３と、ノイズ算出部１０４と、更新部１０５と、記憶部１２１と、を備える。
【００１２】
記憶部１２１は、学習装置１００による各種処理に用いる各種データを記憶する。例えば記憶部１２１は、学習するニューラルネットワークを定めるパラメータ、および、学習のための訓練データを記憶する。ニューラルネットワークを定めるパラメータは、例えば重み係数およびバイアスである。
【００１３】
記憶部１２１は、フラッシュメモリ、メモリカード、ＲＡＭ（Random  Access  Memory）、ＨＤＤ（Hard  Disk  Drive）、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００１４】
取得部１０１は、学習装置１００による各種処理で用いる各種情報を取得する。例えば取得部１０１は、入力画像（入力データの一例）、および、入力画像による推論の正解を示す対象ラベルを含む訓練データを取得する。取得部１０１が訓練データを取得する方法はどのような方法であってもよい。取得部１０１は、例えば、記憶部１２１に記憶された訓練データを読み出すことにより取得してもよいし、学習装置１００の外部のサーバ装置などから訓練データを受信することにより取得してもよい。
【００１５】
推論部１０２は、入力画像に対するニューラルネットワークによる推論を実行する。例えば推論部１０２は、入力画像をニューラルネットワークに入力し、ニューラルネットワークから出力される推論結果を得る。
【００１６】
注目度画像算出部１０３は、入力画像をニューラルネットワークに入力したときの入力画像の推論に寄与した領域を示す注目度画像を生成する。注目度画像は、領域（画素など）ごとの推論時に注目（着眼）した度合い（注目度）を示す画像と解釈することができる。注目度画像は、顕著性マップ（ｓａｌｉｅｎｃｙ  ｍａｐ）などと呼ばれる場合がある。注目度画像の生成方法の詳細は後述する。
【００１７】
ノイズ算出部１０４は、入力画像と、ニューラルネットワークの中間層のデータ（中間層データ）と、のうち少なくとも一方に付加するノイズを算出する。例えばノイズ算出部１０４は、対象ラベルと注目度画像とからノイズを算出する。なお、中間層データにノイズを付加することは、中間層データに対応する重み係数（中間層データに乗じられる重み係数）にノイズを付加することと等価である。
【００１８】
推論部１０２は、ノイズ算出部１０４により算出されたノイズを、入力画像および中間層データ（重み係数）の少なくとも一方に付加し、入力データに対するニューラルネットワークによる推論をさらに実行する。
【００１９】
更新部１０５は、ニューラルネットワークのパラメータを更新する。例えば更新部１０５は、入力画像および中間層データの少なくとも一方にノイズを付加した後のニューラルネットワークによる推論結果と、対象ラベルと、が一致するように、誤差逆伝搬法によりニューラルネットワークの重み係数を更新する。パラメータの更新方法は誤差逆伝播法に限られるものではなく、どのような方法であってもよい。
【００２０】
上記各部（取得部１０１、推論部１０２、注目度画像算出部１０３、ノイズ算出部１０４、更新部１０５）は、例えば、１または複数のプロセッサにより実現される。例えば上記各部は、ＣＰＵ（Central  Processing  Unit）などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のＩＣ（Integrated  Circuit）などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち１つを実現してもよいし、各部のうち２以上を実現してもよい。
【００２１】
次に、このように構成された第１の実施形態にかかる学習装置１００による更新処理について説明する。図２は、第１の実施形態における更新処理の一例を示すフローチャートである。
【００２２】
まず、取得部１０１は、訓練データである入力画像およびラベルを取得する（ステップＳ１０１）。以下では、入力画像をｘｉ（ｉ＝１、２、・・・、Ｎ）、ラベルをｔｉと表す。なお、ｉは訓練データを識別する識別情報（通し番号など）を表し、Ｎは訓練データの数を表す。
【００２３】
図３は、入力画像の一例を示す図である。入力画像ｘｉは、例えば横幅Ｗ、縦幅Ｈの画素集合であり、Ｗ×Ｈ次元のベクトルとする。図３に示すように、入力画像３０１は、ｘｉ（ｕ，ｖ）と表される。ｕは水平方向の画素位置を表し、ｖは垂直方向の画素位置を表す。
【００２４】
ラベルｔｉは、入力画像ｘｉによる推論の正解に該当する要素が１となり、それ以外の要素が０となる１０次元ベクトルである。図３のように、正解が「５」である入力画像ｘｉの場合は、ラベルｔｉは、（０，０，０，０，０，１，０，０，０，０）Ｔのように表される。以下ではラベルｔｉのうち、正解を示す要素を対象ラベルといい、それ以外の要素を非対象ラベルという場合がある。
【００２５】
図２に戻り、推論部１０２は、入力画像ｘｉをニューラルネットワークに入力し、この入力に対するニューラルネットワークの出力ｙ１ｉ（第１出力）を取得する（ステップＳ１０２）。出力ｙ１ｉは、以下の（１）式により表される。
ｙ１ｉ＝ｆ（ｗ、ｘｉ）  ・・・（１）
【００２６】
ｆは、重み係数集合ｗを保持するニューラルネットワークの関数である。例えば関数ｆは、畳み込み層、全結合層、正規化層、および、プーリング層などの複数の層の処理を繰り返し、ラベルｔｉと同じ次元数の１０次元ベクトルを出力する。なお、関数ｆの出力ベクトルは、ソフトマックス処理後の値であって、すべて要素が非負の値であり、かつ、要素の総和が１に正規化されているものとする。
【００２７】
次に、注目度画像算出部１０３は、中間層データ（中間画像）およびパラメータ（重み係数）などに基づいて注目度画像を生成する（ステップＳ１０３）。注目度画像ｓｉは、例えば以下の（２）式により生成される。
ｓｉ＝ｇ（ｗ、ｘｉ）  ・・・（２）
【００２８】
ｇは、ニューラルネットワークの重み係数集合ｗ、および、入力画像ｘｉに基づいて注目度画像を出力する関数である。注目度画像は、例えば非特許文献４に示されるクラス・アクティベーション・マッピング（Class  Activation  Mapping）などを用いることができる。クラス・アクティベーション・マッピングを用いる場合は、入力画像ｘｉを推論したときのニューラルネットワークの中間画像を、対象ラベルに関連する重み係数集合ｗの値で線形合成する関数が、関数ｇとして使用して生成できる。中間画像は、ニューラルネットワークの中間層の出力に相当する画像である。
【００２９】
図４は、注目度画像の一例を示す図である。図４は、正解が「９」である入力画像４０１に対する推論結果をもとに算出される注目度画像４０２の例を示す。注目度画像４０２の上部の数値（０〜９）は、注目度画像４０２の１０個の要素それぞれに対応する推論結果を表す。注目度画像４０２は、推論の寄与度に応じた画素値を有する画像である。図４では、ハッチングの種類の違いにより画素値（寄与度）の違いを表しているが、例えば非特許文献４と同様に、色により画素値（寄与度）を表すように構成してもよい。
【００３０】
図４の例では、「９」に対応する注目度画像の画素４１１、および、「４」に対応する注目度画像の一部の画素４１２が、寄与度が大きい画素となっている。
【００３１】
図４に示す注目度画像は一例であり、その他のどのような注目度画像を用いてもよい。多くの注目度画像の算出方法は、図４の例と同様に、出力ｙ１ｉのそれぞれの要素ごとに寄与度を算出することが可能である。算出方法によって注目度画像の縦幅と横幅は異なるが、本実施形態では入力画像ｘｉと同じ縦幅および横幅で注目度画像を算出することとする。すなわち、本実施形態では、注目度画像ｓｉは、（Ｗ×Ｈ×Ｃ）次元ベクトルとなる。Ｃは、分類するクラスの個数に相当する。本実施形態ではＣ＝１０である。
【００３２】
以上のように、注目度画像は、入力画像をニューラルネットワークに入力したときの入力画像の推論に寄与した領域を示す画像である。推論に寄与した領域は、例えば、その領域の値が変わることによる推論結果への影響が大きい領域、出力のうち活性がある部分からニューラルネットワークの経路を逆にたどって得られる領域、などを含む。
【００３３】
図２に戻り、ノイズ算出部１０４は、入力画像ｘｉおよび重み係数集合ｗ（中間層データ）に付加するノイズを、ラベルｔｉと注目度画像ｓｉに基づいて算出する（ステップＳ１０４）。
【００３４】
以下では、対象ラベルｃに対応する注目度画像ｓｉに基づいて、入力画像ｘｉにノイズを付加する方法を説明する。ノイズ算出部１０４は、以下の（３）式により付加するノイズｎｉを算出する。Ｔは、閾値である。ｓｉ（ｕ、ｖ、ｃ）は、水平方向の画素位置ｕ、垂直方向の画素位置ｖ、対象ラベルｃに対応する注目度画像の画素値を表す。
【００３５】
ｎｉ（ｕ、ｖ）＝０  （ｓｉ（ｕ、ｖ、ｃ）≧Ｔのとき）、
ｎｉ（ｕ、ｖ）＝１  （ｓｉ（ｕ、ｖ、ｃ）＜Ｔのとき）  ・・・（３）
【００３６】
後述するように、このノイズｎｉは、入力画像ｘｉの画素（要素）ごとに画素値に乗じられることにより、入力画像ｘｉに付加される。従って（３）式のノイズは、寄与度が閾値Ｔ以上である画素をゼロにしながら最適化するためのノイズであると解釈することができる。
【００３７】
（３）式では、入力画像ｘｉの画素のうち、値が「０」の要素が乗じられた画素の画素値がゼロになり、値が「１」の要素が乗じられた画素の画素値は、元の値が維持される。従って、値が「０」の要素に対応する画素（要素）に対して、ノイズが付加されると解釈することもできる。
【００３８】
なお、（３）式に示すように、ノイズは、画素ごとの寄与度と閾値との比較結果に応じて求められる。ノイズを求めることができる情報（寄与度など）が得られれば、ステップＳ１０３で注目度画像を生成する必要はない。
【００３９】
次に、推論部１０２は、入力画像ｘｉにノイズｎｉを付加した画像をニューラルネットワークに入力し、この入力に対する出力ｙ２ｉ（第２出力）を取得する（ステップＳ１０５）。出力ｙ２ｉは、以下の（４）式により表される。記号「◎」は、ベクトルの要素ごとの積を算出するアダマール積を表す。
ｙ２ｉ＝ｆ（ｗ、ｘｉ◎ｎｉ）  ・・・（４）
【００４０】
図５は、ノイズ、および、ノイズを付加した画像（ｘｉ◎ｎｉ）の例を示す図である。図５の入力画像５０１は、正解が「９」である入力画像である。注目度画像５０２は、入力画像５０１に対する推論結果をもとに算出される注目度画像の例である。入力画像５０１は、数字「９」の右上部が切れた画像となっている。このため、図４の入力画像４０１と比較して、入力画像５０１は、数字の「４」または「７」であると誤って推論される可能性が高い画像である。すなわち、図５の例では、「４」に対応する注目度画像の画素５１１、「７」に対応する注目度画像の一部の画素５１２、および、「９」に対応する注目度画像の一部の画素５１３が、寄与度が大きい画素となっている。
【００４１】
本実施形態では、図５に示すように、正解である「９」に対応する注目度画像に対して現時点で推論に寄与している画素の画素値をゼロとするように、入力画像５０１にノイズ５０３が付加され、新しい画像５０４が得られる。これにより、ニューラルネットワークは、画素値がゼロに変更された領域（注目度画像への寄与度が大きい領域）以外の領域を含む新しい画像から正しく推論が実行されるように学習が進められる。このため、入力画像のより広い範囲から特徴が抽出できるようになり、過学習の抑制が期待できる。
【００４２】
また、学習初期の段階では注目度画像の画素値は小さくランダムに近いが、学習が進むにつれて局所的な領域で画素値が大きくなる傾向にある。このため、学習が進むにつれて、寄与度が大きい領域、すなわち、画素値がゼロにされる領域の位置およびサイズが変更される。これは、閾値Ｔを調整するのみで、ノイズを付加する頻度、ノイズを付加する位置（要素）、および、ノイズのサイズが容易に調整可能となることを意味する。
【００４３】
図２に戻り、更新部１０５は、ラベルｔｉおよび出力ｙ２ｉに基づいて重み係数集合ｗの値を更新する（ステップＳ１０６）。例えば更新部１０５は、対象ラベルと出力ｙ２ｉとの一致度が高いほど小さくなるようにロスＬを算出し、誤差逆伝搬法などの方法により、ロスＬを最小化するように、重み係数集合ｗを更新する。更新部１０５は、例えば、以下の（５）式によりロスＬを算出する。
Ｌ＝−Σｉ（ｔｉＴｌｎ（ｙ２ｉ））  ・・・（５）
【００４４】
次に、更新部１０５は、学習が終了したか否かを判定する（ステップＳ１０７）。更新部１０５は、例えば、出力ｙ１ｉまたは出力ｙ２ｉと対象ラベルとの一致度、ロスＬの絶対値、ロスＬの減少幅、および、重み係数の更新回数（ステップＳ１０２からステップＳ１０６までの学習処理の回数）などにより、学習の終了を判定する。学習を継続する場合は（ステップＳ１０７：Ｎｏ）、ステップＳ１０２に戻り、処理が繰り返される。学習が終了したと判定された場合（ステップＳ１０７：Ｙｅｓ）、更新処理を終了する。
【００４５】
以上のように、本実施形態は、ニューラルネットワークの学習時に入力画像に付加するノイズの頻度、位置、サイズなどの調整パラメータを注目度画像に基づいて調整する。このため、適応的な正則化が実現でき、過学習をより抑制することが可能となる。
【００４６】
（変形例１）
上記実施形態では、通常は複数回実行される学習処理の各回で、入力画像に対するニューラルネットワークによる推論（第１推論、ステップＳ１０２）と、ノイズを付加した入力画像に対するニューラルネットワークによる推論（第２推論、ステップＳ１０３〜ステップＳ１０５）と、が実行される。すなわち、繰り返される学習処理の各回で、ニューラルネットワークによる推論が２回実行される。
【００４７】
学習装置１００が、学習処理の各回で１回の推論を実行するように構成してもよい。例えば学習装置１００は、学習処理のうちｍ回目（ｍは２以上の整数）の学習処理で付加するノイズを、（ｍ−１）回目の学習処理でのニューラルネットワークによる推論の推論結果に対する寄与度に基づいて算出する。
【００４８】
図６は、このように構成される本変形例における更新処理の一例を示すフローチャートである。ステップＳ２０１は、図２のステップＳ１０１と同様であるため説明を省略する。
【００４９】
次に、推論部１０２は、入力画像ｘｉにノイズｎｉを付加した画像をニューラルネットワークに入力し、この入力に対する出力ｙ２ｉを取得する（ステップＳ２０２）。初回の学習処理では、例えばノイズを付加しない画像、または、ランダムに選択した画素の画素値をゼロにするようなノイズを加えた画像を用いる。
【００５０】
次に更新部１０５は、ラベルｔｉおよび出力ｙ２ｉに基づいて重み係数集合ｗの値を更新する（ステップＳ２０３）。この処理は、図２のステップＳ１０６と同様である。次に更新部１０５は、学習が終了したか否かを判定する（ステップＳ２０４）。この処理は、図２のステップＳ１０７と同様である。
【００５１】
次に、注目度画像算出部１０３は、中間層データ（中間画像）およびパラメータ（重み係数）などに基づいて注目度画像を生成する（ステップＳ２０５）。本変形例では、注目度画像算出部１０３は、ノイズが付加された入力画像の推論時の中間層データなどから、注目度画像を生成する。
【００５２】
次にノイズ算出部１０４は、次回の学習処理の入力画像ｘｉおよび重み係数集合ｗ（中間層データ）の少なくとも一方に付加するノイズを、対象ラベルと注目度画像ｓｉに基づいて算出する（ステップＳ２０６）。この処理は、図２のステップＳ１０４と同様である。
【００５３】
ステップＳ２０６でノイズを算出した後、ステップＳ２０２に戻り、次回の学習処理が繰り返される。推論部１０２は、このときに入力画像に付加するノイズとして、ステップＳ２０６で算出されたノイズを用いる。すなわち推論部１０２は、（ｍ−１）回目の学習処理で算出されたノイズｎｉを、ｍ回目の学習処理で入力画像ｘｉに付加して推論を行う。
【００５４】
このような構成により、ニューラルネットワークによる推論の回数を減らし、演算の負荷を削減することが可能となる。
【００５５】
（変形例２）
上記のように、ノイズは、中間層データに付加されてもよい。本変形例では、中間層データにノイズを付加する方法について説明する。
【００５６】
上記のように畳み込み層を含むようなニューラルネットワークを用い、畳み込み層のデータにノイズを付加する場合、推論部１０２は、中間層の画像サイズに合うように、注目度画像のサイズを変更（正規化）する。画像サイズの変更方法は、縦および横の画素数が一致するように画像を縮小または拡大する方法などの、従来から用いられているどのような方法を適用してもよい。
【００５７】
（３）式のように、画素（要素）ごとに寄与度に応じたノイズが付加されるようにノイズが算出される場合、中間層データは、注目度画像の画素の位置に対応する要素の位置を特定可能なデータである必要がある。例えば、上記のように畳み込み層、全結合層、正規化層、および、プーリング層などの複数の層を含む畳み込みニューラルネットワーク（ＣＮＮ：Convolutional  Neural  Network）を対象とする場合、畳み込み層およびプーリング層などが、位置を特定可能な中間層データとして用いることができる。なお適用可能なニューラルネットワークはＣＮＮに限られるものではない。
【００５８】
全結合層では画素（要素）の位置の情報が（全結合により）失われるため、例えば寄与度に対応する画素（要素）を定めることができない。このため全結合層のデータにノイズを付加する場合、ノイズを付加する位置（要素）ではなく、ノイズを付加する頻度が寄与度に応じて制御される。例えばノイズ算出部１０４は、ノイズを付加する頻度を、注目度画像に基づき算出される値で決定する。
【００５９】
例えばノイズ算出部１０４は、注目度画像の画素値の平均値、最頻値、および、最大値を算出する。また、ノイズ算出部１０４は、付加するノイズを算出する。例えばノイズ算出部１０４は、要素の一部をランダムにゼロにするようなノイズを算出する。
【００６０】
推論部１０２は、算出された値が閾値Ｔ以上である場合に、全結合層のデータにノイズを付加する。
【００６１】
ノイズ算出部１０４は、画素値の平均値、最頻値、および、最大値を算出するときに、注目度画像の各画素値をそのまま使用するのではなく、例えば、画像の中央を基準としたガウス分布に従う重みを加えた画素値を使用してもよい。例えばノイズ算出部１０４は、注目度画像の中央で最大値となるようなガウス分布に従う重みを各画素値に乗じて加重平均を算出してもよい。
【００６２】
ノイズ算出部１０４は、注目度画像の全画素の画素値を用いる代わりに、一部の画素の画素値のみを用いてもよい。例えば入力画像ごとに、注目すべき領域の位置を示すデータ（注目位置データ）が定められている場合、ノイズ算出部１０４は、この注目位置データが示す領域に対応する画素の画素値を用いて平均値等を算出してもよい。
【００６３】
入力画像および中間層データの両方にノイズを付加する場合は、上記実施形態と本変形例を組み合わせて適用すればよい。
【００６４】
（変形例３）
ノイズは、上記（３）式のように算出されるノイズに限られるものではない。例えば、ノイズ算出部１０４は、ゼロの代わりに、要素（画素）ごとに、または、全要素一括でランダム値を算出してもよい。ノイズ算出部１０４は、ゼロの代わりに、周辺画素の画素値の平均値を算出してもよい。
【００６５】
ノイズの付加方法は、上記（４）式のように入力画像とのアダマール積により付加する方法に限られるものではない。より一般的には、推論部１０２は、以下の（６）式のようにノイズを付加してもよい。ｘｉ’は、例えば固定の画素値を有する画像（ベタ画像）、または、周辺画素の画素値の平均値を各画素値とする画像などである。
ｎｉ◎ｘｉ＋（１−ｎｉ）◎ｘｉ’  ・・・（６）  
【００６６】
なお、ｘｉ’の画素値がすべて０かつ、ｎｉが０または１の場合、（６）式は、（４）式のアダマール積（ｘｉ◎ｎｉ）と等価となる。ｘｉ’がベタ画像の場合、（６）式は、このベタ画像を入力画像にブレンドするようにノイズを付加する式となる。ｘｉ’が周辺画素の画素値の平均値を各画素値とする画像の場合、（６）式は、入力画像をぼかすようにノイズを付加する式となる。なお、ｎｉは１か０の２通りではなく、例えば０．５などの中間値を用いることもできる。その場合、ｎｉは注目度画像の画素値を閾値Ｔで二値化するのではなく、例えば、ｎｉ＝Ｃｌｉｐ（ｓｉ（ｕ、ｖ、ｃ）／Ｔ、ＭＩＮ＝０、ＭＡＸ＝１）などとしてもよい。
【００６７】
（変形例４）
閾値Ｔは、固定値であってもよいし、変更される値であってもよい。例えば推論部１０２は、ノイズを付加する要素（画素）の個数が上限値以下となるように、閾値Ｔを変更してもよい。上限値は、例えば、入力画像の画素数（または、中間層データの要素数）に予め定められた割合を乗じた値として決定されてもよい。
【００６８】
（変形例５）
上記実施形態では、ラベルｔｉのうち対象ラベルｃに対応する注目度画像ｓｉに基づいてノイズが付加された。ラベルｔｉのうち対象ラベルｃ以外の非対象ラベルｃ’に対応する注目度画像ｓｉに基づいてノイズが付加されてもよい。例えば、ノイズ算出部１０４は、以下の（７）式により付加するノイズｎｉを算出してもよい。Ｔ’は、非対象ラベルの注目度画像ｓｉに対して定められる閾値である。ｓｉ（ｕ、ｖ、ｃ’）は、水平方向の画素位置ｕ、垂直方向の画素位置ｖ、非対象ラベルｃ’に対応する注目度画像の画素値を表す。
【００６９】
ｎｉ（ｕ、ｖ）＝０  （Ｍａｘ（ｓｉ（ｕ、ｖ、ｃ’））≧Ｔ’のとき）、
ｎｉ（ｕ、ｖ）＝１  （それ以外）  ・・・（７）
【００７０】
（７）式は、誤って注目している要素を考慮しないようにノイズを付加する式と解釈することができる。
【００７１】
ノイズ算出部１０４は、以下の（８）式により付加するノイズｎｉを算出してもよい。
【００７２】
ｎｉ（ｕ、ｖ）＝０  （ｓｉ（ｕ、ｖ、ｃ’）＜Ｔ’のとき）、
ｎｉ（ｕ、ｖ）＝１  （ｓｉ（ｕ、ｖ、ｃ’）≧Ｔ’のとき）  ・・・（８）
【００７３】
（８）式は、誤って注目している要素を用いて正しく推論が実行されるように学習するためのノイズを付加する式と解釈することができる。
【００７４】
ノイズ算出部１０４は、対象ラベルｃに対応する注目度画像と、非対象ラベルｃ’  に対応する注目度画像と、の両方を用いてノイズを付加してもよい。例えば、ノイズ算出部１０４は、以下の（９）式により付加するノイズｎｉを算出してもよい。
【００７５】
ｎｉ（ｕ、ｖ）＝０  （ｓｉ（ｕ、ｖ、ｃ）≧Ｔ、かつ、ｓｉ（ｕ、ｖ、ｃ’）≧Ｔ’のとき）、
ｎｉ（ｕ、ｖ）＝１  （それ以外）  ・・・（９）
【００７６】
（９）式は、対象ラベルおよび非対象ラベルの両方で注目されている領域（共通する画像特徴）を除外し、この領域以外の領域に注目するようにノイズを付加する式と解釈することができる。
【００７７】
例えば数字の「１」、「７」、「９」などは、下部（上下方向に延びる線）に相当する画素群が類似するが、それ以外の部分の画素群は類似しない場合が多い。また、トラックと乗用車とを分類するニューラルネットワークを学習する例では、車両の前部（ヘッドライト、フロントガラス、運転席などを含む部分）に相当する画素群が類似するが、それ以外の部分の画素群は類似しない場合が多い。本変形例を適用すれば、類似しない部分の情報から正しく推論が実行されるように学習を進めることが可能となる。
【００７８】
（第２の実施形態）
第２の実施形態では、学習装置で学習したニューラルネットワークを用いて認識処理を実行する認識装置を備える情報処理システムについて説明する。
【００７９】
図７は、第２の実施形態にかかる情報処理システムの構成の一例を示すブロック図である。図７に示すように、情報処理システムは、学習装置１００−２と、認識装置２００−２と、がネットワーク３００−２により接続された構成となっている。
【００８０】
ネットワーク３００−２は、インターネットなどであるが、その他のどのような形態のネットワークであってもよい。例えば、ネットワーク３００−２は、有線ネットワークおよび無線ネットワークのいずれであってもよい。
【００８１】
学習装置１００−２は、出力制御部１０６−２が追加されたことが、第１の実施形態の学習装置１００と異なっている。その他の構成は第１の実施形態の学習装置１００と同様であるため、同一の符号を付し説明を省略する。
【００８２】
出力制御部１０６−２は、学習装置１００−２からの各種情報の出力を制御する。例えば出力制御部１０６−２は、更新部１０５により更新されたニューラルネットワークのパラメータを認識装置２００−２に出力する。
【００８３】
認識装置２００−２は、通信制御部２０１と、取得部２０２と、認識部２０３と、出力制御部２０４と、記憶部２２１と、を備えている。
【００８４】
記憶部２２１は、認識装置２００−２で実行される各種処理で用いる各種データを記憶する。例えば記憶部２２１は、学習装置１００−２から送信されたニューラルネットワークのパラメータを記憶する。記憶部２２１は、フラッシュメモリ、メモリカード、ＲＡＭ、ＨＤＤ、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００８５】
通信制御部２０１は、学習装置１００−２などの外部装置との間の通信を制御する。例えば通信制御部２０１は、学習装置１００−２から、学習済みのニューラルネットワークを定めるパラメータの情報などを受信する。
【００８６】
取得部２０２は、認識装置２００−２による各種処理に用いる各種データを取得する。例えば取得部２０２は、認識処理の対象となる入力データ（画像など）を取得する。
【００８７】
認識部２０３は、取得された画像をニューラルネットワークに入力することにより、画像を認識する。
【００８８】
出力制御部２０４は、認識装置２００−２からの各種情報の出力を制御する。例えば出力制御部２０４は、認識部２０３による認識結果を出力する。出力方法は、どのような方法であってもよいが、例えば、表示装置に表示する方法、外部のサーバ装置などに送信する方法などを用いることができる。
【００８９】
なお、図７に示す情報処理システムの構成は一例であり、これに限られるものではない。例えば、認識装置２００−２の各部と学習装置１００−２の各部とを１つの装置（認識装置）内に備える構成としてもよい。この場合、共通化できる機能（例えば、取得部１０１と取得部２０２、記憶部１２１と記憶部２２１）は共通化してもよい。また認識装置２００−２は、物理的に１つの装置によって構成されてもよいし、物理的に複数の装置によって構成されてもよい。例えば認識装置２００−２は、クラウド環境上で構築されてもよい。
【００９０】
認識処理は、どのようなデータを用いて、どのような対象を認識する処理であってもよい。例えば認識処理は、会議室内で集音された音声から、特定の話者の音声を認識する処理であってもよい。また認識処理は、撮像装置（カメラ）により撮影された画像から、撮影した対象物の異常を検出（認識）する処理であってもよい。このような認識処理は、例えば、工場内の機器を画像により外観検査し異常を検出する処理、および、医療用画像から異常（患部）を検出する処理などに適用できる。
【００９１】
以上説明したとおり、第１および第２の実施形態によれば、ニューラルネットワークの過学習をより抑制することが可能となる。
【００９２】
次に、第１または第２の実施形態にかかる各装置（学習装置、認識装置）のハードウェア構成について図８を用いて説明する。図８は、第１または第２の実施形態にかかる装置のハードウェア構成例を示す説明図である。
【００９３】
第１または第２の実施形態にかかる装置は、ＣＰＵ（Central  Processing  Unit）５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ（Random  Access  Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【００９４】
第１または第２の実施形態にかかる装置で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【００９５】
第１または第２の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【００９６】
さらに、第１または第２の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１または第２の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００９７】
第１または第２の実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した装置の各部として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【００９８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９９】
１００、１００−２  学習装置
１０１  取得部
１０２  推論部
１０３  注目度画像算出部
１０４  ノイズ算出部
１０５  更新部
１０６−２  出力制御部
１２１  記憶部
２００−２  認識装置
２０１  通信制御部
２０２  取得部
２０３  認識部
２０４  出力制御部
２２１  記憶部
３００−２  ネットワーク
【図１】
2020177582.tif 000003
【図２】
2020177582.tif 000004
【図３】
2020177582.tif 000005
【図４】
2020177582.tif 000006
【図５】
2020177582.tif 000007
【図６】
2020177582.tif 000008
【図７】
2020177582.tif 000009
【図８】
2020177582.tif 000010