特許第6801751号(P6801751)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

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

▶ 沖電気工業株式会社の特許一覧
特許6801751情報処理装置、情報処理方法およびプログラム
<>
  • 特許6801751-情報処理装置、情報処理方法およびプログラム 図000002
  • 特許6801751-情報処理装置、情報処理方法およびプログラム 図000003
  • 特許6801751-情報処理装置、情報処理方法およびプログラム 図000004
  • 特許6801751-情報処理装置、情報処理方法およびプログラム 図000005
  • 特許6801751-情報処理装置、情報処理方法およびプログラム 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6801751
(24)【登録日】2020年11月30日
(45)【発行日】2020年12月16日
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
   G06N 3/08 20060101AFI20201207BHJP
   G06N 3/04 20060101ALI20201207BHJP
【FI】
   G06N3/08
   G06N3/04
【請求項の数】12
【全頁数】23
(21)【出願番号】特願2019-149149(P2019-149149)
(22)【出願日】2019年8月15日
【審査請求日】2019年8月15日
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(令和元年度、国立研究開発法人新エネルギー・産業技術総合開発機構「高効率・高速処理を可能とするAIチップ・次世代コンピューティングの技術開発/革新的AIエッジコンピューティング技術の開発/ソフトテンソルプロセッサによる超広範囲センシングAIエッジ技術の研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願)
(73)【特許権者】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100140958
【弁理士】
【氏名又は名称】伊藤 学
(74)【代理人】
【識別番号】100137888
【弁理士】
【氏名又は名称】大山 夏子
(74)【代理人】
【識別番号】100190942
【弁理士】
【氏名又は名称】風間 竜司
(72)【発明者】
【氏名】国定 恭史
(72)【発明者】
【氏名】山本 康平
(72)【発明者】
【氏名】前野 蔵人
(72)【発明者】
【氏名】加賀谷 素子
【審査官】 石川 亮
(56)【参考文献】
【文献】 特開平07−121719(JP,A)
【文献】 特開2018−173814(JP,A)
【文献】 特開2018−185724(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00−99/00
G06T 7/00−7/90
(57)【特許請求の範囲】
【請求項1】
入力データと前記入力データの一部領域を隠すためのマスクとを合成して前記入力データの前記一部領域が隠された合成データを得る合成部と、
前記合成データと学習済みの第1のニューラルネットワークとに基づいて推論値を出力する推論部と、
前記入力データの正解値を用いて前記推論値を評価して評価結果を得る評価部と、
複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第1のニューラルネットワークの重みパラメータおよび前記マスクの更新を行う更新部と、
を備え
前記更新部は、第1の条件が満たされた場合に、前記更新の対象を前記マスクから前記第1のニューラルネットワークの重みパラメータに切り替える、
情報処理装置。
【請求項2】
前記更新部は、第2の条件が満たされた場合に、前記更新の対象を前記第1のニューラルネットワークの重みパラメータから前記マスクに切り替える、
請求項に記載の情報処理装置。
【請求項3】
前記評価部は、前記正解値と前記推論値とに応じた損失関数を前記評価結果として算出し、
前記更新部は、前記損失関数に基づいて前記第1のニューラルネットワークの重みパラメータおよび前記マスクの少なくともいずれか一方の更新を行う、
請求項1または2に記載の情報処理装置。
【請求項4】
前記第1の条件は、前記損失関数の値または前記損失関数の値の変化が閾値よりも小さいという条件を含む、
請求項に記載の情報処理装置。
【請求項5】
前記第1の条件は、前記マスクの更新が所定の回数行われたという条件を含む、
請求項1〜4のいずれか一項に記載の情報処理装置。
【請求項6】
前記情報処理装置は、入力データと重みパラメータに初期値が設定された第2のニューラルネットワークとに基づいて前記マスクを生成するマスク生成部を備える、
請求項1〜のいずれか一項に記載の情報処理装置。
【請求項7】
前記更新部は、更新の対象に前記マスクが設定された場合、前記評価結果に基づいて前記第2のニューラルネットワークの重みパラメータを更新し、前記重みパラメータが更新された後の前記第2のニューラルネットワークと入力データとに基づいて前記マスクを更新する、
請求項に記載の情報処理装置。
【請求項8】
前記更新部は、更新の対象に前記マスクが設定された場合、前記マスクを更新する、
請求項1〜のいずれか一項に記載の情報処理装置。
【請求項9】
前記複数の入力データは、前記第1のニューラルネットワークの学習に用いられた入力データを含む、
請求項1〜のいずれか一項に記載の情報処理装置。
【請求項10】
前記マスクは、前記一部領域内に対応する位置に第1の値が設定され、前記一部領域外に対応する位置に前記第1の値とは異なる第2の値が設定された2値データである、
請求項1〜のいずれか一項に記載の情報処理装置。
【請求項11】
入力データと前記入力データの一部領域を隠すためのマスクとを合成して前記入力データの前記一部領域が隠された合成データを得ることと、
前記合成データと学習済みの第1のニューラルネットワークとに基づいて推論値を出力することと、
前記入力データの正解値を用いて前記推論値を評価して評価結果を得ることと、
複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第1のニューラルネットワークの重みパラメータおよび前記マスクの更新を行うことと、
を含み、
前記第1のニューラルネットワークの重みパラメータおよび前記マスクの更新を行うことは、第1の条件が満たされた場合に、前記更新の対象を前記マスクから前記第1のニューラルネットワークの重みパラメータに切り替えることを含む、
情報処理方法。
【請求項12】
コンピュータを、
入力データと前記入力データの一部領域を隠すためのマスクとを合成して前記入力データの前記一部領域が隠された合成データを得る合成部と、
前記合成データと学習済みの第1のニューラルネットワークとに基づいて推論値を出力する推論部と、
前記入力データの正解値を用いて前記推論値を評価して評価結果を得る評価部と、
複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第1のニューラルネットワークの重みパラメータおよび前記マスクの更新を行う更新部と、
を備え
前記更新部は、第1の条件が満たされた場合に、前記更新の対象を前記マスクから前記第1のニューラルネットワークの重みパラメータに切り替える、
情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
一般に、今日の画像認識などにおいて高い性能を有する多層ニューラルネットワークは、膨大なパラメータと複雑なモデルとによって構成されている。しかし、この種の機械学習によるシステムは、優れた性能を示す一方、ネットワークの出力の判断根拠の解釈が難しいという課題があった。この課題を解決するため、ニューラルネットワークの説明性を向上させる手法が幾つか提案されている。なお、ニューラルネットワークの説明性は、ニューラルネットワークへの入力データのどの特徴がニューラルネットワークによる予測または認識に重要であるのかに関する理解のしやすさであり得る。
【0003】
例えば、非特許文献1に記載の手法は、学習済みの畳み込みニューラルネットワークに対し、疑似的な学習データを大量に用意し、その入出力の関係を決定木で模倣する手法である。決定木モデルは説明性の高い機械学習であるため、ニューラルネットワークの入出力の関係を決定木で模倣することにより、説明性を向上させることができる。
【0004】
非特許文献2に記載の手法は、畳み込みニューラルネットワークの内部構造を、決定木を用いて分解し、各層の畳み込みフィルタと出力結果との関連度を計算することで、畳み込みニューラルネットワークの説明性を向上させる手法である。
【0005】
特許文献1に記載の手法は、ニューラルネットワークの不要なニューロンを削除してニューラルネットワークのパラメータ数を抑制することにより、ニューラルネットワークの説明性を向上させる手法である。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2003−30622号公報
【非特許文献】
【0007】
【非特許文献1】Leo Breiman、他1名、"BORN AGAIN TREES"、[online]、[令和1年6月26日検索]、インターネット<https://www.stat.berkeley.edu/users/breiman/BAtrees.pdf>
【非特許文献2】Quanshi Zhang、他3名、"InterpretingCNNs via Decision Trees"、[online]、2018年、[令和1年6月26日検索]、インターネット<https://arxiv.org/pdf/1802.00121.pdf>
【非特許文献3】Olaf Ronneberger、他2名、"U-Net:Convolutional Networks for Biomedical Image Segmentation"、[online]、2015年、[令和1年6月26日検索]、インターネット<https://arxiv.org/pdf/1505.04597.pdf>
【非特許文献4】Daniel Smilkov、他4名、"SmoothGrad:removingnoise by adding noise"[online]、2017年、[令和1年6月26日検索]、インターネット<https://arxiv.org/pdf/1706.03825.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、非特許文献1および非特許文献2それぞれに記載の手法には、精度劣化の可能性がある。ニューラルネットワークは膨大なパラメータと複雑な処理によって高い精度を達成しているため、決定木モデルでは表現できない処理が存在する。そのため、決定木モデルでニューラルネットワークと同等の精度を維持することは難しく、精度を維持することが課題となっている。
【0009】
特許文献1に記載の手法は、ニューロンを削除し、ニューロン同士の結合数を減らすことによって説明性を向上させる手法である。しかし、かかる手法では、新たにモデルを学習する必要があるため、かかる手法は、既に学習済みのニューラルネットワークモデルに適用され得ない。また、特許文献1に記載の手法では、ニューロン同士の結合部ごとの学習が必要になるため、かかる手法には、規模の大きいニューラルネットワークへの適用が難しいという課題がある。
【0010】
そこで、適用可能なニューラルネットワークが限定されることを抑制し、ニューラルネットワークによる出力の精度劣化を抑制しつつ、ニューラルネットワークの説明性を向上させることを可能とする技術が提供されることが望まれる。
【課題を解決するための手段】
【0011】
上記問題を解決するために、本発明のある観点によれば、入力データと前記入力データの一部領域を隠すためのマスクとを合成して前記入力データの前記一部領域が隠された合成データを得る合成部と、前記合成データと学習済みの第1のニューラルネットワークとに基づいて推論値を出力する推論部と、前記入力データの正解値を用いて前記推論値を評価して評価結果を得る評価部と、複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第1のニューラルネットワークの重みパラメータおよび前記マスクの更新を行う更新部と、を備え、前記更新部は、第1の条件が満たされた場合に、前記更新の対象を前記マスクから前記第1のニューラルネットワークの重みパラメータに切り替える、情報処理装置が提供される。
【0013】
前記更新部は、第2の条件が満たされた場合に、前記更新の対象を前記第1のニューラルネットワークの重みパラメータから前記マスクに切り替えてもよい。
【0014】
前記評価部は、前記正解値と前記推論値とに応じた損失関数を前記評価結果として算出し、前記更新部は、前記損失関数に基づいて前記第1のニューラルネットワークの重みパラメータおよび前記マスクの少なくともいずれか一方の更新を行ってもよい。
【0015】
前記第1の条件は、前記損失関数の値または前記損失関数の値の変化が閾値よりも小さいという条件を含んでもよい。
【0016】
前記第1の条件は、前記マスクの更新が所定の回数行われたという条件を含んでもよい。
【0017】
前記情報処理装置は、入力データと重みパラメータに初期値が設定された第2のニューラルネットワークとに基づいて前記マスクを生成するマスク生成部を備えてもよい。
【0018】
前記更新部は、更新の対象に前記マスクが設定された場合、前記評価結果に基づいて前記第2のニューラルネットワークの重みパラメータを更新し、前記重みパラメータが更新された後の前記第2のニューラルネットワークと入力データとに基づいて前記マスクを更新してもよい。
【0019】
前記更新部は、更新の対象に前記マスクが設定された場合、前記マスクを更新してもよい。
【0020】
前記複数の入力データは、前記第1のニューラルネットワークの学習に用いられた入力データを含んでもよい。
【0021】
前記マスクは、前記一部領域内に対応する位置に第1の値が設定され、前記一部領域外に対応する位置に前記第1の値とは異なる第2の値が設定された2値データであってもよい。
【0022】
また、本発明の別の観点によれば、入力データと前記入力データの一部領域を隠すためのマスクとを合成して前記入力データの前記一部領域が隠された合成データを得ることと、前記合成データと学習済みの第1のニューラルネットワークとに基づいて推論値を出力することと、前記入力データの正解値を用いて前記推論値を評価して評価結果を得ることと、複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第1のニューラルネットワークの重みパラメータおよび前記マスクの更新を行うことと、を含み、前記第1のニューラルネットワークの重みパラメータおよび前記マスクの更新を行うことは、第1の条件が満たされた場合に、前記更新の対象を前記マスクから前記第1のニューラルネットワークの重みパラメータに切り替えることを含む、情報処理方法が提供される。
【0023】
また、本発明の別の観点によれば、コンピュータを、入力データと前記入力データの一部領域を隠すためのマスクとを合成して前記入力データの前記一部領域が隠された合成データを得る合成部と、前記合成データと学習済みの第1のニューラルネットワークとに基づいて推論値を出力する推論部と、前記入力データの正解値を用いて前記推論値を評価して評価結果を得る評価部と、複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第1のニューラルネットワークの重みパラメータおよび前記マスクの更新を行う更新部と、を備え、前記更新部は、第1の条件が満たされた場合に、前記更新の対象を前記マスクから前記第1のニューラルネットワークの重みパラメータに切り替える、情報処理装置として機能させるためのプログラムが提供される。
【発明の効果】
【0024】
以上説明したように本発明によれば、適用可能なニューラルネットワークが限定されることを抑制し、ニューラルネットワークによる出力の精度劣化を抑制しつつ、ニューラルネットワークの説明性を向上させることを可能とする技術が提供される。
【図面の簡単な説明】
【0025】
図1】本発明の第1の実施形態に係る情報処理装置の機能構成例を示す図である。
図2】同実施形態に係る情報処理装置の動作例を示すフローチャートである。
図3】本発明の第2の実施形態に係る情報処理装置の機能構成例を示す図である。
図4】同実施形態に係る情報処理装置の動作例を示すフローチャートである。
図5】本発明の実施形態に係る情報処理装置の例としての情報処理装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【0026】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0027】
また、本明細書および図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一の機能構成を有する複数の構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、異なる実施形態の類似する構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。
【0028】
(1.第1の実施形態の詳細)
続いて、本発明の第1の実施形態の詳細について説明する。
【0029】
(1−1.構成の説明)
まず、本発明の第1の実施形態に係る情報処理装置の構成について説明する。図1は、本発明の第1の実施形態に係る情報処理装置の機能構成例を示す図である。図1に示されるように、本発明の第1の実施形態に係る情報処理装置10は、入力部101、マスク生成部102、合成部103、推論部104、評価部105および更新部106を備える。
【0030】
これらのブロックは、CPU(Central Processing Unit)またはGPU(Graphics Processing Unit)などの演算装置を含み、ROM(Read Only Memory)により記憶されているプログラムが演算装置によりRAMに展開されて実行されることにより、その機能が実現され得る。このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、これらのブロックは、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。演算装置による演算に必要なデータは、図示しない記憶部によって適宜記憶される。
【0031】
データセット111、学習済みの第1NN112(学習済みの第1のニューラルネットワーク)、および、第2NN113(第2のニューラルネットワーク)は、図示しない記憶部によって記憶されている。かかる記憶部は、RAM(Random Access Memory)、ハードディスクドライブまたはフラッシュメモリなどのメモリによって構成されてよい。以下では、学習済みの第1NN112を単に「第1NN112」とも表現する。
【0032】
第1NN112は、上記したように学習済みの第1のニューラルネットワークである。本発明の実施形態では、第1NN112の説明性を向上させることを目的の一つとする。なお、第1NN112の構造は特に限定されない。
【0033】
第2NN113のパラメータには、初期値が設定されている。第2NN113のパラメータの初期値は限定されない。ここでは、第2NN113のパラメータの初期値の例として、Heの初期値が設定されている場合を想定する。なお、本発明の第1の実施形態では、第2NN113からの出力によってマスクが生成されることを想定しているため、直接的にはマスクの初期値は設定されていない。
【0034】
なお、第2NN113の構造も特に限定されず、タスク(第1NN112が解こうとする問題)に応じた構造が自由に選択されてよい。例えば、第1NN112が解こうとする問題が画像データに基づく認識である場合、第2NN113は、上記の非特許文献3に記載されたような畳み込みニューラルネットワークであってもよい。あるいは、第2NN113は、全結合層が重なったニューラルネットワークであってもよい。
【0035】
データセット111は、複数の入力データと当該複数の入力データそれぞれの正解値とを含んで構成される。このとき、データセット111は、第1のニューラルネットワークの学習に用いられたデータセットの少なくとも一部を含んでもよい。すなわち、データセット111は、第1のニューラルネットワークの学習に用いられた入力データと正解値との複数のセットの少なくとも一部を含んでよい。これによって、データが効率的に利用される。しかし、データセット111は、第1NN112が解こうとする問題と共通する問題を解くために用いられた他のデータセットを含んでもよい。なお、本発明の実施形態では、入力データが画像データである場合を主に想定する。しかし、入力データの種類は特に限定されない。
【0036】
入力部101は、データセット111から入力データおよび正解値の組み合わせを順次に取得する。入力部101は、入力データおよび正解値の組み合わせを順次に合成部103に出力する。また、入力部101は、最初の入力データをマスク生成部102に出力し、次の入力データ以降を更新部106に出力する。入力部101よりも後段のブロックにおいては、入力部101からの入力に基づいて順次に各自の処理が繰り返し実行される。
【0037】
なお、例えば、入力部101は、データセット111から入力データおよび正解値の組み合わせを全部取得し終わった場合には、最初から当該組み合わせを取得し直して再度出力する動作を所定の回数繰り返してよい。かかる場合には、入力部101よりも後段のブロックにおいても、入力部101からの再度の入力に基づいて順次に各自の処理が繰り返し実行されてよい。また、入力部101によって最初に入力データが取得された時点では、マスクが生成されていないことが想定される。
【0038】
マスク生成部102は、(重みパラメータに初期値が設定された)第2NN113を取得し、入力部101によって最初に取得された入力データと第2NN113とに基づいてマスクを生成する。より詳細に、マスク生成部102は、入力部101によって最初に取得された入力データを第2NN113に入力させたことに基づいて、第2NN113から出力されるデータをマスクとして得る。
【0039】
マスクは、入力データの一部領域(以下、「マスク領域」とも言う。)を隠すためのデータとなり得る。本発明の実施形態では、マスクにおいて、当該マスク領域内に対応する各位置に第1の値が設定され、当該マスク領域外に対応する各位置に第1の値とは異なる第2の値が設定される場合(すなわち、マスクが2値データの場合)を想定する。これによって、第1NN112の説明性がより向上されることが期待される。しかし、マスクの各位置に設定される値は、2値データでなくてもよく、連続値であってもよい。
【0040】
なお、ここでは、第1の値として、0が設定され、第2の値として、1が設定される場合を想定する。すなわち、入力データのある位置の値をxとし、第2NN113における入力から出力への変換を関数g()とした場合、マスクにおけるxに対応する位置の値mは、下記の式(1)によって表現され得る。
【0041】
m=g(x)=0 or 1 ・・・(1)
【0042】
マスクの各位置に0か1が設定されるためには、第2NN113から出力される各値が0か1となればよい。そこで、第2NN113から出力される各値が0か1となるように、第2NN113に対して所定の制約が加えられるとよい。例えば、所定の制約は、第2NN113がステップ関数を含むという制約であってもよい。
【0043】
さらに、マスクのすべての位置に1が設定されてしまうとマスクが用いられる意味が薄れてしまう。そのため、マスクのすべての位置に1が設定されてしまうことがないように(すなわち、第2NN113から出力される値がすべて1となってしまうことがないように)、第2NN113に対して所定の制約が加えられてもよい。例えば、第2NN113から出力される各値のうち所定の割合(例えば、1割など)は、強制的に0になるような制約が第2NN113に加えられてもよい。
【0044】
なお、第1の値および第2の値それぞれの具体的な値は特に限定されない。また、後にも説明するように、本発明の第1の実施形態では、更新部106によって直接的にマスクが更新されるのではなく、更新部106によって第2NN113を介して間接的にマスクが更新される。
【0045】
合成部103は、入力部101によって取得された入力データとマスク生成部102によって生成されたマスクとを合成して入力データのマスク領域が隠された合成データを得る。さらに、合成部103は、更新部106によってマスクが更新された場合には、入力部101によって取得された入力データと更新部106によって更新された後のマスクとを合成して入力データのマスク領域が隠された合成データを得る。合成部103は、合成データと正解値とを推論部104に出力する。
【0046】
ここでは、上記したように、マスク領域内に対応する各位置に0(第1の値)が設定され、マスク領域外に対応する各位置に1(第2の値)が設定された場合を想定する。すなわち、入力データのある位置の値をxとし、マスクにおけるxに対応する位置の値をmとした場合、合成データにおけるxに対応する位置の値x’は、式(1)も加味すると、下記の式(2)によって表現され得る。
【0047】
x’=x・m=x・g(x)・・・(2)
【0048】
推論部104は、合成部103によって得られた合成データと第1NN112とに基づいて推論を行い、推論によって得られた推論値を入力データの正解値とともに評価部105に出力する。より詳細に、推論部104は、合成データを第1NN112に入力させたことに基づいて、第1NN112から出力される値を推論値として得る。なお、本明細書においては、ニューラルネットワークへのデータの入力に基づいてニューラルネットワークから出力されるデータを得ることを広く「推論」と言うため、学習段階においても「推論」という用語が使用される。
【0049】
例えば、第1NN112における入力から出力への変換を関数f()とした場合、第1NN112から出力されるデータをyは、式(2)も加味すると、下記の式(3)によって表現される。ただし、関数fには、合成データの各位置の値x’がすべて入力される。
【0050】
y=f(x’)=f(x・m) ・・・(3)
【0051】
評価部105は、正解値を用いて推論値を評価することによって、評価結果を得る。そして、評価部105は、評価結果を更新部106に出力する。本発明の実施形態では、評価部105が、正解値と推論値とに応じた損失関数を評価結果として算出する場合を想定する。ここで、本発明の実施形態において用いられる損失関数は特定の関数に限定されず、一般的なニューラルネットワークにおいて用いられる損失関数と同様の損失関数が用いられてよい。例えば、損失関数は、正解値と推論値との差分に基づく平均二乗誤差であってもよい。
【0052】
更新部106は、評価部105によって出力された評価結果に基づいて、第1NN112の重みパラメータおよびマスクのうち少なくともいずれか一方の更新を行う。本発明の実施形態では、更新部106は、損失関数に基づいて第1NN112の重みパラメータおよびマスクの少なくともいずれか一方の更新を行う。
【0053】
このとき、更新部106による更新の対象は、後にも説明するように複数の入力データが順次に処理されて行く間に変更される。したがって、更新部106は、複数の入力データに対応して、第1NN112の重みパラメータおよびマスクの双方を更新する。すなわち、更新部106は、複数の入力データそれぞれに対応する評価結果に基づいて、第1NN112の重みパラメータおよびマスクの更新を行う。
【0054】
例えば、更新部106は、最初は更新の対象にマスクを設定するのが望ましい。学習が進んでいないマスクが最初に更新されてから、学習済みの第1NN112の重みパラメータが更新されたほうが、精度の低下が小さくて済むことが予想されるからである。逆に、学習済みの第1NN112の重みパラメータが最初に更新されてから、学習が進んでいないマスクが更新されると、精度の低下が大きくなることが予想される。しかし、マスクおよび第1NN112のいずれが最初に更新の対象に設定されてもよい。
【0055】
例えば、更新部106は、最初に更新の対象に少なくともマスクを設定し、第1の条件が満たされた場合に、更新の対象からマスクを除外すればよい。そして、更新部106は、第2の条件が満たされた場合に、更新の対象にマスクを追加すればよい。
【0056】
本発明の実施形態では、第1NN112の重みパラメータおよびマスクの双方が同時に更新された後に、更新の対象からマスクが除外されると、第1NN112の精度が低下してしまう可能性があるため、第1NN112の重みパラメータおよびマスクが一方ずつ更新される場合を主に想定する。すなわち、更新部106が、第1の条件が満たされた場合に、更新の対象をマスクから第1NN112の重みパラメータに切り替える場合を主に想定する。そして、更新部106が、第2の条件が満たされた場合に、更新の対象を第1NN112の重みパラメータからマスクに切り替える場合を主に想定する。
【0057】
しかし、マスクの更新がある程度進んでいる場合などには、第1NN112の重みパラメータおよびマスクの双方が同時に更新される場合があってもよい。すなわち、更新部106は、更新の対象に第1NN112の重みパラメータおよびマスクを設定し、第1の条件が満たされた場合に、更新の対象からマスクを除外してもよい。そして、更新部106は、第2の条件が満たされた場合に、更新の対象にマスクを追加してもよい。なお、第1の条件と第2の条件とは、同じであってもよいし、異なっていてもよい。第1の条件および第2の条件それぞれについては、後に詳細に説明する。
【0058】
本発明の第1の実施形態では、更新部106が、更新の対象にマスクが設定された場合、評価結果に基づいて第2NN113の重みパラメータを更新する(このとき、第1NN112の重みパラメータは固定される)。これによって、第2NN113は、推論部104から出力される推論値が正解値に近づくようにマスクの更新を学習し得る。例えば、第2NN113の重みパラメータは、評価結果に基づく誤差逆伝播法(バックプロパゲーション)によって更新されてよい。
【0059】
そして、入力部101によって次の入力データが取得された場合、更新部106は、重みパラメータ更新後の第2NN113および当該次の入力データに基づいてマスクを更新する。より詳細に、更新部106は、重みパラメータ更新後の第2NN113に次の入力データを入力させたことに基づいて、重みパラメータ更新後の第2NN113から出力されるデータによってマスクを更新する。その後、第1の条件が満たされない限りは、入力部101による次の入力データの取得、更新部106によるマスクの更新、合成部103、推論部104および評価部105における各自の処理、更新部106による第2NN113の重みパラメータの更新が繰り返し実行される。
【0060】
そして、更新部106は、第1の条件が満たされた場合に、更新の対象を第2NN113の重みパラメータから第1NN112の重みパラメータに切り替える。このとき、更新部106は、評価結果に基づいて第1NN112の重みパラメータを更新する(このとき、第2NN113の重みパラメータは固定される)。これによって、第1NN112による学習は、入力データのマスク領域外から正解値を予測できるように行われる。例えば、第1NN112の重みパラメータは、評価結果に基づく誤差逆伝播法によって更新されてよい。
【0061】
その後、第2の条件が満たされない限りは、入力部101による次の入力データの取得、合成部103、推論部104および評価部105における各自の処理、更新部106による第1NN112の重みパラメータの更新が繰り返し実行される。そして、更新部106は、第2の条件が満たされた場合に、更新の対象を第1NN112の重みパラメータから第2NN113の重みパラメータに切り替える。このとき、上記と同様にして第2NN113の重みパラメータが更新される(第1NN112のパラメータは固定される)。
【0062】
なお、更新部106は、第1NN112の重みパラメータまたは第2NN113の重みパラメータの更新が終わるたびに、学習の終了条件が満たされたか否かを判断する。学習の終了条件が満たされていないと判断した場合には、入力部101によって次の入力データが取得され、合成部103、推論部104、評価部105および更新部106それぞれによって、当該次の入力データに基づく各自の処理が再度実行される。一方、更新部106によって、学習の終了条件が満たされたと判断された場合には、第1NN112および第2NN113の学習が終了される。なお、学習の終了条件については、後に詳細に説明する。
【0063】
以上、本発明の第1の実施形態に係る情報処理装置10の構成について説明した。
【0064】
(1−2.動作の説明)
続いて、本発明の第1の実施形態に係る情報処理装置10の動作について説明する。図2は、本発明の第1の実施形態に係る情報処理装置10の動作例を示すフローチャートである。図2に示された例では、上記と同様に、最初は更新の対象としてマスク(すなわち、第2NN113の重みパラメータ)が設定される場合を想定する。まず、図2に示されたように、入力部101は、データセット111から入力データおよび正解値の組み合わせを取得する。また、推論部104は、第1NN112を取得し、更新部106は、第2NN113を取得する(S101)。
【0065】
入力部101によって最初の入力データが取得された場合、マスク生成部102は、当該最初の入力データを第2NN113に入力させたことに基づいて、第2NN113から出力されるデータをマスクとして生成する。一方、入力部101によって次の入力データ以降の入力データが取得された場合、更新部106は、当該入力データを第2NN113に入力させたことに基づいて、第2NN113から出力されるデータによってマスクを更新する(S102)。更新後のマスクは、合成部103に出力される。
【0066】
合成部103は、更新部106によってマスクが更新される前には、入力部101によって取得された入力データとマスク生成部102によって生成されたマスクとを合成して合成データを得る(S103)。あるいは、合成部103は、更新部106によってマスクが更新された後には、入力部101によって取得された入力データと更新部106によって更新された後のマスクとを合成して合成データを得る。合成部103は、合成データと正解値とを推論部104に出力する。
【0067】
推論部104は、合成部103によって得られた合成データと第1NN112とに基づいて推論を行い、推論によって得られた推論値を入力データの正解値とともに評価部105に出力する。より詳細に、推論部104は、合成データを第1NN112に入力させたことに基づいて、第1NN112から出力される値を推論値として得る(S104)。
【0068】
評価部105は、正解値を用いて推論値を評価することによって、評価結果を得る(S105)。例えば、評価部105は、正解値と推論値とに応じた損失関数を評価結果として算出する。
【0069】
更新部106は、更新の対象として第2NN113の重みパラメータが設定されている状態において、第1の条件が満たされた場合に、更新の対象を第2NN113の重みパラメータから第1NN112の重みパラメータに切り替える。一方、更新部106は、更新の対象として第2NN113の重みパラメータが設定されている状態において、第1の条件が満たされない場合に、更新の対象を第2NN113の重みパラメータのままとする。
【0070】
さらに、更新部106は、更新の対象として第1NN112の重みパラメータが設定されている状態において、第2の条件が満たされた場合に、更新の対象を第1NN112の重みパラメータから第2NN113の重みパラメータに切り替える。一方、更新部106は、更新の対象として第1NN112の重みパラメータが設定されている状態において、第2の条件が満たされない場合に、更新の対象を第1NN112の重みパラメータのままとする。
【0071】
ここで、第1の条件は特に限定されず、第2NN113の学習がある程度行われたことを示す条件であればよい。具体的に、第1の条件は、損失関数の値が閾値Th11よりも小さいという条件を含んでもよい。例えば、閾値Th11は、固定値であってもよいし、徐々に変化してもよい(例えば、損失関数の値が徐々に小さくなることが想定されるため、閾値Th11は、徐々に小さくなってもよい)。あるいは、第1の条件は、損失関数の値の変化が閾値Th12よりも小さいという条件(損失関数の値が収束状態になったという条件)を含んでもよい。同様に、閾値Th12は、固定値であってもよいし、徐々に変化してもよい(例えば、損失関数の値の変化が徐々に小さくなることが想定されるため、閾値Th12は、徐々に小さくなってもよい)。
【0072】
あるいは、第1の条件は、第2NN113(すなわち、マスク)の更新が所定の回数Th13行われたという条件を含んでもよい。所定の回数Th13は、同じデータセットについての処理が所定数繰り返し実行されるごと(すなわち、エポック単位)であってもよい。あるいは、所定の回数Th13は、所定数の入力データについての処理が実行されるごと(すなわち、イテレーション単位)であってもよい。所定の回数Th13は、固定値であってもよいし、徐々に変化してもよい。
【0073】
ここで、第2の条件は特に限定されず、第1NN112の学習がある程度行われたことを示す条件であればよい。具体的に、第2の条件は、損失関数の値が閾値Th21よりも小さいという条件を含んでもよい。例えば、閾値Th21は、固定値であってもよいし、徐々に変化してもよい(例えば、損失関数の値が徐々に小さくなることが想定されるため、閾値Th21は、徐々に小さくなってもよい)。あるいは、第2の条件は、損失関数の値の変化が閾値Th22よりも小さいという条件(損失関数の値が収束状態になったという条件)を含んでもよい。同様に、閾値Th22は、固定値であってもよいし、徐々に変化してもよい(例えば、損失関数の値の変化が徐々に小さくなることが想定されるため、閾値Th22は、徐々に小さくなってもよい)。
【0074】
あるいは、第2の条件は、第1NN112の更新が所定の回数Th23行われたという条件を含んでもよい。所定の回数Th23は、同じデータセットについての処理が所定数繰り返し実行されるごと(すなわち、エポック単位)であってもよい。あるいは、所定の回数Th23は、所定数の入力データについての処理が実行されるごと(すなわち、イテレーション単位)であってもよい。所定の回数Th23は、固定値であってもよいし、徐々に変化してもよい。
【0075】
なお、上記したように、第1の条件と第2の条件とは、同じであってもよいし、異なっていてもよい。すなわち、閾値Th11と閾値Th21とは、同じであってもよいし、異なっていてもよい。あるいは、閾値Th12と閾値Th22とは、同じであってもよいし、異なっていてもよい。あるいは、所定の回数Th13と所定の回数Th23とは、同じであってもよいし、異なっていてもよい。
【0076】
更新部106は、学習対象のNNが第1NN112である場合(S106において「第1NN」)、すなわち、更新の対象が第1NN112の重みパラメータである場合、評価結果に基づいて第1NN112の重みパラメータを更新する(このとき、第2NN113の重みパラメータは固定される)(S107)。これによって、第1NN112による学習は、入力データのマスク領域外から正解値を予測できるように行われる。例えば、第1NN112の重みパラメータは、評価結果に基づく誤差逆伝播法によって更新されてよい。
【0077】
一方、更新部106は、学習対象のNNが第2NN113である場合(S106において「第2NN」)、すなわち、更新の対象が第2NN113の重みパラメータである場合、評価結果に基づいて第2NN113の重みパラメータを更新する(このとき、第1NN112の重みパラメータは固定される)(S108)。これによって、第2NN113による学習は、入力データのマスク領域外から正解値を予測できるように行われる。例えば、第2NN113の重みパラメータは、評価結果に基づく誤差逆伝播法によって更新されてよい。
【0078】
更新部106は、第1NN112の重みパラメータまたは第2NN113の重みパラメータの更新が終わるたびに、学習の終了条件が満たされたか否かを判断する(S109)。学習の終了条件が満たされていないと判断した場合には(S109において「No」)、S101に動作が移行され、入力部101によって次の入力データが取得され、合成部103、推論部104、評価部105および更新部106それぞれによって、当該次の入力データに基づく各自の処理が再度実行される。一方、更新部106によって、学習の終了条件が満たされたと判断された場合には(S109において「Yes」)、第1NN112および第2NN113の学習が終了される。
【0079】
なお、学習の終了条件は特に限定されず、第1NN112および第2NN113の少なくともいずれか一方の学習がある程度行われたことを示す条件であればよい。具体的に、学習の終了件は、損失関数の値が閾値Th31よりも小さいという条件を含んでもよい。あるいは、学習の終了条件は、損失関数の値の変化が閾値Th32よりも小さいという条件(損失関数の値が収束状態になったという条件)を含んでもよい。
【0080】
あるいは、学習の終了条件は、第2NN113(すなわち、マスク)の更新が所定の回数Th33行われたという条件を含んでもよい。あるいは、学習の終了条件は、第1NN112の更新が所定の回数Th34行われたという条件を含んでもよい。あるいは、学習の終了条件は、第2NN113(すなわち、マスク)の更新が所定の回数Th33行われたという条件、かつ、第1NN112の更新が所定の回数Th34行われたという条件の双方を含んでもよい。あるいは、評価部105によって正解値と推論値とに基づいて精度が算出される場合、学習の終了条件は、精度が所定の割合(例えば、90%など)を超えるという条件を含んでもよい。
【0081】
以上、本発明の第1の実施形態に係る情報処理装置10の動作について説明した。
【0082】
(1−3.効果の説明)
本発明の第1の実施形態に係る情報処理装置10においては、合成部103は、入力データと前記入力データのマスク領域を隠すためのマスクとを合成して前記入力データの前記マスク領域が隠された合成データを得る。推論部104は、前記合成データと学習済みの第1NN112とに基づいて推論値を出力する。評価部105は、前記入力データの正解値を用いて前記推論値を評価して評価結果を得る。更新部106は、複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第1NN112の重みパラメータおよび前記マスクの更新を行う。
【0083】
そして、更新部106は、更新の対象に前記マスクが設定された場合、前記評価結果に基づいて第2NN113の重みパラメータを更新し、前記重みパラメータが更新された後の前記第2NN113と入力データとに基づいて前記マスクを更新する。更新部106は、第1の条件が満たされた場合に、前記更新の対象を前記マスクから前記第1NN112の重みパラメータに切り替える。
【0084】
これによって、第2NN113は、推論部104から出力される推論値が正解値に近づくようにマスクの更新を学習し得る。そして、第1NN112による学習は、入力データのマスク領域外から正解値を予測できるように行われる。すなわち、第1NN112は、マスク領域外から推論を行うモデルとなるため、このモデルの注目領域を可視化することによって、その注目領域を推論に利用された領域として把握することができる。したがって、第1NN112が、どの領域に注目したか(第1NN112への入力データのどの特徴が第1NN112による予測または認識に重要であるのか)が理解しやすくなり、第1NN112の説明性が向上する。
【0085】
さらに、本発明の第1の実施形態に係る情報処理装置10によれば、学習済みの第1NN112に対して再学習を行うため、第1NN112による出力の精度劣化を抑制しつつ、第1NN112の説明性を向上させることが可能である。
【0086】
以上、本発明の第1の実施形態の詳細について説明した。
【0087】
(2.第2の実施形態の詳細)
続いて、本発明の第2の実施形態の詳細について説明する。
【0088】
(2−1.構成の説明)
まず、本発明の第2の実施形態に係る情報処理装置の構成について説明する。図3は、本発明の第2の実施形態に係る情報処理装置の機能構成例を示す図である。図3に示されるように、本発明の第2の実施形態に係る情報処理装置20は、入力部201、合成部203、推論部204、評価部205および更新部206を備える。
【0089】
本発明の第1の実施形態と同様に、これらのブロックは、CPUまたはGPUなどの演算装置を含み、ROMにより記憶されているプログラムが演算装置によりRAMに展開されて実行されることにより、その機能が実現され得る。このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、これらのブロックは、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。演算装置による演算に必要なデータは、図示しない記憶部によって適宜記憶される。
【0090】
データセット211、学習済みの第1NN212(学習済みの第1のニューラルネットワーク)、および、マスク213は、図示しない記憶部によって記憶されている。かかる記憶部は、RAM、ハードディスクドライブまたはフラッシュメモリなどのメモリによって構成されてよい。以下では、学習済みの第1NN212を単に「第1NN212」とも表現する。ここで、データセット211は、本発明の第1の実施形態に係るデータセット111と同様である。第1NN212も、本発明の第1の実施形態に係る第1NN112と同様である。
【0091】
本発明の第1の実施形態においては、マスクは、入力データと第2NN113とに基づいて生成され、順次に更新される場合を想定した。一方、本発明の第2の実施形態においては、マスク213は、あらかじめ図示しない記憶部によって記憶されており、順次に更新されていく。ただし、本発明の第1の実施形態においては、複数の入力データに対して1つの第2NN113が設けられる場合を想定した。一方、本発明の第2の実施形態においては、複数の入力データそれぞれに対応してマスクが設けられる(入力データごとにマスクが設けられる)。
【0092】
ここで、マスク213の初期値はどのような値であってもよい。例えば、マスク213の初期値は、第1NN212の中間層の特徴ベクトルまたは勾配情報に基づいて算出された顕著性マップを用いて設定されてもよい。一例として、マスク213の初期値は、上記した非特許文献4に記載された手法を用いて設定されてもよい。しかし、マスク213の初期値は、学習済みのニューラルネットワークに適用可能な他の手法を用いて設定されてもよい。
【0093】
顕著性マップは、通常連続値によって表現される。そのため、顕著性マップの値と閾値tとの比較に基づいて、顕著性マップの値を離散値へと変換し、当該離散値がマスクの初期値として設定されてもよい。ここで、本発明の第1の実施形態と同様に、マスクにおいて、マスク領域内に対応する各位置に0(第1の値)が設定され、当該マスク領域外に対応する各位置に1(第2の値)が設定される場合を想定する。すなわち、入力データのある位置の値をxとし、顕著性マップにおける入力から出力への変換を関数S()とした場合、マスクにおけるxに対応する位置の値Mは、下記の式(4)によって表現され得る。
【0094】
M=0 (ただし、S(x)<tの場合)
M=1 (ただし、S(x)≧tの場合) ・・・(4)
【0095】
ここで、閾値tは、ユーザによって設定されてよい。例えば、閾値tは、顕著性マップの各値の平均値などから決定されてもよいし、顕著性マップの各値のうち、下位n番目の値が閾値tとして決定されてもよい。顕著性マップの生成手法によっては、顕著性マップのサイズと入力データのサイズとが異なる場合も想定される。しかし、かかる場合であっても、顕著性マップに対してアップサンプリングなどを施すことによって、顕著性マップのサイズと入力データのサイズとが合わせられてよい。
【0096】
入力部201は、データセット211から入力データおよび正解値の組み合わせを順次に取得する。入力部201は、入力データおよび正解値の組み合わせを順次に合成部203に出力する。入力部201よりも後段のブロックにおいては、入力部201からの入力に基づいて順次に各自の処理が繰り返し実行される。なお、本発明の第1の実施形態に係る入力部101と同様に、入力部201は、データセット211から入力データおよび正解値の組み合わせを全部取得し終わった場合には、最初から当該組み合わせを取得し直して再度出力する動作を所定の回数繰り返してよい。かかる場合には、入力部201よりも後段のブロックにおいても、入力部201からの再度の入力に基づいて順次に各自の処理が繰り返し実行されてよい。
【0097】
合成部203は、入力部201によって取得された入力データと当該入力データに対応するマスク213の初期値とを合成して入力データのマスク領域が隠された合成データを得る。さらに、合成部203は、更新部206によってマスクが更新された場合には、入力部201によって取得された入力データと更新部206によって更新された後の(当該入力データに対応する)マスク213とを合成して入力データのマスク領域が隠された合成データを得る。なお、合成部203による合成データの算出は、本発明の第1の実施形態に係る合成部103による合成データの算出と同様に実行されてよい。合成部203は、合成データと正解値とを推論部204に出力する。
【0098】
推論部204は、合成部203によって得られた合成データと第1NN212とに基づいて推論を行い、推論によって得られた推論値を入力データの正解値とともに評価部205に出力する。なお、推論部204による推論は、本発明の第1の実施形態に係る推論部104による推論と同様に実行されてよい。
【0099】
評価部205は、正解値を用いて推論値を評価することによって、評価結果を得る。そして、評価部205は、評価結果を更新部206に出力する。なお、評価部205による評価は、本発明の第1の実施形態に係る評価部105による評価と同様に実行されてよい。
【0100】
更新部206は、評価部205によって出力された評価結果に基づいて、第1NN212の重みパラメータおよび(入力データに対応する)マスク213のうち少なくともいずれか一方の更新を行う。本発明の第2の実施形態では、更新部206は、損失関数に基づいて第1NN212の重みパラメータおよび(入力データに対応する)マスク213の少なくともいずれか一方の更新を行う。例えば、本発明の第1の実施形態と同様に、更新部206は、最初は更新の対象にマスク213を設定するのが望ましい。しかし、マスク213および第1NN212のいずれが最初に更新の対象に設定されてもよい。
【0101】
例えば、更新部206は、最初に更新の対象に少なくともマスク213を設定し、第1の条件が満たされた場合に、更新の対象からマスク213を除外すればよい。そして、更新部206は、第2の条件が満たされた場合に、更新の対象にマスク213を追加すればよい。しかし、本発明の第1の実施形態と同様に、本発明の第2の実施形態においても、第1NN212の重みパラメータおよびマスク213が一方ずつ更新される場合を主に想定する。すなわち、更新部206が、第1の条件が満たされた場合に、更新の対象をマスク213から第1NN212の重みパラメータに切り替える場合を主に想定する。そして、更新部206が、第2の条件が満たされた場合に、更新の対象を第1NN212の重みパラメータからマスク213に切り替える場合を主に想定する。
【0102】
しかし、マスク213の更新がある程度進んでいる場合などには、第1NN212の重みパラメータおよびマスク213の双方が同時に更新される場合があってもよい。すなわち、更新部206は、更新の対象に第1NN212の重みパラメータおよびマスク213を設定し、第1の条件が満たされた場合に、更新の対象からマスク213を除外してもよい。そして、更新部206は、第2の条件が満たされた場合に、更新の対象にマスク213を追加してもよい。なお、第1の条件および第2の条件それぞれについては、本発明の第1の実施形態において説明した通りである。
【0103】
本発明の第2の実施形態では、更新部206が、更新の対象にマスク213が設定された場合、評価結果に基づいてマスク213を更新する(このとき、第1NN212の重みパラメータは固定される)。ここで、マスク213の更新は、入力データに対応するマスク213の各値を更新することであり、マスク213の各値を、NNの学習過程において更新する対象の一つのパラメータとして扱うことで実現される。また、マスクの更新の際には第1の実施形態と同様に制約を加える。例えば、マスクの各値のうち所定の割合(例えば、1割など)は、強制的に0になるような制約が加えられてもよい。その後、第1の条件が満たされない限りは、入力部201による次の入力データの取得、合成部203、推論部204および評価部205における各自の処理、更新部206によるマスク213の更新が繰り返し実行される。
【0104】
そして、更新部206は、第1の条件が満たされた場合に、更新の対象をマスク213から第1NN212の重みパラメータに切り替える。このとき、更新部206は、評価結果に基づいて第1NN212の重みパラメータを更新する(このとき、マスク213は固定される)。これによって、第1NN212による学習は、入力データのマスク領域外から正解値を予測できるように行われる。例えば、第1NN212の重みパラメータは、評価結果に基づく誤差逆伝播法によって更新されてよい。
【0105】
その後、第2の条件が満たされない限りは、入力部201による次の入力データの取得、合成部203、推論部204および評価部205における各自の処理、更新部206による第1NN212の重みパラメータの更新が繰り返し実行される。そして、更新部206は、第2の条件が満たされた場合に、更新の対象を第1NN212の重みパラメータからマスク213に切り替える。このとき、上記と同様にしてマスク213が更新される(第1NN212のパラメータは固定される)。
【0106】
なお、更新部206は、第1NN212の重みパラメータまたはマスク213の更新が終わるたびに、学習の終了条件が満たされたか否かを判断する。学習の終了条件が満たされていないと判断した場合には、入力部201によって次の入力データが取得され、合成部203、推論部204、評価部205および更新部206それぞれによって、当該次の入力データに基づく各自の処理が再度実行される。一方、更新部206によって、学習の終了条件が満たされたと判断された場合には、第1NN212の学習およびマスク213の更新が終了される。なお、学習の終了条件については、本発明の第1の実施形態において説明した通りである。
【0107】
以上、本発明の第2の実施形態に係る情報処理装置20の構成について説明した。
【0108】
(2−2.動作の説明)
続いて、本発明の第2の実施形態に係る情報処理装置20の動作について説明する。図4は、本発明の第2の実施形態に係る情報処理装置20の動作例を示すフローチャートである。図4に示された例では、上記と同様に、最初は更新の対象としてマスク213が設定される場合を想定する。まず、図4に示されたように、入力部201は、データセット211から入力データおよび正解値の組み合わせを取得する。また、推論部204は、第1NN212を取得する(S201)。
【0109】
合成部203は、更新部206によってマスクが更新される前には、入力部201によって取得された入力データと当該入力データに対応するマスク213の初期値とを合成して合成データを得る(S202)。あるいは、更新部206によってマスクが更新された後には、入力部201によって取得された入力データと更新部206によって更新された後の(当該入力データに対応する)マスク213とを合成して合成データを得る。合成部203は、合成データと正解値とを推論部204に出力する。
【0110】
推論部204は、合成部203によって得られた合成データと第1NN212とに基づいて推論を行い、推論によって得られた推論値を入力データの正解値とともに評価部205に出力する。より詳細に、推論部204は、合成データを第1NN212に入力させたことに基づいて、第1NN212から出力される値を推論値として得る(S203)。
【0111】
評価部205は、正解値を用いて推論値を評価することによって、評価結果を得る(S204)。例えば、評価部205は、正解値と推論値とに応じた損失関数を評価結果として算出する。
【0112】
更新部206は、更新の対象としてマスク213が設定されている状態において、第1の条件が満たされた場合に、更新の対象をマスク213から第1NN212の重みパラメータに切り替える。一方、更新部206は、更新の対象としてマスク213が設定されている状態において、第1の条件が満たされない場合に、更新の対象をマスク213のままとする。
【0113】
さらに、更新部206は、更新の対象として第1NN212の重みパラメータが設定されている状態において、第2の条件が満たされた場合に、更新の対象を第1NN212の重みパラメータからマスク213に切り替える。一方、更新部206は、更新の対象として第1NN212の重みパラメータが設定されている状態において、第2の条件が満たされない場合に、更新の対象を第1NN212の重みパラメータのままとする。なお、第1の条件および第2の条件それぞれについては、本発明の第1の実施形態において説明した通りである。
【0114】
更新部206は、更新の対象がマスク213である場合(S205において「マスク」)、評価結果に基づいて、入力データに対応するマスク213を更新する(このとき、第1NN213の重みパラメータは固定される)(S206)。
【0115】
一方、更新部206は、更新の対象が第1NN212である場合(S205において「第1NN」)、評価結果に基づいて第1NN212の重みパラメータを更新する(このとき、マスク213は固定される)(S207)。これによって、第1NN212による学習は、入力データのマスク領域外から正解値を予測できるように行われる。例えば、第1NN212の重みパラメータは、評価結果に基づく誤差逆伝播法によって更新されてよい。
【0116】
更新部206は、マスク213または第1NN212の重みパラメータの更新が終わるたびに、学習の終了条件が満たされたか否かを判断する(S208)。学習の終了条件が満たされていないと判断した場合には(S208において「No」)、S201に動作が移行され、入力部201によって次の入力データが取得され、合成部203、推論部204、評価部205および更新部206それぞれによって、当該次の入力データに基づく各自の処理が再度実行される。一方、更新部206によって、学習の終了条件が満たされたと判断された場合には(S208において「Yes」)、第1NN212の学習およびマスク213の更新が終了される。
【0117】
以上、本発明の第2の実施形態に係る情報処理装置20の動作について説明した。
【0118】
(2−3.効果の説明)
本発明の第2の実施形態においては、更新部206は、更新の対象にマスク213が設定された場合、直接的にマスク213を更新する。更新部206は、第1の条件が満たされた場合に、前記更新の対象を前記マスク213から前記第1NN212の重みパラメータに切り替える。
【0119】
これによって、本発明の第1の実施形態と同様に、第1NN212による学習は、入力データのマスク領域外から正解値を予測できるように行われる。すなわち、本発明の第1の実施形態と同様に、第1NN212は、マスク領域外から推論を行うモデルとなるため、このモデルの注目領域を可視化することによって、その注目領域を推論に利用された領域として把握することができる。したがって、本発明の第1の実施形態と同様に、第1NN212が、どの領域に注目したか(第1NN212への入力データのどの特徴が第1NN212による予測または認識に重要であるのか)が理解しやすくなり、第1NN212の説明性が向上する。
【0120】
さらに、本発明の第1の実施形態においては、複数の入力データに対して1つの第2NN113が設けられる場合を想定した。一方、本発明の第2の実施形態においては、複数の入力データそれぞれに対応してマスクが設けられる場合を想定した(入力データごとにマスクが設けられる場合を想定した)。これによって、入力データごとにより適切なマスクが設定されるようになることが期待される。
【0121】
以上、本発明の第2の実施形態の詳細について説明した。
【0122】
(3.ハードウェア構成例)
続いて、本発明の第1の実施形態に係る情報処理装置10のハードウェア構成例について説明する。ただし、本発明の第2の実施形態に係る情報処理装置20のハードウェア構成例も同様に実現され得る。
【0123】
以下では、本発明の第1の実施形態に係る情報処理装置10のハードウェア構成例として、情報処理装置900のハードウェア構成例について説明する。なお、以下に説明する情報処理装置900のハードウェア構成例は、情報処理装置10のハードウェア構成の一例に過ぎない。したがって、情報処理装置10のハードウェア構成は、以下に説明する情報処理装置900のハードウェア構成から不要な構成が削除されてもよいし、新たな構成が追加されてもよい。
【0124】
図5は、本発明の第1の実施形態に係る情報処理装置10の例としての情報処理装置900のハードウェア構成を示す図である。情報処理装置900は、CPU(Central Processing Unit)901と、ROM(Read Only Memory)902と、RAM(Random Access Memory)903と、ホストバス904と、ブリッジ905と、外部バス906と、インタフェース907と、入力装置908と、出力装置909と、ストレージ装置910と、通信装置911と、を備える。
【0125】
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバス等から構成されるホストバス904により相互に接続されている。
【0126】
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905および外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
【0127】
入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバー等ユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路等から構成されている。情報処理装置900を操作するユーザは、この入力装置908を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
【0128】
出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置、ランプ等の表示装置およびスピーカ等の音声出力装置を含む。
【0129】
ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。
【0130】
通信装置911は、例えば、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置911は、無線通信または有線通信のどちらに対応してもよい。
【0131】
以上、本発明の第1の実施形態に係る情報処理装置10のハードウェア構成例について説明した。
【0132】
(4.まとめ)
以上に説明したように、本発明の実施形態によれば、適用可能なニューラルネットワークが限定されることを抑制し、ニューラルネットワークによる出力の精度劣化を抑制しつつ、ニューラルネットワークの説明性を向上させることを可能とする技術が提供される。
【0133】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0134】
例えば、本発明の第1の実施形態および本発明の第2の実施形態においては、マスク生成部102によって生成されるマスク、更新部106、206による更新後のマスクの各値は、0(第1の値)または1(第2の値)である場合を主に説明した。しかし、これらのブロックは、出力するマスクの値を連続値とすることによって顕著性マップを出力することも可能である。その場合、顕著性マップと入力データとの合成データは、注目領域が強調されたデータとなる。また、これらのブロックは、マスクの値を連続値とする場合、損失関数に、顕著性マップの合計値を小さくするような正則化を行うことが必要である。
【0135】
本発明の第1の実施形態および本発明の第2の実施形態においては、第1NN112(第1NN212)の重みパラメータおよび第2NN113の重みパラメータ(または、マスク)が一方ずつ更新される場合を主に想定した。しかし、既に説明したように、第2NN113の学習がある程度進んでいる場合などには(または、マスクの更新がある程度進んでいる場合などには)第1NN112(第1NN212)の重みパラメータおよび第2NN113の重みパラメータ(または、マスク)の双方が同時に更新される場合があってもよい。
【0136】
本発明の第2の実施形態においては、データセット211から取得されるすべての入力データそれぞれに対応してマスクが生成される場合を主に想定した(データセット211から取得されるすべての入力データごとにマスクが生成される場合を主に想定した)。しかし、計算コストを抑えるため、データセット211から取得される複数の入力データの一部のみに対応してマスクが生成されてもよい。このとき、当該一部のみに基づいて第1NN212の学習が行われてもよい。
【符号の説明】
【0137】
10 情報処理装置
101 入力部
102 マスク生成部
103 合成部
104 推論部
105 評価部
106 更新部
111 データセット
20 情報処理装置
201 入力部
203 合成部
204 推論部
205 評価部
206 更新部
211 データセット
213 マスク
【要約】
【課題】適用可能なニューラルネットワークが限定されることを抑制し、ニューラルネットワークによる出力の精度劣化を抑制しつつ、ニューラルネットワークの説明性を向上させることを可能とする技術が提供されることが望まれる。
【解決手段】入力データと前記入力データの一部領域を隠すためのマスクとを合成して前記入力データの前記一部領域が隠された合成データを得る合成部と、前記合成データと学習済みの第1のニューラルネットワークとに基づいて推論値を出力する推論部と、前記入力データの正解値を用いて前記推論値を評価して評価結果を得る評価部と、複数の前記入力データそれぞれに対応する前記評価結果に基づいて、前記第1のニューラルネットワークの重みパラメータおよび前記マスクの更新を行う更新部と、を備える、情報処理装置が提供される。
【選択図】図1
図1
図2
図3
図4
図5