【文献】
切通恵介、泉谷知範,ニューラルネットに基づく時間変化するアトリビューション抽出手法Time−Smoothgradの提案,2019年度人工知能学会全国大会(第33回)[online],日本,一般社団法人人工知能学会,2019年 6月 7日,pp.1−4(4Q3-J-13-04)
(58)【調査した分野】(Int.Cl.,DB名)
前記第二の計算部は、前記入力データおよび前記出力データに基づいて、入力データの各要素の出力データに対する寄与度であるアトリビューションを計算することを特徴とする請求項1に記載の学習装置。
前記更新終了部は、前記第一の計算部によって計算されたロスが所定の閾値以下であって、且つ、前記第二の計算部によって計算された値が所定の閾値以下である場合には、前記更新処理を終了させることを特徴とする請求項1に記載の学習装置。
前記更新終了部は、前記第一の計算部によって計算されたロスが前回計算されたロスよりも大きくなることが所定回数連続で続き、且つ、前記第二の計算部によって計算された値が前回計算された値よりも大きくなることが所定回数連続で続いた場合には、前記更新処理を終了させることを特徴とする請求項1に記載の学習装置。
前記更新終了部によって更新処理が終了されるまで前記更新部によって更新処理が繰り返し行われた学習済みモデルに入力データを入力し、該学習済みモデルから出力される出力データを得た場合に、前記モデルの解釈性に寄与する値を抽出する抽出部をさらに有することを特徴とする請求項1に記載の学習装置。
【発明を実施するための形態】
【0012】
以下に、本願に係る学習装置、学習方法および学習プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る学習装置、学習方法および学習プログラムが限定されるものではない。
【0013】
[第1の実施形態]
以下の実施形態では、第1の実施形態に係る学習装置10の構成、学習装置10の処理の流れを順に説明し、最後に第1の実施形態による効果を説明する。
【0014】
[学習装置の構成]
まず、
図1を用いて、学習装置10の構成を説明する。
図1は、第1の実施形態に係る学習装置の構成例を示すブロック図である。学習装置10は、予め用意された学習データを用いて、モデルの重みを更新する処理を繰り返す学習処理を行う。学習装置10では、学習処理においてアトリビューションのノイズが減少することを保証するために、学習の終了条件にモデルの精度だけではなく、アトリビューションの値を考慮する。例えば、学習装置10は、アトリビューションのスパース性を測る尺度(例えば、アトリビューションスコアのL1ノルムやアトリビューションスコアのGINI係数)を学習の終了条件に適用し、精度が一定値以下になりかつスパース度も一定値以上になれば学習を終了とすることができる。
【0015】
図1に示すように、この学習装置10は、通信処理部11、制御部12および記憶部13を有する。以下に学習装置10が有する各部の処理を説明する。
【0016】
通信処理部11は、接続される装置との間でやり取りする各種情報に関する通信を制御する。また、記憶部13は、制御部12による各種処理に必要なデータおよびプログラムを格納し、データ記憶部13aおよび学習済みモデル記憶部13bを有する。例えば、記憶部13は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子等の記憶装置である。
【0017】
データ記憶部13aは、後述する取得部12aによって取得されるデータを記憶する。例えば、データ記憶部13aは、予め正解ラベルが付与された学習用のデータセットを記憶する。なお、データの種別は、複数の実数値からなるデータであればどのようなデータを記憶してもよく、例えば、工場、プラント、ビル、データセンタ等の対象機器に設けられたセンサのデータ(例えば、温度や圧力、音、振動等のデータ)であってもよいし、画像データのデータであってもよい。
【0018】
学習済みモデル記憶部13bは、後述する学習処理によって学習された学習済みモデルを記憶する。例えば、学習済みモデル記憶部13bは、学習済みモデルとして、監視対象設備の異常を予測するためのニューラルネットワークの予測モデルを記憶する。
【0019】
制御部12は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部12は、取得部12a、第一の計算部12b、更新部12c、第二の計算部12dおよび更新終了部12eを有する。ここで、制御部12は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)、GPU(Graphical Processing Unit)などの電子回路やASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路である。
【0020】
取得部12aは、複数のデータを取得する。例えば、取得部12aは、データ記憶部13aに記憶されたデータセットを読み出して取得する。ここでセンサが取得するデータとは、例えば、監視対象設備である工場、プラント内の装置や反応炉についての温度や圧力、音、振動等の各種データである。また、取得部12aが取得するデータはセンサが取得したデータに限定されるものではなく、例えば、画像データ、人的に入力された数値データ等でもよい。なお、取得部12aは、リアルタイムにデータを取得してもよい。例えば、取得部12aは、工場やプラントなどの監視対象設備に設置されるセンサから多変量時系列の数値データを定期的(例えば、1分ごと)に取得するようにしてもよい。
【0021】
第一の計算部12bは、取得部12aによって取得された複数のデータを入力データとしてモデルに入力し、該モデルから出力される出力データを得た場合に、出力データと正解データに基づいて、モデルのロスを計算する。例えば、第一の計算部12bは、所定のロス関数を用いて、モデルのロスを計算する。なお、ロスの計算方法については、限定されるものではなく、どのような方法を用いてもよい。
【0022】
更新部12cは、第一の計算部12bによってロスが計算されるたびに、該ロスに応じてモデルの重みを更新する更新処理を繰り返し行う。更新部12cは、ロスの大きさに応じて重み(パラメータ)を更新する。なお、更新の手法については、限定されるものではなく、どのような手法であってもよい。
【0023】
第二の計算部12dは、モデルの解釈性に寄与する値を計算する。例えば、第二の計算部12dは、入力データおよび出力データに基づいて、入力データの各要素の出力データに対する寄与度であるアトリビューションを計算する。
【0024】
ここで、アトリビューションを計算する具体例について説明する。例えば、第二の計算部12dは、入力値から出力値を算出する学習済モデルにおいて、出力値の各入力値に関する偏微分値またはその概算値を用いて、各時刻におけるセンサごとに、アトリビューションを算出する。一例としては、第二の計算部12dは、Saliency Mapを用いて、各時刻におけるセンサごとに、アトリビューションを算出する。Saliency Mapは、ニューラルネットの画像分類において利用される技術であり、ニューラルネットの出力の各入力に関する偏微分値を出力に寄与するアトリビューションとして抽出する技術である。なお、Saliency Map以外の手法でアトリビューションを計算してもよい。
【0025】
また、第二の計算部12dが計算するモデルの解釈性に寄与する値は、アトリビューションに限定されるものではなく、例えば、モデルの重みのスパース性を表す値であってもよい。
【0026】
更新終了部12eは、第一の計算部12bによって計算されたロスと第二の計算部12dによって計算された値とが所定の条件を満たした場合には、更新処理を終了させる。例えば、更新終了部12eは、第一の計算部12bによって計算されたロスが予め設定された閾値以下であって、且つ、第二の計算部12dによって計算された値が予め設定された閾値以下である場合には、更新処理を終了させるようにしてもよい。より具体的には、更新終了部12eは、ロスが所定の閾値以下であって、かつ、アトリビューションのL1ノルムが予め設定された閾値以下である場合には、更新処理を終了させる。
【0027】
また、更新終了部12eは、更新終了部は、第一の計算部12bによって計算されたロスが前回計算されたロスよりも大きくなることが所定回数連続で続き、且つ、第二の計算部12dによって計算された値が前回計算された値よりも大きくなることが所定回数連続で続いた場合には、更新処理を終了させるようにしてもよい。より具体的には、更新終了部12eは、ロスが前回計算されたロスよりも大きくなることが5回連続で続き、且つ、アトリビューションのL1ノルムが前回計算されたアトリビューションのL1ノルムよりも大きくなることが5回連続で続いた場合には、更新処理を終了させるようにしてもよい。
【0028】
ここで、
図2を用いて、学習装置10によって実行される学習処理の概要を説明する。
図2は、学習装置によって実行される学習処理の概要を説明する図である。
図2に例示するように、学習装置10は、重みを更新するPhase1と、アトリビューションを計算するPhase2とを繰り返し行うことでモデルを学習している。また、学習装置10は、計算されたロスとアトリビューションの値をもとに学習を終了するか判定している。
【0029】
Phase1においては、学習装置10は、学習データをモデルに入力してモデルから出力される出力データを取得し、該出力データと正解ラベルとに基づいてロスを計算し、ロスの大きさに応じて重みを更新する。
【0030】
続いて、Phase2においては、学習装置10は、検証データをモデルに入力してモデルから出力される出力データを取得し、入力データと出力データとに基づいてアトリビューションの計算を行う。また、学習装置10は、出力データと正解ラベルとに基づいてロスを計算する。なお、ここで検証データとは、Phase1においてモデルに入力した学習データと同じデータであってもよいし、異なるデータであってもよい。
【0031】
そして、学習装置10は、計算されたロスとアトリビューションの値をもとに学習を終了するか否かを判定する。例えば、学習装置10は、ロスが所定の閾値以下であって、かつ、アトリビューションのL1ノルムが予め設定された閾値以下である場合には、更新処理を終了させる。
【0032】
学習装置10は、モデルの解釈性に寄与する値として、アトリビューションを用いる場合には、例えば、下記(1)式によりアトリビューションのL1ノルムを計算する。下記の計算式において、「x
ij」は、入力データのサンプルi、特徴jの値である。また、下記の計算式において、「A」は、特徴とモデルからアトリビューションを計算する関数であり、「M」は、モデルである。
【0034】
また、学習装置10は、ロスが所定の閾値以下であって、かつ、モデルの重みのL1ノルムが予め設定された閾値以下である場合には、更新処理を終了させるようにしてもよい。例えば、学習装置10は、モデルの解釈性に寄与する値として、アトリビューション以外の値として、モデルの重みのL1ノルムを用いる場合には、例えば、下記(2)式によりモデルの重みのL1ノルムを計算する。下記の計算式において、「x
ijk」は、モデルのi層のノードjからノードkへの重みを意味する。
【0036】
この結果、学習装置10は、学習を終了すると判定した場合には、学習済みモデルを出力したり、学習済みモデル記憶部13bに学習済みモデルを格納したりする。また、学習装置10は、学習を終了すると判定した場合には、Phase1に戻って重みを更新する処理を行う。つまり、学習装置10は、学習を終了すると判定するまで、重みを更新するPhase1と、アトリビューションを計算するPhase2とを繰り返し行うことでモデルを学習する。
【0037】
このように、学習装置10では、学習においてアトリビューションのノイズが減少することを保証するために、学習の終了条件にモデルの精度だけではなく、アトリビューションンの値も導入する。例えば、学習装置10では、アトリビューションンのスパース性を測る尺度を学習の終了条件に適用し、精度が一定値以下になり、かつ、スパース度も一定値以上になれば学習を終了とすることができる。
【0038】
また、学習装置10では、学習の終了条件に直接アトリビューションの値が入っているため、今までの精度のみを終了条件とする学習で保証していなかったアトリビューションの収束を考慮でき、得られるアトリビューションのスコアの安定性を高めることができる。
【0039】
また、学習曲線はデータによってロスの停滞と降下を繰り返すという特性を持つため、精度を見るだけの従来のEarly Stoppingでは実際にロスが収束する前に学習を注視してしまうという問題があった。一方で、学習の終了とアトリビューションの収束には密接な関係があることが知られており、学習装置10では、アトリビューションの収束を終了条件に入れることで、上記の学習曲線の停滞時においてもアトリビューションが収束していなければ学習を止めない判断を得ることができる。
【0040】
なお、本実施形態のモデルは、ニューラルネットワーク以外のモデルであってもよい。例えば、ニューラルネットワーク以外にも、Gradient Boostingのように勾配降下法等を用いて逐次的に学習を行うモデルがいくつか存在し、それらのモデルにも本実施形態は利用可能である。学習装置10では、どんなモデルに対しても汎用的に入出力の関係性を取り出せる手法としてLIMEやSHAPが存在する。学習の時にこの値を計算することによって、アトリビューション(の式)と同様にスパースになったら学習をストップする機構を実現可能である。また、Gradient Boosting Decision Treeのような手法は各特徴量のimportance scoreを算出することができる。このスコアを重みと同様に用いることで、重み(の式)と同様にスパースになったら学習をストップする機構が実現できる。
【0041】
[学習装置の処理手順]
次に、
図3を用いて、第1の実施形態に係る学習装置10による処理手順の例を説明する。
図3は、第1の実施形態に係る学習装置における学習処理の流れの一例を示すフローチャートである。なお、
図3の例では、モデルの解釈性に寄与する値として、アトリビューションを用いる場合を例に説明する。
【0042】
図3に例示するように、学習装置10の取得部12aは、データを取得する。例えば、取得部12aは、データ記憶部13aに記憶されたデータセットを読み出して取得する(ステップS101)。そして、第一の計算部12bは、取得部12aによって取得されたデータをモデルに入力し(ステップS102)、出力データと正解データとに基づいて、モデルのロスを計算する(ステップS103)。
【0043】
そして、更新部12cは、第一の計算部12bによってロスロスに応じて、モデルの重みを更新する(ステップS104)。続いて、第二の計算部12dは、入力データと出力データとを用いて、アトリビューションを計算する(ステップS105)。例えば、第二の計算部12dは、は、複数のセンサデータを入力データとして監視対象設備の状態を予測するための予測モデルに入力し、該予測モデルから出力される出力データを得た場合に、入力データおよび出力データに基づいて、センサごとのアトリビューションを計算する。
【0044】
そして、更新終了部12eは、第一の計算部12bによって計算されたロスと第二の計算部12dによって計算されたアトリビューションとが所定の条件を満たすか否かを判定する(ステップS106)。例えば、更新終了部12eは、更新終了部12eは、ロスが所定の閾値以下であって、かつ、アトリビューションのL1ノルムが予め設定された閾値以下であるか否かを判定する。
【0045】
この結果、学習装置10は、更新終了部12eがロスとアトリビューションとが所定の条件を満たさないと判定した場合には(ステップS106否定)、ステップS101の処理に戻り、ロスとアトリビューションとが所定の条件を満たすまで、ステップS101〜ステップS106の処理を繰り返す。
【0046】
また、更新終了部12eがロスとアトリビューションとが所定の条件を満たすと判定した場合には(ステップS106肯定)、学習済みモデルを学習済みモデル記憶部13bに格納する(ステップS107)。
【0047】
[第1の実施形態の効果]
第1の実施形態に係る学習装置10は、複数のデータを取得し、取得した複数のデータを入力データとしてモデルに入力し、該モデルから出力される出力データを得た場合に、出力データと正解データに基づいて、モデルのロスを計算する。そして、学習装置10は、ロスが計算されるたびに、該ロスに応じてモデルの重みを更新する更新処理を繰り返し行う。また、学習装置10は、モデルの解釈性に寄与する値を計算し、ロスとモデルの解釈性に寄与する値とが所定の条件を満たした場合には、更新処理を終了させる。このため、学習装置10では、モデルの精度を保ちつつ、モデルの解釈性に寄与する値を観測しやすい値で得ることが可能である。
【0048】
つまり、第1の実施形態に係る学習装置10では、従来用いられていた学習終了条件とは異なり、アトリビューションの値を学習終了条件に追加することで、例えば、学習済みモデルのアトリビューションのノイズを減少させることが可能である。アトリビューションのノイズが減少している状態とは、観測者が観測しやすいスパースでスムースな状態である。また、第1の実施形態に係る学習装置10では、従来用いられていた学習終了条件に比べてアトリビューションの値を学習終了条件に追加することで、例えばEarly Stoppingのような精度を基に学習を打ち切る手法において、学習の停滞時にも学習を止めない方策をとることが可能である。
【0049】
[第2の実施形態]
上記した第1の実施形態では、モデルを学習する学習装置について説明したが、第2の実施形態では、学習処理によって得られた学習済みモデルを用いて、アトリビューションを抽出する学習装置について説明する。以下の第2の実施形態では、第2の実施形態に係る学習装置10Aの構成、学習装置10Aの処理の流れを順に説明し、最後に第1の実施形態による効果を説明する。なお、第1の実施形態と同様の構成および処理については説明を省略する。
【0050】
[学習装置の構成]
まず、
図4を用いて、学習装置10Aの構成を説明する。
図4は、第2の実施形態に係る学習装置の構成例を示すブロック図である。学習装置10Aは、例えば、工場やプラントなどの監視対象設備に設置されるセンサによって取得された複数のデータを収集し、収集された複数のデータを入力として、監視対象設備の異常を予測するための学習済モデルを用いて、監視対象設備の特定センサの推定値を出力する。また、学習装置10Aは、このように出力された推定値から異常度を算出してもよい。
【0051】
例えば、異常度は、特定のセンサの値を目的変数とした回帰モデルを学習した場合、モデルが出力する当該センサの推定値と事前に指定するなどした特定の値との誤差などとして定義することが可能である。あるいは、異常発生の有無を分類問題として扱いモデルを学習した場合には、指定時間内の異常に分類された時間帯の割合などを利用することができる。また、学習装置10Aは、学習済モデルに入力された各センサのデータと、学習済モデルから出力された出力データとを用いて、センサごとの出力値に対する寄与度であるアトリビューションを算出する。ここでアトリビューションとは、各入力が出力に対してどれだけ寄与したかを示すものであり、アトリビューションの絶対値が大きいほど、その入力は出力に対する影響度が高かったことを意味する。
【0052】
学習装置10Aは、通信処理部11、制御部12および記憶部13を有する。制御部12は、取得部12a、第一の計算部12b、更新部12c、第二の計算部12d、更新終了部12e、抽出部12f、予測部12gおよび可視化部12hを有する。ここで、学習装置10Aは、抽出部12f、予測部12gおよび可視化部12hをさらに有する点が、学習装置10と異なる。なお、取得部12a、第一の計算部12b、更新部12c、第二の計算部12d、更新終了部12eについては、第1の実施形態で説明した学習装置10の取得部12a、第一の計算部12b、更新部12c、第二の計算部12d、更新終了部12eと同様の処理を行うので、説明を省略する。
【0053】
抽出部12fは、更新終了部12eによって更新処理が終了されるまで更新部12cによって更新処理が繰り返し行われた学習済みモデルに入力データを入力し、該学習済みモデルから出力される出力データを得た場合に、モデルの解釈性に寄与する値を抽出する。例えば、抽出部12fは、学習済みモデルを学習済みモデル記憶部13bから読み出し、処理対象データを学習済みモデルに入力し、データごとのアトリビューションを抽出する。
【0054】
例えば、抽出部12fは、入力値から出力値を算出する学習済モデルにおいて、出力値の各入力値に関する偏微分値またはその概算値を用いて、各時刻におけるセンサごとに、アトリビューションを算出する。一例としては、抽出部12fは、Saliency Mapを用いて、各時刻におけるセンサごとに、アトリビューションを算出する。
【0055】
予測部12gは、複数のデータを入力として、例えば、監視対象設備の状態を予測するための学習済モデルを用いて、所定の出力値を出力する。例えば、予測部12gは、プロセスデータおよび学習済みモデル(識別関数または回帰関数)を用いて、監視対象設備の異常度を算出し、予め設定された一定時間後に異常が発生するか否かを予測する。
【0056】
可視化部12hは、抽出部12fによって抽出されたアトリビューションや予測部12gによって算出された異常度を可視化する。例えば、可視化部12hは、各センサデータのアトリビューションの推移を示すグラフを表示したり、算出された異常度をチャート画面として表示したりする。
【0057】
ここで、
図5を用いて、学習装置10Aによって実行される異常予測処理およびアトリビューション抽出処理の概要を説明する。
図5は、学習装置によって実行される異常予測処理およびアトリビューション抽出処理の概要を説明する図である。
【0058】
図5では、プラント内の反応炉や装置などにセンサや運転用の信号などを収集するデバイスが取り付けられ、一定時間毎にデータを収集していることを図示している。そして、
図6では、各センサA〜センサEから収集したプロセスデータの推移を示したものを図示しており、第1の実施形態で説明したように、モデルを学習することで学習済みモデルを生成する。そして、予測部12gが、学習済みモデルを用いて、一定時間後の異常を予測する。そして、可視化部12hは、算出された異常度の時系列データをチャート画面として出力する。
【0059】
また、抽出部12fは、学習済みモデルに入力されたプロセスデータと、学習済みモデルからの出力値を用いて、各時刻におけるセンサごとの所定の出力値に対するアトリビューションを抽出する。そして、可視化部12hは、予測に対する各センサのプロセスデータの重要度の推移を示すグラフを表示する。
【0060】
また、学習装置10Aは、異常予測処理のみに適用されるものではなく、例えば、画像データを収集して画像分類処理に適用するようにしてもよい。ここで、
図6を用いて、学習装置10Aによって実行される画像分類処理およびアトリビューション抽出処理の概要を説明する。
図6は、学習装置によって実行される画像分類処理およびアトリビューション抽出処理の概要を説明する図である。
【0061】
図6では、画像データを収集し、収集した画像データを入力データとして用いて、第1の実施形態で説明したように、モデルを学習することで学習済みモデルを生成する。そして、予測部12gが、学習済みモデルを用いて、画像データに含まれる画像を分類する。例えば、
図6の例では、予測部12gは、画像データに含まれる画像が車の画像であるか飛行機の画像であるかを判定し、判定結果を出力する。
【0062】
また、抽出部12fは、学習済みモデルに入力された画像データと、学習済みモデルから出力された分類結果とを用いて、各画像における画素ごとのアトリビューションを抽出する。そして、可視化部12hは、各画像における画素ごとのアトリビューションを示す画像を表示する。この画像では、アトリビューションを濃淡で表現しており、アトリビューションが大きい画素ほど所定の色が濃く、アトリビューションが小さい画素ほど所定の色が薄く表示される。
【0063】
[学習装置の処理手順]
次に、
図7を用いて、第2の実施形態に係る学習装置10Aによる処理手順の例を説明する。
図7は、第2の実施形態に係る学習装置におけるアトリビューション抽出処理の流れの一例を示すフローチャートである。
【0064】
図7に例示するように、学習装置10の抽出部12fは、データを取得すると(ステップS201肯定)、学習済みモデルに入力データを入力し(ステップS202)、該学習済みモデルから出力される出力データを得た場合に、入力データと出力データとを用いて、アトリビューションを計算する(ステップS203)。
【0065】
そして、可視化部12hは、アトリビューションを可視化したグラフを表示する(ステップS204)。例えば、可視化部12hは、各センサデータのアトリビューションの推移を示すグラフを表示する。
【0066】
このように、第2の実施形態に係る学習装置10Aは、第一の実施形態で説明した学習処理によって学習された学習済みモデルに入力データを入力し、該学習済みモデルから出力される出力データを得た場合に、該入力データおよび該出力データに基づいて、入力データの各要素の出力データに対するアトリビューションを抽出する。このため、学習装置10Aは、アトリビューションをノイズが少ない状態で抽出することが可能である。
【0067】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUやGPUおよび当該CPUやGPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0068】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0069】
[プログラム]
また、上記実施形態において説明した情報処理装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る学習装置10、10Aが実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【0070】
図8は、プログラムを実行するコンピュータを示す図である。
図8に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
【0071】
メモリ1010は、
図8に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、
図8に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、
図8に例示するように、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、
図8に例示するように、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、
図8に例示するように、例えばディスプレイ1130に接続される。
【0072】
ここで、
図8に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の、プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。
【0073】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。
【0074】
なお、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0075】
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【解決手段】学習装置10は、複数のデータを取得し、取得した複数のデータを入力データとしてモデルに入力し、該モデルから出力される出力データを得た場合に、出力データと正解データに基づいて、モデルのロスを計算する。そして、学習装置10は、ロスが計算されるたびに、該ロスに応じてモデルの重みを更新する更新処理を繰り返し行う。また、学習装置10は、モデルの解釈性に寄与する値を計算し、ロスとモデルの解釈性に寄与する値とが所定の条件を満たした場合には、更新処理を終了させる。