(57)【要約】【課題】  評価用データの認識に寄与するＤＮＮの特徴マップ若しくはニューロンを特定するための技術を提供すること。【解決手段】  入力データに対するそれぞれのカテゴリに対応する第１のニューラルネットワークの出力値を求める。入力データに対するそれぞれのカテゴリに対応する、前記第１のニューラルネットワークにおいて指定されたユニットを変更した第２のニューラルネットワークの出力値を求める。それぞれのカテゴリについて、出力値の変化を表す変化情報を求める。変化情報に基づいて、指定されたユニットの寄与を表す情報を表示装置に出力する。【選択図】  図１
2018010626.tif 000002
【特許請求の範囲】
【請求項１】
入力データに対するそれぞれのカテゴリに対応する第１のニューラルネットワークの出力値を求める第１の計算手段と、
前記入力データに対するそれぞれのカテゴリに対応する、前記第１のニューラルネットワークにおいて指定されたユニットを変更した第２のニューラルネットワークの出力値を求める第２の計算手段と、
前記それぞれのカテゴリについて、前記第１の計算手段が求めた出力値と前記第２の計算手段が求めた出力値との間の変化を表す変化情報を求める第３の計算手段と、
前記第３の計算手段が求めた前記変化情報に基づいて、前記指定されたユニットの寄与を表す情報を表示装置に出力する出力手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第２のニューラルネットワークは、前記第１のニューラルネットワークの前記指定されたユニットにおける全ての要素を０に変更したニューラルネットワークであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２のニューラルネットワークは、前記第１のニューラルネットワークの前記指定されたユニットにおける各要素に規定の値を加えたニューラルネットワークであることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第１及び第２のニューラルネットワークは、複数の階層を有するニューラルネットワークであり、
前記第２の計算手段は、前記第２のニューラルネットワークにおいて前記指定されたユニットが属する階層よりも下位の階層による処理結果として、前記第１の計算手段が出力値を求める際に求めた該下位の階層による処理結果を用いることを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記第３の計算手段は、前記第１の計算手段が求めた出力値と前記第２の計算手段が求めた出力値との間の差分を前記変化情報として求めることを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記第３の計算手段は、前記第１の計算手段が求めた出力値と、前記変更に用いた情報と、に基づいて前記変化情報を求めることを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項７】
前記第２のニューラルネットワークは、前記第１のニューラルネットワークにおける複数の指定されたユニットを順次に変更したそれぞれのニューラルネットワークであることを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記出力手段は、前記それぞれのカテゴリについて、大きい順に規定数の前記変化情報と、該変化情報に対応する指定されたユニットを表す情報と、を出力することを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記出力手段は、前記それぞれのカテゴリについて、複数の入力データに対する前記変化情報の平均が小さい順に規定数の指定されたユニットを特定し、該特定した指定されたユニットについて前記第３の計算手段が求めた前記変化情報と、該特定した指定されたユニットを表す情報と、を出力することを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項１０】
更に、
前記特定した指定されたユニットを前記第１のニューラルネットワークから削除する手段を備えることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記出力手段は、更に、前記指定されたユニットに対応する前記入力データの特徴を表す情報を前記表示装置に対して出力することを特徴とする請求項１乃至１０の何れか１項に記載の情報処理装置。
【請求項１２】
更に、ユーザによるユニットの選択を受け付ける手段を備え、
前記出力手段は、前記ユーザにより選択されたユニットを前記指定されたユニットとして、該ユニットに対応する前記入力データの特徴を表す情報を、前記表示装置に表示させることを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
更に、前記ユーザによるカテゴリの選択を受け付ける手段を備え、
前記出力手段は、前記ユーザにより選択されたユニット及びカテゴリに対応する前記入力データの特徴を表す情報を、前記表示装置に表示させることを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記出力手段は、更に、前記指定されたユニットに対応する前記入力データにおける要素を表す情報を出力し、前記表示装置に、前記入力データにおいて前記要素を識別して表示させることを特徴とする請求項１乃至１３の何れか１項に記載の情報処理装置。
【請求項１５】
更に、
前記表示装置において表示した要素に対する重要度が入力されると、該重要度を用いた重要度付き学習方法を用いて、前記第１のニューラルネットワークの再学習を行う手段を備えることを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記ユニットは、ニューラルネットワークの特徴マップまたはニューロンであることを特徴とする請求項１乃至１５の何れか１項に記載の情報処理装置。
【請求項１７】
情報処理装置が行う情報処理方法であって、
前記情報処理装置の第１の計算手段が、入力データに対するそれぞれのカテゴリに対応する第１のニューラルネットワークの出力値を求める第１の計算工程と、
前記情報処理装置の第２の計算手段が、前記入力データに対するそれぞれのカテゴリに対応する、前記第１のニューラルネットワークにおいて指定されたユニットを変更した第２のニューラルネットワークの出力値を求める第２の計算工程と、
前記情報処理装置の第３の計算手段が、前記それぞれのカテゴリについて、前記第１の計算工程で求めた出力値と前記第２の計算工程で求めた出力値との間の変化を表す変化情報を求める第３の計算工程と、
前記情報処理装置の出力手段が、前記第３の計算工程で求めた前記変化情報に基づいて、前記指定されたユニットの寄与を表す情報を表示装置に出力する出力工程と
を備えることを特徴とする情報処理方法。
【請求項１８】
コンピュータを、請求項１乃至１６の何れか１項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は階層型ニューラルネットワークを用いた情報処理技術に関するものである。
【背景技術】
【０００２】
近年、監視カメラが取得した画像や映像から、人や群衆の活動パターンを分析したり、特定の事象を検出して通報するサービスがある。該サービスを実現する為には監視カメラが撮影した動画像から人であるのか車であるのか等の物体の属性、歩いているのか走っているか等の行動の種類、鞄であるのかカゴであるのか等の人の所持品の種類、を認識可能な機械学習を用いた認識技術が不可欠である。Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ（以下ＤＮＮと省略）は、高精度な認識を実現する機械学習の手法として注目を集めている。前述したサービスは、介護施設、一般家庭、駅や市街地などの公共施設、スーパー、コンビニエンスストア等の店舗など、様々な環境において活用される。一方、ＤＮＮを学習するための学習データは、実際に該サービスが利用される環境とは異なる環境にて取得されることが多い。例えば、学習データは、実験室にて行われる開発者の演技から取得されることがある。このような学習データを用いて学習した認識器は、学習データ特有の特徴量に依存してしまい、実際に監視カメラが設置された環境では十分に性能が発揮されないという問題がある。そのため、学習したＤＮＮが認識に用いている特徴量を特定することへの要望が高まっている。
【０００３】
非特許文献１では、学習したＤＮＮの特定階層の特徴マップのうち、入力した評価用の画像データに対して活性度が高いものを選定し、該特徴マップをｐｏｏｌｉｎｇ層とｃｏｎｖｏｌｕｔｉｏｎ層との逆変換を順次かけて入力層まで戻すことにより可視化する。
【０００４】
また、非特許文献２では、評価用の画像データを分割し、各領域を取り除いた部分画像を、学習したＤＮＮに入力する。そして、各部分画像をＤＮＮに入力した際のＤＮＮの認識精度の変化に基づき、認識に寄与している画像上の領域を選定する。
【０００５】
また、非特許文献３では、ランダムに選択したニューロンの値をゼロまたはノイズを加えながらＤＮＮを学習するＤｒｏｐｏｕｔと呼ばれる方式が提案されている。該方式により、認識精度を改善しつつ学習データに対する過度な適合を回避するように、活性化するＤＮＮのニューロンの数を抑えることができる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Visualizing and Understanding Convolutional Networks, M.D. Ziler and R. Fergus,  European Conference on Computer Vision (ECCV), 2014
【非特許文献２】Object Detectors Emerge in Deep Scene CNNs, B. Zhou, A. Khosla, A. Lapedriza, A. Oliva and A. Torralba, International Conference on Learning Representations (ICLR), 2015
【非特許文献３】Dropout: A Simple Way to Prevent Neural Networks from Overfitting, N. Srivastava, G. Hinton, A. Krizhevsky, I. Sutskever, and R. Salakhutdinov, Journal of Machine Learning Research 15 (2014) 1929-1958.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１に記載の方法では、評価用の画像データに対して認識に寄与した特徴マップを可視化しているわけではない。具体的には、非特許文献１にて可視化されている高い活性度を持つ特徴マップの情報は、ＤＮＮの出力層に伝搬される過程において小さい重み係数や他の特徴マップとの打ち消し合いにより消失される可能性がある。その場合、活性度の高い特徴マップは認識に寄与していないことになる。逆に、低い活性度を持つ特徴マップの情報が出力層に伝搬される過程において、大きい重み係数や他の特徴マップとの相乗効果などにより強化される可能性もある。その場合、活性度の低い特徴マップは認識に寄与していることになる。したがって、非特許文献１に記載の方法では、利用者は可視化された特徴マップがどの程度認識に活用されているのかを把握することが出来ない。また、非特許文献１に記載の方法では、利用者は、可視化されている特徴マップ以外の特徴マップで認識に寄与しているものがあるか否かを把握することができない。
【０００８】
一方、非特許文献２では、認識精度に寄与する画像データ上の領域を可視化することが出来る。これにより、利用者は、画像データ上のどの領域がどれくらい認識に寄与しているかを把握することができる。しかしながら、非特許文献２の可視化方式では、特徴マップを可視化しているわけではないので、選定された画像データの領域上のどの特徴をＤＮＮが実際に認識に活用しているのかがわからない。例えば、同一の領域上に複数の物体が存在する場合、どの物体の情報が認識に寄与しているのかがわからない。また、人の顔が選定された場合、認識に寄与しているのが、顔の表情、色、大きさ、形なのか、髪の毛、目や口などのパーツなのかがわからない。さらに、非特許文献２に記載の方法では、領域を取り除いて作成した部分画像ごとにＤＮＮの出力値を求める必要があるので、計算に時間がかかるという問題がある。
【０００９】
一方、非特許文献３に記載の方法では、限られたニューロンが認識に寄与するようにＤＮＮを学習することができる。しかしながら、非特許文献３に記載の方法では、認識に寄与するニューロンが明示的に選択されているわけではない。そのため、寄与するニューロンを把握するためには、専門家による様々な評価用データに対するニューロンの活性化状況の分析が必要となる。つまり、別途認識に寄与するニューロンを特定する方法が必要になる。
【００１０】
また、非特許文献３に記載の方法では、学習データに基づき認識に寄与するニューロンが獲得されるが、該ニューロンが実際の認識において有用なものとは限らない。上述したように、ある特定の環境で取得した学習データには、環境特有の偏りが含まれる場合があり、該学習データを用いて獲得した認識に寄与するニューロンは、本来の認識に必要の無い特徴量を誤って表現している可能性がある。例えば、「歩く」と「走る」という動作認識の学習データにおいて、「歩く」データに必ず「机」が映っていて、「走る」の学習データに「机」が一つも映っていないというような偏りがあるとする。その場合、非特許文献３に記載の方法では、「机」の特徴量に対応するニューロンを認識に寄与するニューロンとして獲得する。しかしながら、実際に学習したＤＮＮが利用される一般的な環境では、そのような偏りは無いため、該ニューロンは有用ではなく、むしろ認識に弊害となる可能性がある。例えば、該ＤＮＮは、「走る」動作の映像に「机」が映っている場合、「歩く」と誤認識する可能性がある。
【００１１】
このように、非特許文献３に記載の方法では、学習データの偏りがある場合、認識に寄与するニューロンは誤った特徴量を表現する問題がある上、さらにはユーザはその問題を容易に確認することができないという問題がある。
【００１２】
本発明はこのような問題に鑑みてなされたものであり、評価用データの認識に寄与するＤＮＮの特徴マップ若しくはニューロンを特定するための技術を提供する。
【課題を解決するための手段】
【００１３】
本発明の一様態は、入力データに対するそれぞれのカテゴリに対応する第１のニューラルネットワークの出力値を求める第１の計算手段と、前記入力データに対するそれぞれのカテゴリに対応する、前記第１のニューラルネットワークにおいて指定されたユニットを変更した第２のニューラルネットワークの出力値を求める第２の計算手段と、前記それぞれのカテゴリについて、前記第１の計算手段が求めた出力値と前記第２の計算手段が求めた出力値との間の変化を表す変化情報を求める第３の計算手段と、前記第３の計算手段が求めた前記変化情報に基づいて、前記指定されたユニットの寄与を表す情報を表示装置に出力する出力手段とを備えることを特徴とする。
【発明の効果】
【００１４】
本発明の構成によれば、評価用データの認識に寄与するＤＮＮの特徴マップ若しくはニューロンを特定することができる。
【図面の簡単な説明】
【００１５】
【図１】認識学習システム１の構成例を示す図。
【図２】記憶部Ｍ１が記憶する情報の一例を示す図。
【図３】ＤＮＮのネットワーク構造の一例を示す図。
【図４】記憶部Ｍ２が記憶する情報の一例を示す図。
【図５】変化情報の求め方を説明する図。
【図６】ＧＵＩの表示例を示す図。
【図７】ＧＵＩの表示例を示す図。
【図８】認識学習システム１の動作のフローチャート。
【図９】認識学習システム１ａの構成例を示す図。
【図１０】ＧＵＩの表示例を示す図。
【図１１】ドロップアウトの割合の一例を示す図。
【図１２】認識学習システム１ａの動作のフローチャート。
【図１３】認識学習システム１ｂの構成例を示す図。
【図１４】コンピュータ装置のハードウェア構成例を示す図。
【図１５】変化情報の求め方を説明する図。
【図１６】変化情報の求め方を説明する図。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１７】
［第１の実施形態］
本実施形態では、以下のような構成を有する情報処理装置の一例について説明する。該情報処理装置は、入力データに対するそれぞれのカテゴリに対応する第１のニューラルネットワークの出力値を求める（第１の計算）。ここで、入力データに対するそれぞれのカテゴリに対応する、前記第１のニューラルネットワークにおいて指定されたユニットを変更した第２のニューラルネットワークの出力値を求める（第２の計算）。そして、それぞれのカテゴリについて、第１の計算で求めた出力値と第２の計算で求めた出力値との間の変化を表す変化情報を求め（第３の計算）、第３の計算で求めた変化情報に基づいて、指定されたユニットの寄与を表す情報を表示装置に出力する。
【００１８】
本実施形態では、このような情報処理装置を図１に示すような認識学習システム１における認識学習装置１０に適用した場合について説明する。図１に示す如く、認識学習システム１は、認識学習装置１０と、端末装置１００と、を有しており、認識学習装置１０と端末装置１００とは無線若しくは有線のネットワークを介して互いにデータ通信が可能なように構成されている。このネットワークには、例えば、固定電話回線網や、携帯電話回線網や、インターネットが適用できる。なお、図１では認識学習装置１０と端末装置１００とは別個の装置として示しているが、認識学習装置１０と端末装置１００とを一体化させて１つの装置してもよい。
【００１９】
本実施形態では、認識学習システム１の利用者が、学習用の画像若しくは映像（以下、学習用データ）に対して、学習済みのＤＮＮにおいて不要な特徴量が認識に用いられていないかを確認するケースについて説明する。具体的には、認識学習システム１は、評価用に用いる画像若しくは映像（以下、評価用データ）の認識に寄与したＤＮＮの特徴量を特定し、該特徴量を示す情報を該評価用データに重畳して表示する。ここで、不要な特徴量とは、学習用データの取得時に不意に映り込んだ、学習用データの取得環境に特有の物体や事象に依存する特徴量などである。例えば、学習用データが実験室にて演技を行った様子を撮影したことで得たデータである場合、実験室ならではの実験装置や、演技者ならではの癖、服装、姿勢などが、学習用データの取得環境に特有の物体や事象に対応する。ここで、利用者とは、例えば本システムを開発する研究開発者、または本システムを監視カメラとともにエンド利用者に提供するためにＤＮＮの調整を行うシステムインテグレータなどである。また、ＤＮＮの認識対象とは、概念化および言語化可能な物体の状態であり、該状態を言語的に示すラベル情報により特徴付けられる。認識対象には、例えば、「人」、「車」などの物体の属性や、「歩いている」、「走っている」などの物体の行動や、「鞄」、「カゴ」などの人の所持品などが含まれる。なお、ここで、ＤＮＮには、以下の文献にて提案されているＣｏｎｖｏｌｕｔｉｏｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ（以下ＣＮＮと省略）などがある。
・  ImageNet Classification with Deep Convolutional Neural Networks, A. Krizhevsky, I. Sutskever and G. E. Hinton, Advances in Neural Information Processing Systems 25 (NIPS 2012)
【００２０】
先ず、端末装置１００について説明する。端末装置１００は、各種の情報を表示する表示部ＤＳと、該表示部ＤＳ上で行われた利用者の操作を検知するための操作検知部ＯＰと、を有する装置である。端末装置１００には、例えばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やタブレットＰＣ、スマートフォン、フューチャーフォン等が適用できる。
【００２１】
表示部ＤＳは、液晶パネルや有機ＥＬパネルなどの画像表示パネルを備えており、認識学習装置１０から受信した各種の情報を表示する。詳しくは後述するが、表示部ＤＳは、評価用データ、後述する可視化部１５により生成された特徴量を可視化するためのユニット可視化情報、検出部１３により生成された特徴量の認識における寄与度を示す変化情報、を表示する。また、表示部ＤＳは、後述する認識学習装置１０が記憶するＤＮＮを構成する特徴マップやニューロンを識別するユニットＩＤや、認識対象のカテゴリを識別するカテゴリＩＤの一覧を表示する。
【００２２】
操作検出部ＯＰは、表示部ＤＳの画像表示パネルに配置されたタッチセンサを備えており、利用者の指やタッチペンの動きに基づく利用者の操作を検出するとともに、検出した操作を示す操作情報を認識学習装置１０に対して送信する。なお、操作検出部ＯＰは、コントローラ、キーボード及びマウスなどの入力デバイスを備え、画像表示パネルに表示された画像に対する利用者の操作を示す操作情報を取得するようにしても良い。この操作情報には、例えば、評価用データの選定指示や、可視化の実行指示や、ユニットＩＤやカテゴリＩＤの選択指示などがある。なお、操作検出部ＯＰは、操作情報として「可視化の実行」を検出した場合、端末装置１００が記憶する評価用データを、認識学習装置１０に対して送信する。また操作検出部ＯＰは、操作情報としてユニットＩＤ及びカテゴリＩＤの選択を検出した場合、該ユニットＩＤ及びカテゴリＩＤに対応するユニット可視化情報及び変化情報を認識学習装置１０から受信し、評価用データに重畳して表示部ＤＳに表示させる。
【００２３】
次に、認識学習装置１０について説明する。記憶部Ｍ１は、認識対象のカテゴリを識別するカテゴリＩＤと関連づけて、次のような情報を記憶する。即ち、ＤＮＮの各階層を識別する階層ＩＤ、該階層ＩＤの階層の名称を示す階層名情報、該階層の直下の階層を識別する下階層ＩＤ、該階層の直上の階層を識別する上階層ＩＤ、該階層における処理方法及び処理パラメータを示す処理パラメータ情報、を記憶する。記憶部Ｍ１が記憶する情報の一例を図２に示す。
【００２４】
図２では、認識対象のカテゴリＩＤ及び階層ＩＤはアルファベット及び数字から成る文字列として表しているが、カテゴリＩＤ及び階層ＩＤの表現方法は特定の表現方法に限るものではない。図２の場合、認識対象のカテゴリは２つあり、該２つのカテゴリは、カテゴリＩＤ「Ｃ０１」とカテゴリＩＤ「Ｃ０２」とで識別される。
【００２５】
図２では、階層ＩＤ「Ｌ０１」と関連付けて、階層名「入力層」、下階層ＩＤ「ＮＵＬＬ」（階層ＩＤ「Ｌ０１」の階層よりも下位の階層は存在しないことを表す）、上階層ＩＤ「Ｌ０２」、処理パラメータ「処理方法：データ入力」が記憶されている。これは、階層ＩＤ「Ｌ０１」である階層が「入力層」であって、入力層よりも下位の階層は存在せず、入力層より１階層上の階層の階層ＩＤが「Ｌ０２」であり、入力層において行う処理方法がデータ入力であることを表している。つまり、入力層とは、画像または映像などのデータをＤＮＮに入力して階層ＩＤが「Ｌ０２」である階層に転送するための処理を行う階層である。
【００２６】
また図２では、階層ＩＤ「Ｌ０２」と関連付けて、階層名「Ｃｏｎｖｏｌｕｔｉｏｎ１層」、下階層ＩＤ「Ｌ０１」、上階層ＩＤ「Ｌ０３」、処理パラメータ「処理方法：Ｃｏｎｖｏｌｕｔｉｏｎ…」が記憶されている。これは、階層ＩＤ「Ｌ０２」である階層の階層名がＣｏｎｖｏｌｕｔｉｏｎ１層であり、Ｃｏｎｖｏｌｕｔｉｏｎ１層の１つ下位の階層が「入力層」であって、Ｃｏｎｖｏｌｕｔｉｏｎ１層より１階層上の階層の階層ＩＤが「Ｌ０３」であることを表している。更に、Ｃｏｎｖｏｌｕｔｉｏｎ１層において行う処理方法が、入力層から入力したデータに対し、処理パラメータとしての重み係数とバイアス項を用いた畳み込み演算を行うことを表している。つまり、Ｃｏｎｖｏｌｕｔｉｏｎ１層とは、入力層から入力したデータに対して重み係数とバイアス項を用いた畳み込み演算を行い、該畳み込み演算の結果を階層ＩＤが「Ｌ０３」である階層（Ｐｏｏｌｉｎｇ１層）に対して出力する階層である。この処理パラメータが保持する処理方法には、データ入力およびＣｏｎｖｏｌｕｔｉｏｎ以外にも、以下の文献に記載されているものがある。すなわち、フィルタごとに最大値を求めるＰｏｏｌｉｎｇや、入力データと重み係数との内積を計算するＩｎｎｅｒＰｒｏｄｕｃｔおよび評価用データがカテゴリに属する確率を計算するｓｏｆｔｍａｘなどがある。
・  J. Yangging et al., Caffe: COnvolutional Architecture for Fast Feature Embedding, 2014
【００２７】
また、この処理パラメータには、各階層の処理に用いられるフィルタの大きさ、数およびストライド幅、Ｃｏｎｖｏｌｕｔｉｏｎ層やＩｎｎｅｒＰｒｏｄｕｃｔ層で用いられる重み係数やバイアス項の値などが含まれている。
【００２８】
記憶部Ｍ１に格納されている情報によって規定されるＤＮＮのネットワーク構造の一例を図３に示す。図３に例示したＤＮＮは、入力層３０１、Ｃｏｎｖｏｌｕｔｉｏｎ１層３０２、Ｐｏｏｌｉｎｇ１層３０３、Ｃｏｎｖｏｌｕｔｉｏｎ２層３０４、Ｐｏｏｌｉｎｇ２層３０５、Ｉｎｎｅｒｐｒｏｄｕｃｔ層３０６、出力層３０７から構成されている。入力層３０１とＣｏｎｖｏｌｕｔｉｏｎ１層３０２との間において行われる処理は、Ｃｏｎｖｏｌｕｔｉｏｎ１層３０２に対応する処理パラメータ情報で規定されている「Ｃｏｎｖｏｌｕｔｉｏｎ処理３１１」である。また、Ｃｏｎｖｏｌｕｔｉｏｎ１層３０２とＰｏｏｌｉｎｇ１層３０３との間において行われる処理は、Ｐｏｏｌｉｎｇ１層３０３に対応する処理パラメータ情報で規定されている「Ｐｏｏｌｉｎｇ処理３１２」である。また、Ｐｏｏｌｉｎｇ２層３０５とＩｎｎｅｒｐｒｏｄｕｃｔ層３０６との間において行われる処理は、Ｉｎｎｅｒｐｒｏｄｕｃｔ層３０６に対応する処理パラメータ情報で規定されている「ＩｎｎｅｒＰｒｏｄｕｃｔ処理３１３」である。また、Ｉｎｎｅｒｐｒｏｄｕｃｔ層３０６と出力層３０７との間において行われる処理は、出力層３０７に対応する処理パラメータ情報で規定されている「ｓｏｆｔｍａｘ処理３１４」である。
【００２９】
また、図３では、Ｃｏｎｖｏｌｕｔｉｏｎ層およびｐｏｏｌｉｎｇ層には複数の特徴マップが存在しており、ＩｎｎｅｒＰｒｏｄｕｃｔ層および出力層には複数のニューロンが存在している。そして、特徴マップおよびニューロンなどのユニットは、ユニットＩＤにより識別される。例えば、Ｃｏｎｖｏｌｕｔｉｏｎ１層３０２における２つの特徴マップは、ユニットＩＤ「Ｆ０２００１」３２１とユニットＩＤ「Ｆ０２００２」３２２とにより識別される。また、ＩｎｎｅｒＰｒｏｄｕｃｔ層３０６における２つのニューロンは、ユニットＩＤ「Ｆ０６００１」３２３とユニットＩＤ「Ｆ０６００２」３２４とにより識別される。また、図３では、出力層３０７の２つのニューロンに対して、それぞれ認識対象のカテゴリＩＤ＝Ｃ０１、Ｃ０２が割り当てられている。つまり、詳しくは後述するが、カテゴリＩＤ＝Ｃ０１のニューロンからの出力値が、カテゴリＩＤ＝Ｃ０１に対応する出力スコア情報であり、カテゴリＩＤ＝Ｃ０２のニューロンからの出力値が、カテゴリＩＤ＝Ｃ０２に対応する出力スコア情報である。
【００３０】
このように、記憶部Ｍ１に格納されている情報は、ＤＮＮのネットワーク構造を規定するものであるから、以下では、記憶部Ｍ１に格納されている情報を、ＤＮＮの構造情報と称する場合がある。
【００３１】
記憶部Ｍ２は、評価用データに対するＤＮＮの各階層の処理結果であるユニットの状態を示すユニット状態情報と、認識対象のカテゴリごとのＤＮＮの出力スコアを示す出力スコア情報と、を記憶する。具体的には、記憶部Ｍ２は、各カテゴリを識別するカテゴリＩＤに対応付けて、各カテゴリに対するＤＮＮの出力スコア情報を記憶する。また、記憶部Ｍ２は、ＤＮＮの階層を識別する階層ＩＤと関連付けて、該階層における特徴マップまたはニューロンなどのユニットを識別するユニットＩＤと、該ユニットの状態を示すユニット状態情報と、を記憶する。記憶部Ｍ２が記憶する情報の一例を図４に示す。
【００３２】
図４では、ユニットＩＤはアルファベット及び数字から成る文字列として表しているが、ユニットＩＤの表現方法は特定の表現方法に限るものではない。ユニットＩＤは、ユニットが属する階層の階層ＩＤと、該階層における該ユニットの順番と、に基づいて生成される。例えば、階層ＩＤ「Ｌ０２」の１番目のユニットのユニットＩＤは「Ｆ０２００１」である。また、同階層の２番目のユニットのユニットＩＤは、「Ｆ０２００２」である。
【００３３】
また、図４では、カテゴリＩＤ「Ｃ０１」の出力スコア情報として「１０．５」、カテゴリＩＤ「Ｃ０２」の出力スコア情報として「３．８」が記憶されている。また、階層ＩＤ「Ｌ０１」に関連付けられて、ユニットＩＤ「Ｆ０２００１」と、ユニット状態として、特徴マップの行列が記憶されている。また、階層ＩＤ「Ｌ０６」に関連付けられて、ユニットＩＤ「Ｆ０６００１」と、ユニット状態としてニューロンの値が記憶されている。
【００３４】
図１に戻って、処理部１１は、評価用データに対するＤＮＮの各認識対象カテゴリの出力スコア情報を計算するとともに、計算の過程で得られた各ユニットのユニット状態情報を記憶部Ｍ２に格納する。具体的には、処理部１１は、記憶部Ｍ１から、ＤＮＮが認識対象とするカテゴリのカテゴリＩＤと、各階層ＩＤに関連付けられた下階層ＩＤ、上階層ＩＤ、処理パラメータ情報、を読み込む。そして処理部１１は、読み込んだ構造情報に基づいてＤＮＮを構築し、端末装置１００から受信した評価用データに対し、最下位の階層から最上位の階層の順に各階層に対応する処理パラメータ情報を適用して処理を行う。そして、処理部１１は、ＤＮＮの最上位層からの出力（出力スコア情報）のうち、記憶部Ｍ１から読み出したカテゴリＩＤに対応する出力スコア情報を、該カテゴリＩＤと対応付けて記憶部Ｍ２に格納する。
【００３５】
なお、本実施形態では、評価用データとして画像を用いるが、評価用データは画像に限らない。例えば、以下の文献にて提案されているように、映像を認識対象とすることができる。
・  Two-stream convlutional networks for action recognition in videos, K. Simonyan and A. Zisserman, Advances in Neural Information Processing System 25 (NIPS), 2014.
・  3D Convlutional Neural Networks for Human Action Recognition, S. Ji, W. Xu, M. Yang and K. Yu, Pattern Analysis and Machine Intelligence, vol. 35, no. 1, pp. 221-231, 2012
【００３６】
処理部１１は入力層に評価用データを入力してから最上位階層の出力を得るまでの過程における各ユニットのユニット状態情報を、該ユニットが属する階層の階層ＩＤ及び該ユニットのユニットＩＤに関連付けて記憶部Ｍ２に格納する。そして処理部１１は、トリガーを処理部１２に対して出力する。
【００３７】
処理部１２は、処理部１１からトリガーを入力したことに応じて、記憶部Ｍ１から、認識対象のカテゴリＩＤと、階層ＩＤに関連付けられた下階層ＩＤ、上階層ＩＤ、処理パラメータ情報、を読み込む。また処理部１２は、記憶部Ｍ２から、カテゴリＩＤに関連付けられた出力スコア情報と、階層ＩＤとユニットＩＤとに関連付けられたユニット状態情報とを読み込む。そして処理部１２は、読み込んだユニットＩＤのうち特定のユニットＩＤに対応するユニット状態情報について規定の処理を行う。ここで、特定のユニットＩＤとは、可視化対象のユニット（可視化対象ユニット）を識別するユニットＩＤとして利用者によって予め指定（設定）されたユニットＩＤである。例えば、利用者がＣｏｎｖｏｌｕｔｉｏｎ１層の１番目の特徴マップを可視化対象としたい場合は、「Ｆ０２００１」を特定のユニットＩＤとして設定する。また、利用者がＣｏｎｖｏｌｕｔｉｏｎ１層の全ての特徴マップを可視化対象としたい場合は、ワイルドカードを用いて「Ｆ０２＊」を特定のユニットＩＤとして設定する。また、特定のユニットＩＤに対応するユニット状態情報について行う「規定の処理」には様々な処理が考えられるが、例えば、以下のような２種類の処理（第１の処理、第２の処理）が考えられる。
【００３８】
第１の処理では、処理部１２は、記憶部Ｍ２から読み込んだユニット状態情報のうち特定のユニットＩＤに対応するユニット状態情報が表す数値の集合と同サイズ且つ要素が全て０となる別集合を付加ユニット情報として生成する。例えば、ユニット状態情報が特徴マップの行列を表している場合には、該行列と同サイズ且つ全ての要素が０である行列を付加ユニット情報として生成する。また、ユニット状態情報がニューロンの値である場合には、値が０のニューロン値を付加ユニット情報として生成する。以下では、特定のユニットＩＤに対応するユニット状態情報は要素が全てゼロのユニット（特徴マップまたはニューロン）に置き換えられるので、該ユニットからの出力が０になり、ＤＮＮ上では疑似的に該ユニットが削除された状態になる。
【００３９】
第２の処理では、処理部１２は、記憶部Ｍ２から読み込んだユニット状態情報のうち特定のユニットＩＤに対応するユニット状態情報が表す数値の集合と同サイズ且つ要素が全てランダム値となる別集合を付加情報として生成する。ランダム値は、例えば、独立同一に正規分布やラプラス分布などに従う。例えば、ユニット状態情報が特徴マップの行列を表している場合には、該行列と同サイズ且つ全ての要素がランダム値である行列を付加情報として生成する。また、ユニット状態情報がニューロンの値である場合には、値がランダム値のニューロン値を付加情報として生成する。そして処理部１２は、特定のユニットＩＤに対応するユニット状態情報に付加情報を加算する（対応する要素ごとの加算）ことで付加ユニット情報を生成する。
【００４０】
そして処理部１２は、特定のユニットＩＤ（規定の処理の対象となったユニット状態情報のユニットＩＤ）と、付加ユニット情報と、を検出部１３に対して出力する。
【００４１】
検出部１３は、記憶部Ｍ１から認識対象のカテゴリＩＤと、階層ＩＤに関連付けられた下階層ＩＤ、上階層ＩＤ、処理パラメータ情報を読み込む。更に検出部１３は、記憶部Ｍ２からカテゴリＩＤに関連付けられた出力スコア情報と、階層ＩＤとユニットＩＤとに関連付けられたユニット状態情報とを読み込む。そして検出部１３は、処理部１１と同様にして、評価用データに対するＤＮＮの各認識対象カテゴリの出力スコア情報を計算するのであるが、その際、特定のユニットＩＤに対応するユニット状態情報として付加ユニット情報を用いる。更に、検出部１３は、特定のユニットＩＤに対応する階層ＩＤよりも下位の階層に対応する階層ＩＤと関連づけられているユニット状態情報は再度計算する必要はなく、記憶部Ｍ２に格納されているユニット状態情報を用いればよい。例えば、Ｃｏｎｖｏｌｕｔｉｏｎ２層のユニットについて規定の処理を行った場合、Ｃｏｎｖｏｌｕｔｉｏｎ１層、Ｐｏｏｌｉｎｇ１層のユニット状態情報が出力スコア情報の計算に再利用される。
【００４２】
このようにして検出部１３は、特定のユニットＩＤに対応するユニットを付加ユニット情報に置き換えた場合のＤＮＮの評価用データに対する各認識対象カテゴリの出力スコア情報を計算する。検出部１３は、記憶部Ｍ２に格納されている出力スコア情報に対する該計算した出力スコア情報の変化（特定のユニットＩＤに対応するユニットを付加ユニット情報に置き換えたことによる出力スコア情報の変化を示す変化情報）をカテゴリ毎に求める。また、変化情報の算出処理には様々な算出処理が考えられるが、例えば、以下の２つの算出処理（第１の算出処理、第２の算出処理）が考えられる。
【００４３】
第１の算出処理では検出部１３は、特定のユニットＩＤに対応するユニット状態情報を付加ユニット情報に置き換えた場合のＤＮＮの評価用データに対する出力スコア情報と、記憶部Ｍ２に格納されている出力スコア情報と、の差分を変化情報として求める。第１の算出処理では、例えば以下の式（１）に従って変化情報を求める。なお、式（１）のように、この差分は、負の値を取らないようにするために絶対値をとってもよい。
【００４４】
【数１】
2018010626.tif 000003
【００４５】
式（１）においてΔＳｃ、ｕは、ユニットＩＤ＝ｕのユニット状態情報を付加ユニット情報に置き換えた場合においてカテゴリｃについて求めた変化情報である。Ｓｃは、記憶部Ｍ２から読み込んだカテゴリｃの出力スコア情報、Ｓｃ、ｕは、ユニットＩＤ＝ｕのユニット状態情報を付加ユニット情報に置き換えた場合においてカテゴリｃについてＤＮＮから出力された出力スコア情報である。
【００４６】
第２の処理では検出部１３は、特定のユニットＩＤに対応するユニット状態情報を付加ユニット情報に置き換えた場合のＤＮＮの評価用データに対する出力スコア情報と、付加ユニット情報を生成するために用いた付加情報との相関係数を変化情報として求める。この場合、処理部１２は更に検出部１３に対して付加情報を出力する必要がある。具体的には、各可視化対象ユニットについて（若しくはその一部について）処理部１２及び検出部１３は以下のような処理を行う。即ち、処理部１２は、該可視化対象ユニットのユニット状態情報に付加情報を加えて付加ユニット情報を生成し、検出部１３は可視化対象ユニットのユニット状態情報の代わりに該付加ユニット情報を用いたＤＮＮの出力スコア情報を計算する。そして検出部１３は、計算した各出力スコア情報と、該出力スコア情報を計算するために用いた付加情報と、の組を用いて以下の式（２）を計算することで、相関係数を変化情報として計算する。
【００４７】
【数２】
2018010626.tif 000004
【００４８】
式（２）においてＮは繰り返す回数（組の数）を示す。Ｓｃ、ｕ、ｉは、ユニットＩＤ＝ｕのユニット状態情報を、ｉ番目の規定の処理によって生成された付加ユニット情報に置き換えた場合のカテゴリｃの出力スコア情報を示す。ａｉは、ｉ番目の付加情報である。
【００４９】
処理部１２が上記の第１の処理を行った場合における変化情報の求め方について、図５を用いて説明する。図５では、ＤＮＮのＣｏｎｖｏｌｕｔｉｏｎ１層５０１およびＣｏｎｖｏｌｕｔｉｏｎ２層５０２に含まれるユニット（それぞれユニット５１１，５１２）が可視化対象ユニットに設定されている。このような場合、処理部１２は、ユニット５１１と同サイズ且つ全ての要素が０であるユニット（付加ユニット情報）５３１を生成すると共に、ユニット５１２と同サイズ且つ全ての要素が０であるユニット（付加ユニット情報）５３２を生成する。
【００５０】
そして図５では、検出部１３は、ユニット５１１をユニット５３１に差し替えた場合のＤＮＮの出力スコア情報（ユニット５１２をユニット５３２に差し替えた場合のＤＮＮの出力スコア情報）を８．５として求めている。また、図５では、差し替え前のＤＮＮの出力スコア情報を１０．５としている。然るに、変化情報は２となっている。このような変化情報の算出処理はカテゴリごとに行われる。
【００５１】
このように、処理部１２及び検出部１３は、可視化対象ユニットごとに、それぞれのカテゴリについての変化情報を算出することができる。つまり、それぞれの可視化対象ユニットについて次のような一連の処理が行われる。即ち、該可視化対象ユニットのユニット状態情報を対応する付加ユニット情報に置き換えたＤＮＮのカテゴリごとの出力スコア情報を算出し、置き換え前のＤＮＮのカテゴリごとの出力スコア情報に対する変化情報を求める。
【００５２】
そして検出部１３は、カテゴリＩＤごとに、特定のユニットＩＤと変化情報とユニット状態情報との組を、選択部１４に対して出力する。つまり、検出部１３は、式（１）または式（２）などで計算した、カテゴリｃごとの変化情報ΔＳｃ、ｕの集合を、選択部１４に出力する。
【００５３】
選択部１４は、入力した変化情報に基づき、入力したカテゴリＩＤごとに、認識への寄与度が高いユニットのユニットＩＤを選択する。このユニットＩＤの選択方法として、選択部１４は、カテゴリＩＤごとに、変化情報の値が大きいユニットＩＤを、寄与度の高いユニットのユニットＩＤとして選択する。具体的には、例えば、選択部１４は、カテゴリＩＤごとに、閾値以上の変化情報を持つユニットＩＤを全て選択する。また、選択部１４は、カテゴリＩＤごとに、変化情報の値の大きい順に先頭から規定数の変化情報を持つユニットＩＤを選択する。そして選択部１４は、カテゴリＩＤごとに、選択したユニットＩＤと変化情報との組を可視化部１５に対して出力する。なお、選択部１４は、カテゴリごとではなく全カテゴリに対して認識に寄与するユニットを選択してもよい。例えば、選択部１４は、特定のユニットＩＤの全カテゴリの変化情報の平均値、合計または最大値などの統計値を求め、その統計値が大きいユニットを選択する。
【００５４】
なお、変化情報と比較する閾値や、選択するユニットＩＤの数については、例えば、端末装置１００の表示部ＤＳに表示された数値を人が調整することにより設定できる。また、操作検出部ＯＰは、人による該数値の変更を示す操作を検出し、該数値と操作情報とを認識学習装置１０に出力する。認識学習装置１０は、端末装置１００から該数値と操作情報とを入力したことに応じて、該数値を閾値や選択するユニットＩＤの数として、認識学習装置１０内の不図示のメモリに記憶させる。
【００５５】
可視化部１５は、選択部１４から受けたユニットＩＤに対応するユニットを可視化するための情報をユニット可視化情報として生成する。具体的には、可視化部１５は、記憶部Ｍ１から、各階層ＩＤに関連付けられた下階層ＩＤ、上階層ＩＤ、処理パラメータ情報、を読み込む。そして、可視化部１５は、記憶部Ｍ１から読み込んだ下階層ＩＤ、上階層ＩＤ、処理パラメータ情報に基づき、ユニット可視化情報を生成する。例えば、非特許文献１に記載のように、ユニット状態情報を、下位のｐｏｏｌｉｎｇ層とｃｏｎｖｏｌｕｔｉｏｎ層との逆変換を順次かけて入力層まで戻す方法を用いることができる。これにより、評価用データとしての画像上において可視化対象ユニットに対応する対象（特徴）を特定することができる。この特定した対象（特徴）の画像上の領域及び該領域に配置するオブジェクトを示す情報がユニット可視化情報である。
【００５６】
そして可視化部１５は選択部１４から受けたユニットＩＤ及び変化情報、該ユニットＩＤに対応する階層ＩＤ、カテゴリＩＤ、ユニット可視化情報、を端末装置１００に対して送信する。
【００５７】
端末装置１００の表示部ＤＳには、図６に例示するＧＵＩ（グラフィカルユーザインターフェース）が表示される。このＧＵＩにおいてＤＳ１は、端末装置１００が保持する評価用データとしての画像である。ＤＳ２は、可視化部１５から受けたユニットＩＤの一覧と階層ＩＤとを表示する表示領域である。ＤＳ３は、可視化部１５から受けたカテゴリＩＤの一覧を表示する表示領域である。このようなＧＵＩにおいて図７に例示する如く、ＤＳ２に一覧表示されているユニットＩＤのうち１つを利用者の手による操作ＵＳ１によって指定したことを操作検出部ＯＰが検出したとする。また、ＤＳ３に一覧表示されているカテゴリＩＤのうち１つを利用者の手による操作ＵＳ２によって指定したと操作検出部ＯＰが検出したとする。すると端末装置１００の表示部ＤＳには図７に示す如く、認識学習装置１０から受信した変化情報のうち、指定されたユニットＩＤ及びカテゴリＩＤに対応する変化情報が寄与度ＤＳ１０２として表示される。更に表示部ＤＳには、指定されたユニットＩＤに対応するユニット可視化情報が示す領域（頭部の領域）内に、該ユニット可視化情報が示すオブジェクトＤＳ１０１が表示される。寄与度ＤＳ１０２及びオブジェクトＤＳ１０１は何れも評価用データとしての画像上に重畳して表示される。しかし、ＧＵＩのレイアウトは図７に示したレイアウトに限らない。然るに、寄与度ＤＳ１０２及びオブジェクトＤＳ１０１を表示する際には、評価用データとしての画像上に重畳させなくても構わない。なお、指定されたユニットの寄与を表す情報としては、変化情報をそのまま寄与度として表示するのではなく、適当な大きさの値に正規化したり、所定範囲ごとにレベルで表してもよく、あるいはグラフ化して表現してもよい。
【００５８】
次に、上述の認識学習システム１の動作について、図８のフローチャートに沿って説明する。図８は、ＤＮＮにおける認識処理に寄与する特徴量の可視化の一例を示すフローチャートである。なお、図８に示した各処理の詳細は上記の通りであるため、以下では簡単に説明する。
【００５９】
先ず、端末装置１００の表示部ＤＳは、評価用データの一覧を表示する（Ｖ１０１）。評価用データの一覧としては、例えば、画像のサムネイルの一覧であっても良いし、映像のプレビューの一覧であっても良い。ここで利用者が評価用データの一覧から１つを選択する操作を行うと共に、「可視化の実行」の指示を入力したことを操作検出部ＯＰが検知すると、端末装置１００は一覧から選択された評価用データを認識学習装置１０に対して送信する（Ｖ１０２）。認識学習装置１０の処理部１２は、端末装置１００から送信された評価用データを受信する（Ｖ１０２）。
【００６０】
次に、認識学習装置１０の処理部１１は記憶部Ｍ１から、ＤＮＮが認識対象とするカテゴリのカテゴリＩＤと、各階層ＩＤに関連付けられた下階層ＩＤ、上階層ＩＤ、処理パラメータ情報を読み込む（Ｖ１０３）。
【００６１】
次に処理部１１は、読み込んだ構造情報に基づき、端末装置１００から受信した評価用データに対して、最下位の階層から最上位の階層の順に各階層に対応する処理パラメータ情報を適用し、カテゴリごとの出力スコア情報を求める（Ｖ１０４）。
【００６２】
そして処理部１１は、ＤＮＮの最上位層からの出力（出力スコア情報）のうち、記憶部Ｍ１から読み出したカテゴリＩＤに対応する出力スコア情報を、該カテゴリＩＤと対応付けて記憶部Ｍ２に格納する（Ｖ１０５）。更に処理部１１は、各ユニットのユニット状態情報を、該ユニットが属する階層の階層ＩＤ及び該ユニットのユニットＩＤに関連付けて記憶部Ｍ２に格納する（Ｖ１０５）。そして処理部１１は、トリガーを処理部１２に対して出力する。
【００６３】
次に、処理部１２は、可視化対象ユニットの数をカウントするためのカウンタ変数ｉの値を０に初期化する（Ｖ１０６）。更に処理部１２は、記憶部Ｍ１から、認識対象のカテゴリＩＤと、階層ＩＤに関連付けられた下階層ＩＤ、上階層ＩＤ、処理パラメータ情報、を読み込む（Ｖ１０６）。また処理部１２は、記憶部Ｍ２から、カテゴリＩＤに関連付けられた出力スコア情報と、階層ＩＤとユニットＩＤとに関連付けられたユニット状態情報とを読み込む（Ｖ１０６）。
【００６４】
読み込んだユニットＩＤのうち特定のユニットＩＤの数をＮ（Ｎは２以上の整数）とすると、処理部１２は、ｉ番目の特定のユニットＩＤに対応するユニット状態情報について規定の処理を行うことで、付加ユニット情報を生成する（Ｖ１０７）。そして処理部１２は、ｉ番目の特定のユニットＩＤと、該ｉ番目の特定のユニットＩＤについて生成した付加ユニット情報と、を検出部１３に対して出力する（Ｖ１０７）。
【００６５】
検出部１３は処理部１１と同様にして、評価用データに対するＤＮＮの各認識対象カテゴリの出力スコア情報を計算するが、その際、ｉ番目の特定のユニットＩＤに対応するユニット状態情報の代わりに付加ユニット情報を用いる（Ｖ１０８）。
【００６６】
そして検出部１３は、Ｖ１０８で計算した出力スコア情報と、記憶部Ｍ２に格納されている出力スコア情報と、の間の変化をカテゴリごとに求める（Ｖ１０９）。そして検出部１３は、カウンタ変数ｉの値を１つインクリメントする（Ｖ１１０）。インクリメント後のカウンタ変数ｉの値がＮ以上となった場合には、処理はＶ１１１を介してＶ１１２に進み、Ｎ未満であれば、処理はＶ１１１を介してＶ１０７に戻る。
【００６７】
選択部１４は、カテゴリＩＤごとに、認識への寄与度が高いユニットのユニットＩＤを選択し、カテゴリＩＤごとに、選択したユニットＩＤと変化情報との組を可視化部１５に対して出力する（Ｖ１１２）。
【００６８】
可視化部１５は、選択部１４から受けたユニットＩＤに対応するユニットを可視化するための情報をユニット可視化情報として生成する（Ｖ１１３）。そして可視化部１５は、選択部１４から受けたユニットＩＤ及び変化情報、該ユニットＩＤに対応する階層ＩＤ、カテゴリＩＤ、ユニット可視化情報、を端末装置１００に対して送信する（Ｖ１１３）。
【００６９】
端末装置１００の表示部ＤＳは、端末装置１００が保持する評価用データとしての画像、可視化部１５から受けたユニットＩＤの一覧と階層ＩＤ、可視化部１５から受けたカテゴリＩＤの一覧を表示している。このような状態において、利用者がＧＵＩ上でユニットＩＤ及びカテゴリＩＤを指定したとする。すると表示部ＤＳは、該指定されたユニットＩＤ及びカテゴリＩＤに対応する変化情報の表す寄与度、指定されたユニットＩＤに対応するユニット可視化情報が示すオブジェクト、のそれぞれを評価用データに重畳して表示する（Ｖ１１４）。
【００７０】
このように、本実施形態によれば、評価用データに対して、ＤＮＮの認識に寄与する特徴マップまたはニューロンなどのユニットの情報を可視化することが出来る。然るに利用者は、学習データ特有の特徴量など不要な特徴量が認識に利用されていないかを確認することができる。そして、もしＤＮＮが不要な特徴量を認識に用いていることが分かった場合、利用者は該特徴量を含むデータを学習データから削除して、ＤＮＮを再学習することができる。これにより、利用者は不要な特徴量を用いないＤＮＮを獲得することができる。
【００７１】
また、本実施形態では、出力スコア情報の変化を検出する際に、既に計算した各ユニットの状態を再利用する。これにより、認識に寄与するユニットを高速に求めることができる。特に上位の階層におけるユニットほど再利用できる下位層のユニットがより多いため、より高速に求めることができる。そのため、利用者は、より多くの評価用データを用いてＤＮＮの認識に寄与する特徴量を確認することができる。
【００７２】
なお、本実施形態では、各ユニットに対する出力スコア情報の独立的な変化に基づき、認識に寄与するユニットを選択する場合について説明した。しかしながら、これらの一連の処理を、複数のユニットの共起性を考慮して行ってもよい。例えば、以下の文献にて記載されているＦｏｒｗａｒｄ  ＳｅｌｅｃｔｉｏｎまたはＢａｃｋｗａｒｄ  Ｓｅｌｅｃｔｉｏｎを用いて、近似的に出力スコアの変化を最大化するユニットの組み合わせを選択してもよい。
・  Feature Selection for Reinforcement Learning: Evaluating Implicit State-Reward Dependency via Conditional Mutual Information, H. Hachiya & M. Sugiyama, ECML2010
【００７３】
［第２の実施形態］
本実施形態を含め、以降の各実施形態では、第１の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第１の実施形態と同様であるものとする。本実施形態に係る認識学習システム１ａの構成例について、図９を用いて説明する。本実施形態に係る認識学習システム１ａは、学習済みのＤＮＮが不要な特徴量を認識に用いていないかを利用者が確認し、もし用いられている場合は該特徴量の重要度を低く設定して認識器を再学習させる構成を有する。つまり、可視化された特徴量に対する利用者からのフィードバックを示す操作情報に基づいて、認識学習装置１０ａがＤＮＮを再学習する点において、第１の実施形態と異なる。
【００７４】
本実施形態に係る認識学習システム１ａは認識学習装置１０ａと端末装置１００ａとを有しており、認識学習装置１０ａと端末装置１００ａとの間は第１の実施形態と同様、有線や無線等のネットワークを介して互いにデータ通信が可能なように構成されている。
【００７５】
端末装置１００ａの操作検出部ＯＰは、第１の実施形態と同様に利用者の表示部ＤＳに対する操作情報を検知するのである。本実施形態では更に操作検出部ＯＰは、後述する重要度情報の設定指示や、ＤＮＮの再学習の実行指示を検知する。
【００７６】
本実施形態では、表示部ＤＳは、図７のＧＵＩの代わりに、図１０に例示するＧＵＩを表示する。図１０のＧＵＩでは、ＤＳ２からユニットＩＤとして「Ｆ０４００１」、ＤＳ３からカテゴリＩＤとして「Ｃ０２」が選択されておいる。その結果、背景にある建物（ユニット可視化情報が示す領域）にオブジェクトＤＳ１０１（ユニット可視化情報が示すお武家区と）が重畳されて表示されている。また図１０のＧＵＩでは、表示領域ＤＳ４内にオブジェクトＤＳ１０１で示したユニット（特徴量）に対する利用者からのフィードバック操作ＵＳ３を取得するための重要度のプルダウンメニューＤＳ４０１と再学習の実行ボタンＤＳ４０２とが表示されている。プルダウンメニューＤＳ４０１は、指示することで複数の重要度（例えば０〜１の間の実数値で、値が大きいほどより高い重要度を表し、値が小さいほどより低い重要度を表す）の一覧を表示するので、利用者は一覧から１つの重要度を選択指示することができる。実行ボタンＤＳ４０２は、指示することで認識学習装置１０ａに対して再学習を指示することができる。
【００７７】
操作検出部ＯＰは、利用者によるプルダウンメニューＤＳ４０１や実行ボタンＤＳ４０２に対する操作を示す操作情報を検知する。操作情報が「プルダウンメニューＤＳ４０１を用いた重要度の入力」である場合には、端末装置１００ａは、入力された重要度を示す重要度情報を、オブジェクトＤＳ１０１に対応する可視化対象ユニットのユニットＩＤに関連付けて記憶する。一方、操作情報が「実行ボタンＤＳ４０２の指示」である場合には、端末装置１００ａは、記憶している重要度情報と、該重要度情報と関連づけて記憶されているユニットＩＤと、を再学習の実行指示と共に認識学習装置１０ａに対して送信する。なお、利用者がプルダウンメニューＤＳ４０１を用いて重要度を設定していない場合には、デフォルトの重要度を示す重要度情報が送信されることになる。このデフォルトの重要度については特定の重要度に限らないが、例えば１である。また、このデフォルトの重要度は、認識学習装置１０ａからユニットＩＤに関連付けられて入力した変化情報の値が設定されてもよい。
【００７８】
一方、認識学習装置１０ａの再学習部１６は、端末装置１００ａから再学習の実行指示を受けると、学習データを用いて、重要度情報に基づきＤＮＮを学習する。具体的には、端末装置１００ａからユニットＩＤと重要度情報との組みを入力したことに応じて再学習部１６は記憶部Ｍ１から、ＤＮＮが認識対象とするカテゴリＩＤと、各階層ＩＤに関連付けられた下階層ＩＤ、上階層ＩＤ、処理パラメータ情報、を読み込む。そして再学習部１６は、記憶部Ｍ１から読み込んだＤＮＮの構造情報と、端末装置１００ａから受信した重要度情報と、に基づく重要度付き学習方法を用いて、学習データに対するＤＮＮの識別誤差を最小化するように処理パラメータ情報を更新する。ここで、更新が行われる処理パラメータ情報は、例えば、Ｃｏｎｖｏｌｕｔｉｏｎ処理やＩｎｎｅｒＰｒｏｄｕｃｔ処理の重み係数とバイアス項の値である。この学習データは、画像や映像などの入力データと入力データが属するカテゴリＩＤの複数の組から成るデータであり、予め作成されたものである。また、この重要度付き学習方法には、例えば、次の２つの学習方法がある。
【００７９】
第１の学習方法として、再学習部１６は、端末装置１００ａから受信したユニットＩＤと重要度情報とに基づき、記憶部Ｍ１から読み込んだＤＮＮの構造情報の各ユニットのドロップアウトする割合を設定する。ドロップアウトとは上記の非特許文献３にて提案されているように、学習過程の各反復においてランダムに選んだユニットを一時的にネットワークから切り離す処理のことで、ドロップアウトされたユニットに係る処理パラメータ情報は、該反復において更新が行われない。
【００８０】
このドロップアウトが行われる各ユニットの割合は、通常は固定の０．５（上記文献）などに設定されるが、この第１の学習方法では、該割合を、以下の式（３）のように、入力した重要度情報に基づき設定される。
【００８１】
【数３】
2018010626.tif 000005
【００８２】
式（３）においてｒはドロップアウトの割合で、Ｉは重要度情報が表す重要度である。例えば、重要度Ｉが１の場合は、ドロップアウトの割合は通常の割合０．５に設定される。しかし、重要度Ｉが０．１のユニットについては、ドロップアウトの割合は通常の割合より高い値、例えば、０．９５に設定される。これにより、重要度が低いユニットは、高い頻度でドロップアウトが行われるため、該ユニットの処理パラメータ情報は更新が行われにくくなる。そのため、該ユニットの認識への寄与は相対的に小さくなる。
【００８３】
各ユニットに設定されたドロップアウトの割合の一例を図１１に示す。図１１では、Ｃｏｎｖｏｌｕｔｉｏｎ２層１２０１の特徴マップ１２０２および特徴マップ１２０３のそれぞれにドロップアウトの割合０．５および０．９５が設定されている。また、図１１では、Ｉｎｎｅｒｐｒｏｄｕｃｔ層１２０４のニューロン１２０５のドロップアウトの割合が０．７に設定されている。
【００８４】
第２の学習方法として、再学習部１６は、端末装置１００ａから受信したユニットＩＤと重要度情報とに基づく罰則項を、以下の式（４）のように最小化を行う識別誤差に付加する。
【００８５】
【数４】
2018010626.tif 000006
【００８６】
式（４）においてθはＤＮＮの各ユニットの処理パラメータ情報を要素に持つベクトル、Ｅ（θ）は学習データに対するＤＮＮの識別誤差、λは誤差と重要度の罰則項のバランスを取るための係数、Ｕは各ユニットの重要度の逆数を対角成分にもつ行列である。例えば、ｉ番目のユニットの重要度が０．５の場合は、行列Ｕの要素Ｕｉｉは２となる。ここで、重要度が低いユニットほど、ユニットの処理パラメータ情報に対する罰則が強くなるため、式（４）を最小化するように学習したＤＮＮは、より重要度の低いユニットを使わないように学習される。
【００８７】
なお、詳細は省くが、第１および第２の学習方法において、各階層の処理パラメータ情報は、最初に初期化された後、識別誤差を最小化するようにする。そのために、Ｓｔｏｃｈａｓｔｉｃ  Ｇｒａｄｉｅｎｔ  Ｄｅｓｃｅｎｔ（ＳＧＤ）やＡｄａＤｅｌｔａ（J. Yangging et al., Caffe: COnvolutional Architecture for Fast Feature Embedding, 2014）などの勾配法が用いられる。
【００８８】
そして、再学習部１６は、更新した処理パラメータ情報を、記憶部Ｍ１に階層ＩＤに関連付けて記憶させる。これにより、記憶部Ｍ１に格納されているＤＮＮの構造情報が再学習により更新されたことになる。
【００８９】
次に、本実施形態に係る認識学習システム１ａの動作について、図１２のフローチャートを用いて説明する。図１２において図８に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
【００９０】
Ｖ１１４の処理の後、利用者が「プルダウンメニューＤＳ４０１を用いた重要度の入力」を行ったとする。このとき、端末装置１００ａは、入力された重要度を示す重要度情報を、オブジェクトＤＳ１０１に対応する可視化対象ユニットのユニットＩＤに関連付けて記憶する（Ｆ１０１）。一方、利用者が「実行ボタンＤＳ４０２の指示」を行った場合には、端末装置１００ａは、重要度情報と、該重要度情報と関連づけて記憶されているユニットＩＤと、を認識学習装置１０ａに対して送信する（Ｆ１０１）。
【００９１】
次に、再学習部１６は、端末装置１００ａから受信したユニットＩＤと重要度情報とに基づき、記憶部Ｍ１から読み込んだＤＮＮの構造情報の各ユニットのドロップアウトする割合を設定する（Ｆ１０２）。次に、再学習部１６は、処理パラメータ情報を初期化した後、識別誤差を最小化するようにＳＧＤやＡｄａＤｅｌｔａなどの勾配法を用いて、処理パラメータ情報を更新する（Ｆ１０３）。次に、再学習部１６は、Ｆ１０３で更新した処理パラメータ情報を、対応する階層ＩＤと関連付けて記憶部Ｍ１に記憶させる（Ｆ１０４）。
【００９２】
このように、本実施形態によれば、第１の実施形態に係る効果に加え、もしＤＮＮが不要な特徴量を認識に用いていることが分かった場合、利用者は該特徴量に対して低い重要度を設定して、ＤＮＮを再学習することができる。これにより、利用者は直感的および簡単な操作で不要な特徴量を用いないＤＮＮを獲得することができる。
【００９３】
［第３の実施形態］
本実施形態に係る認識学習システム１ｂの構成例について、図１３を用いて説明する。本実施形態に係る認識学習システム１ｂは、利用者が用意した評価用データの認識において寄与度の低い特徴マップおよびニューロンを選定し、ＤＮＮから削除する構成を有する。ここで、評価用データは、例えば、ある特定のドメインの複数の画像または複数のクリップから構成される映像である。ドメインとは、本システムが利用されると想定される環境であり、例えば、介護施設、一般家庭、公共施設の駅や市街、店舗などである。
【００９４】
本実施形態に係る認識学習システム１ｂは認識学習装置１０ｂと端末装置１００とを有しており、認識学習装置１０ａと端末装置１００との間は第１の実施形態と同様、有線や無線等のネットワークを介して互いにデータ通信が可能なように構成されている。
【００９５】
選択部１４ｂは、検出部１３から入力した変化情報に基づき、入力したカテゴリＩＤごとに、認識への寄与度が低いユニットのユニットＩＤを選択する。このユニットＩＤの選択方法として、選択部１４ｂは、カテゴリＩＤごとに、変化情報が小さいユニットＩＤを、寄与度の低いユニットのユニットＩＤとして選択する。例えば、選択部１４は、カテゴリＩＤごとに、様々な評価用データに対する変化情報の平均を各ユニットＩＤについて求め、該平均が閾値未満の変化情報を持つユニットＩＤを全て選択する。また、選択部１４ｂは、カテゴリＩＤごとに、平均の小さい順に先頭から規定数の平均に対応するユニットＩＤを選択ユニットＩＤとして選択する。そして選択部１４ｂは、カテゴリＩＤごとに、選択ユニットＩＤと変化情報との組を可視化部１５及び削除部１７に対して出力する。
【００９６】
削除部１７は、選択ユニットＩＤに対応するユニットをＤＮＮから削除する。具体的には、選択部１４ｂから、選択ユニットＩＤと変化情報との組を入力したことに応じて、削除部１７は、記憶部Ｍ１から、ＤＮＮが認識対象とするカテゴリＩＤと、各階層ＩＤに関連付けられた下階層ＩＤ、上階層ＩＤ、処理パラメータ情報、を読み込む。そして、削除部１７は、選択部１４ｂから入力した選択ユニットＩＤに基づく更新方法で、ＤＮＮの構造情報を更新する。更新方法として、例えば、処理パラメータ情報に含まれている、選択ユニットＩＤのユニットの重み係数およびバイアス項を０にするなどして該ユニットを削除する。また、削除部１７は、選択ユニットＩＤのユニットが属する階層の処理パラメータ情報が保持するフィルタ数を、削除したユニット数に応じて減らす。そして削除部１７は、更新した構造情報を、記憶部Ｍ１に記憶させる。
【００９７】
なお、可視化部１５は、選択ユニットＩＤに対応するユニットを可視化するユニット可視化情報を生成する。そして、端末装置１００は、生成されたユニット可視化情報に基づいてオブジェクトを表示部ＤＳに表示する。これにより、利用者は、認識学習装置１０ｂにより、削除されたユニットを確認することができる。
【００９８】
なお、削除部１７は、削除したユニットの重み係数およびバイアス項などの処理パラメータ情報を認識学習システム１ｂ内に保持しておいてもよい。そして、端末装置１００は、削除されたユニットのユニット可視化情報とともに、「復旧」ボタンを表示部ＤＳに表示する。そして、端末装置１００の操作検出部ＯＰが利用者によるユニット可視化情報の選択及び「復旧」ボタンに対する操作を示す操作情報を検出した場合、端末装置１００は、認識学習装置１０ｂの削除部１７に対して操作情報を送信する。削除部１７は、端末装置１００から操作情報を受信したことに応じて、自装置内に記憶しておいた、利用者が選択したユニット可視化情報に対応するユニットＩＤに対応する処理パラメータ情報を選択し、記憶部Ｍ１に、該処理パラメータ情報を追加する。これにより利用者は、認識学習装置１０ｂにより削除されたユニットを確認し、もし重要なユニットが削除されたことが分かった場合は、該ユニットをＤＮＮに復旧させることができる。
【００９９】
このように、本実施形態によれば、特定のドメインにおける評価データに対してＤＮＮの認識に寄与しない特徴マップまたはニューロンを削除することができる。これにより、特定のドメインにおいて、ＤＮＮは認識精度を維持しながら、軽量および高速に認識ができるようになる。例えば、様々なドメインを含む学習データを用いて多様な環境に対応可能なＤＮＮを学習しておき、実際に本システムが利用される特定のドメインに合わせて、ＤＮＮを調整するようなことができる。
【０１００】
［第４の実施形態］
特定のユニットＩＤに対応するユニット状態情報について行う「規定の処理」には様々な処理が考えられるが、例えば、以下のような処理（第３の処理、第４の処理）も考えられる。
【０１０１】
第３の処理として、処理部１２は、記憶部Ｍ２から読み込んだユニット状態情報のうち特定のユニットＩＤに対応するユニットと同じ階層の任意のユニットＩＤに関連付けられたユニット状態情報を付加ユニット情報として生成する。ここで、任意のユニットＩＤとは、例えば、特定のユニットＩＤと隣り合うユニットＩＤや、ランダムに選択したユニットのＩＤや、固定のユニットＩＤなどに相当する。ここで、ランダムなユニットＩＤは、例えば、同じ階層内のユニットＩＤの中から、一様分布に従って選択される。なお、「規定の処理」として、所定のユニット状態情報に、付加ユニット情報を足すなどの四則演算などの処理を施してもよい。
【０１０２】
第４の処理として、処理部１２は、記憶部Ｍ２から読み込んだユニット状態情報のうち特定のユニットＩＤに対応するユニット状態情報が表す数値の集合と同サイズ且つ要素が所定の値を持つ特徴マップまたはニューロンを示す付加ユニット情報を生成する。ここで、所定の値とは、例えば、予め定められた固定の数値パターンである。
【０１０３】
この「規定の処理」に必要な処理情報は、自装置内または外部の記憶装置に記憶されている。例えば、処理情報は、自装置内の記憶部Ｍ１のＤＮＮの構造情報の一部として記憶されている。この処理情報には、例えば、「規定の処理」を示すＩＤ、付加ユニット情報、ランダム値を生成する確率分布の情報、および差し替えや四則演算などの付加ユニット情報と特定のユニット情報とに対する処理情報などがある。
【０１０４】
また、「規定の処理」は、ＤＮＮの構造の一部として処理を施してもよい。具体的には、処理部１２は、処理対象である所定の階層と、一つ上位の階層との間に、「規定の処理」を施すユニット付加処理層を挿入した構造を示すＤＮＮ構造情報を生成する。ここで、ユニット付加処理層の各ユニット情報は、図１６で後述するように、付加ユニット情報に対応しており、一つ下位の階層の各ユニット情報に対して、「規定の処理」を適用するように、ＤＮＮ構造情報の処理パラメータが設定される。そして、処理部１２は、生成したＤＮＮ構造情報を、記憶部Ｍ１に記憶させる。
【０１０５】
図１５は、ＤＮＮの可視化対象のユニットに第３の処理を適用する一例を示す図である。まず、図１５では、記憶部Ｍ１に格納されているＤＮＮのＣｏｎｖｏｌｕｔｉｏｎ１層５０１およびＣｏｎｖｏｌｕｔｉｏｎ２層５０２に含まれるユニットが可視化対象ユニットに設定されている場合について説明されている。具体的には、図１５では、第３の処理として、ユニット５１１と５１２とそれぞれ同じ階層で隣り合うユニット５３１−２、５３２−２を付加ユニット情報として選択し、ユニット５１１、５１２のユニット状態情報がそれぞれ差し替えられる（５４１−２、５４２−２）または加算されることが示されている。
【０１０６】
図１６は、「規定の処理」をＤＮＮの階層の処理として適用する一例を示す図である。まず、図１６では、記憶部Ｍ１に格納されているＤＮＮのＣｏｎｖｏｌｕｔｉｏｎ１層５０１およびＣｏｎｖｏｌｕｔｉｏｎ２層５０２に含まれるユニットが可視化対象ユニットに設定されている場合について説明されている。具体的には、図１６では、Ｃｏｎｖｏｌｕｔｉｏｎ１層５０１とＣｏｎｖｏｌｕｔｉｏｎ２層５０２の出力が、それぞれユニット付加処理１層５０１−３とユニット付加処理２層５０２−３に入力され、上述した第１から第４の処理が適用されることを示している。例えば、Ｃｏｎｖｏｌｕｔｉｏｎ１層のユニットＩＤがＦ０２００１のユニットに対しては、ユニット付加処理１層のユニットＩＤがＦ０３００１の付加ユニット情報が適用される。また、Ｃｏｎｖｏｌｕｔｉｏｎ２層のユニットＩＤがＦ０５００３のユニットに対しては、ユニット付加処理２層のユニットＩＤがＦ０６００３の付加ユニット情報が適用される。例えば、ユニット付加処理１層にて第４の処理が用いられる場合、付加ユニット情報Ｆ０３００１をユニットＩＤがＦ０２００１のユニットと同じ大きさで要素が所定の値を持つように設定し、ユニットＩＤがＦ０２００１のユニットを置き換えるまたは加算するなどの四則演算を適用する。
【０１０７】
［第５の実施形態］
図８のステップＶ１０６とステップＶ１０７との間のステップにおいて、「規定の処理」としてどのような処理を行うのかを設定するようにしても良い。その場合、設定された「規定の処理」を実現するための処理が以降の各ステップにおいて行われることになる。例えば、処理部１２は、記憶部Ｍ１から読み込んだ処理情報に基づき「規定の処理」を設定する。例えば、図１６の説明にて前述したように「規定の処理」がＤＮＮの構造の一部として処理される場合は、ユニット付加処理層を挿入した構造および「規定の処理」に対応した処理パラメータを示すＤＮＮ構造情報を生成する。そして処理部１２は、生成したＤＮＮ構造情報を記憶部Ｍ１に記憶させる。
【０１０８】
また、上記の各実施形態では、複数の状態を識別する問題を例にとり説明したが、これに限るものではなく、一般的な識別問題に適用することが可能であり、例えば、正常と異常を識別する異常検知の問題に適用することができる。
【０１０９】
また、上記の各実施形態においては、認識学習装置１０、１０ａ、１０ｂのそれぞれは記憶部Ｍ１及び記憶部Ｍ２を備えていると説明したが、記憶部Ｍ１及び記憶部Ｍ２は認識学習装置１０、１０ａ、１０ｂと通信可能な外部の機器としても構わない。例えば、記憶部Ｍ１及び記憶部Ｍ２は、ネットワークを介して認識学習装置１０、１０ａ、１０ｂとデータ通信が可能なサーバ上や、他の装置が記憶部Ｍ１及び記憶部Ｍ２を備えてもよい。これは、他の機能部についても同様である。
【０１１０】
また、以上説明した各実施形態や変形例の構成はその一部若しくは全部を適宜組み合わせて使用することが可能であるし、また、以上説明した各実施形態や変形例の構成の一部若しくは全部を選択的に使用しても構わない。
【０１１１】
［第６の実施形態］
認識学習装置１０、１０ａ、１０ｂを構成する各機能部はハードウェアで実装しても良いが、記憶部Ｍ１及び記憶部Ｍ２を除く他の各部をソフトウェア（コンピュータプログラム）で実装しても構わない。このような場合、このソフトウェアを実行可能なコンピュータ装置（記憶部Ｍ１及び記憶部Ｍ２を有する若しくは記憶部Ｍ１及び記憶部Ｍ２とデータ通信が可能である）は認識学習装置１０、１０ａ、１０ｂに適用可能である。このようなコンピュータ装置のハードウェア構成例について、図１４のブロック図を用いて説明する。
【０１１２】
ＣＰＵ９０１は、ＲＡＭ９０２やＲＯＭ９０３に格納されているコンピュータプログラムやデータを用いて処理を行う。これによりＣＰＵ９０１は、コンピュータ装置全体の動作制御を行うと共に、コンピュータ装置を適用する認識学習装置１０、１０ａ、１０ｂが行うものとして上述した各処理を実行若しくは制御する。
【０１１３】
ＲＡＭ９０２は、ＲＯＭ９０３や外部記憶装置９０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）９０７を介して外部から受信したデータ、を格納するためのエリアを有する。更にＲＡＭ９０２は、ＣＰＵ９０１が各種の処理を実行する際に用いるワークエリアを有する。このようにＲＡＭ９０２は、各種のエリアを適宜提供することができる。ＲＯＭ９０３には、書き換え不要の本コンピュータ装置の設定データやブートプログラムなどが格納されている。
【０１１４】
操作部９０４は、マウスやキーボードなどのユーザインターフェースにより構成されており、ユーザが操作することで各種の指示をＣＰＵ９０１に対して入力することができる。例えば、ユーザが操作することで閾値などの設定情報をコンピュータ装置に入力することができる。
【０１１５】
表示部９０５は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ９０１による処理結果を画像や文字などでもって表示することができる。なお、表示部９０５は、投影面に対して画像や文字を投影する投射装置であっても構わない。なお、操作部９０４と表示部９０５とを一体化させてタッチパネル画面を構成しても構わない。
【０１１６】
外部記憶装置９０６は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置９０６には、ＯＳ（オペレーティングシステム）や、認識学習装置１０、１０ａ、１０ｂが行うものとして上述した各処理をＣＰＵ９０１に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。このコンピュータプログラムには、図１，９，１３において記憶部Ｍ１及び記憶部Ｍ２を除く認識学習装置１０、１０ａ、１０ｂの各機能部の機能をＣＰＵ９０１に実行若しくは制御させるためのコンピュータプログラムが含まれている。また、外部記憶装置９０６に保存されているデータには、認識学習装置１０、１０ａ、１０ｂが既知の情報として取り扱うもの（閾値など）が含まれている。また、記憶部Ｍ１及び記憶部Ｍ２は外部記憶装置９０６内に設けられても良い。外部記憶装置９０６に保存されているコンピュータプログラムやデータは、ＣＰＵ９０１による制御に従って適宜ＲＡＭ９０２にロードされ、ＣＰＵ９０１による処理対象となる。
【０１１７】
Ｉ／Ｆ９０７は、外部の機器とのデータ通信を行うためのインターフェースとして機能するものであり、例えば、端末装置１００（１００ａ）との間のデータ通信は、このＩ／Ｆ９０７を介して行われる。
【０１１８】
ＣＰＵ９０１、ＲＡＭ９０２、ＲＯＭ９０３、操作部９０４、表示部９０５、外部記憶装置９０６、Ｉ／Ｆ９０７は何れもバス９０８に接続されている。なお、図１４に示したコンピュータ装置の構成は端末装置１００（１００ａ）にも適用可能である。この場合、表示部９０５は表示部ＤＳとして機能するし、操作検出部ＯＰは操作部９０４によって実装可能である。
【０１１９】
このように、上記の各実施形態や変形例によれば、評価用データの認識に寄与するＤＮＮの特徴量を可視化することができる。そのため、利用者はＤＮＮが学習データ特有の特徴量を利用していないかどうかを確認することができる。また、可視化された特徴量に対する利用者からの重要度のフィードバックに基づき、ＤＮＮを再学習することができる。そのため、利用者は学習データ特有の特徴量を利用しないようにＤＮＮを制御することができる。また、評価用データの認識に寄与していないＤＮＮの特徴量を削除することができる。そのため、利用環境に合わせてＤＮＮの高速および軽量化することができる。
【０１２０】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１２１】
１１：処理部  １２：処理部  １３：検出部  １４：選択部  １５：可視化部
【図１】
2018010626.tif 000007
【図２】
2018010626.tif 000008
【図３】
2018010626.tif 000009
【図４】
2018010626.tif 000010
【図５】
2018010626.tif 000011
【図６】
2018010626.tif 000012
【図７】
2018010626.tif 000013
【図８】
2018010626.tif 000014
【図９】
2018010626.tif 000015
【図１０】
2018010626.tif 000016
【図１１】
2018010626.tif 000017
【図１２】
2018010626.tif 000018
【図１３】
2018010626.tif 000019
【図１４】
2018010626.tif 000020
【図１５】
2018010626.tif 000021
【図１６】
2018010626.tif 000022