(57)【特許請求の範囲】
【請求項１】
ニューラルネットワークが入力データに対して認識処理を行って前記入力データのクラス分類を行い、得られた前記クラス分類の結果を推論結果として導出する計算部と、
前記計算部が導出した前記推論結果で示された注目したクラスの推論に寄与した領域を、前記入力データから抽出する領域抽出部と、
前記計算部が導出した前記推論結果に基づいて、前記入力データから特徴を抽出して特徴画像を取得する特徴画像取得部と、
前記領域抽出部が抽出した前記領域と、前記特徴画像取得部が取得した前記特徴画像とを乗算する乗算部とを備えた情報処理装置。
【請求項２】
前記乗算部は、前記計算部が導出した前記推論結果で示された前記注目したクラスの推論に寄与した領域の特徴量を算出することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記領域抽出部は、前記入力データから前記クラス分類の対象となるクラスの中から注目すると決定した第１のクラスの推論に寄与した領域を抽出する第１の抽出部と、前記入力データから前記第１のクラスに対して分類比較対象として定めた第２のクラスの推論に寄与した領域を抽出する第２の抽出部とを有し、
前記第１の抽出部が抽出した領域から前記第２の抽出部が抽出した領域を減算し、差分領域を取得する減算部を備え、
前記乗算部は、前記減算部が取得した前記差分領域と、前記特徴画像取得部が取得した特徴量とを乗算し、前記計算部が導出した前記推論結果における、前記第１のクラスの推論に寄与する領域であって、前記第２のクラスの推論に寄与しない領域の特徴量を算出することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記領域抽出部は、前記入力データに対して前記注目するクラスの推論に寄与する領域であるか否か判定を行い、前記入力データに対するマスク値を得ることを特徴とする請求項１または請求項２記載の情報処理装置。
【請求項５】
前記第１の抽出部は、前記入力データに対して前記第１のクラスの推論に寄与する領域であるか否か判定を行い、前記入力データに対するマスク値を得て、
前記第２の抽出部は、前記入力データに対して前記第２のクラスの推論に寄与する領域であるか否か判定を行い、前記入力データに対するマスク値を得ることを特徴とする請求項３記載の情報処理装置。
【請求項６】
前記乗算部の乗算結果を表示する制御を行う可視化部を備えたことを特徴とする請求項１から請求項３のうちのいずれか１項記載の情報処理装置。
【請求項７】
計算部が、ニューラルネットワークが入力データに対して認識処理を行い、前記入力データのクラス分類を行って得られた前記クラス分類の結果を推論結果として導出するステップと、
領域抽出部が、導出された前記推論結果で示された注目したクラスの推論に寄与した領域を、前記入力データから抽出するステップと、
特徴画像取得部が、導出された前記推論結果に基づいて、前記入力データから特徴を抽出して特徴画像を取得するステップと、
乗算部が、抽出された前記領域と、取得された前記特徴画像とを乗算するステップとを備えた情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ニューラルネットワークを用いたクラス分類の技術に関するものである。
【背景技術】
【０００２】
近年、ニューラルネットワークは取得した画像データまたは映像データに対して、学習をすることにより高精度にクラス分類を行う。ニューラルネットワークは、長時間の学習を経て、高い認識精度を有する。そのため、車両の自動運転、医療データの解析または産業オートメーション等の分野において、今後より多く用いられることが予想される。
上述のように、ニューラルネットワークは高い認識精度を有するため、様々な場面において画像データの分類問題が扱われる。しかし、ニューラルネットワークは、一般にブラックボックスで判断根拠が不明である。ニューラルネットワークが誤認識をした際に、なぜニューラルネットワークが誤認識したかを示す理由を提示することができない。【０００３】
クラス分類の問題を考えた場合、ニューラルネットワークが誤認識した際には、間違ったクラスと正解のクラスとのそれぞれに対して判断根拠を取得することが求められる。また、判断根拠として、注目したクラスの特徴量を取得することが求められる。即ち、注目したクラスの推論結果に影響を与える領域の中で、判断根拠として必ずしも重要ではない情報、例えば背景を消し、ニューラルネットワークが実際に判断に使用した根拠を抽出する必要がある。
また、ニューラルネットワークが特定の環境において、用意した学習データセットであった場合、本来認識に関係ない特徴量を認識において重要視している可能性がある。例えば、雪国にしか存在しない狐と、森に生息する狐の分類問題にて雪国の狐は背景で雪が積もっていることが多く、森の狐は背景に森等緑広がっていることが多いという場合、背景のみから情報抽出することによってクラス分類を可能にする。この場合に、ニューラルネットワークは再学習をする必要があるが、推論値のみでは判断することができない。この問題を解決しうる手段として、入力画像に対して、推論に寄与した判断根拠を取得する手法が注目されている。【０００４】
例えば、非特許文献１に開示された、注目したクラスの推論に寄与する領域を抽出できる手法が研究されている。また、非特許文献２に開示された画像の特徴量を抽出する手法が研究されている。
非特許文献１に開示された手法では、画像データに対してマスクを掛け、注目したクラスの推論に寄与する領域を抽出する。クラスの推論に寄与する領域を抽出することによって、ニューラルネットワークが誤認識した際に、推論結果となっているクラス、または本来であれば正解となるクラスの情報の判断根拠に用いた領域を抽出する。
非特許文献２に開示された手法では、推論結果を逆伝搬する際に、順伝搬の際のpooling層の情報も用いることによって、画像上の特徴量を抽出している。これにより、海等の背景の情報ではなく、画像データ中の重要な特徴量を判断根拠として取得する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】M. T. Ribeiro, S. Singh and C. Guestrin, “Why shold I trust you?: Explaining the predictions of any classifier,” Proc. KDD, pp.1135-1144, 2016.
【非特許文献２】J. Springenberg, A. Dosovitskiy, T. Brox and M. Riedmiller, “Striving for simplicity: The all convolutional net,” ICLR (workshop track), 2015.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、非特許文献１に開示された手法、または非特許文献２に開示された手法では、クラス分類を行うニューラルネットワークに対して、判断根拠として「注目したクラス」の「特徴量」を同時に取得することができないという課題があった。
非特許文献１に開示された手法であるＬＩＭＥは、注目したクラスの推論に寄与する領域を抽出することはできるが、特徴量を抽出することはできない。特徴量を抽出できない場合、背景の情報当、クラスの推論に必要のない無駄な情報が含まれ、真にニューラルネットワークが判断した根拠を取得することができない。【０００７】
また、非特許文２に開示された手法であるGuided Backpropagationは、特徴量を抽出することはできるが、クラス情報に注目していないため、クラスに関係なく画像データ全体の特徴量を抽出してしまう。この場合、クラスの比較ができないため、なぜそのクラスの推論になったかを示す、注目したクラスの推論に寄与する特徴量を取得することができない。また、クラスの特徴として、背景等本来抽出すべきでない部分から特徴量を抽出しているか否か判断することができない。【０００８】
この発明は、上記のような課題を解決するためになされたもので、ニューラルネットワークによる推論に寄与した判断根拠として、注目したクラスの特徴量を抽出することを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係る情報処理装置は、ニューラルネットワークが入力データに対して認識処理を行って入力データのクラス分類を行い、得られたクラス分類の結果を推論結果として導出する計算部と、計算部が導出した推論結果で示された注目したクラスの推論に寄与した領域を、入力データから抽出する領域抽出部と、計算部が導出した推論結果に基づいて、入力データから特徴を抽出して特徴画像を取得する特徴画像取得部と、領域抽出部が抽出した領域と、特徴画像取得部が取得した特徴画像とを乗算する乗算部とを備えるものである。
【発明の効果】
【００１０】
この発明によれば、ニューラルネットワークによる推論に寄与した判断根拠として、注目したクラスの特徴量を抽出することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係る情報処理装置の構成を示すブロック図である。
【図２】図２Ａおよび図２Ｂは、実施の形態１に係る情報処理装置のハードウェア構成例を示す図である。
【図３】実施の形態１に係る情報処理装置の動作を示すフローチャートである。
【図４】図４Ａ，図４Ｂ，図４Ｃ，図４Ｄは、実施の形態１に係る情報処理装置のニューラルネットワークが分類する各クラスの画像データの一例を示す図である。
【図５】図５Ａ，図５Ｂは、実施の形態１に係る情報処理装置の領域抽出部の抽出結果を示す図である。
【図６】実施の形態１に係る情報処理装置の領域抽出部がその他の手法に基づいて、注目したクラスの推論に寄与する領域を抽出した場合の例を示す図である。
【図７】実施の形態１に係る情報処理装置の特徴画像取得部の抽出結果を示す図である。
【図８】実施の形態１に係る情報処理装置の乗算部の乗算結果を示す図である。
【図９】図８の対比例を示す図である。
【図１０】実施の形態２に係る情報処理装置の構成を示すブロック図である。
【図１１】実施の形態２に係る情報処理装置の動作を示すフローチャートである。
【図１２】実施の形態２に係る情報処理装置の乗算部の乗算結果を示す図である。
【図１３】図１２の比較例を示す図である。
【図１４】図１２の比較例を示す図であって、その他の表示例を示す図である。
【発明を実施するための形態】
【００１２】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１は、実施の形態１に係る情報処理装置１００の構成を示すブロック図である。
情報処理装置１００は、ニューラルネットワーク１０１を有する計算部１０２、領域抽出部１０３、特徴画像取得部１０４、乗算部１０５および可視化部１０６を備える。
ニューラルネットワーク１０１は、外部から入力された入力データに対して認識処理を行い、入力データのクラス分類を行う。入力データは、例えば画像データまたは映像データである。計算部１０２は、ニューラルネットワーク１０１のクラス分類の結果を推論結果として導出し、領域抽出部１０３および特徴画像取得部１０４に出力する。
【００１３】
領域抽出部１０３は、計算部１０２から入力された推論結果で示されたクラスの推論に寄与した領域を、入力データから抽出する。具体的には、領域抽出部１０３は、推論結果が示すクラスの推論に寄与した領域と、推論結果が示すクラスの推論に寄与しない領域とを区別する２値のマスク値（例えば（０，１）の値）を得る。領域抽出部１０３は、得たマスク値に基づいて、入力データに対してマスク処理を行い、推論結果が示すクラスの推論に寄与しない領域をマスクする。領域抽出部１０３は、抽出した領域を乗算部１０５に出力する。
【００１４】
特徴画像取得部１０４は、計算部１０２から入力された推論結果に基づいて、入力データから特徴を抽出して特徴画像を取得する。特徴画像取得部１０４は、取得した特徴画像を乗算部１０５に出力する。乗算部１０５は、領域抽出部１０３から入力された領域と、特徴画像取得部１０４が取得した特徴画像とを乗算する。乗算部１０５は、乗算処理により、ニューラルネットワーク１０１の推論結果が示すクラスの推論に寄与した領域の特徴量を算出する。乗算部１０５の乗算処理は、アダマール積、ピクセルごとの掛け合わせ、または畳み込み等の手法を適用して構成する。乗算部１０５は、算出した特徴量を可視化部１０６に出力する。可視化部１０６は、乗算部１０５から入力された特徴量を画像化して表示装置等（図示しない）表示する制御を行う。
【００１５】
次に、情報処理装置１００のハードウェア構成例を説明する。
図２Ａおよび図２Ｂは、実施の形態１に係る情報処理装置１００のハードウェア構成例を示す図である。
情報処理装置１００における計算部１０２、領域抽出部１０３、特徴画像取得部１０４、乗算部１０５および可視化部１０６の各機能は、処理回路により実現される。即ち、情報処理装置１００は、上記各機能を実現するための処理回路を備える。当該処理回路は、図２Ａに示すように専用のハードウェアである処理回路１００ａであってもよいし、図２Ｂに示すようにメモリ１００ｃに格納されているプログラムを実行するプロセッサ１００ｂであってもよい。
【００１６】
図２Ａに示すように、計算部１０２、領域抽出部１０３、特徴画像取得部１０４、乗算部１０５および可視化部１０６が専用のハードウェアである場合、処理回路１００ａは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-programmable Gate Array）、またはこれらを組み合わせたものが該当する。計算部１０２、領域抽出部１０３、特徴画像取得部１０４、乗算部１０５および可視化部１０６の各部の機能それぞれを処理回路で実現してもよいし、各部の機能をまとめて１つの処理回路で実現してもよい。
【００１７】
図２Ｂに示すように、計算部１０２、領域抽出部１０３、特徴画像取得部１０４、乗算部１０５および可視化部１０６がプロセッサ１００ｂである場合、各部の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ１００ｃに格納される。プロセッサ１００ｂは、メモリ１００ｃに記憶されたプログラムを読み出して実行することにより、計算部１０２、領域抽出部１０３、特徴画像取得部１０４、乗算部１０５および可視化部１０６の各機能を実現する。即ち、計算部１０２、領域抽出部１０３、特徴画像取得部１０４、乗算部１０５および可視化部１０６は、プロセッサ１００ｂにより実行されるときに、後述する図３に示す各ステップが結果的に実行されることになるプログラムを格納するためのメモリ１００ｃを備える。また、これらのプログラムは、計算部１０２、領域抽出部１０３、特徴画像取得部１０４、乗算部１０５および可視化部１０６の手順または方法をコンピュータに実行させるものであるともいえる。
【００１８】
ここで、プロセッサ１００ｂとは、例えば、ＣＰＵ（Central Processing Unit）、処理装置、演算装置、プロセッサ、マイクロプロセッサ、マイクロコンピュータ、またはＤＳＰ（Digital Signal Processor）などのことである。
メモリ１００ｃは、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable ROM）、ＥＥＰＲＯＭ（Electrically EPROM）等の不揮発性または揮発性の半導体メモリであってもよいし、ハードディスク、フレキシブルディスク等の磁気ディスクであってもよいし、ミニディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）等の光ディスクであってもよい。
【００１９】
なお、計算部１０２、領域抽出部１０３、特徴画像取得部１０４、乗算部１０５および可視化部１０６の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。このように、情報処理装置１００における処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
【００２０】
次に、領域抽出部１０３および特徴画像取得部１０４の詳細について説明する。
まず、領域抽出部１０３は、上述した非特許文献１に開示されたＬＩＭＥ（Local Interpretable Model-agnostic Explanations）の手法を適用して、ニューラルネットワーク１０１の推論結果から、クラスの推論に寄与した領域を推定する。
また、領域抽出部１０３は、以下に示す非特許文献３に開示された、ＬＩＭＥをさらに機械学習してヒートマップを取得する手法を適用してもよい。
・非特許文献３
R. C. Fong and A. Vedaldi, “Interpretable Explanations of black boxes by meaningful perturbation,” arXiv:1704.03296v3, 2018.
非特許文献３には、非特許文献１に開示された技術を応用し、マスクのデータと推論値を用いて学習し、重要領域をヒートマップ化して、判断根拠を取得する技術が開示されている。
具体例としては、後述する図４Ａで示される画像データを入力することにより、後述する図６で示すデータに近いヒートマップが出力として得られる。色の濃い部分が「１」に近い値を有し、色が薄い部分が「０」に近い値を有するヒートマップが出力として得られる。値が「１」に近い領域に注目すべき船舶が存在している。
【００２１】
さらに、領域抽出部１０３は、以下に示す非特許文献４に開示された、入力データである文章に対して、クラスの推論に寄与した箇所を推定する手法を適用してもよい。
・非特許文献４
K. Xu, J. L. Ba, R. Kiros, K. Cho, A. Courville, R. Salakhutdinov, R. S. Zemel and Y. Bengio, “Show, Attend and tell: neural image caption generation with visual attention,” Proc. ICML, vol. 37, pp. 2048-2057, 2015.
非特許文献４には、キャプションを生成する際に画像のどこに注目しているのかを明らかにする技術であって、画像のキャプショニングの際に重要となる箇所をヒートマップとして取得する技術が開示されている。
具体例としては、後述する図４Ａで示される画像データを入力することにより、後述する図６で示すデータに近いヒートマップが出力として得られる。色の濃い部分が「１」に近い値を有し、色が薄い部分が「０」に近い値を有するヒートマップが出力として得られる。
【００２２】
さらに、領域抽出部１０３は、以下に示す非特許文献５に開示された、ＲＩＳＥ(Randomized Input Sampling for Explanation)の手法を適用してもよい。
・非特許文献５
V. Petsiuk, A. Das, K. Saenko, “RISE: Randomized Input Sampling for Explanation of Black-box Models,” arXiv:1806.07421v3, 2018.
非特許文献５には、注目したクラスにおいて、推論に寄与する領域をヒートマップとして取得する技術が開示されている。
具体例としては、後述する図４Ａで示される画像データを入力することにより、後述する図６で示すデータに近いヒートマップが出力として得られる。色の濃い部分が「１」に近い値を有し、色が薄い部分が「０」に近い値を有するヒートマップが出力として得られる。
【００２３】
次に、特徴画像取得部１０４は、上述した非特許文献２に開示されたGuided Backpropagationの手法を適用し、入力データ上の特徴を抽出する。また、特徴画像取得部１０４は、以下に示す非特許文献６に開示された、deconvolution networkの手法を適用して、推論結果を逆伝搬する際に順伝搬の際のpooling層の情報も用いて、画像上の特徴を抽出してもよい。
・非特許文献６
M. D. Zeiler and R. Fergus, “Visualizing and understanding convolutional networks,” ECCV, pp. 818‐833, 2014.
特徴画像取得部１０４として、さらにニューラルネットワーク１０１の情報を用いない、バイラテラルフィルタ、メディアンフィルタ、ガウシアンフィルタ、プリューウィットフィルタまた鮮鋭化フィルタ等を適用してもよい。
【００２４】
次に、情報処理装置１００の処理動作について説明する。
図３は、実施の形態１に係る情報処理装置１００の動作を示すフローチャートである。
入力データが入力されると（ステップＳＴ１）、計算部１０２のニューラルネットワーク１０１は入力データの認識処理を行い、入力データのクラス分類を行う（ステップＳＴ２）。計算部１０２は、ステップＳＴ２のクラス分類の結果を推論結果として、領域抽出部１０３および特徴画像取得部１０４に出力する。領域抽出部１０３は、計算部１０２から入力された推論結果で示されたクラスの推論に寄与した領域を入力データから抽出する（ステップＳＴ３）。領域抽出部１０３は、ステップＳＴ３で抽出した領域を乗算部１０５に出力する。
【００２５】
特徴画像取得部１０４は、計算部１０２から入力された推論結果に対する特徴を入力データから抽出し、特徴画像を取得する（ステップＳＴ４）。特徴画像取得部１０４は、取得した特徴画像を乗算部１０５に出力する。乗算部１０５は、領域抽出部１０３から入力された抽出された領域と、特徴画像取得部１０４から入力された特徴画像とを乗算する（ステップＳＴ５）。乗算部１０５は、ステップＳＴ５の乗算処理により得られた、ニューラルネットワーク１０１の推論結果が示すクラスの推論に寄与した領域の特徴量を可視化部１０６に出力する（ステップＳＴ６）。可視化部１０６は、乗算部１０５から入力された特徴量を画像化して表示装置等表示する制御を行う（ステップＳＴ７）。その後、処理は終了する。
【００２６】
次に、図４から図９の具体例を参照しながら、図３のフローチャートの各処理について説明する。以下では、入力データとして、海上の船舶を撮像した画像データが入力される場合を例に説明を行う。また、ニューラルネットワーク１０１が、船舶を分類する場合を例に説明するが、入力データが画像データであり、クラス分類を行う場合であれば、船舶に限定されるものではなく種々の対象に適用可能である。
以下では、クラス分類として、貨物船、旅客船、小型船およびタグボートの４種類の船舶を分類する場合を例に説明する。貨物船、旅客船、小型船およびタグボート、それぞれの船舶の種類をクラスと呼ぶ。
【００２７】
まず、図４を参照し、各クラスの特徴について説明する。
図４は、実施の形態１に係る情報処理装置１００のニューラルネットワーク１０１が分類する各クラスの画像データの一例を示す図である。
図４Ａはクラスが貨物船、図４Ｂはクラスが旅客船、図４Ｃはクラスが小型船、図４Ｄはクラスがタグボートである場合の画像データを示している。
図４Ａに示すように、貨物船Ｐの画像データは、貨物を示す領域Ｐａが存在するという特徴を有している。
図４Ｂに示すように、旅客船Ｑの画像データは、貨物が存在せず、船橋を示す領域Ｑａの色が異なるという特徴を有している。
図４Ｃに示すように、小型船Ｒの画像データは、貨物が存在せず、船舶全体が同一色で構成されているという特徴を有している。
図４Ｄに示すように、タグボートＳの画像データは、貨物が存在せず、牽引される船Ｓａと海が全体的に写っているという特徴を有している。
【００２８】
次に、図３のフローチャートの各処理を、具体例を参照しながら説明する。
ステップＳＴ１として、情報処理装置１００には、例えば図４Ａで示した画像データが入力データとして入力される。ステップＳＴ２として、計算部１０２のニューラルネットワーク１０１は、入力データの認識処理を行い、貨物船にクラス分類した推論結果を得る。詳細には、ニューラルネットワーク１０１は、入力データの認識処理を行い、貨物船、旅客船、小型船またはタグボートの各クラスとなる確率を算出する。ニューラルネットワーク１０１は、入力データに対して、確率が最大になるクラスを、推論結果のクラスとする。
【００２９】
ステップＳＴ３として、領域抽出部１０３は、計算部１０２から入力された推論結果「貨物船」で示されたクラスの推論に寄与した領域を入力データから抽出する。
図５は、実施の形態１に係る情報処理装置１００の領域抽出部１０３の抽出結果を示す図である。図５Ａは、領域抽出部１０３が非特許文献１に開示されたＬＩＭＥの手法を適用し、推論結果「貨物船」で示されたクラスの推論に寄与した領域を抽出した場合を示している。次に、「貨物船」のクラスに対比するクラス例として「旅客船」を例に挙げる。
図５Ｂは、領域抽出部１０３が非特許文献１に開示されたＬＩＭＥの手法を適用し、「旅客船」で示されたクラスの推論に寄与した領域を抽出した場合を示している。
【００３０】
ＬＩＭＥの手法では、注目したクラスの推論に寄与する領域を抽出する。領域抽出部１０３は、注目したクラスの推論に寄与する領域と、注目したクラスの推論に寄与しない領域とを、２値のマスク（０，１）の値として取得する。領域抽出部１０３は、入力データと、取得したマスク値を掛け合わせることにより、図５Ａまたは図５Ｂで示した画像を得る。図５Ａおよび図５Ｂにおいて、黒色の領域は、マスク処理された領域であり、注目したクラスの推論に寄与しない領域を示している。
【００３１】
図５Ａでは、図４Ａで示した入力データに対して、注目したクラス「貨物船」の推論に寄与する領域として、貨物船Ｐ自体の領域および海の領域Ｔが抽出されている。貨物船Ｐから離れた、波を含む海の領域Ｔａは、注目したクラス「貨物船」の推論への影響が小さいことから、マスク処理され黒色の領域となっている。
【００３２】
図５Ｂでは、図４Ａで示した入力データに対して、注目したクラス「旅客船」の推論に寄与する領域が抽出されている。図４Ａで示した入力データは貨物船であるため、貨物を示す領域Ｐａが存在する。しかし、旅客船には貨物は存在しないため、図５Ｂに示すように貨物を示す領域Ｐｂがマスク処理されて黒色の領域となっている。
【００３３】
図６は、実施の形態１に係る情報処理装置１００の領域抽出部１０３がその他の手法に基づいて、注目したクラスの推論に寄与する領域を抽出した場合の例を示す図である。
領域抽出部１０３が非特許文献１に開示されたＬＩＭＥの手法に替えて、非特許文献３、非特許文献４または非特許文献５の手法を適用した場合、注目したクラスの推論に寄与した領域としてヒートマップが得られる。そのため、図４Ａで示した入力データに対して、注目したクラス「貨物船」の推論に寄与した領域として、図６で示すようなグラデーション値で示された情報が得られる。
【００３４】
図６において、例えば、色が濃い領域のグラデーション値は「１」に近い値、色が薄い領域のグラデーション値は「０」に近い値を保持している。グラデショーション値が「１」に近い領域は注目すべき船舶が存在するといえる。
非特許文献１に開示された手法と、非特許文献３−５に開示された手法との違いは、（０，１）の２値で表すマスク処理であるか、０から１のグラデーション値で表すヒートマップ化であるかの違いである。
【００３５】
図３のフローチャートの各処理の説明に戻る。
ステップＳＴ４として、特徴画像取得部１０４は、計算部１０２から入力された推論結果に対する特徴を、入力データから抽出して特徴画像を取得する。
図７は、実施の形態１に係る情報処理装置１００の特徴画像取得部１０４の抽出結果を示す図である。
具体的には、図７は、特徴画像取得部１０４が非特許文献２に開示されたGuided Backpropagationの手法を適用し、推論結果「貨物船」に対する特徴を抽出した特徴画像である。特徴画像取得部１０４は、推論結果「貨物船」を逆伝搬する際に、順伝搬の際のpooling層の情報も用いることによって、入力データの特徴を抽出する。これにより、図４Ａで示した入力データにおいて、海等の背景の情報ではなく、画像中の重要な特徴を取得する。図７の例では、背景を示す領域Ｘｂにおいて、波を示す領域Ｘｃは重要な情報となるため一部が特徴として抽出される。しかし、船舶を示す領域Ｘａと背景を示す領域Ｘｂとを比較すると、推論結果に関して重要となる船舶を示す領域Ｘａの領域をハイコントラストで示した特徴画像を得ることができる。
【００３６】
ステップＳＴ５として、乗算部１０５は、図５Ａで示した領域抽出部１０３から入力された抽出された領域と、図７で示した特徴画像取得部１０４から入力された特徴画像とのアダマール積を取る。
図８は、実施の形態１に係る情報処理装置１００の乗算部１０５の乗算結果を示す図である。
図８は、乗算部１０５がアダマール積を取ることにより得られた、ニューラルネットワーク１０１の推論結果が示すクラスの推論に寄与した領域の特徴量を示している。即ち、ニューラルネットワーク１０１が「貨物船」と推論した根拠を示している。図８の例では、領域の特徴量として船舶全体が示されていることから、ニューラルネットワーク１０１が船舶全体を根拠として「貨物船」と推論したことを示している。
【００３７】
図９は、図８の対比例を示すである。
図９は、乗算部１０５が、図５Ｂで示した領域抽出部１０３から入力された抽出された領域と、図７で示した特徴画像取得部１０４から入力された特徴画像とのアダマール積を取ることにより得られた領域の特徴量を示している。即ち、ニューラルネットワーク１０１が「旅客船」と推論した場合の根拠を示している。図９の例では、ニューラルネットワーク１０１が推論結果「旅客船」とした場合の根拠として、船舶を示す領域Ｘａの貨物を示す領域Ｘｄ以外の領域全体を抽出している。これは、クラスが「旅客船」である場合、当該旅客船は貨物を積載しないことから、貨物を示す領域Ｘｄが旅客船らしくないためである。
【００３８】
また、図８および図９では、それぞれ背景である海の領域の情報を削ぎ落し、各クラスの推論に寄与する重要な特徴量のみが示されている。
【００３９】
再び、図３のフローチャートの各処理の説明に戻る。
ステップＳＴ６として、乗算部１０５は、図８で示したニューラルネットワーク１０１の推論結果が示すクラスの推論に寄与した領域の特徴量を可視化部１０６に出力する。ステップＳＴ７として、可視化部１０６は、図８で示された特徴量を画像化して表示装置等表示する制御を行う。
【００４０】
上述した処理に加えて、領域抽出部１０３は抽出した領域を示す情報をニューラルネットワーク１０１にフィードバックし、特徴画像取得部１０４は取得した特徴画像をニューラルネットワーク１０１にフィードバックする処理を行ってもよい。
【００４１】
以上のように、この実施の形態１によれば、ニューラルネットワーク１０１が入力データに対して認識処理を行って入力データのクラス分類を行い、得られたクラス分類の結果を推論結果として導出する計算部１０２と、導出された推論結果で示された注目したクラスの推論に寄与した領域を、入力データから抽出する領域抽出部１０３と、導出された推論結果に基づいて、入力データから特徴を抽出して特徴画像を取得する特徴画像取得部１０４と、抽出された領域と、取得された特徴画像とを乗算する乗算部１０５とを備えるように構成した。
これにより、ニューラルネットワークによる推論に寄与した判断根拠として、注目したクラスの特徴量を抽出することができる。
【００４２】
また、この実施の形態１によれば、領域抽出部１０３が、入力データに対して注目するクラスの推論に寄与する領域であるか否か判定を行い、入力データに対するマスク値を得るように構成した。
これにより、入力データにおいてクラスの推論に寄与しない領域をマスクすることができる。
【００４３】
また、この実施の形態１によれば、乗算部１０５の乗算結果を表示する制御を行う可視化部１０６を備えるように構成した。
これにより、入力データにおいてクラスの推論に寄与する領域を、ユーザに対して視覚的に容易に認識可能に表示することができる。
【００４４】
上述した実施の形態１では、入力データに１種類の船舶が存在する場合を例に示したが、入力データに２種類以上の船舶が存在する場合にも適用可能である。これにより、複数種類の船舶ごとに、クラスの特徴量を抽出することができる。
【００４５】
実施の形態２．
この実施の形態２では、注目したあるクラスには属するが、他のクラスには属さない特徴量を抽出する構成を示す。
図１０は、実施の形態２に係る情報処理装置１００Ａの構成を示すブロック図である。
実施の形態２の情報処理装置１００Ａは、実施の形態１で示した情報処理装置１００に減算部１０７を追加して設けている。また、実施の形態１で示した情報処理装置１００の領域抽出部１０３に第１の抽出部１０３ａおよび第２の抽出部１０３ｂを追加して設けている。また、実施の形態１で示した情報処理装置１００の乗算部１０５に替えて乗算部１０５ａを設けて構成している。なお、以下では、実施の形態１に係る情報処理装置１００の構成要素と同一または相当する部分には、実施の形態１で使用した符号と同一の符号を付して説明を省略または簡略化する。
【００４６】
第１の抽出部１０３ａは、クラス分類の対象となるクラスの中から注目すると決定したクラス（以下、第１のクラスという）の推論に寄与する領域を、入力データから抽出する。第２の抽出部１０３ｂは、第１のクラスに対して分類比較対象として定めたクラス（以下、第２のクラスという）の推論に寄与する領域を、入力データから抽出する。第２の抽出部１０３ｂは、第１のクラスに基づいて、予め蓄積されたクラス分類を参照し、第２のクラスを決定する。第１のクラスと第２のクラスとは、それぞれ異なるクラスである。
【００４７】
具体的には、第１の抽出部１０３ａは、第１のクラスの推論に寄与する領域と、第１のクラスの推論に寄与しない領域とを区別する２値のマスク値（例えば（０，１）の値）を得る。領域抽出部１０３は、得たマスク値に基づいて、入力データに対してマスク処理を行い、第１のクラスの推論に寄与しない領域をマスクする。同様に、第２の抽出部１０３ｂは、第２のクラスの推論に寄与する領域と、第２のクラスの推論に寄与しない領域とを区別する２値のマスク値（例えば（０，１）の値）を得る。領域抽出部１０３は、得たマスク値に基づいて、入力データに対してマスク処理を行い、第２のクラスの推論に寄与しない領域をマスクする。第１の抽出部１０３ａおよび第２の抽出部１０３ｂは、それぞれ抽出した領域を減算部１０７に出力する。
【００４８】
第１の抽出部１０３ａおよび第２の抽出部１０３ｂは、実施の形態１で示した非特許文献１、非特許文献３−５に開示された手法を適用可能である。第１の抽出部１０３ａおよび第２の抽出部１０３ｂがマスク処理を行う場合、オープニングクロージングを行い、穴埋め、ノイズ除去を行ってもよい。また、第１の抽出部１０３ａおよび第２の抽出部１０３ｂがヒートマップを用いる場合、正の値のみ採用する、一定値以上のみを採用する、すべての値を採用する等、抽出条件を適宜設定可能である。
【００４９】
減算部１０７は、第１の抽出部１０３ａが抽出した第１のクラスの推論に寄与する領域から、第２の抽出部１０３ｂが抽出した第２のクラスの推論に寄与する領域を減算する。減算部１０７は、減算処理により、第１のクラスに属するが、第２のクラスに属さない領域である、差分領域を取得する。減算部１０７は、取得した差分領域を乗算部１０５ａに出力する。
具体的に、減算部１０７は、第１のクラスの推論に寄与する領域と第２のクラスの推論に寄与する領域とに基づいて、ピクセル単位で差集合を取る、またはピクセル単位で単純な差分を取る等の処理を行う。また、第１の抽出部１０３ａおよび第２の抽出部１０３ｂがヒートマップを取得している場合、予め差分の閾値を設定し、減算部１０７は、当該閾値よりも小さい値の差分を考慮しない構成としてもよい。
【００５０】
乗算部１０５ａは、減算部１０７から入力された差分領域と、特徴画像取得部１０４が取得した特徴画像とを乗算する。乗算部１０５ａは、乗算処理により、第１のクラスの推論に寄与する領域であって、第２のクラスの推論に寄与しない領域の特徴量を算出する。
【００５１】
上述した説明では、減算部１０７で差分領域を取得した後、乗算部１０５ａにおいて差分領域と、特徴画像取得部１０４が取得した特徴画像とを乗算する構成を示したが、当該構成に限定されるものではない。例えば、減算部１０７は、第１の抽出部１０３ａが抽出した第１のクラスの推論に寄与する領域と特徴画像取得部１０４が取得した特徴画像とを乗算した特徴量から、第２の抽出部１０３ｂが抽出した第２のクラスの推論に寄与する領域と特徴画像取得部１０４が取得した特徴画像とを乗算した特徴量を減算する構成としてもよい。
【００５２】
次に、情報処理装置１００Ａのハードウェア構成例を説明する。なお、実施の形態２の情報処理装置１００Ａのハードウェア構成例を示す図は、実施の形態１で示した図２Ａおよび図２Ｂと同一であることから、図示を省略する。また、実施の形態１と同一の構成の説明も省略する。
情報処理装置１００Ａにおける第１の抽出部１０３ａ、第２の抽出部１０３ｂ、乗算部１０５ａおよび減算部１０７は、図２Ａに示すように専用のハードウェアである処理回路１００ａであってもよいし、図２Ｂに示すようにメモリ１００ｃに格納されているプログラムを実行するプロセッサ１００ｂであってもよい。
【００５３】
また、図２Ｂに示すように、第１の抽出部１０３ａ、第２の抽出部１０３ｂ、乗算部１０５ａおよび減算部１０７がプロセッサ１００ｂである場合、第１の抽出部１０３ａ、第２の抽出部１０３ｂ、乗算部１０５ａおよび減算部１０７の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ１００ｃに格納される。プロセッサ１００ｂは、メモリ１００ｃに記憶されたプログラムを読み出して実行することにより、第１の抽出部１０３ａ、第２の抽出部１０３ｂ、乗算部１０５ａおよび減算部１０７の機能を実現する。即ち、第１の抽出部１０３ａ、第２の抽出部１０３ｂ、乗算部１０５ａおよび減算部１０７は、プロセッサ１００ｂにより実行されるときに、後述する図１１に示す各ステップが結果的に実行されることになるプログラムを格納するためのメモリ１００ｃを備える。また、これらのプログラムは、第１の抽出部１０３ａ、第２の抽出部１０３ｂ、乗算部１０５ａおよび減算部１０７の手順または方法をコンピュータに実行させるものであるともいえる。
【００５４】
なお、第１の抽出部１０３ａ、第２の抽出部１０３ｂ、乗算部１０５ａおよび減算部１０７の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。このように、情報処理装置１００Ａにおける処理回路１００ａは、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
【００５５】
次に、実施の形態２に係る情報処理装置１００Ａの動作について説明する。
図１１は、実施の形態２に係る情報処理装置１００Ａの動作を示すフローチャートである。
図１１において、図３で示した実施の形態１のフローチャートと同一のステップには同一の符号を付し、説明を省略する。
ニューラルネットワーク１０１が入力データのクラス分類を行うと（ステップＳＴ２）、計算部１０２は、ステップＳＴ２のクラス分類の結果を推論結果として、領域抽出部１０３および特徴画像取得部１０４に出力する。
【００５６】
領域抽出部１０３の第１の抽出部１０３ａは、クラス分類の対象となるクラスの中から注目すると決定した第１のクラスの推論に寄与した領域を入力データから抽出する（ステップＳＴ１１）。第２の抽出部１０３ｂは、第１のクラスに対して分類比較対象として定めた第２のクラスの推論に寄与した領域を入力データから抽出する（ステップＳＴ１２）。領域抽出部１０３は、ステップＳＴ１１で抽出した第１のクラスの推論に寄与する領域と、ステップＳＴ１２で抽出した第２のクラスの推論に寄与する領域とを減算部１０７に出力する。減算部１０７は、第１の抽出部１０３ａが抽出した第１のクラスの推論に寄与する領域から、第２の抽出部１０３ｂが抽出した第２のクラスの推論に寄与する領域を減算し、差分領域を取得する（ステップＳＴ１３）。減算部１０７は、取得した差分領域を乗算部１０５ａに出力する。
【００５７】
特徴画像取得部１０４は、計算部１０２から入力された推論結果に対する特徴を入力データから抽出し、特徴画像を取得する（ステップＳＴ４）。特徴画像取得部１０４は、取得した特徴画像を乗算部１０５ａに出力する。乗算部１０５ａは、減算部１０７から入力された差分領域と、特徴画像取得部１０４から入力された特徴画像とを乗算する（ステップＳＴ１４）。乗算部１０５ａは、ステップＳＴ１４の乗算処理により得られた、第１のクラスの推論に寄与する領域であって、第２のクラスの推論に寄与しない領域の特徴量を可視化部１０６に出力する（ステップＳＴ１５）。可視化部１０６は、乗算部１０５ａから入力された特徴量を画像化して表示装置等表示する制御を行う（ステップＳＴ７）。
その後、処理は終了する。
【００５８】
次に、図４、図５、図１２から図１４の具体例を参照しながら、図１１のフローチャートの各処理について説明する。
実施の形態１と同様に、入力データとして、海上の船舶を撮像した画像データが入力されるものとする。また、実施の形態１と同様に、クラス分類として、貨物船、旅客船、小型船およびタグボートの４種類の船舶を分類する場合を例に説明する。さらに、第１のクラスとして「貨物船」の推論に寄与した領域を抽出し、第２のクラスとして「旅客船」の推論に寄与した領域を抽出するものとして説明する。
【００５９】
ステップＳＴ１１として、第１の抽出部１０３ａは、クラス分類の対象となるクラスの中から注目すると決定した第１のクラスの推論に寄与した領域、例えば実施の形態１の図５Ａで示した領域を、入力データから抽出する。ステップＳＴ１２として、第２の抽出部１０３ｂは、第１のクラスに対して分類比較対象として定めた第２のクラスの推論に寄与した領域を、例えば実施の形態１の図５Ｂで示した領域を、入力データから抽出する。      
【００６０】
ステップＳＴ１３として、減算部１０７は図５Ａで示した領域から、図５Ｂで示した領域を減算して差集合を取り、差分領域を取得する。ステップＳＴ４として、特徴画像取得部１０４は、計算部１０２から入力された推論結果に対する特徴を、入力データから抽出して特徴画像を取得する。例えば、特徴画像取得部１０４は、図７で示した特徴画像を取得する。
【００６１】
ステップＳＴ１４として、乗算部１０５ａは、図５Ａで示した領域から図５Ｂで示した領域を減算した差分領域と、図７で示した特徴画像取得部１０４から入力された特徴画像とのアダマール積を取る。
図１２は、実施の形態２に係る情報処理装置１００Ａの乗算部１０５ａの乗算結果を示す図である。
具体的には、図１２は、乗算部１０５ａのアダマール積を取ることにより得られた、第１のクラス「貨物船」の推論に寄与する領域であって、第２のクラス「旅客船」の推論に寄与しない領域の特徴量を示している。図１２では、貨物船の特徴であるが、旅客船の特徴でない、貨物を示す領域Ｘｅが示されている。即ち、貨物船であって、旅客船でない根拠が示されている。
【００６２】
上述した減算部１０７が図５Ｂで示した領域から、図５Ａで示した領域を減算した処理の比較として、減算部１０７が図５Ｂで示した領域から、図５Ａで示した領域を減算した場合について説明する。減算部１０７は、図５Ｂで示した領域から、図５Ａで示した領域を減算して差集合を取り、差分領域を取得する。
【００６３】
乗算部１０５ａは、図５Ｂで示した領域から図５Ａで示した領域を減算した差分領域と、図７で示した特徴画像取得部１０４から入力された特徴画像とのアダマール積を取る。
図１３は、図１２の比較例を示す図である。
図１３は、乗算部１０５ａのアダマール積を取ることにより得られた、第２のクラス「旅客船」の推論に寄与した領域であって、第１のクラス「貨物船」の推論に寄与しない領域の特徴量を示す。即ち、旅客船の特徴であって、貨物船の特徴でない領域が示されている。図１３では、波を示す領域Ｘｆ以外の部分が示されていない。
図１２と図１３を比較すると、入力データにおいて、貨物船と比較して、旅客船は旅客船らしさの観点から優位な点が存在しないことがわかる。よって、入力データが、旅客船よりも貨物船らしいということが分かる。
【００６４】
図５Ｂで示した領域から図５Ａで示した領域を減算する場合に、減算部１０７が、差集合ではなく差分を取り、差分領域を取得してもよい。また、可視化部１０６において、特徴量を示す表示条件を調整することにより、図１４に示すような特徴量を示す図が得られる。
図１４は、図１２の比較例を示す図であって、その他の表示例を示す図である。
図１４において、要素として欠けている部分は負の要素となり、補色として抽出される。これによって、貨物を示す領域Ｘｇが補色で表示され、旅客船の特徴と貨物船の特徴との差分として、貨物部分が大きいことが分かる。なお、図１４で示した特徴量を示す図を得る場合、入力データの元の色を把握しておき、第１のクラスと第２のクラスのどちらの要素が抽出されているか区別する必要がある。
【００６５】
なお、上述した説明では、減算部１０７が、減算処理により、第１のクラスに属する領域であって、第２のクラスに属さない領域である、差分領域を取得したのち、乗算部１０５ａによる乗算処理を行う構成を示した。しかし、上述した構成に限定されるものではなく、乗算部１０５ａが第１の抽出部１０３ａから入力された領域と、特徴画像取得部１０４が取得した特徴画像とを乗算し、第２の抽出部１０３ｂから入力された領域と、特徴画像取得部１０４が取得した特徴画像とを乗算した後、２つの乗算結果を減算する構成としてもよい。
【００６６】
以上のように、この実施の形態２によれば、領域抽出部１０３は、入力データからクラス分類の対象となるクラスの中から注目すると決定した第１のクラスの推論に寄与した領域を抽出する第１の抽出部１０３ａと、入力データから第１のクラスに対して分類比較対象として定めた第２のクラスの推論に寄与した領域を抽出する第２の抽出部１０３ｂとを有し、第１の抽出部１０３ａが抽出した領域から第２の抽出部１０３ｂが抽出した領域を減算し、差分領域を取得する減算部１０７を備え、乗算部１０５ａが、取得された差分領域と、取得された特徴量とを乗算し、計算部１０２が導出した推論結果における、注目した第１のクラスの推論に寄与する領域であって、第２のクラスの推論に寄与しない領域の特徴量を算出するように構成した。
これにより、ニューラルネットワークによる推論に寄与した判断根拠として、注目したクラスではあるが、他のクラスではないことを示す特徴量を抽出することができる。
【００６７】
上述した実施の形態１および実施の形態２では、情報処理装置１００，１００Ａがニューラルネットワーク１０１を備えた構成を示したが、ニューラルネットワーク１０１は、外部の装置またはシステムが備える構成としてもよい。その場合、情報処理装置１００，１００Ａは、計算部１０２が外部よりニューラルネットワーク１０１の推論結果を取得すればよい。
【００６８】
上記以外にも、本発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００６９】
この発明に係る情報処理装置は、ニューラルネットワークが行ったクラス分類に対して、ニューラルネットワークの判断根拠を示す情報を取得する装置等に適用するのが好ましい。
【符号の説明】
【００７０】
１００，１００Ａ  情報処理装置、１０１  ニューラルネットワーク、１０２  計算部、１０３  領域抽出部、１０３ａ  第１の抽出部、１０３ｂ  第２の抽出部、１０４  特徴画像取得部、１０５，１０５ａ  乗算部、１０６  可視化部、１０７  減算部。
【図１】
0006968314.tif 000002
【図２】
0006968314.tif 000003
【図３】
0006968314.tif 000004
【図４】
0006968314.tif 000005
【図５】
0006968314.tif 000006
【図６】
0006968314.tif 000007
【図７】
0006968314.tif 000008
【図８】
0006968314.tif 000009
【図９】
0006968314.tif 000010
【図１０】
0006968314.tif 000011
【図１１】
0006968314.tif 000012
【図１２】
0006968314.tif 000013
【図１３】
0006968314.tif 000014
【図１４】
0006968314.tif 000015