(57)【特許請求の範囲】
【請求項１】
複数のデータを取得する取得部と、
前記取得部によって取得された複数のデータを入力データとしてモデルに入力し、該モデルから出力される出力データを得た場合に、前記出力データと正解データに基づいて、前記モデルのロスを計算する第一の計算部と、
前記第一の計算部によってロスが計算されるたびに、該ロスに応じて前記モデルの重みを更新する更新処理を繰り返し行う更新部と、
前記モデルの解釈性に寄与する値を計算する第二の計算部と、
前記第一の計算部によって計算されたロスと前記第二の計算部によって計算された値とが所定の条件を満たした場合には、前記更新処理を終了させる更新終了部と、
を有することを特徴とする学習装置。
【請求項２】
前記第二の計算部は、前記入力データおよび前記出力データに基づいて、入力データの各要素の出力データに対する寄与度であるアトリビューションを計算することを特徴とする請求項１に記載の学習装置。
【請求項３】
前記更新終了部は、前記第一の計算部によって計算されたロスが所定の閾値以下であって、且つ、前記第二の計算部によって計算された値が所定の閾値以下である場合には、前記更新処理を終了させることを特徴とする請求項１に記載の学習装置。
【請求項４】
前記更新終了部は、前記第一の計算部によって計算されたロスが前回計算されたロスよりも大きくなることが所定回数連続で続き、且つ、前記第二の計算部によって計算された値が前回計算された値よりも大きくなることが所定回数連続で続いた場合には、前記更新処理を終了させることを特徴とする請求項１に記載の学習装置。
【請求項５】
前記更新終了部によって更新処理が終了されるまで前記更新部によって更新処理が繰り返し行われた学習済みモデルに入力データを入力し、該学習済みモデルから出力される出力データを得た場合に、前記モデルの解釈性に寄与する値を抽出する抽出部をさらに有することを特徴とする請求項１に記載の学習装置。
【請求項６】
学習装置によって実行される学習方法であって、
複数のデータを取得する取得工程と、
前記取得工程によって取得された複数のデータを入力データとしてモデルに入力し、該モデルから出力される出力データを得た場合に、前記出力データと正解データに基づいて、前記モデルのロスを計算する第一の計算工程と、
前記第一の計算工程によってロスが計算されるたびに、該ロスに応じて前記モデルの重みを更新する更新処理を繰り返し行う更新工程と、
前記モデルの解釈性に寄与する値を計算する第二の計算工程と、
前記第一の計算工程によって計算されたロスと前記第二の計算工程によって計算された値とが所定の条件を満たした場合には、前記更新処理を終了させる更新終了工程と、
を含むことを特徴とする学習方法。
【請求項７】
複数のデータを取得する取得ステップと、
前記取得ステップによって取得された複数のデータを入力データとしてモデルに入力し、該モデルから出力される出力データを得た場合に、前記出力データと正解データに基づいて、前記モデルのロスを計算する第一の計算ステップと、
前記第一の計算ステップによってロスが計算されるたびに、該ロスに応じて前記モデルの重みを更新する更新処理を繰り返し行う更新ステップと、
前記モデルの解釈性に寄与する値を計算する第二の計算ステップと、
前記第一の計算ステップによって計算されたロスと前記第二の計算ステップによって計算された値とが所定の条件を満たした場合には、前記更新処理を終了させる更新終了ステップと、
をコンピュータに実行させることを特徴とする学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習方法および学習プログラムに関する。
【背景技術】
【０００２】
従来、モデルの解釈性に寄与する値を抽出する手法が知られている。例えば、ニューラルネットワークの場合は、ニューラルネットワークの入出力の関係性を抽出する手法として、Saliency  mapを始め複数提案されており、画像認識、時系列回帰を始め、様々な問題でモデルの判断根拠を示す目的で利用され、実システムでも利用されている。この手法で得られる入出力の関係性の数値は、ニューラルネットの学習済みモデルに対して入力サンプルごとに逆伝播を利用したアルゴリズムで計算される。
【０００３】
また、ニューラルネットワーク以外の場合においても、任意のモデルに利用可能なＬＩＭＥやＳＨＡＰで得られる寄与度や、Gradient  Boosting  Treeを初めとする決定木を用いた手法で得られる入力の重要度を示すImportance  Scoreもモデルの解釈として利用される。これらモデルの解釈性に寄与する値を以下アトリビューションと呼ぶ。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Smilkov  Daniel,  et  al.  “Smoothgrad:  removing  noise  by  adding  noise.”  arXiv  preprint  1706.03825  (2017).
【非特許文献２】Simonyan  Karen,  Andrea  Vedaldi,  and  Andrew  Zisserman.  “Deep  inside  convolutional  networks:  Visualising  image  classification  models  and  saliency  maps.”  arXiv  preprint  arXiv:1312.6034  (2014).
【非特許文献３】Binder  Alexander,  et  al.  “Layer-wise  relevance  propagation  for  deep  neural  network  architectures.”  Information  Science  and  Applications  (ICISA)  2016.  Springer,  Singapore,  2016.  913-922.
【非特許文献４】Ribeiro  Marco  Tulio,  Sameer  Singh,  and  Carlos  Guestrin.  "Why  should  i  trust  you?:  Explaining  the  predictions  of  any  classifier."  Proceedings  of  the  22nd  ACM  SIGKDD  international  conference  on  knowledge  discovery  and  data  mining.  ACM,  2016.
【非特許文献５】Strumbelj  Erik,  and  Igor  Kononenko.  "Explaining  prediction  models  and  individual  predictions  with  feature  contributions."  Knowledge  and  information  systems  41.3  (2013):  647-665.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、機械学習モデルのうち学習回数の条件を規定し逐次的な学習を行うモデルに対して、従来の学習方法では、モデルの解釈性に寄与する値を観測しやすい値で得ることが難しい場合があった。例えば、アトリビューションとして得られる値はモデルの学習経過に依存するため、ある一定回数の学習を行ってモデルから得られるアトリビューションは入出力の関係性を解釈可能な形で示せている（以下、アトリビューションが収束すると呼ぶ）ものもあれば、ノイズが入り理解が難しい場合も存在し、安定化させることは難しかった。
【０００６】
これはモデルの学習に対する終了基準は学習回数の決め打ちであるか、Early  Stoppingに代表される精度が改善するか否かをもとに学習を打ち切る、またはハイパーパラメータ探索のように精度が一定値を超えることを利用するものが多く、アトリビューションがノイズなく得られることを保証するものではないためである。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明の学習装置は、複数のデータを取得する取得部と、前記取得部によって取得された複数のデータを入力データとしてモデルに入力し、該モデルから出力される出力データを得た場合に、前記出力データと正解データに基づいて、前記モデルのロスを計算する第一の計算部と、前記第一の計算部によってロスが計算されるたびに、該ロスに応じて前記モデルの重みを更新する更新処理を繰り返し行う更新部と、前記モデルの解釈性に寄与する値を計算する第二の計算部と、前記第一の計算部によって計算されたロスと前記第二の計算部によって計算された値とが所定の条件を満たした場合には、前記更新処理を終了させる更新終了部と、を有することを特徴とする。
【０００８】
また、本発明の学習方法は、学習装置によって実行される学習方法であって、複数のデータを取得する取得工程と、前記取得工程によって取得された複数のデータを入力データとしてモデルに入力し、該モデルから出力される出力データを得た場合に、前記出力データと正解データに基づいて、前記モデルのロスを計算する第一の計算工程と、前記第一の計算工程によってロスが計算されるたびに、該ロスに応じて前記モデルの重みを更新する更新処理を繰り返し行う更新工程と、前記モデルの解釈性に寄与する値を計算する第二の計算工程と、前記第一の計算工程によって計算されたロスと前記第二の計算工程によって計算された値とが所定の条件を満たした場合には、前記更新処理を終了させる更新終了工程と、を含むことを特徴とする。
【０００９】
また、本発明の学習プログラムは、複数のデータを取得する取得ステップと、前記取得ステップによって取得された複数のデータを入力データとしてモデルに入力し、該モデルから出力される出力データを得た場合に、前記出力データと正解データに基づいて、前記モデルのロスを計算する第一の計算ステップと、前記第一の計算ステップによってロスが計算されるたびに、該ロスに応じて前記モデルの重みを更新する更新処理を繰り返し行う更新ステップと、前記モデルの解釈性に寄与する値を計算する第二の計算ステップと、前記第一の計算ステップによって計算されたロスと前記第二の計算ステップによって計算された値とが所定の条件を満たした場合には、前記更新処理を終了させる更新終了ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、モデルの精度を保ちつつ、モデルの解釈性に寄与する値を観測しやすい値で得ることができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、第１の実施形態に係る学習装置の構成例を示すブロック図である。
【図２】図２は、学習装置によって実行される学習処理の概要を説明する図である。
【図３】図３は、第１の実施形態に係る学習装置における学習処理の流れの一例を示すフローチャートである。
【図４】図４は、第２の実施形態に係る学習装置の構成例を示すブロック図である。
【図５】図５は、学習装置によって実行される異常予測処理およびアトリビューション抽出処理の概要を説明する図である。
【図６】図６は、学習装置によって実行される画像分類処理およびアトリビューション抽出処理の概要を説明する図である。
【図７】図７は、第２の実施形態に係る学習装置におけるアトリビューション抽出処理の流れの一例を示すフローチャートである。
【図８】図８は、プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願に係る学習装置、学習方法および学習プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る学習装置、学習方法および学習プログラムが限定されるものではない。
【００１３】
［第１の実施形態］
以下の実施形態では、第１の実施形態に係る学習装置１０の構成、学習装置１０の処理の流れを順に説明し、最後に第１の実施形態による効果を説明する。
【００１４】
［学習装置の構成］
まず、図１を用いて、学習装置１０の構成を説明する。図１は、第１の実施形態に係る学習装置の構成例を示すブロック図である。学習装置１０は、予め用意された学習データを用いて、モデルの重みを更新する処理を繰り返す学習処理を行う。学習装置１０では、学習処理においてアトリビューションのノイズが減少することを保証するために、学習の終了条件にモデルの精度だけではなく、アトリビューションの値を考慮する。例えば、学習装置１０は、アトリビューションのスパース性を測る尺度（例えば、アトリビューションスコアのＬ1ノルムやアトリビューションスコアのＧＩＮＩ係数）を学習の終了条件に適用し、精度が一定値以下になりかつスパース度も一定値以上になれば学習を終了とすることができる。
【００１５】
図１に示すように、この学習装置１０は、通信処理部１１、制御部１２および記憶部１３を有する。以下に学習装置１０が有する各部の処理を説明する。
【００１６】
通信処理部１１は、接続される装置との間でやり取りする各種情報に関する通信を制御する。また、記憶部１３は、制御部１２による各種処理に必要なデータおよびプログラムを格納し、データ記憶部１３ａおよび学習済みモデル記憶部１３ｂを有する。例えば、記憶部１３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子等の記憶装置である。
【００１７】
データ記憶部１３ａは、後述する取得部１２ａによって取得されるデータを記憶する。例えば、データ記憶部１３ａは、予め正解ラベルが付与された学習用のデータセットを記憶する。なお、データの種別は、複数の実数値からなるデータであればどのようなデータを記憶してもよく、例えば、工場、プラント、ビル、データセンタ等の対象機器に設けられたセンサのデータ（例えば、温度や圧力、音、振動等のデータ）であってもよいし、画像データのデータであってもよい。
【００１８】
学習済みモデル記憶部１３ｂは、後述する学習処理によって学習された学習済みモデルを記憶する。例えば、学習済みモデル記憶部１３ｂは、学習済みモデルとして、監視対象設備の異常を予測するためのニューラルネットワークの予測モデルを記憶する。
【００１９】
制御部１２は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部１２は、取得部１２ａ、第一の計算部１２ｂ、更新部１２ｃ、第二の計算部１２ｄおよび更新終了部１２ｅを有する。ここで、制御部１２は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）、ＧＰＵ（Graphical  Processing  Unit）などの電子回路やＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路である。
【００２０】
取得部１２ａは、複数のデータを取得する。例えば、取得部１２ａは、データ記憶部１３ａに記憶されたデータセットを読み出して取得する。ここでセンサが取得するデータとは、例えば、監視対象設備である工場、プラント内の装置や反応炉についての温度や圧力、音、振動等の各種データである。また、取得部１２ａが取得するデータはセンサが取得したデータに限定されるものではなく、例えば、画像データ、人的に入力された数値データ等でもよい。なお、取得部１２ａは、リアルタイムにデータを取得してもよい。例えば、取得部１２ａは、工場やプラントなどの監視対象設備に設置されるセンサから多変量時系列の数値データを定期的（例えば、１分ごと）に取得するようにしてもよい。
【００２１】
第一の計算部１２ｂは、取得部１２ａによって取得された複数のデータを入力データとしてモデルに入力し、該モデルから出力される出力データを得た場合に、出力データと正解データに基づいて、モデルのロスを計算する。例えば、第一の計算部１２ｂは、所定のロス関数を用いて、モデルのロスを計算する。なお、ロスの計算方法については、限定されるものではなく、どのような方法を用いてもよい。
【００２２】
更新部１２ｃは、第一の計算部１２ｂによってロスが計算されるたびに、該ロスに応じてモデルの重みを更新する更新処理を繰り返し行う。更新部１２ｃは、ロスの大きさに応じて重み（パラメータ）を更新する。なお、更新の手法については、限定されるものではなく、どのような手法であってもよい。
【００２３】
第二の計算部１２ｄは、モデルの解釈性に寄与する値を計算する。例えば、第二の計算部１２ｄは、入力データおよび出力データに基づいて、入力データの各要素の出力データに対する寄与度であるアトリビューションを計算する。
【００２４】
ここで、アトリビューションを計算する具体例について説明する。例えば、第二の計算部１２ｄは、入力値から出力値を算出する学習済モデルにおいて、出力値の各入力値に関する偏微分値またはその概算値を用いて、各時刻におけるセンサごとに、アトリビューションを算出する。一例としては、第二の計算部１２ｄは、Ｓａｌｉｅｎｃｙ  Ｍａｐを用いて、各時刻におけるセンサごとに、アトリビューションを算出する。Ｓａｌｉｅｎｃｙ  Ｍａｐは、ニューラルネットの画像分類において利用される技術であり、ニューラルネットの出力の各入力に関する偏微分値を出力に寄与するアトリビューションとして抽出する技術である。なお、Ｓａｌｉｅｎｃｙ  Ｍａｐ以外の手法でアトリビューションを計算してもよい。
【００２５】
また、第二の計算部１２ｄが計算するモデルの解釈性に寄与する値は、アトリビューションに限定されるものではなく、例えば、モデルの重みのスパース性を表す値であってもよい。
【００２６】
更新終了部１２ｅは、第一の計算部１２ｂによって計算されたロスと第二の計算部１２ｄによって計算された値とが所定の条件を満たした場合には、更新処理を終了させる。例えば、更新終了部１２ｅは、第一の計算部１２ｂによって計算されたロスが予め設定された閾値以下であって、且つ、第二の計算部１２ｄによって計算された値が予め設定された閾値以下である場合には、更新処理を終了させるようにしてもよい。より具体的には、更新終了部１２ｅは、ロスが所定の閾値以下であって、かつ、アトリビューションのＬ１ノルムが予め設定された閾値以下である場合には、更新処理を終了させる。
【００２７】
また、更新終了部１２ｅは、更新終了部は、第一の計算部１２ｂによって計算されたロスが前回計算されたロスよりも大きくなることが所定回数連続で続き、且つ、第二の計算部１２ｄによって計算された値が前回計算された値よりも大きくなることが所定回数連続で続いた場合には、更新処理を終了させるようにしてもよい。より具体的には、更新終了部１２ｅは、ロスが前回計算されたロスよりも大きくなることが５回連続で続き、且つ、アトリビューションのＬ１ノルムが前回計算されたアトリビューションのＬ１ノルムよりも大きくなることが５回連続で続いた場合には、更新処理を終了させるようにしてもよい。
【００２８】
ここで、図２を用いて、学習装置１０によって実行される学習処理の概要を説明する。図２は、学習装置によって実行される学習処理の概要を説明する図である。図２に例示するように、学習装置１０は、重みを更新するＰｈａｓｅ１と、アトリビューションを計算するＰｈａｓｅ２とを繰り返し行うことでモデルを学習している。また、学習装置１０は、計算されたロスとアトリビューションの値をもとに学習を終了するか判定している。
【００２９】
Ｐｈａｓｅ１においては、学習装置１０は、学習データをモデルに入力してモデルから出力される出力データを取得し、該出力データと正解ラベルとに基づいてロスを計算し、ロスの大きさに応じて重みを更新する。
【００３０】
続いて、Ｐｈａｓｅ２においては、学習装置１０は、検証データをモデルに入力してモデルから出力される出力データを取得し、入力データと出力データとに基づいてアトリビューションの計算を行う。また、学習装置１０は、出力データと正解ラベルとに基づいてロスを計算する。なお、ここで検証データとは、Ｐｈａｓｅ１においてモデルに入力した学習データと同じデータであってもよいし、異なるデータであってもよい。
【００３１】
そして、学習装置１０は、計算されたロスとアトリビューションの値をもとに学習を終了するか否かを判定する。例えば、学習装置１０は、ロスが所定の閾値以下であって、かつ、アトリビューションのＬ１ノルムが予め設定された閾値以下である場合には、更新処理を終了させる。
【００３２】
学習装置１０は、モデルの解釈性に寄与する値として、アトリビューションを用いる場合には、例えば、下記（１）式によりアトリビューションのＬ１ノルムを計算する。下記の計算式において、「ｘｉｊ」は、入力データのサンプルｉ、特徴ｊの値である。また、下記の計算式において、「Ａ」は、特徴とモデルからアトリビューションを計算する関数であり、「Ｍ」は、モデルである。
【００３３】
【数１】
0006871352.tif 000002
【００３４】
また、学習装置１０は、ロスが所定の閾値以下であって、かつ、モデルの重みのＬ１ノルムが予め設定された閾値以下である場合には、更新処理を終了させるようにしてもよい。例えば、学習装置１０は、モデルの解釈性に寄与する値として、アトリビューション以外の値として、モデルの重みのＬ１ノルムを用いる場合には、例えば、下記（２）式によりモデルの重みのＬ１ノルムを計算する。下記の計算式において、「ｘｉｊｋ」は、モデルのｉ層のノードｊからノードｋへの重みを意味する。
【００３５】
【数２】
0006871352.tif 000003
【００３６】
この結果、学習装置１０は、学習を終了すると判定した場合には、学習済みモデルを出力したり、学習済みモデル記憶部１３ｂに学習済みモデルを格納したりする。また、学習装置１０は、学習を終了すると判定した場合には、Ｐｈａｓｅ１に戻って重みを更新する処理を行う。つまり、学習装置１０は、学習を終了すると判定するまで、重みを更新するＰｈａｓｅ１と、アトリビューションを計算するＰｈａｓｅ２とを繰り返し行うことでモデルを学習する。
【００３７】
このように、学習装置１０では、学習においてアトリビューションのノイズが減少することを保証するために、学習の終了条件にモデルの精度だけではなく、アトリビューションンの値も導入する。例えば、学習装置１０では、アトリビューションンのスパース性を測る尺度を学習の終了条件に適用し、精度が一定値以下になり、かつ、スパース度も一定値以上になれば学習を終了とすることができる。
【００３８】
また、学習装置１０では、学習の終了条件に直接アトリビューションの値が入っているため、今までの精度のみを終了条件とする学習で保証していなかったアトリビューションの収束を考慮でき、得られるアトリビューションのスコアの安定性を高めることができる。
【００３９】
また、学習曲線はデータによってロスの停滞と降下を繰り返すという特性を持つため、精度を見るだけの従来のEarly  Stoppingでは実際にロスが収束する前に学習を注視してしまうという問題があった。一方で、学習の終了とアトリビューションの収束には密接な関係があることが知られており、学習装置１０では、アトリビューションの収束を終了条件に入れることで、上記の学習曲線の停滞時においてもアトリビューションが収束していなければ学習を止めない判断を得ることができる。
【００４０】
なお、本実施形態のモデルは、ニューラルネットワーク以外のモデルであってもよい。例えば、ニューラルネットワーク以外にも、Gradient  Boostingのように勾配降下法等を用いて逐次的に学習を行うモデルがいくつか存在し、それらのモデルにも本実施形態は利用可能である。学習装置１０では、どんなモデルに対しても汎用的に入出力の関係性を取り出せる手法としてＬＩＭＥやＳＨＡＰが存在する。学習の時にこの値を計算することによって、アトリビューション（の式）と同様にスパースになったら学習をストップする機構を実現可能である。また、Gradient  Boosting  Decision  Treeのような手法は各特徴量のimportance  scoreを算出することができる。このスコアを重みと同様に用いることで、重み（の式）と同様にスパースになったら学習をストップする機構が実現できる。
【００４１】
［学習装置の処理手順］
次に、図３を用いて、第１の実施形態に係る学習装置１０による処理手順の例を説明する。図３は、第１の実施形態に係る学習装置における学習処理の流れの一例を示すフローチャートである。なお、図３の例では、モデルの解釈性に寄与する値として、アトリビューションを用いる場合を例に説明する。
【００４２】
図３に例示するように、学習装置１０の取得部１２ａは、データを取得する。例えば、取得部１２ａは、データ記憶部１３ａに記憶されたデータセットを読み出して取得する（ステップＳ１０１）。そして、第一の計算部１２ｂは、取得部１２ａによって取得されたデータをモデルに入力し（ステップＳ１０２）、出力データと正解データとに基づいて、モデルのロスを計算する（ステップＳ１０３）。
【００４３】
そして、更新部１２ｃは、第一の計算部１２ｂによってロスロスに応じて、モデルの重みを更新する（ステップＳ１０４）。続いて、第二の計算部１２ｄは、入力データと出力データとを用いて、アトリビューションを計算する（ステップＳ１０５）。例えば、第二の計算部１２ｄは、は、複数のセンサデータを入力データとして監視対象設備の状態を予測するための予測モデルに入力し、該予測モデルから出力される出力データを得た場合に、入力データおよび出力データに基づいて、センサごとのアトリビューションを計算する。
【００４４】
そして、更新終了部１２ｅは、第一の計算部１２ｂによって計算されたロスと第二の計算部１２ｄによって計算されたアトリビューションとが所定の条件を満たすか否かを判定する（ステップＳ１０６）。例えば、更新終了部１２ｅは、更新終了部１２ｅは、ロスが所定の閾値以下であって、かつ、アトリビューションのＬ１ノルムが予め設定された閾値以下であるか否かを判定する。
【００４５】
この結果、学習装置１０は、更新終了部１２ｅがロスとアトリビューションとが所定の条件を満たさないと判定した場合には（ステップＳ１０６否定）、ステップＳ１０１の処理に戻り、ロスとアトリビューションとが所定の条件を満たすまで、ステップＳ１０１〜ステップＳ１０６の処理を繰り返す。
【００４６】
また、更新終了部１２ｅがロスとアトリビューションとが所定の条件を満たすと判定した場合には（ステップＳ１０６肯定）、学習済みモデルを学習済みモデル記憶部１３ｂに格納する（ステップＳ１０７）。
【００４７】
［第１の実施形態の効果］
第１の実施形態に係る学習装置１０は、複数のデータを取得し、取得した複数のデータを入力データとしてモデルに入力し、該モデルから出力される出力データを得た場合に、出力データと正解データに基づいて、モデルのロスを計算する。そして、学習装置１０は、ロスが計算されるたびに、該ロスに応じてモデルの重みを更新する更新処理を繰り返し行う。また、学習装置１０は、モデルの解釈性に寄与する値を計算し、ロスとモデルの解釈性に寄与する値とが所定の条件を満たした場合には、更新処理を終了させる。このため、学習装置１０では、モデルの精度を保ちつつ、モデルの解釈性に寄与する値を観測しやすい値で得ることが可能である。
【００４８】
つまり、第１の実施形態に係る学習装置１０では、従来用いられていた学習終了条件とは異なり、アトリビューションの値を学習終了条件に追加することで、例えば、学習済みモデルのアトリビューションのノイズを減少させることが可能である。アトリビューションのノイズが減少している状態とは、観測者が観測しやすいスパースでスムースな状態である。また、第１の実施形態に係る学習装置１０では、従来用いられていた学習終了条件に比べてアトリビューションの値を学習終了条件に追加することで、例えばEarly  Stoppingのような精度を基に学習を打ち切る手法において、学習の停滞時にも学習を止めない方策をとることが可能である。
【００４９】
［第２の実施形態］
上記した第１の実施形態では、モデルを学習する学習装置について説明したが、第２の実施形態では、学習処理によって得られた学習済みモデルを用いて、アトリビューションを抽出する学習装置について説明する。以下の第２の実施形態では、第２の実施形態に係る学習装置１０Ａの構成、学習装置１０Ａの処理の流れを順に説明し、最後に第１の実施形態による効果を説明する。なお、第１の実施形態と同様の構成および処理については説明を省略する。
【００５０】
［学習装置の構成］
まず、図４を用いて、学習装置１０Ａの構成を説明する。図４は、第２の実施形態に係る学習装置の構成例を示すブロック図である。学習装置１０Ａは、例えば、工場やプラントなどの監視対象設備に設置されるセンサによって取得された複数のデータを収集し、収集された複数のデータを入力として、監視対象設備の異常を予測するための学習済モデルを用いて、監視対象設備の特定センサの推定値を出力する。また、学習装置１０Ａは、このように出力された推定値から異常度を算出してもよい。
【００５１】
例えば、異常度は、特定のセンサの値を目的変数とした回帰モデルを学習した場合、モデルが出力する当該センサの推定値と事前に指定するなどした特定の値との誤差などとして定義することが可能である。あるいは、異常発生の有無を分類問題として扱いモデルを学習した場合には、指定時間内の異常に分類された時間帯の割合などを利用することができる。また、学習装置１０Ａは、学習済モデルに入力された各センサのデータと、学習済モデルから出力された出力データとを用いて、センサごとの出力値に対する寄与度であるアトリビューションを算出する。ここでアトリビューションとは、各入力が出力に対してどれだけ寄与したかを示すものであり、アトリビューションの絶対値が大きいほど、その入力は出力に対する影響度が高かったことを意味する。
【００５２】
学習装置１０Ａは、通信処理部１１、制御部１２および記憶部１３を有する。制御部１２は、取得部１２ａ、第一の計算部１２ｂ、更新部１２ｃ、第二の計算部１２ｄ、更新終了部１２ｅ、抽出部１２ｆ、予測部１２ｇおよび可視化部１２ｈを有する。ここで、学習装置１０Ａは、抽出部１２ｆ、予測部１２ｇおよび可視化部１２ｈをさらに有する点が、学習装置１０と異なる。なお、取得部１２ａ、第一の計算部１２ｂ、更新部１２ｃ、第二の計算部１２ｄ、更新終了部１２ｅについては、第１の実施形態で説明した学習装置１０の取得部１２ａ、第一の計算部１２ｂ、更新部１２ｃ、第二の計算部１２ｄ、更新終了部１２ｅと同様の処理を行うので、説明を省略する。
【００５３】
抽出部１２ｆは、更新終了部１２ｅによって更新処理が終了されるまで更新部１２ｃによって更新処理が繰り返し行われた学習済みモデルに入力データを入力し、該学習済みモデルから出力される出力データを得た場合に、モデルの解釈性に寄与する値を抽出する。例えば、抽出部１２ｆは、学習済みモデルを学習済みモデル記憶部１３ｂから読み出し、処理対象データを学習済みモデルに入力し、データごとのアトリビューションを抽出する。
【００５４】
例えば、抽出部１２ｆは、入力値から出力値を算出する学習済モデルにおいて、出力値の各入力値に関する偏微分値またはその概算値を用いて、各時刻におけるセンサごとに、アトリビューションを算出する。一例としては、抽出部１２ｆは、Ｓａｌｉｅｎｃｙ  Ｍａｐを用いて、各時刻におけるセンサごとに、アトリビューションを算出する。
【００５５】
予測部１２ｇは、複数のデータを入力として、例えば、監視対象設備の状態を予測するための学習済モデルを用いて、所定の出力値を出力する。例えば、予測部１２ｇは、プロセスデータおよび学習済みモデル（識別関数または回帰関数）を用いて、監視対象設備の異常度を算出し、予め設定された一定時間後に異常が発生するか否かを予測する。
【００５６】
可視化部１２ｈは、抽出部１２ｆによって抽出されたアトリビューションや予測部１２ｇによって算出された異常度を可視化する。例えば、可視化部１２ｈは、各センサデータのアトリビューションの推移を示すグラフを表示したり、算出された異常度をチャート画面として表示したりする。
【００５７】
ここで、図５を用いて、学習装置１０Ａによって実行される異常予測処理およびアトリビューション抽出処理の概要を説明する。図５は、学習装置によって実行される異常予測処理およびアトリビューション抽出処理の概要を説明する図である。
【００５８】
図５では、プラント内の反応炉や装置などにセンサや運転用の信号などを収集するデバイスが取り付けられ、一定時間毎にデータを収集していることを図示している。そして、図６では、各センサＡ〜センサＥから収集したプロセスデータの推移を示したものを図示しており、第１の実施形態で説明したように、モデルを学習することで学習済みモデルを生成する。そして、予測部１２ｇが、学習済みモデルを用いて、一定時間後の異常を予測する。そして、可視化部１２ｈは、算出された異常度の時系列データをチャート画面として出力する。
【００５９】
また、抽出部１２ｆは、学習済みモデルに入力されたプロセスデータと、学習済みモデルからの出力値を用いて、各時刻におけるセンサごとの所定の出力値に対するアトリビューションを抽出する。そして、可視化部１２ｈは、予測に対する各センサのプロセスデータの重要度の推移を示すグラフを表示する。
【００６０】
また、学習装置１０Ａは、異常予測処理のみに適用されるものではなく、例えば、画像データを収集して画像分類処理に適用するようにしてもよい。ここで、図６を用いて、学習装置１０Ａによって実行される画像分類処理およびアトリビューション抽出処理の概要を説明する。図６は、学習装置によって実行される画像分類処理およびアトリビューション抽出処理の概要を説明する図である。
【００６１】
図６では、画像データを収集し、収集した画像データを入力データとして用いて、第１の実施形態で説明したように、モデルを学習することで学習済みモデルを生成する。そして、予測部１２ｇが、学習済みモデルを用いて、画像データに含まれる画像を分類する。例えば、図６の例では、予測部１２ｇは、画像データに含まれる画像が車の画像であるか飛行機の画像であるかを判定し、判定結果を出力する。
【００６２】
また、抽出部１２ｆは、学習済みモデルに入力された画像データと、学習済みモデルから出力された分類結果とを用いて、各画像における画素ごとのアトリビューションを抽出する。そして、可視化部１２ｈは、各画像における画素ごとのアトリビューションを示す画像を表示する。この画像では、アトリビューションを濃淡で表現しており、アトリビューションが大きい画素ほど所定の色が濃く、アトリビューションが小さい画素ほど所定の色が薄く表示される。
【００６３】
［学習装置の処理手順］
次に、図７を用いて、第２の実施形態に係る学習装置１０Ａによる処理手順の例を説明する。図７は、第２の実施形態に係る学習装置におけるアトリビューション抽出処理の流れの一例を示すフローチャートである。
【００６４】
図７に例示するように、学習装置１０の抽出部１２ｆは、データを取得すると（ステップＳ２０１肯定）、学習済みモデルに入力データを入力し（ステップＳ２０２）、該学習済みモデルから出力される出力データを得た場合に、入力データと出力データとを用いて、アトリビューションを計算する（ステップＳ２０３）。
【００６５】
そして、可視化部１２ｈは、アトリビューションを可視化したグラフを表示する（ステップＳ２０４）。例えば、可視化部１２ｈは、各センサデータのアトリビューションの推移を示すグラフを表示する。
【００６６】
このように、第２の実施形態に係る学習装置１０Ａは、第一の実施形態で説明した学習処理によって学習された学習済みモデルに入力データを入力し、該学習済みモデルから出力される出力データを得た場合に、該入力データおよび該出力データに基づいて、入力データの各要素の出力データに対するアトリビューションを抽出する。このため、学習装置１０Ａは、アトリビューションをノイズが少ない状態で抽出することが可能である。
【００６７】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵやＧＰＵおよび当該ＣＰＵやＧＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６８】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６９】
［プログラム］
また、上記実施形態において説明した情報処理装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る学習装置１０、１０Ａが実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【００７０】
図８は、プログラムを実行するコンピュータを示す図である。図８に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００７１】
メモリ１０１０は、図８に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図８に例示するように、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、図８に例示するように、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、図８に例示するように、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、図８に例示するように、例えばディスプレイ１１３０に接続される。
【００７２】
ここで、図８に例示するように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記の、プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０９０に記憶される。
【００７３】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、各種処理手順を実行する。
【００７４】
なお、プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００７５】
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００７６】
１０、１０Ａ  学習装置
１１  通信処理部
１２  制御部
１２ａ  取得部
１２ｂ  第一の計算部
１２ｃ  更新部
１２ｄ  第二の計算部
１２ｅ  更新終了部
１２ｆ  抽出部
１２ｇ  予測部
１２ｈ  可視化部
１３  記憶部
１３ａ  データ記憶部
１３ｂ  学習済みモデル記憶部
【要約】
【課題】モデルの精度を保ちつつ、モデルの解釈性に寄与する値を観測しやすい値で得ること。
【解決手段】学習装置１０は、複数のデータを取得し、取得した複数のデータを入力データとしてモデルに入力し、該モデルから出力される出力データを得た場合に、出力データと正解データに基づいて、モデルのロスを計算する。そして、学習装置１０は、ロスが計算されるたびに、該ロスに応じてモデルの重みを更新する更新処理を繰り返し行う。また、学習装置１０は、モデルの解釈性に寄与する値を計算し、ロスとモデルの解釈性に寄与する値とが所定の条件を満たした場合には、更新処理を終了させる。
【選択図】図１【図１】
0006871352.tif 000004
【図２】
0006871352.tif 000005
【図３】
0006871352.tif 000006
【図４】
0006871352.tif 000007
【図５】
0006871352.tif 000008
【図６】
0006871352.tif 000009
【図７】
0006871352.tif 000010
【図８】
0006871352.tif 000011