(57)【特許請求の範囲】
【請求項１】
入力データと前記入力データの一部領域を隠すためのマスクとを合成して前記入力データの前記一部領域が隠された合成データを得る合成部と、
前記合成データと学習済みの第１のニューラルネットワークとに基づいて推論値を出力する推論部と、
前記入力データの正解値を用いて前記推論値を評価して評価結果を得る評価部と、
複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第１のニューラルネットワークの重みパラメータおよび前記マスクの更新を行う更新部と、
を備え、
前記更新部は、第１の条件が満たされた場合に、前記更新の対象を前記マスクから前記第１のニューラルネットワークの重みパラメータに切り替える、
情報処理装置。
【請求項２】
前記更新部は、第２の条件が満たされた場合に、前記更新の対象を前記第１のニューラルネットワークの重みパラメータから前記マスクに切り替える、
請求項１に記載の情報処理装置。
【請求項３】
前記評価部は、前記正解値と前記推論値とに応じた損失関数を前記評価結果として算出し、
前記更新部は、前記損失関数に基づいて前記第１のニューラルネットワークの重みパラメータおよび前記マスクの少なくともいずれか一方の更新を行う、
請求項１または２に記載の情報処理装置。
【請求項４】
前記第１の条件は、前記損失関数の値または前記損失関数の値の変化が閾値よりも小さいという条件を含む、
請求項３に記載の情報処理装置。
【請求項５】
前記第１の条件は、前記マスクの更新が所定の回数行われたという条件を含む、
請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
前記情報処理装置は、入力データと重みパラメータに初期値が設定された第２のニューラルネットワークとに基づいて前記マスクを生成するマスク生成部を備える、
請求項１〜５のいずれか一項に記載の情報処理装置。
【請求項７】
前記更新部は、更新の対象に前記マスクが設定された場合、前記評価結果に基づいて前記第２のニューラルネットワークの重みパラメータを更新し、前記重みパラメータが更新された後の前記第２のニューラルネットワークと入力データとに基づいて前記マスクを更新する、
請求項６に記載の情報処理装置。
【請求項８】
前記更新部は、更新の対象に前記マスクが設定された場合、前記マスクを更新する、
請求項１〜５のいずれか一項に記載の情報処理装置。
【請求項９】
前記複数の入力データは、前記第１のニューラルネットワークの学習に用いられた入力データを含む、
請求項１〜８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記マスクは、前記一部領域内に対応する位置に第１の値が設定され、前記一部領域外に対応する位置に前記第１の値とは異なる第２の値が設定された２値データである、
請求項１〜９のいずれか一項に記載の情報処理装置。
【請求項１１】
入力データと前記入力データの一部領域を隠すためのマスクとを合成して前記入力データの前記一部領域が隠された合成データを得ることと、
前記合成データと学習済みの第１のニューラルネットワークとに基づいて推論値を出力することと、
前記入力データの正解値を用いて前記推論値を評価して評価結果を得ることと、
複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第１のニューラルネットワークの重みパラメータおよび前記マスクの更新を行うことと、
を含み、
前記第１のニューラルネットワークの重みパラメータおよび前記マスクの更新を行うことは、第１の条件が満たされた場合に、前記更新の対象を前記マスクから前記第１のニューラルネットワークの重みパラメータに切り替えることを含む、
情報処理方法。
【請求項１２】
コンピュータを、
入力データと前記入力データの一部領域を隠すためのマスクとを合成して前記入力データの前記一部領域が隠された合成データを得る合成部と、
前記合成データと学習済みの第１のニューラルネットワークとに基づいて推論値を出力する推論部と、
前記入力データの正解値を用いて前記推論値を評価して評価結果を得る評価部と、
複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第１のニューラルネットワークの重みパラメータおよび前記マスクの更新を行う更新部と、
を備え、
前記更新部は、第１の条件が満たされた場合に、前記更新の対象を前記マスクから前記第１のニューラルネットワークの重みパラメータに切り替える、
情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
一般に、今日の画像認識などにおいて高い性能を有する多層ニューラルネットワークは、膨大なパラメータと複雑なモデルとによって構成されている。しかし、この種の機械学習によるシステムは、優れた性能を示す一方、ネットワークの出力の判断根拠の解釈が難しいという課題があった。この課題を解決するため、ニューラルネットワークの説明性を向上させる手法が幾つか提案されている。なお、ニューラルネットワークの説明性は、ニューラルネットワークへの入力データのどの特徴がニューラルネットワークによる予測または認識に重要であるのかに関する理解のしやすさであり得る。
【０００３】
例えば、非特許文献１に記載の手法は、学習済みの畳み込みニューラルネットワークに対し、疑似的な学習データを大量に用意し、その入出力の関係を決定木で模倣する手法である。決定木モデルは説明性の高い機械学習であるため、ニューラルネットワークの入出力の関係を決定木で模倣することにより、説明性を向上させることができる。
【０００４】
非特許文献２に記載の手法は、畳み込みニューラルネットワークの内部構造を、決定木を用いて分解し、各層の畳み込みフィルタと出力結果との関連度を計算することで、畳み込みニューラルネットワークの説明性を向上させる手法である。
【０００５】
特許文献１に記載の手法は、ニューラルネットワークの不要なニューロンを削除してニューラルネットワークのパラメータ数を抑制することにより、ニューラルネットワークの説明性を向上させる手法である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−３０６２２号公報
【非特許文献】
【０００７】
【非特許文献１】Leo Breiman、他1名、"BORN AGAIN TREES"、[online]、［令和1年6月26日検索］、インターネット＜https://www.stat.berkeley.edu/users/breiman/BAtrees.pdf＞
【非特許文献２】Quanshi Zhang、他3名、"InterpretingCNNs via Decision Trees"、[online]、2018年、［令和1年6月26日検索］、インターネット＜https://arxiv.org/pdf/1802.00121.pdf＞
【非特許文献３】Olaf Ronneberger、他2名、"U-Net:Convolutional Networks for Biomedical Image Segmentation"、[online]、2015年、［令和1年6月26日検索］、インターネット＜https://arxiv.org/pdf/1505.04597.pdf＞
【非特許文献４】Daniel Smilkov、他4名、"SmoothGrad:removingnoise by adding noise"[online]、2017年、［令和1年6月26日検索］、インターネット＜https://arxiv.org/pdf/1706.03825.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献１および非特許文献２それぞれに記載の手法には、精度劣化の可能性がある。ニューラルネットワークは膨大なパラメータと複雑な処理によって高い精度を達成しているため、決定木モデルでは表現できない処理が存在する。そのため、決定木モデルでニューラルネットワークと同等の精度を維持することは難しく、精度を維持することが課題となっている。
【０００９】
特許文献１に記載の手法は、ニューロンを削除し、ニューロン同士の結合数を減らすことによって説明性を向上させる手法である。しかし、かかる手法では、新たにモデルを学習する必要があるため、かかる手法は、既に学習済みのニューラルネットワークモデルに適用され得ない。また、特許文献１に記載の手法では、ニューロン同士の結合部ごとの学習が必要になるため、かかる手法には、規模の大きいニューラルネットワークへの適用が難しいという課題がある。
【００１０】
そこで、適用可能なニューラルネットワークが限定されることを抑制し、ニューラルネットワークによる出力の精度劣化を抑制しつつ、ニューラルネットワークの説明性を向上させることを可能とする技術が提供されることが望まれる。
【課題を解決するための手段】
【００１１】
上記問題を解決するために、本発明のある観点によれば、入力データと前記入力データの一部領域を隠すためのマスクとを合成して前記入力データの前記一部領域が隠された合成データを得る合成部と、前記合成データと学習済みの第１のニューラルネットワークとに基づいて推論値を出力する推論部と、前記入力データの正解値を用いて前記推論値を評価して評価結果を得る評価部と、複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第１のニューラルネットワークの重みパラメータおよび前記マスクの更新を行う更新部と、を備え、前記更新部は、第１の条件が満たされた場合に、前記更新の対象を前記マスクから前記第１のニューラルネットワークの重みパラメータに切り替える、情報処理装置が提供される。
【００１３】
前記更新部は、第２の条件が満たされた場合に、前記更新の対象を前記第１のニューラルネットワークの重みパラメータから前記マスクに切り替えてもよい。
【００１４】
前記評価部は、前記正解値と前記推論値とに応じた損失関数を前記評価結果として算出し、前記更新部は、前記損失関数に基づいて前記第１のニューラルネットワークの重みパラメータおよび前記マスクの少なくともいずれか一方の更新を行ってもよい。
【００１５】
前記第１の条件は、前記損失関数の値または前記損失関数の値の変化が閾値よりも小さいという条件を含んでもよい。
【００１６】
前記第１の条件は、前記マスクの更新が所定の回数行われたという条件を含んでもよい。
【００１７】
前記情報処理装置は、入力データと重みパラメータに初期値が設定された第２のニューラルネットワークとに基づいて前記マスクを生成するマスク生成部を備えてもよい。
【００１８】
前記更新部は、更新の対象に前記マスクが設定された場合、前記評価結果に基づいて前記第２のニューラルネットワークの重みパラメータを更新し、前記重みパラメータが更新された後の前記第２のニューラルネットワークと入力データとに基づいて前記マスクを更新してもよい。
【００１９】
前記更新部は、更新の対象に前記マスクが設定された場合、前記マスクを更新してもよい。
【００２０】
前記複数の入力データは、前記第１のニューラルネットワークの学習に用いられた入力データを含んでもよい。
【００２１】
前記マスクは、前記一部領域内に対応する位置に第１の値が設定され、前記一部領域外に対応する位置に前記第１の値とは異なる第２の値が設定された２値データであってもよい。
【００２２】
また、本発明の別の観点によれば、入力データと前記入力データの一部領域を隠すためのマスクとを合成して前記入力データの前記一部領域が隠された合成データを得ることと、前記合成データと学習済みの第１のニューラルネットワークとに基づいて推論値を出力することと、前記入力データの正解値を用いて前記推論値を評価して評価結果を得ることと、複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第１のニューラルネットワークの重みパラメータおよび前記マスクの更新を行うことと、を含み、前記第１のニューラルネットワークの重みパラメータおよび前記マスクの更新を行うことは、第１の条件が満たされた場合に、前記更新の対象を前記マスクから前記第１のニューラルネットワークの重みパラメータに切り替えることを含む、情報処理方法が提供される。
【００２３】
また、本発明の別の観点によれば、コンピュータを、入力データと前記入力データの一部領域を隠すためのマスクとを合成して前記入力データの前記一部領域が隠された合成データを得る合成部と、前記合成データと学習済みの第１のニューラルネットワークとに基づいて推論値を出力する推論部と、前記入力データの正解値を用いて前記推論値を評価して評価結果を得る評価部と、複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第１のニューラルネットワークの重みパラメータおよび前記マスクの更新を行う更新部と、を備え、前記更新部は、第１の条件が満たされた場合に、前記更新の対象を前記マスクから前記第１のニューラルネットワークの重みパラメータに切り替える、情報処理装置として機能させるためのプログラムが提供される。
【発明の効果】
【００２４】
以上説明したように本発明によれば、適用可能なニューラルネットワークが限定されることを抑制し、ニューラルネットワークによる出力の精度劣化を抑制しつつ、ニューラルネットワークの説明性を向上させることを可能とする技術が提供される。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施形態に係る情報処理装置の機能構成例を示す図である。
【図２】同実施形態に係る情報処理装置の動作例を示すフローチャートである。
【図３】本発明の第２の実施形態に係る情報処理装置の機能構成例を示す図である。
【図４】同実施形態に係る情報処理装置の動作例を示すフローチャートである。
【図５】本発明の実施形態に係る情報処理装置の例としての情報処理装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【００２６】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２７】
また、本明細書および図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一の機能構成を有する複数の構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、異なる実施形態の類似する構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。
【００２８】
（１．第１の実施形態の詳細）
続いて、本発明の第１の実施形態の詳細について説明する。
【００２９】
（１−１．構成の説明）
まず、本発明の第１の実施形態に係る情報処理装置の構成について説明する。図１は、本発明の第１の実施形態に係る情報処理装置の機能構成例を示す図である。図１に示されるように、本発明の第１の実施形態に係る情報処理装置１０は、入力部１０１、マスク生成部１０２、合成部１０３、推論部１０４、評価部１０５および更新部１０６を備える。
【００３０】
これらのブロックは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）またはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの演算装置を含み、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）により記憶されているプログラムが演算装置によりＲＡＭに展開されて実行されることにより、その機能が実現され得る。このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、これらのブロックは、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。演算装置による演算に必要なデータは、図示しない記憶部によって適宜記憶される。
【００３１】
データセット１１１、学習済みの第１ＮＮ１１２（学習済みの第１のニューラルネットワーク）、および、第２ＮＮ１１３（第２のニューラルネットワーク）は、図示しない記憶部によって記憶されている。かかる記憶部は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ハードディスクドライブまたはフラッシュメモリなどのメモリによって構成されてよい。以下では、学習済みの第１ＮＮ１１２を単に「第１ＮＮ１１２」とも表現する。
【００３２】
第１ＮＮ１１２は、上記したように学習済みの第１のニューラルネットワークである。本発明の実施形態では、第１ＮＮ１１２の説明性を向上させることを目的の一つとする。なお、第１ＮＮ１１２の構造は特に限定されない。
【００３３】
第２ＮＮ１１３のパラメータには、初期値が設定されている。第２ＮＮ１１３のパラメータの初期値は限定されない。ここでは、第２ＮＮ１１３のパラメータの初期値の例として、Ｈｅの初期値が設定されている場合を想定する。なお、本発明の第１の実施形態では、第２ＮＮ１１３からの出力によってマスクが生成されることを想定しているため、直接的にはマスクの初期値は設定されていない。
【００３４】
なお、第２ＮＮ１１３の構造も特に限定されず、タスク（第１ＮＮ１１２が解こうとする問題）に応じた構造が自由に選択されてよい。例えば、第１ＮＮ１１２が解こうとする問題が画像データに基づく認識である場合、第２ＮＮ１１３は、上記の非特許文献３に記載されたような畳み込みニューラルネットワークであってもよい。あるいは、第２ＮＮ１１３は、全結合層が重なったニューラルネットワークであってもよい。
【００３５】
データセット１１１は、複数の入力データと当該複数の入力データそれぞれの正解値とを含んで構成される。このとき、データセット１１１は、第１のニューラルネットワークの学習に用いられたデータセットの少なくとも一部を含んでもよい。すなわち、データセット１１１は、第１のニューラルネットワークの学習に用いられた入力データと正解値との複数のセットの少なくとも一部を含んでよい。これによって、データが効率的に利用される。しかし、データセット１１１は、第１ＮＮ１１２が解こうとする問題と共通する問題を解くために用いられた他のデータセットを含んでもよい。なお、本発明の実施形態では、入力データが画像データである場合を主に想定する。しかし、入力データの種類は特に限定されない。
【００３６】
入力部１０１は、データセット１１１から入力データおよび正解値の組み合わせを順次に取得する。入力部１０１は、入力データおよび正解値の組み合わせを順次に合成部１０３に出力する。また、入力部１０１は、最初の入力データをマスク生成部１０２に出力し、次の入力データ以降を更新部１０６に出力する。入力部１０１よりも後段のブロックにおいては、入力部１０１からの入力に基づいて順次に各自の処理が繰り返し実行される。
【００３７】
なお、例えば、入力部１０１は、データセット１１１から入力データおよび正解値の組み合わせを全部取得し終わった場合には、最初から当該組み合わせを取得し直して再度出力する動作を所定の回数繰り返してよい。かかる場合には、入力部１０１よりも後段のブロックにおいても、入力部１０１からの再度の入力に基づいて順次に各自の処理が繰り返し実行されてよい。また、入力部１０１によって最初に入力データが取得された時点では、マスクが生成されていないことが想定される。
【００３８】
マスク生成部１０２は、（重みパラメータに初期値が設定された）第２ＮＮ１１３を取得し、入力部１０１によって最初に取得された入力データと第２ＮＮ１１３とに基づいてマスクを生成する。より詳細に、マスク生成部１０２は、入力部１０１によって最初に取得された入力データを第２ＮＮ１１３に入力させたことに基づいて、第２ＮＮ１１３から出力されるデータをマスクとして得る。
【００３９】
マスクは、入力データの一部領域（以下、「マスク領域」とも言う。）を隠すためのデータとなり得る。本発明の実施形態では、マスクにおいて、当該マスク領域内に対応する各位置に第１の値が設定され、当該マスク領域外に対応する各位置に第１の値とは異なる第２の値が設定される場合（すなわち、マスクが２値データの場合）を想定する。これによって、第１ＮＮ１１２の説明性がより向上されることが期待される。しかし、マスクの各位置に設定される値は、２値データでなくてもよく、連続値であってもよい。
【００４０】
なお、ここでは、第１の値として、０が設定され、第２の値として、１が設定される場合を想定する。すなわち、入力データのある位置の値をｘとし、第２ＮＮ１１３における入力から出力への変換を関数ｇ（）とした場合、マスクにおけるｘに対応する位置の値ｍは、下記の式（１）によって表現され得る。
【００４１】
ｍ＝ｇ（ｘ）＝０  ｏｒ  １  ・・・（１）
【００４２】
マスクの各位置に０か１が設定されるためには、第２ＮＮ１１３から出力される各値が０か１となればよい。そこで、第２ＮＮ１１３から出力される各値が０か１となるように、第２ＮＮ１１３に対して所定の制約が加えられるとよい。例えば、所定の制約は、第２ＮＮ１１３がステップ関数を含むという制約であってもよい。
【００４３】
さらに、マスクのすべての位置に１が設定されてしまうとマスクが用いられる意味が薄れてしまう。そのため、マスクのすべての位置に１が設定されてしまうことがないように（すなわち、第２ＮＮ１１３から出力される値がすべて１となってしまうことがないように）、第２ＮＮ１１３に対して所定の制約が加えられてもよい。例えば、第２ＮＮ１１３から出力される各値のうち所定の割合（例えば、１割など）は、強制的に０になるような制約が第２ＮＮ１１３に加えられてもよい。
【００４４】
なお、第１の値および第２の値それぞれの具体的な値は特に限定されない。また、後にも説明するように、本発明の第１の実施形態では、更新部１０６によって直接的にマスクが更新されるのではなく、更新部１０６によって第２ＮＮ１１３を介して間接的にマスクが更新される。
【００４５】
合成部１０３は、入力部１０１によって取得された入力データとマスク生成部１０２によって生成されたマスクとを合成して入力データのマスク領域が隠された合成データを得る。さらに、合成部１０３は、更新部１０６によってマスクが更新された場合には、入力部１０１によって取得された入力データと更新部１０６によって更新された後のマスクとを合成して入力データのマスク領域が隠された合成データを得る。合成部１０３は、合成データと正解値とを推論部１０４に出力する。
【００４６】
ここでは、上記したように、マスク領域内に対応する各位置に０（第１の値）が設定され、マスク領域外に対応する各位置に１（第２の値）が設定された場合を想定する。すなわち、入力データのある位置の値をｘとし、マスクにおけるｘに対応する位置の値をｍとした場合、合成データにおけるｘに対応する位置の値ｘ’は、式（１）も加味すると、下記の式（２）によって表現され得る。
【００４７】
ｘ’＝ｘ・ｍ＝ｘ・ｇ（ｘ）・・・（２）
【００４８】
推論部１０４は、合成部１０３によって得られた合成データと第１ＮＮ１１２とに基づいて推論を行い、推論によって得られた推論値を入力データの正解値とともに評価部１０５に出力する。より詳細に、推論部１０４は、合成データを第１ＮＮ１１２に入力させたことに基づいて、第１ＮＮ１１２から出力される値を推論値として得る。なお、本明細書においては、ニューラルネットワークへのデータの入力に基づいてニューラルネットワークから出力されるデータを得ることを広く「推論」と言うため、学習段階においても「推論」という用語が使用される。
【００４９】
例えば、第１ＮＮ１１２における入力から出力への変換を関数ｆ（）とした場合、第１ＮＮ１１２から出力されるデータをｙは、式（２）も加味すると、下記の式（３）によって表現される。ただし、関数ｆには、合成データの各位置の値ｘ’がすべて入力される。
【００５０】
ｙ＝ｆ（ｘ’）＝ｆ（ｘ・ｍ）  ・・・（３）
【００５１】
評価部１０５は、正解値を用いて推論値を評価することによって、評価結果を得る。そして、評価部１０５は、評価結果を更新部１０６に出力する。本発明の実施形態では、評価部１０５が、正解値と推論値とに応じた損失関数を評価結果として算出する場合を想定する。ここで、本発明の実施形態において用いられる損失関数は特定の関数に限定されず、一般的なニューラルネットワークにおいて用いられる損失関数と同様の損失関数が用いられてよい。例えば、損失関数は、正解値と推論値との差分に基づく平均二乗誤差であってもよい。
【００５２】
更新部１０６は、評価部１０５によって出力された評価結果に基づいて、第１ＮＮ１１２の重みパラメータおよびマスクのうち少なくともいずれか一方の更新を行う。本発明の実施形態では、更新部１０６は、損失関数に基づいて第１ＮＮ１１２の重みパラメータおよびマスクの少なくともいずれか一方の更新を行う。
【００５３】
このとき、更新部１０６による更新の対象は、後にも説明するように複数の入力データが順次に処理されて行く間に変更される。したがって、更新部１０６は、複数の入力データに対応して、第１ＮＮ１１２の重みパラメータおよびマスクの双方を更新する。すなわち、更新部１０６は、複数の入力データそれぞれに対応する評価結果に基づいて、第１ＮＮ１１２の重みパラメータおよびマスクの更新を行う。
【００５４】
例えば、更新部１０６は、最初は更新の対象にマスクを設定するのが望ましい。学習が進んでいないマスクが最初に更新されてから、学習済みの第１ＮＮ１１２の重みパラメータが更新されたほうが、精度の低下が小さくて済むことが予想されるからである。逆に、学習済みの第１ＮＮ１１２の重みパラメータが最初に更新されてから、学習が進んでいないマスクが更新されると、精度の低下が大きくなることが予想される。しかし、マスクおよび第１ＮＮ１１２のいずれが最初に更新の対象に設定されてもよい。
【００５５】
例えば、更新部１０６は、最初に更新の対象に少なくともマスクを設定し、第１の条件が満たされた場合に、更新の対象からマスクを除外すればよい。そして、更新部１０６は、第２の条件が満たされた場合に、更新の対象にマスクを追加すればよい。
【００５６】
本発明の実施形態では、第１ＮＮ１１２の重みパラメータおよびマスクの双方が同時に更新された後に、更新の対象からマスクが除外されると、第１ＮＮ１１２の精度が低下してしまう可能性があるため、第１ＮＮ１１２の重みパラメータおよびマスクが一方ずつ更新される場合を主に想定する。すなわち、更新部１０６が、第１の条件が満たされた場合に、更新の対象をマスクから第１ＮＮ１１２の重みパラメータに切り替える場合を主に想定する。そして、更新部１０６が、第２の条件が満たされた場合に、更新の対象を第１ＮＮ１１２の重みパラメータからマスクに切り替える場合を主に想定する。
【００５７】
しかし、マスクの更新がある程度進んでいる場合などには、第１ＮＮ１１２の重みパラメータおよびマスクの双方が同時に更新される場合があってもよい。すなわち、更新部１０６は、更新の対象に第１ＮＮ１１２の重みパラメータおよびマスクを設定し、第１の条件が満たされた場合に、更新の対象からマスクを除外してもよい。そして、更新部１０６は、第２の条件が満たされた場合に、更新の対象にマスクを追加してもよい。なお、第１の条件と第２の条件とは、同じであってもよいし、異なっていてもよい。第１の条件および第２の条件それぞれについては、後に詳細に説明する。
【００５８】
本発明の第１の実施形態では、更新部１０６が、更新の対象にマスクが設定された場合、評価結果に基づいて第２ＮＮ１１３の重みパラメータを更新する（このとき、第１ＮＮ１１２の重みパラメータは固定される）。これによって、第２ＮＮ１１３は、推論部１０４から出力される推論値が正解値に近づくようにマスクの更新を学習し得る。例えば、第２ＮＮ１１３の重みパラメータは、評価結果に基づく誤差逆伝播法（バックプロパゲーション）によって更新されてよい。
【００５９】
そして、入力部１０１によって次の入力データが取得された場合、更新部１０６は、重みパラメータ更新後の第２ＮＮ１１３および当該次の入力データに基づいてマスクを更新する。より詳細に、更新部１０６は、重みパラメータ更新後の第２ＮＮ１１３に次の入力データを入力させたことに基づいて、重みパラメータ更新後の第２ＮＮ１１３から出力されるデータによってマスクを更新する。その後、第１の条件が満たされない限りは、入力部１０１による次の入力データの取得、更新部１０６によるマスクの更新、合成部１０３、推論部１０４および評価部１０５における各自の処理、更新部１０６による第２ＮＮ１１３の重みパラメータの更新が繰り返し実行される。
【００６０】
そして、更新部１０６は、第１の条件が満たされた場合に、更新の対象を第２ＮＮ１１３の重みパラメータから第１ＮＮ１１２の重みパラメータに切り替える。このとき、更新部１０６は、評価結果に基づいて第１ＮＮ１１２の重みパラメータを更新する（このとき、第２ＮＮ１１３の重みパラメータは固定される）。これによって、第１ＮＮ１１２による学習は、入力データのマスク領域外から正解値を予測できるように行われる。例えば、第１ＮＮ１１２の重みパラメータは、評価結果に基づく誤差逆伝播法によって更新されてよい。
【００６１】
その後、第２の条件が満たされない限りは、入力部１０１による次の入力データの取得、合成部１０３、推論部１０４および評価部１０５における各自の処理、更新部１０６による第１ＮＮ１１２の重みパラメータの更新が繰り返し実行される。そして、更新部１０６は、第２の条件が満たされた場合に、更新の対象を第１ＮＮ１１２の重みパラメータから第２ＮＮ１１３の重みパラメータに切り替える。このとき、上記と同様にして第２ＮＮ１１３の重みパラメータが更新される（第１ＮＮ１１２のパラメータは固定される）。
【００６２】
なお、更新部１０６は、第１ＮＮ１１２の重みパラメータまたは第２ＮＮ１１３の重みパラメータの更新が終わるたびに、学習の終了条件が満たされたか否かを判断する。学習の終了条件が満たされていないと判断した場合には、入力部１０１によって次の入力データが取得され、合成部１０３、推論部１０４、評価部１０５および更新部１０６それぞれによって、当該次の入力データに基づく各自の処理が再度実行される。一方、更新部１０６によって、学習の終了条件が満たされたと判断された場合には、第１ＮＮ１１２および第２ＮＮ１１３の学習が終了される。なお、学習の終了条件については、後に詳細に説明する。
【００６３】
以上、本発明の第１の実施形態に係る情報処理装置１０の構成について説明した。
【００６４】
（１−２．動作の説明）
続いて、本発明の第１の実施形態に係る情報処理装置１０の動作について説明する。図２は、本発明の第１の実施形態に係る情報処理装置１０の動作例を示すフローチャートである。図２に示された例では、上記と同様に、最初は更新の対象としてマスク（すなわち、第２ＮＮ１１３の重みパラメータ）が設定される場合を想定する。まず、図２に示されたように、入力部１０１は、データセット１１１から入力データおよび正解値の組み合わせを取得する。また、推論部１０４は、第１ＮＮ１１２を取得し、更新部１０６は、第２ＮＮ１１３を取得する（Ｓ１０１）。
【００６５】
入力部１０１によって最初の入力データが取得された場合、マスク生成部１０２は、当該最初の入力データを第２ＮＮ１１３に入力させたことに基づいて、第２ＮＮ１１３から出力されるデータをマスクとして生成する。一方、入力部１０１によって次の入力データ以降の入力データが取得された場合、更新部１０６は、当該入力データを第２ＮＮ１１３に入力させたことに基づいて、第２ＮＮ１１３から出力されるデータによってマスクを更新する（Ｓ１０２）。更新後のマスクは、合成部１０３に出力される。
【００６６】
合成部１０３は、更新部１０６によってマスクが更新される前には、入力部１０１によって取得された入力データとマスク生成部１０２によって生成されたマスクとを合成して合成データを得る（Ｓ１０３）。あるいは、合成部１０３は、更新部１０６によってマスクが更新された後には、入力部１０１によって取得された入力データと更新部１０６によって更新された後のマスクとを合成して合成データを得る。合成部１０３は、合成データと正解値とを推論部１０４に出力する。
【００６７】
推論部１０４は、合成部１０３によって得られた合成データと第１ＮＮ１１２とに基づいて推論を行い、推論によって得られた推論値を入力データの正解値とともに評価部１０５に出力する。より詳細に、推論部１０４は、合成データを第１ＮＮ１１２に入力させたことに基づいて、第１ＮＮ１１２から出力される値を推論値として得る（Ｓ１０４）。
【００６８】
評価部１０５は、正解値を用いて推論値を評価することによって、評価結果を得る（Ｓ１０５）。例えば、評価部１０５は、正解値と推論値とに応じた損失関数を評価結果として算出する。
【００６９】
更新部１０６は、更新の対象として第２ＮＮ１１３の重みパラメータが設定されている状態において、第１の条件が満たされた場合に、更新の対象を第２ＮＮ１１３の重みパラメータから第１ＮＮ１１２の重みパラメータに切り替える。一方、更新部１０６は、更新の対象として第２ＮＮ１１３の重みパラメータが設定されている状態において、第１の条件が満たされない場合に、更新の対象を第２ＮＮ１１３の重みパラメータのままとする。
【００７０】
さらに、更新部１０６は、更新の対象として第１ＮＮ１１２の重みパラメータが設定されている状態において、第２の条件が満たされた場合に、更新の対象を第１ＮＮ１１２の重みパラメータから第２ＮＮ１１３の重みパラメータに切り替える。一方、更新部１０６は、更新の対象として第１ＮＮ１１２の重みパラメータが設定されている状態において、第２の条件が満たされない場合に、更新の対象を第１ＮＮ１１２の重みパラメータのままとする。
【００７１】
ここで、第１の条件は特に限定されず、第２ＮＮ１１３の学習がある程度行われたことを示す条件であればよい。具体的に、第１の条件は、損失関数の値が閾値Ｔｈ１１よりも小さいという条件を含んでもよい。例えば、閾値Ｔｈ１１は、固定値であってもよいし、徐々に変化してもよい（例えば、損失関数の値が徐々に小さくなることが想定されるため、閾値Ｔｈ１１は、徐々に小さくなってもよい）。あるいは、第１の条件は、損失関数の値の変化が閾値Ｔｈ１２よりも小さいという条件（損失関数の値が収束状態になったという条件）を含んでもよい。同様に、閾値Ｔｈ１２は、固定値であってもよいし、徐々に変化してもよい（例えば、損失関数の値の変化が徐々に小さくなることが想定されるため、閾値Ｔｈ１２は、徐々に小さくなってもよい）。
【００７２】
あるいは、第１の条件は、第２ＮＮ１１３（すなわち、マスク）の更新が所定の回数Ｔｈ１３行われたという条件を含んでもよい。所定の回数Ｔｈ１３は、同じデータセットについての処理が所定数繰り返し実行されるごと（すなわち、エポック単位）であってもよい。あるいは、所定の回数Ｔｈ１３は、所定数の入力データについての処理が実行されるごと（すなわち、イテレーション単位）であってもよい。所定の回数Ｔｈ１３は、固定値であってもよいし、徐々に変化してもよい。
【００７３】
ここで、第２の条件は特に限定されず、第１ＮＮ１１２の学習がある程度行われたことを示す条件であればよい。具体的に、第２の条件は、損失関数の値が閾値Ｔｈ２１よりも小さいという条件を含んでもよい。例えば、閾値Ｔｈ２１は、固定値であってもよいし、徐々に変化してもよい（例えば、損失関数の値が徐々に小さくなることが想定されるため、閾値Ｔｈ２１は、徐々に小さくなってもよい）。あるいは、第２の条件は、損失関数の値の変化が閾値Ｔｈ２２よりも小さいという条件（損失関数の値が収束状態になったという条件）を含んでもよい。同様に、閾値Ｔｈ２２は、固定値であってもよいし、徐々に変化してもよい（例えば、損失関数の値の変化が徐々に小さくなることが想定されるため、閾値Ｔｈ２２は、徐々に小さくなってもよい）。
【００７４】
あるいは、第２の条件は、第１ＮＮ１１２の更新が所定の回数Ｔｈ２３行われたという条件を含んでもよい。所定の回数Ｔｈ２３は、同じデータセットについての処理が所定数繰り返し実行されるごと（すなわち、エポック単位）であってもよい。あるいは、所定の回数Ｔｈ２３は、所定数の入力データについての処理が実行されるごと（すなわち、イテレーション単位）であってもよい。所定の回数Ｔｈ２３は、固定値であってもよいし、徐々に変化してもよい。
【００７５】
なお、上記したように、第１の条件と第２の条件とは、同じであってもよいし、異なっていてもよい。すなわち、閾値Ｔｈ１１と閾値Ｔｈ２１とは、同じであってもよいし、異なっていてもよい。あるいは、閾値Ｔｈ１２と閾値Ｔｈ２２とは、同じであってもよいし、異なっていてもよい。あるいは、所定の回数Ｔｈ１３と所定の回数Ｔｈ２３とは、同じであってもよいし、異なっていてもよい。
【００７６】
更新部１０６は、学習対象のＮＮが第１ＮＮ１１２である場合（Ｓ１０６において「第１ＮＮ」）、すなわち、更新の対象が第１ＮＮ１１２の重みパラメータである場合、評価結果に基づいて第１ＮＮ１１２の重みパラメータを更新する（このとき、第２ＮＮ１１３の重みパラメータは固定される）（Ｓ１０７）。これによって、第１ＮＮ１１２による学習は、入力データのマスク領域外から正解値を予測できるように行われる。例えば、第１ＮＮ１１２の重みパラメータは、評価結果に基づく誤差逆伝播法によって更新されてよい。
【００７７】
一方、更新部１０６は、学習対象のＮＮが第２ＮＮ１１３である場合（Ｓ１０６において「第２ＮＮ」）、すなわち、更新の対象が第２ＮＮ１１３の重みパラメータである場合、評価結果に基づいて第２ＮＮ１１３の重みパラメータを更新する（このとき、第１ＮＮ１１２の重みパラメータは固定される）（Ｓ１０８）。これによって、第２ＮＮ１１３による学習は、入力データのマスク領域外から正解値を予測できるように行われる。例えば、第２ＮＮ１１３の重みパラメータは、評価結果に基づく誤差逆伝播法によって更新されてよい。
【００７８】
更新部１０６は、第１ＮＮ１１２の重みパラメータまたは第２ＮＮ１１３の重みパラメータの更新が終わるたびに、学習の終了条件が満たされたか否かを判断する（Ｓ１０９）。学習の終了条件が満たされていないと判断した場合には（Ｓ１０９において「Ｎｏ」）、Ｓ１０１に動作が移行され、入力部１０１によって次の入力データが取得され、合成部１０３、推論部１０４、評価部１０５および更新部１０６それぞれによって、当該次の入力データに基づく各自の処理が再度実行される。一方、更新部１０６によって、学習の終了条件が満たされたと判断された場合には（Ｓ１０９において「Ｙｅｓ」）、第１ＮＮ１１２および第２ＮＮ１１３の学習が終了される。
【００７９】
なお、学習の終了条件は特に限定されず、第１ＮＮ１１２および第２ＮＮ１１３の少なくともいずれか一方の学習がある程度行われたことを示す条件であればよい。具体的に、学習の終了件は、損失関数の値が閾値Ｔｈ３１よりも小さいという条件を含んでもよい。あるいは、学習の終了条件は、損失関数の値の変化が閾値Ｔｈ３２よりも小さいという条件（損失関数の値が収束状態になったという条件）を含んでもよい。
【００８０】
あるいは、学習の終了条件は、第２ＮＮ１１３（すなわち、マスク）の更新が所定の回数Ｔｈ３３行われたという条件を含んでもよい。あるいは、学習の終了条件は、第１ＮＮ１１２の更新が所定の回数Ｔｈ３４行われたという条件を含んでもよい。あるいは、学習の終了条件は、第２ＮＮ１１３（すなわち、マスク）の更新が所定の回数Ｔｈ３３行われたという条件、かつ、第１ＮＮ１１２の更新が所定の回数Ｔｈ３４行われたという条件の双方を含んでもよい。あるいは、評価部１０５によって正解値と推論値とに基づいて精度が算出される場合、学習の終了条件は、精度が所定の割合（例えば、９０％など）を超えるという条件を含んでもよい。
【００８１】
以上、本発明の第１の実施形態に係る情報処理装置１０の動作について説明した。
【００８２】
（１−３．効果の説明）
本発明の第１の実施形態に係る情報処理装置１０においては、合成部１０３は、入力データと前記入力データのマスク領域を隠すためのマスクとを合成して前記入力データの前記マスク領域が隠された合成データを得る。推論部１０４は、前記合成データと学習済みの第１ＮＮ１１２とに基づいて推論値を出力する。評価部１０５は、前記入力データの正解値を用いて前記推論値を評価して評価結果を得る。更新部１０６は、複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第１ＮＮ１１２の重みパラメータおよび前記マスクの更新を行う。
【００８３】
そして、更新部１０６は、更新の対象に前記マスクが設定された場合、前記評価結果に基づいて第２ＮＮ１１３の重みパラメータを更新し、前記重みパラメータが更新された後の前記第２ＮＮ１１３と入力データとに基づいて前記マスクを更新する。更新部１０６は、第１の条件が満たされた場合に、前記更新の対象を前記マスクから前記第１ＮＮ１１２の重みパラメータに切り替える。
【００８４】
これによって、第２ＮＮ１１３は、推論部１０４から出力される推論値が正解値に近づくようにマスクの更新を学習し得る。そして、第１ＮＮ１１２による学習は、入力データのマスク領域外から正解値を予測できるように行われる。すなわち、第１ＮＮ１１２は、マスク領域外から推論を行うモデルとなるため、このモデルの注目領域を可視化することによって、その注目領域を推論に利用された領域として把握することができる。したがって、第１ＮＮ１１２が、どの領域に注目したか（第１ＮＮ１１２への入力データのどの特徴が第１ＮＮ１１２による予測または認識に重要であるのか）が理解しやすくなり、第１ＮＮ１１２の説明性が向上する。
【００８５】
さらに、本発明の第１の実施形態に係る情報処理装置１０によれば、学習済みの第１ＮＮ１１２に対して再学習を行うため、第１ＮＮ１１２による出力の精度劣化を抑制しつつ、第１ＮＮ１１２の説明性を向上させることが可能である。
【００８６】
以上、本発明の第１の実施形態の詳細について説明した。
【００８７】
（２．第２の実施形態の詳細）
続いて、本発明の第２の実施形態の詳細について説明する。
【００８８】
（２−１．構成の説明）
まず、本発明の第２の実施形態に係る情報処理装置の構成について説明する。図３は、本発明の第２の実施形態に係る情報処理装置の機能構成例を示す図である。図３に示されるように、本発明の第２の実施形態に係る情報処理装置２０は、入力部２０１、合成部２０３、推論部２０４、評価部２０５および更新部２０６を備える。
【００８９】
本発明の第１の実施形態と同様に、これらのブロックは、ＣＰＵまたはＧＰＵなどの演算装置を含み、ＲＯＭにより記憶されているプログラムが演算装置によりＲＡＭに展開されて実行されることにより、その機能が実現され得る。このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、これらのブロックは、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。演算装置による演算に必要なデータは、図示しない記憶部によって適宜記憶される。
【００９０】
データセット２１１、学習済みの第１ＮＮ２１２（学習済みの第１のニューラルネットワーク）、および、マスク２１３は、図示しない記憶部によって記憶されている。かかる記憶部は、ＲＡＭ、ハードディスクドライブまたはフラッシュメモリなどのメモリによって構成されてよい。以下では、学習済みの第１ＮＮ２１２を単に「第１ＮＮ２１２」とも表現する。ここで、データセット２１１は、本発明の第１の実施形態に係るデータセット１１１と同様である。第１ＮＮ２１２も、本発明の第１の実施形態に係る第１ＮＮ１１２と同様である。
【００９１】
本発明の第１の実施形態においては、マスクは、入力データと第２ＮＮ１１３とに基づいて生成され、順次に更新される場合を想定した。一方、本発明の第２の実施形態においては、マスク２１３は、あらかじめ図示しない記憶部によって記憶されており、順次に更新されていく。ただし、本発明の第１の実施形態においては、複数の入力データに対して１つの第２ＮＮ１１３が設けられる場合を想定した。一方、本発明の第２の実施形態においては、複数の入力データそれぞれに対応してマスクが設けられる（入力データごとにマスクが設けられる）。
【００９２】
ここで、マスク２１３の初期値はどのような値であってもよい。例えば、マスク２１３の初期値は、第１ＮＮ２１２の中間層の特徴ベクトルまたは勾配情報に基づいて算出された顕著性マップを用いて設定されてもよい。一例として、マスク２１３の初期値は、上記した非特許文献４に記載された手法を用いて設定されてもよい。しかし、マスク２１３の初期値は、学習済みのニューラルネットワークに適用可能な他の手法を用いて設定されてもよい。
【００９３】
顕著性マップは、通常連続値によって表現される。そのため、顕著性マップの値と閾値ｔとの比較に基づいて、顕著性マップの値を離散値へと変換し、当該離散値がマスクの初期値として設定されてもよい。ここで、本発明の第１の実施形態と同様に、マスクにおいて、マスク領域内に対応する各位置に０（第１の値）が設定され、当該マスク領域外に対応する各位置に１（第２の値）が設定される場合を想定する。すなわち、入力データのある位置の値をｘとし、顕著性マップにおける入力から出力への変換を関数Ｓ（）とした場合、マスクにおけるｘに対応する位置の値Ｍは、下記の式（４）によって表現され得る。
【００９４】
Ｍ＝０  （ただし、Ｓ（ｘ）＜ｔの場合）
Ｍ＝１  （ただし、Ｓ（ｘ）≧ｔの場合）  ・・・（４）
【００９５】
ここで、閾値ｔは、ユーザによって設定されてよい。例えば、閾値ｔは、顕著性マップの各値の平均値などから決定されてもよいし、顕著性マップの各値のうち、下位ｎ番目の値が閾値ｔとして決定されてもよい。顕著性マップの生成手法によっては、顕著性マップのサイズと入力データのサイズとが異なる場合も想定される。しかし、かかる場合であっても、顕著性マップに対してアップサンプリングなどを施すことによって、顕著性マップのサイズと入力データのサイズとが合わせられてよい。
【００９６】
入力部２０１は、データセット２１１から入力データおよび正解値の組み合わせを順次に取得する。入力部２０１は、入力データおよび正解値の組み合わせを順次に合成部２０３に出力する。入力部２０１よりも後段のブロックにおいては、入力部２０１からの入力に基づいて順次に各自の処理が繰り返し実行される。なお、本発明の第１の実施形態に係る入力部１０１と同様に、入力部２０１は、データセット２１１から入力データおよび正解値の組み合わせを全部取得し終わった場合には、最初から当該組み合わせを取得し直して再度出力する動作を所定の回数繰り返してよい。かかる場合には、入力部２０１よりも後段のブロックにおいても、入力部２０１からの再度の入力に基づいて順次に各自の処理が繰り返し実行されてよい。
【００９７】
合成部２０３は、入力部２０１によって取得された入力データと当該入力データに対応するマスク２１３の初期値とを合成して入力データのマスク領域が隠された合成データを得る。さらに、合成部２０３は、更新部２０６によってマスクが更新された場合には、入力部２０１によって取得された入力データと更新部２０６によって更新された後の（当該入力データに対応する）マスク２１３とを合成して入力データのマスク領域が隠された合成データを得る。なお、合成部２０３による合成データの算出は、本発明の第１の実施形態に係る合成部１０３による合成データの算出と同様に実行されてよい。合成部２０３は、合成データと正解値とを推論部２０４に出力する。
【００９８】
推論部２０４は、合成部２０３によって得られた合成データと第１ＮＮ２１２とに基づいて推論を行い、推論によって得られた推論値を入力データの正解値とともに評価部２０５に出力する。なお、推論部２０４による推論は、本発明の第１の実施形態に係る推論部１０４による推論と同様に実行されてよい。
【００９９】
評価部２０５は、正解値を用いて推論値を評価することによって、評価結果を得る。そして、評価部２０５は、評価結果を更新部２０６に出力する。なお、評価部２０５による評価は、本発明の第１の実施形態に係る評価部１０５による評価と同様に実行されてよい。
【０１００】
更新部２０６は、評価部２０５によって出力された評価結果に基づいて、第１ＮＮ２１２の重みパラメータおよび（入力データに対応する）マスク２１３のうち少なくともいずれか一方の更新を行う。本発明の第２の実施形態では、更新部２０６は、損失関数に基づいて第１ＮＮ２１２の重みパラメータおよび（入力データに対応する）マスク２１３の少なくともいずれか一方の更新を行う。例えば、本発明の第１の実施形態と同様に、更新部２０６は、最初は更新の対象にマスク２１３を設定するのが望ましい。しかし、マスク２１３および第１ＮＮ２１２のいずれが最初に更新の対象に設定されてもよい。
【０１０１】
例えば、更新部２０６は、最初に更新の対象に少なくともマスク２１３を設定し、第１の条件が満たされた場合に、更新の対象からマスク２１３を除外すればよい。そして、更新部２０６は、第２の条件が満たされた場合に、更新の対象にマスク２１３を追加すればよい。しかし、本発明の第１の実施形態と同様に、本発明の第２の実施形態においても、第１ＮＮ２１２の重みパラメータおよびマスク２１３が一方ずつ更新される場合を主に想定する。すなわち、更新部２０６が、第１の条件が満たされた場合に、更新の対象をマスク２１３から第１ＮＮ２１２の重みパラメータに切り替える場合を主に想定する。そして、更新部２０６が、第２の条件が満たされた場合に、更新の対象を第１ＮＮ２１２の重みパラメータからマスク２１３に切り替える場合を主に想定する。
【０１０２】
しかし、マスク２１３の更新がある程度進んでいる場合などには、第１ＮＮ２１２の重みパラメータおよびマスク２１３の双方が同時に更新される場合があってもよい。すなわち、更新部２０６は、更新の対象に第１ＮＮ２１２の重みパラメータおよびマスク２１３を設定し、第１の条件が満たされた場合に、更新の対象からマスク２１３を除外してもよい。そして、更新部２０６は、第２の条件が満たされた場合に、更新の対象にマスク２１３を追加してもよい。なお、第１の条件および第２の条件それぞれについては、本発明の第１の実施形態において説明した通りである。
【０１０３】
本発明の第２の実施形態では、更新部２０６が、更新の対象にマスク２１３が設定された場合、評価結果に基づいてマスク２１３を更新する（このとき、第１ＮＮ２１２の重みパラメータは固定される）。ここで、マスク２１３の更新は、入力データに対応するマスク２１３の各値を更新することであり、マスク２１３の各値を、ＮＮの学習過程において更新する対象の一つのパラメータとして扱うことで実現される。また、マスクの更新の際には第１の実施形態と同様に制約を加える。例えば、マスクの各値のうち所定の割合（例えば、１割など）は、強制的に０になるような制約が加えられてもよい。その後、第１の条件が満たされない限りは、入力部２０１による次の入力データの取得、合成部２０３、推論部２０４および評価部２０５における各自の処理、更新部２０６によるマスク２１３の更新が繰り返し実行される。
【０１０４】
そして、更新部２０６は、第１の条件が満たされた場合に、更新の対象をマスク２１３から第１ＮＮ２１２の重みパラメータに切り替える。このとき、更新部２０６は、評価結果に基づいて第１ＮＮ２１２の重みパラメータを更新する（このとき、マスク２１３は固定される）。これによって、第１ＮＮ２１２による学習は、入力データのマスク領域外から正解値を予測できるように行われる。例えば、第１ＮＮ２１２の重みパラメータは、評価結果に基づく誤差逆伝播法によって更新されてよい。
【０１０５】
その後、第２の条件が満たされない限りは、入力部２０１による次の入力データの取得、合成部２０３、推論部２０４および評価部２０５における各自の処理、更新部２０６による第１ＮＮ２１２の重みパラメータの更新が繰り返し実行される。そして、更新部２０６は、第２の条件が満たされた場合に、更新の対象を第１ＮＮ２１２の重みパラメータからマスク２１３に切り替える。このとき、上記と同様にしてマスク２１３が更新される（第１ＮＮ２１２のパラメータは固定される）。
【０１０６】
なお、更新部２０６は、第１ＮＮ２１２の重みパラメータまたはマスク２１３の更新が終わるたびに、学習の終了条件が満たされたか否かを判断する。学習の終了条件が満たされていないと判断した場合には、入力部２０１によって次の入力データが取得され、合成部２０３、推論部２０４、評価部２０５および更新部２０６それぞれによって、当該次の入力データに基づく各自の処理が再度実行される。一方、更新部２０６によって、学習の終了条件が満たされたと判断された場合には、第１ＮＮ２１２の学習およびマスク２１３の更新が終了される。なお、学習の終了条件については、本発明の第１の実施形態において説明した通りである。
【０１０７】
以上、本発明の第２の実施形態に係る情報処理装置２０の構成について説明した。
【０１０８】
（２−２．動作の説明）
続いて、本発明の第２の実施形態に係る情報処理装置２０の動作について説明する。図４は、本発明の第２の実施形態に係る情報処理装置２０の動作例を示すフローチャートである。図４に示された例では、上記と同様に、最初は更新の対象としてマスク２１３が設定される場合を想定する。まず、図４に示されたように、入力部２０１は、データセット２１１から入力データおよび正解値の組み合わせを取得する。また、推論部２０４は、第１ＮＮ２１２を取得する（Ｓ２０１）。
【０１０９】
合成部２０３は、更新部２０６によってマスクが更新される前には、入力部２０１によって取得された入力データと当該入力データに対応するマスク２１３の初期値とを合成して合成データを得る（Ｓ２０２）。あるいは、更新部２０６によってマスクが更新された後には、入力部２０１によって取得された入力データと更新部２０６によって更新された後の（当該入力データに対応する）マスク２１３とを合成して合成データを得る。合成部２０３は、合成データと正解値とを推論部２０４に出力する。
【０１１０】
推論部２０４は、合成部２０３によって得られた合成データと第１ＮＮ２１２とに基づいて推論を行い、推論によって得られた推論値を入力データの正解値とともに評価部２０５に出力する。より詳細に、推論部２０４は、合成データを第１ＮＮ２１２に入力させたことに基づいて、第１ＮＮ２１２から出力される値を推論値として得る（Ｓ２０３）。
【０１１１】
評価部２０５は、正解値を用いて推論値を評価することによって、評価結果を得る（Ｓ２０４）。例えば、評価部２０５は、正解値と推論値とに応じた損失関数を評価結果として算出する。
【０１１２】
更新部２０６は、更新の対象としてマスク２１３が設定されている状態において、第１の条件が満たされた場合に、更新の対象をマスク２１３から第１ＮＮ２１２の重みパラメータに切り替える。一方、更新部２０６は、更新の対象としてマスク２１３が設定されている状態において、第１の条件が満たされない場合に、更新の対象をマスク２１３のままとする。
【０１１３】
さらに、更新部２０６は、更新の対象として第１ＮＮ２１２の重みパラメータが設定されている状態において、第２の条件が満たされた場合に、更新の対象を第１ＮＮ２１２の重みパラメータからマスク２１３に切り替える。一方、更新部２０６は、更新の対象として第１ＮＮ２１２の重みパラメータが設定されている状態において、第２の条件が満たされない場合に、更新の対象を第１ＮＮ２１２の重みパラメータのままとする。なお、第１の条件および第２の条件それぞれについては、本発明の第１の実施形態において説明した通りである。
【０１１４】
更新部２０６は、更新の対象がマスク２１３である場合（Ｓ２０５において「マスク」）、評価結果に基づいて、入力データに対応するマスク２１３を更新する（このとき、第１ＮＮ２１３の重みパラメータは固定される）（Ｓ２０６）。
【０１１５】
一方、更新部２０６は、更新の対象が第１ＮＮ２１２である場合（Ｓ２０５において「第１ＮＮ」）、評価結果に基づいて第１ＮＮ２１２の重みパラメータを更新する（このとき、マスク２１３は固定される）（Ｓ２０７）。これによって、第１ＮＮ２１２による学習は、入力データのマスク領域外から正解値を予測できるように行われる。例えば、第１ＮＮ２１２の重みパラメータは、評価結果に基づく誤差逆伝播法によって更新されてよい。
【０１１６】
更新部２０６は、マスク２１３または第１ＮＮ２１２の重みパラメータの更新が終わるたびに、学習の終了条件が満たされたか否かを判断する（Ｓ２０８）。学習の終了条件が満たされていないと判断した場合には（Ｓ２０８において「Ｎｏ」）、Ｓ２０１に動作が移行され、入力部２０１によって次の入力データが取得され、合成部２０３、推論部２０４、評価部２０５および更新部２０６それぞれによって、当該次の入力データに基づく各自の処理が再度実行される。一方、更新部２０６によって、学習の終了条件が満たされたと判断された場合には（Ｓ２０８において「Ｙｅｓ」）、第１ＮＮ２１２の学習およびマスク２１３の更新が終了される。
【０１１７】
以上、本発明の第２の実施形態に係る情報処理装置２０の動作について説明した。
【０１１８】
（２−３．効果の説明）
本発明の第２の実施形態においては、更新部２０６は、更新の対象にマスク２１３が設定された場合、直接的にマスク２１３を更新する。更新部２０６は、第１の条件が満たされた場合に、前記更新の対象を前記マスク２１３から前記第１ＮＮ２１２の重みパラメータに切り替える。
【０１１９】
これによって、本発明の第１の実施形態と同様に、第１ＮＮ２１２による学習は、入力データのマスク領域外から正解値を予測できるように行われる。すなわち、本発明の第１の実施形態と同様に、第１ＮＮ２１２は、マスク領域外から推論を行うモデルとなるため、このモデルの注目領域を可視化することによって、その注目領域を推論に利用された領域として把握することができる。したがって、本発明の第１の実施形態と同様に、第１ＮＮ２１２が、どの領域に注目したか（第１ＮＮ２１２への入力データのどの特徴が第１ＮＮ２１２による予測または認識に重要であるのか）が理解しやすくなり、第１ＮＮ２１２の説明性が向上する。
【０１２０】
さらに、本発明の第１の実施形態においては、複数の入力データに対して１つの第２ＮＮ１１３が設けられる場合を想定した。一方、本発明の第２の実施形態においては、複数の入力データそれぞれに対応してマスクが設けられる場合を想定した（入力データごとにマスクが設けられる場合を想定した）。これによって、入力データごとにより適切なマスクが設定されるようになることが期待される。
【０１２１】
以上、本発明の第２の実施形態の詳細について説明した。
【０１２２】
（３．ハードウェア構成例）
続いて、本発明の第１の実施形態に係る情報処理装置１０のハードウェア構成例について説明する。ただし、本発明の第２の実施形態に係る情報処理装置２０のハードウェア構成例も同様に実現され得る。
【０１２３】
以下では、本発明の第１の実施形態に係る情報処理装置１０のハードウェア構成例として、情報処理装置９００のハードウェア構成例について説明する。なお、以下に説明する情報処理装置９００のハードウェア構成例は、情報処理装置１０のハードウェア構成の一例に過ぎない。したがって、情報処理装置１０のハードウェア構成は、以下に説明する情報処理装置９００のハードウェア構成から不要な構成が削除されてもよいし、新たな構成が追加されてもよい。
【０１２４】
図５は、本発明の第１の実施形態に係る情報処理装置１０の例としての情報処理装置９００のハードウェア構成を示す図である。情報処理装置９００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３と、ホストバス９０４と、ブリッジ９０５と、外部バス９０６と、インタフェース９０７と、入力装置９０８と、出力装置９０９と、ストレージ装置９１０と、通信装置９１１と、を備える。
【０１２５】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置９００内の動作全般を制御する。また、ＣＰＵ９０１は、マイクロプロセッサであってもよい。ＲＯＭ９０２は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０３は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはＣＰＵバス等から構成されるホストバス９０４により相互に接続されている。
【０１２６】
ホストバス９０４は、ブリッジ９０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バス等の外部バス９０６に接続されている。なお、必ずしもホストバス９０４、ブリッジ９０５および外部バス９０６を分離構成する必要はなく、１つのバスにこれらの機能を実装してもよい。
【０１２７】
入力装置９０８は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバー等ユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路等から構成されている。情報処理装置９００を操作するユーザは、この入力装置９０８を操作することにより、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりすることができる。
【０１２８】
出力装置９０９は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ装置、液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）装置、ランプ等の表示装置およびスピーカ等の音声出力装置を含む。
【０１２９】
ストレージ装置９１０は、データ格納用の装置である。ストレージ装置９１０は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置９１０は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）で構成される。このストレージ装置９１０は、ハードディスクを駆動し、ＣＰＵ９０１が実行するプログラムや各種データを格納する。
【０１３０】
通信装置９１１は、例えば、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置９１１は、無線通信または有線通信のどちらに対応してもよい。
【０１３１】
以上、本発明の第１の実施形態に係る情報処理装置１０のハードウェア構成例について説明した。
【０１３２】
（４．まとめ）
以上に説明したように、本発明の実施形態によれば、適用可能なニューラルネットワークが限定されることを抑制し、ニューラルネットワークによる出力の精度劣化を抑制しつつ、ニューラルネットワークの説明性を向上させることを可能とする技術が提供される。
【０１３３】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【０１３４】
例えば、本発明の第１の実施形態および本発明の第２の実施形態においては、マスク生成部１０２によって生成されるマスク、更新部１０６、２０６による更新後のマスクの各値は、０（第１の値）または１（第２の値）である場合を主に説明した。しかし、これらのブロックは、出力するマスクの値を連続値とすることによって顕著性マップを出力することも可能である。その場合、顕著性マップと入力データとの合成データは、注目領域が強調されたデータとなる。また、これらのブロックは、マスクの値を連続値とする場合、損失関数に、顕著性マップの合計値を小さくするような正則化を行うことが必要である。
【０１３５】
本発明の第１の実施形態および本発明の第２の実施形態においては、第１ＮＮ１１２（第１ＮＮ２１２）の重みパラメータおよび第２ＮＮ１１３の重みパラメータ（または、マスク）が一方ずつ更新される場合を主に想定した。しかし、既に説明したように、第２ＮＮ１１３の学習がある程度進んでいる場合などには（または、マスクの更新がある程度進んでいる場合などには）第１ＮＮ１１２（第１ＮＮ２１２）の重みパラメータおよび第２ＮＮ１１３の重みパラメータ（または、マスク）の双方が同時に更新される場合があってもよい。
【０１３６】
本発明の第２の実施形態においては、データセット２１１から取得されるすべての入力データそれぞれに対応してマスクが生成される場合を主に想定した（データセット２１１から取得されるすべての入力データごとにマスクが生成される場合を主に想定した）。しかし、計算コストを抑えるため、データセット２１１から取得される複数の入力データの一部のみに対応してマスクが生成されてもよい。このとき、当該一部のみに基づいて第１ＮＮ２１２の学習が行われてもよい。
【符号の説明】
【０１３７】
１０    情報処理装置
１０１  入力部
１０２  マスク生成部
１０３  合成部
１０４  推論部
１０５  評価部
１０６  更新部
１１１  データセット
２０    情報処理装置
２０１  入力部
２０３  合成部
２０４  推論部
２０５  評価部
２０６  更新部
２１１  データセット
２１３  マスク
【要約】
【課題】適用可能なニューラルネットワークが限定されることを抑制し、ニューラルネットワークによる出力の精度劣化を抑制しつつ、ニューラルネットワークの説明性を向上させることを可能とする技術が提供されることが望まれる。
【解決手段】入力データと前記入力データの一部領域を隠すためのマスクとを合成して前記入力データの前記一部領域が隠された合成データを得る合成部と、前記合成データと学習済みの第１のニューラルネットワークとに基づいて推論値を出力する推論部と、前記入力データの正解値を用いて前記推論値を評価して評価結果を得る評価部と、複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第１のニューラルネットワークの重みパラメータおよび前記マスクの更新を行う更新部と、を備える、情報処理装置が提供される。
【選択図】図１【図１】
0006801751.tif 000002
【図２】
0006801751.tif 000003
【図３】
0006801751.tif 000004
【図４】
0006801751.tif 000005
【図５】
0006801751.tif 000006