(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-16
(45)【発行日】2024-05-24
(54)【発明の名称】モデル解析装置、モデル解析方法、及びプログラム
(51)【国際特許分類】
G06N 5/045 20230101AFI20240517BHJP
G06N 3/08 20230101ALI20240517BHJP
G06N 20/00 20190101ALI20240517BHJP
【FI】
G06N5/045
G06N3/08
G06N20/00
(21)【出願番号】P 2020150586
(22)【出願日】2020-09-08
【審査請求日】2023-07-11
(73)【特許権者】
【識別番号】000151461
【氏名又は名称】株式会社東京自働機械製作所
(73)【特許権者】
【識別番号】598121341
【氏名又は名称】慶應義塾
(74)【代理人】
【識別番号】100161207
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100161506
【氏名又は名称】川渕 健一
(74)【代理人】
【識別番号】100140718
【氏名又は名称】仁内 宏紀
(72)【発明者】
【氏名】竹内 一生
(72)【発明者】
【氏名】桂 誠一郎
【審査官】新井 則和
(56)【参考文献】
【文献】特開2015-230702(JP,A)
【文献】特開2020-201685(JP,A)
【文献】Riccardo Guidotti et al.,A Survey Of Methods For Explaining Black Box Models,[online],2018年02月06日,[retrieved on 2024.04.11], Retrieved from the Internet: <URL: https://arxiv.org/pdf/1802.01933v1.pdf>
【文献】Rikard Konig et al.,G-REX: A Versatile Framework for Evolutionary Data Mining,[online],2008年12月19日, [retrieved on 2024.04.11], Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4734030>
【文献】安藤 晋 外,可変長遺伝子を用いたアナログ回路の進化,電子情報通信学会技術研究報告 Vol.99 No.95,1999年05月27日,pp. 25-32
(58)【調査した分野】(Int.Cl.,DB名)
G06N3/00-99/00
(57)【特許請求の範囲】
【請求項1】
機械学習によるモデル生成方法を用いて生成された入力データから出力データを予測する予測モデルを解析するモデル解析装置であって、
入力に対して所定の処理を行う処理要素と、当該処理要素が処理する際に用いるパラメータの取り得る範囲を規定したパラメータ要素とを対応付けて、複数種類の前記処理要素を記憶する要素記憶部と、
前記予測モデルに対する入力データ及び出力データを学習データとして、前記入力データに対して前記出力データが出力されるように、前記要素記憶部が記憶する複数種類の前記処理要素のうちから、選択した前記処理要素の組み合わせ、及び選択した前記処理要素に対応する前記パラメータ要素の前記取り得る範囲内のパラメータ値を決定して、前記予測モデルと等価の処理を行う等価モデルを生成する等価モデル生成部と
を備えることを特徴とするモデル解析装置。
【請求項2】
前記等価モデル生成部は、
前記要素記憶部が記憶する複数種類の前記処理要素のうちから、前記処理要素及び前記パラメータ値を選択して初期モデルを生成する初期モデル生成処理と、
前記初期モデルの前記処理要素の組み合わせ及び前記パラメータ値を変更して、前記入力データに対して前記出力データが出力されるように、最適化して前記等価モデルを生成する最適化処理と
を実行する
ことを特徴とする請求項1に記載のモデル解析装置。
【請求項3】
前記等価モデル生成部は、
前記処理要素を格子状に配置したマトリックス構造であって、予め指定されたマトリックス構造に当てはめて、前記要素記憶部が記憶する複数種類の前記処理要素のうちから、前記処理要素及び前記パラメータ値を選択して初期モデルを生成する初期モデル生成処理と、
前記初期モデルの前記処理要素の組み合わせ及び前記パラメータ値を変更して、前記入力データに対して前記出力データが出力されるように、最適化して前記等価モデルを生成する最適化処理と
を実行する
ことを特徴とする請求項2に記載のモデル解析装置。
【請求項4】
前記等価モデル生成部は、
前記マトリックス構造が拡張された場合に、拡張前の前記マトリックス構造の前記処理要素の組み合わせ及び前記パラメータ値を維持しつつ、拡張された部分の前記処理要素の組み合わせ及び前記パラメータ値を選択し、前記入力データに対して前記出力データが出力されるように、最適化して前記等価モデルを生成する追加最適化処理を実行する
ことを特徴とする請求項3に記載のモデル解析装置。
【請求項5】
前記等価モデル生成部は、
前記追加最適化処理を前記マトリックス構造の複数階層に対して実行し、階層的に抽象化した前記等価モデルを生成する
ことを特徴とする請求項4に記載のモデル解析装置。
【請求項6】
前記等価モデル生成部は、
前記予測モデルにおける前記入力データに対する前記出力データと、前記等価モデルにおける前記入力データに対する出力データとの差が最小になるように、前記処理要素の組み合わせ及び前記パラメータ値を決定する
ことを特徴とする請求項1から請求項5のいずれか一項に記載のモデル解析装置。
【請求項7】
前記等価モデル生成部は、
遺伝的アルゴリズムに基づいて、前記処理要素の組み合わせ及び前記パラメータ値を変更して、前記最適化処理を実行する
ことを特徴とする請求項2から請求項5のいずれか一項に記載のモデル解析装置。
【請求項8】
機械学習によるモデル生成方法を用いて生成された入力データから出力データを予測する予測モデルを解析するモデル解析方法であって、
等価モデル生成部が、前記予測モデルに対する入力データ及び出力データを学習データとして、前記入力データに対して前記出力データが出力されるように、入力に対して所定の処理を行う処理要素と、当該処理要素が処理する際に用いるパラメータの取り得る範囲を規定したパラメータ要素とを対応付けて、複数種類の前記処理要素を記憶する要素記憶部が記憶する複数種類の前記処理要素のうちから、選択した前記処理要素の組み合わせ、及び選択した前記処理要素に対応する前記パラメータ要素の前記取り得る範囲内のパラメータ値を決定して、前記予測モデルと等価の処理を行う等価モデルを生成する等価モデル生成ステップ
を含むことを特徴とするモデル解析方法。
【請求項9】
入力に対して所定の処理を行う処理要素と、当該処理要素が処理する際に用いるパラメータの取り得る範囲を規定したパラメータ要素とを対応付けて、複数種類の前記処理要素を記憶する要素記憶部を備え、機械学習によるモデル生成方法を用いて生成された入力データから出力データを予測する予測モデルを解析するモデル解析装置のコンピュータに、
前記予測モデルに対する入力データ及び出力データを学習データとして、前記入力データに対して前記出力データが出力されるように、前記要素記憶部が記憶する複数種類の前記処理要素のうちから、選択した前記処理要素の組み合わせ、及び選択した前記処理要素に対応する前記パラメータ要素の前記取り得る範囲内のパラメータ値を決定して、前記予測モデルと等価の処理を行う等価モデルを生成する等価モデル生成処理を
実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル解析装置、モデル解析方法、及びプログラムに関する。
【背景技術】
【0002】
近年、ディープニューラルネットワークなどの深層学習を用いて予測モデルを生成する技術が知られている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述したような深層学習等の機械学習によるモデル生成方法で生成された予測モデルでは、予測モデルを構成するシステム構造がブラックボックス化されており、入力データに対する演算処理の過程を把握することが困難であった。
【0005】
本発明は、上記問題を解決すべくなされたもので、その目的は、深層学習等の機械学習によるモデル生成方法を用いて生成された予測モデルのシステム構造を把握することができるモデル解析装置、モデル解析方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記問題を解決するために、本発明の一態様は、機械学習によるモデル生成方法を用いて生成された入力データから出力データを予測する予測モデルを解析するモデル解析装置であって、入力に対して所定の処理を行う処理要素と、当該処理要素が処理する際に用いるパラメータの取り得る範囲を規定したパラメータ要素とを対応付けて、複数種類の前記処理要素を記憶する要素記憶部と、前記予測モデルに対する入力データ及び出力データを学習データとして、前記入力データに対して前記出力データが出力されるように、前記要素記憶部が記憶する複数種類の前記処理要素のうちから、選択した前記処理要素の組み合わせ、及び選択した前記処理要素に対応する前記パラメータ要素の前記取り得る範囲内のパラメータ値を決定して、前記予測モデルと等価の処理を行う等価モデルを生成する等価モデル生成部とを備えることを特徴とするモデル解析装置である。
【0007】
また、本発明の一態様は、上記のモデル解析装置において、前記等価モデル生成部は、前記要素記憶部が記憶する複数種類の前記処理要素のうちから、前記処理要素及び前記パラメータ値を選択して初期モデルを生成する初期モデル生成処理と、前記初期モデルの前記処理要素の組み合わせ及び前記パラメータ値を変更して、前記入力データに対して前記出力データが出力されるように、最適化して前記等価モデルを生成する最適化処理とを実行することを特徴とする。
【0008】
また、本発明の一態様は、上記のモデル解析装置において、前記等価モデル生成部は、前記処理要素を格子状に配置したマトリックス構造であって、予め指定されたマトリックス構造に当てはめて、前記要素記憶部が記憶する複数種類の前記処理要素のうちから、前記処理要素及び前記パラメータ値を選択して初期モデルを生成する初期モデル生成処理と、前記初期モデルの前記処理要素の組み合わせ及び前記パラメータ値を変更して、前記入力データに対して前記出力データが出力されるように、最適化して前記等価モデルを生成する最適化処理とを実行することを特徴とする。
【0009】
また、本発明の一態様は、上記のモデル解析装置において、前記等価モデル生成部は、前記マトリックス構造が拡張された場合に、拡張前の前記マトリックス構造の前記処理要素の組み合わせ及び前記パラメータ値を維持しつつ、拡張された部分の前記処理要素の組み合わせ及び前記パラメータ値を選択し、前記入力データに対して前記出力データが出力されるように、最適化して前記等価モデルを生成する追加最適化処理を実行することを特徴とする。
【0010】
また、本発明の一態様は、上記のモデル解析装置において、前記等価モデル生成部は、前記追加最適化処理を前記マトリックス構造の複数階層に対して実行し、階層的に抽象化した前記等価モデルを生成することを特徴とする。
【0011】
また、本発明の一態様は、上記のモデル解析装置において、前記等価モデル生成部は、前記予測モデルにおける前記入力データに対する前記出力データと、前記等価モデルにおける前記入力データに対する出力データとの差が最小になるように、前記処理要素の組み合わせ及び前記パラメータ値を決定することを特徴とする。
【0012】
また、本発明の一態様は、上記のモデル解析装置において、前記等価モデル生成部は、遺伝的アルゴリズムに基づいて、前記処理要素の組み合わせ及び前記パラメータ値を変更して、前記最適化処理を実行することを特徴とする。
【0013】
また、本発明の一態様は、機械学習によるモデル生成方法を用いて生成された入力データから出力データを予測する予測モデルを解析するモデル解析方法であって、等価モデル生成部が、前記予測モデルに対する入力データ及び出力データを学習データとして、前記入力データに対して前記出力データが出力されるように、入力に対して所定の処理を行う処理要素と、当該処理要素が処理する際に用いるパラメータの取り得る範囲を規定したパラメータ要素とを対応付けて、複数種類の前記処理要素を記憶する要素記憶部が記憶する複数種類の前記処理要素のうちから、選択した前記処理要素の組み合わせ、及び選択した前記処理要素に対応する前記パラメータ要素の前記取り得る範囲内のパラメータ値を決定して、前記予測モデルと等価の処理を行う等価モデルを生成する等価モデル生成ステップを含むことを特徴とするモデル解析方法である。
【0014】
また、本発明の一態様は、入力に対して所定の処理を行う処理要素と、当該処理要素が処理する際に用いるパラメータの取り得る範囲を規定したパラメータ要素とを対応付けて、複数種類の前記処理要素を記憶する要素記憶部を備え、機械学習によるモデル生成方法を用いて生成された入力データから出力データを予測する予測モデルを解析するモデル解析装置のコンピュータに、前記予測モデルに対する入力データ及び出力データを学習データとして、前記入力データに対して前記出力データが出力されるように、前記要素記憶部が記憶する複数種類の前記処理要素のうちから、選択した前記処理要素の組み合わせ、及び選択した前記処理要素に対応する前記パラメータ要素の前記取り得る範囲内のパラメータ値を決定して、前記予測モデルと等価の処理を行う等価モデルを生成する等価モデル生成処理を実行させるためのプログラムである。
【発明の効果】
【0015】
本発明によれば、深層学習等の機械学習によるモデル生成方法を用いて生成された予測モデルのシステム構造を把握することができる。
【図面の簡単な説明】
【0016】
【
図1】第1の実施形態によるモデル解析装置の一例を示すブロック図である。
【
図2】解析対象の推定モデルの一例を示す図である。
【
図3】第1の実施形態における処理要素の具体例を示す図である。
【
図4】第1の実施形態における処理要素の具体例を示す第2の図である。
【
図5】第1の実施形態における等価モデルの構成例を示す図である。
【
図6】第1の実施形態における入力端子部及び出力端子部の構成例を示す図である。
【
図7】第1の実施形態によるモデル解析装置の動作の一例を示すフローチャートである。
【
図8】第1の実施形態における等価モデルの生成例を示す図である。
【
図9】第2の実施形態によるモデル解析装置の一例を示すブロック図である。
【
図10】第2の実施形態における追加最適化処理を説明する図である。
【
図11】第2の実施形態によるモデル解析装置の動作の一例を示すフローチャートである。
【
図12】第2の実施形態における階層的に抽象化した等価モデルの生成例及び解析例を示す図である。
【
図13】処理要素の配置にマトリックス構造でない配置を適用した場合の等価モデルにの構成例を示す図である。
【発明を実施するための形態】
【0017】
以下、本発明の一実施形態によるモデル解析装置、及びモデル解析方法について、図面を参照して説明する。
【0018】
[第1の実施形態]
図1は、第1の実施形態によるモデル解析装置1の一例を示すブロック図である。
図1に示すように、モデル解析装置1は、入力部11と、表示部12と、記憶部13と、制御部20とを備えている。モデル解析装置1は、例えば、ディープニューラルネットワークなどの深層学習を用いて生成された解析対象の予測モデル(以下、解析対象モデルという)と同等の動作を行い、構造解析可能な等価モデルを生成して、解析対象モデルを解析(翻訳)する装置である。
【0019】
モデル解析装置1は、解析対象モデルに対する入力データと、当該入力データに対する解析対象モデルの出力データとを用いて、解析対象モデルと等価の処理を行う等価モデルを生成する。ここで、
図2を参照して、解析対象モデルについて説明する。
【0020】
図2は、解析対象の推定モデルの一例を示す図である。
図2に示すように、解析対象モデルは、例えば、深層学習を用いて生成された予測モデルであり、入力データ(入力信号)から、出力データ(出力信号)を推定する。解析対象モデルは、構成するシステム構造がブラックボックス化されており、入力データ(入力信号)に対する演算処理の過程を把握することができないものとする。
【0021】
図1の説明に戻り、入力部11は、例えば、キーボードやマウスなどの入力装置であり、モデル解析装置1への設定情報などの各種入力情報を受け付ける。
表示部12は、例えば、液晶ディスプレイなどの表示装置であり、モデル解析装置1が利用する各種情報を表示する。表示部12は、例えば、モデル解析のための設定画面の表示や、生成した等価モデルの表示などに用いられる。
【0022】
記憶部13は、モデル解析装置1が利用する各種情報を記憶する。記憶部13は、要素記憶部131と、対象モデル記憶部132と、入出力データ記憶部133と、解析結果記憶部134とを備える。
【0023】
要素記憶部131は、等価モデルを構成する処理要素を記憶する。要素記憶部131は、入力に対して所定の処理を行う処理要素と、当該処理要素が処理する際に用いるパラメータの取り得る範囲を規定したパラメータ要素とを対応付けて、複数種類の処理要素を記憶する。
【0024】
処理要素として、例えば、フックの方法を適用する場合に、入力信号X(ばねの伸び)に対して、ゲインkを掛ける(kX)ことで、出力F(ばねから受ける力)を得る。この場合の(kX)が処理要素に該当し、パラメータkの取り得る範囲がパラメータ要素に該当する。要素記憶部131は、このような等価モデルに構成される可能性のある処理要素(例えば、kX、k/X、kcosX、等)と、パラメータkの取り得る範囲(パラメータ要素)とを対応付けて記憶する。
具体的に、要素記憶部131には、例えば、
図3及び
図4に示すような処理要素が、予め記憶されている。
【0025】
図3及び
図4は、本実施形態における処理要素の具体例を示す図である。
なお、本実施形態で用いる処理要素は、後述する格子状に配置されたマトリックス構造を構成する処理要素が、行方向(X方向)か、又は行方向(X方向)と列方向(Y方向)との2方向から信号を入力する構成となっている。
また、
図3及び
図4に示す具体例では、処理要素を回路要素と演算要素とに区別して各種取り揃えている。ここで、回路要素は、信号の伝送経路を構成する経路要素である。
【0026】
図3に示す処理要素は、複数の方向からの信号を重畳して入力できる構成となっている。また、
図4に示す処理要素は、一方向からの信号のみを入力する構成となっている。
なお、これらの図に示した処理要素の中には、「a」や「b」の係数で示されたパラメータを含むものと、含まないものが混在している。例えば、経路要素、乗算器(MP)、符号関数(SGN)、アークサイン(ASIN)、アークコサイン(ACOS)、及びアークタンジェント(ATAN)の処理要素は、パラメータを含んでいない。
【0027】
再び、
図1の説明に戻り、対象モデル記憶部132は、上述した
図2に示すような解析対象の推定モデルを記憶する。
入出力データ記憶部133は、解析対象モデルに対して入力した入力データと、当該入力データに対する解析対象モデルによる出力データとを対応付けて記憶する。なお、入出力データ記憶部133が記憶する入力データ及び出力データは、等価モデルを生成する際の学習データとして使用される。
【0028】
解析結果記憶部134は、モデル解析装置1が解析結果として生成した等価モデルを記憶する。ここで、
図5を参照して、等価モデルの構成について説明する。
【0029】
図5は、本実施形態における等価モデルの構成例を示す図である。
図5(a)に示すように、等価モデルは、入力端子部IN1と、要素マトリックスM1と、出力端子部OUT1とを備えている。
【0030】
要素マトリックスM1は、等価モデルを構成する個々の構成要素SEを格子状に配置して構成されるマトリックス構造である。ここで、構成要素SEは、上述した処理要素と処理要素に対応するパラメータ要素の取り得る範囲内のパラメータ値との組である。
【0031】
入力端子部IN1は、要素マトリックスM1に入力信号(入力データ)を供給する端子部である。また、出力端子部OUT1は、要素マトリックスM1からの出力を構成する端子部である。
【0032】
また、
図5(b)は、等価モデルを構成要素SEにより表した場合の一例を示している。
図5(b)において、構成要素SEは、上述した処理要素とパラメータ要素のパラメータ値との組で表現される。この図に示す例では、等価モデルの入力端子部IN1と、要素マトリックスM1とを示している。解析結果記憶部134は、
図5に示すような構造の等価モデルを、解析結果として記憶する。
【0033】
また、
図6は、本実施形態における入力端子部IN1及び出力端子部OUT1の構成例を示す図である。
図6(a)及び
図6(b)は、入力端子部IN1の構成例を示し、
図6(c)~
図6(e)は、出力端子部OUT1の構成例を示している。
【0034】
入力端子部IN1に関しては、
図6(a)に示すように、1つの入力端子から入力信号が入力される構成にすることも可能であり、また、
図6(b)に示すように、全ての入力端子からそれぞれ入力信号が入力される構成にすることも可能である。
【0035】
また、出力端子部OUT1に関しては、
図6(c)に示すように、1つの出力端子から出力信号を出力する構成の他に、
図6(d)に示すように、全ての出力端子からの信号を重畳した出力信号を出力する構成や、
図6(e)に示すように、全ての出力端子からそれぞれ出力信号を出力する構成にすることも可能である。
【0036】
なお、入力端子部IN1及び出力端子部OUT1の各種構成を、処理要素として、上述した要素記憶部131に記憶させておき、等価モデルを生成する際に、任意に選択されるようにしてもよい。
【0037】
再び、
図1の説明に戻り、制御部20は、例えば、CPU(Central Processing Unit)などを含むプロセッサであり、モデル解析装置1を統括的に制御する。制御部20は、設定処理部21と、対象モデル処理部22と、等価モデル生成部23と、表示処理部24とを備えている。
【0038】
設定処理部21は、モデル解析装置1による解析対象モデルの解析を行うための各種設定を行う。設定処理部21は、例えば、入力部11か受け付けた入力情報に基づいて、解析対象モデルを外部から取得し、取得した解析対象モデルを対象モデル記憶部132に記憶させる。また、設定処理部21は、入力部11か受け付けた入力情報に基づいて、等価モデルの構成の設定(例えば、入力端子部IN1、要素マトリックスM1、及び出力端子部OUT1の構成)や、入力データ(入力信号)の設定などを行う。
【0039】
すなわち、設定処理部21は、入力部11を介して利用者の要求を受け付け、例えば、要素マトリックスM1の構造を、2行×3列のマトリックス構造にする、等の等価モデルを生成するための設定を行う。なお、要素マトリックスM1に使用する一部の構成要素SEを利用者が予め指定することも可能であり、このような場合には、設定処理部21は、要素マトリックスM1内の一部の構成要素SE(例えば、処理要素)の初期設定を行う。
【0040】
対象モデル処理部22は、対象モデル記憶部132が記憶する解析対象モデルによる処理を実行し、入力データ(入力信号)に対する出力データ(出力信号)を生成する。対象モデル処理部22は、入力データ(入力信号)及び生成した出力データ(出力信号)を、入出力データ記憶部133に記憶させる。
【0041】
等価モデル生成部23は、解析対象モデルに対する入力データ及び出力データを学習データとして、入力データに対して解析対象モデルの出力データが出力されるように、上述した構成要素SEを決定して、等価モデルを生成する。すなわち、等価モデル生成部23は、入力データに対して解析対象モデルの出力データが出力されるように、要素記憶部131が記憶する複数種類の処理要素のうちから、選択した処理要素の組み合わせ、及び選択した処理要素に対応するパラメータ要素の取り得る範囲内のパラメータ値を決定して、等価モデルを生成する。ここで、等価モデルとは、解析対象モデルと等価の処理を実行するモデルであり、解析対象モデルを翻訳したモデルである。
【0042】
等価モデル生成部23は、例えば、初期モデル生成処理と、最適化処理とを実行することで、等価モデルを生成する。等価モデル生成部23は、初期モデル生成処理として、設定処理部21によって利用者が指定した要素マトリックスM1の構造(予め指定されたマトリックス構造)に当てはめて、要素記憶部131が記憶する複数種類の処理要素のうちから、処理要素及びパラメータ値を選択して初期モデルを生成する。等価モデル生成部23は、生成した初期モデルを解析結果記憶部134に記憶させる。
【0043】
また、等価モデル生成部23は、最適化処理として、解析結果記憶部134が記憶する初期モデルの処理要素の組み合わせ及びパラメータ値を変更して、入力データに対して解析対象モデルの出力データが出力されるように、最適化して等価モデルを生成する。等価モデル生成部23は、例えば、解析対象モデルにおける入力データに対する出力データと、等価モデルにおける入力データに対する出力データとの差(出力データの誤差)が最小になるように、処理要素の組み合わせ及びパラメータ値を決定する。
【0044】
等価モデル生成部23は、生成した等価モデルを解析結果記憶部134に記憶させる。
また、等価モデル生成部23は、初期モデル生成処理部231と、最適化処理部232とを備える。
【0045】
初期モデル生成処理部231は、上述した初期モデル生成処理を実行する。初期モデル生成処理部231は、例えば、利用者によって指定された、入力端子部IN1の構成、要素マトリックスM1の構造(例えば、n行×m列のマトリックス構造など)、出力端子部OUT1の構成などに基づいて、要素マトリックスM1の構造に当てはめて、構成要素SE(処理要素及びパラメータ値)を配置して、初期モデルを生成する。なお、初期モデル生成処理部231は、利用者によって使用する構成要素SEが指定された場合には、指定された構成要素SEを含む初期モデルを生成する。初期モデル生成処理部231は、生成した初期モデルを解析結果記憶部134に記憶させる。
【0046】
最適化処理部232は、上述した最適化処理を実行する。最適化処理部232は、解析結果記憶部134が記憶する初期モデルの処理要素及びパラメータ値を変更して、当該モデルに入出力データ記憶部133の入力データを処理させた出力データを生成する。また、最適化処理部232は、例えば、処理要素及びパラメータ値の変更前の出力データと、変更後の出力データとで、入出力データ記憶部133が記憶する解析対象モデルの出力データにより近い方を採用する(評価処理)。最適化処理部232は、このような、処理要素及びパラメータ値の変更処理と、評価処理とを繰り返し実行して、解析結果記憶部134が記憶するモデルの出力データが、解析対象モデルの出力データになるように最適化する。
【0047】
具体的には、最適化処理部232は、例えば、遺伝的アルゴリズム(GA:Genetic Algorithms)に基づいて、処理要素の組み合わせ及びパラメータ値を変更して、最適化処理を実行する。ここで、遺伝的アルゴリズムとは、生物界の進化の仕組みを模倣する解探索手法であり、例えば、選択淘汰(ルーレット選択)、進化オペレーション(交叉、突然変異、パラメータシフトなど)などの最適化の態様がある。最適化処理部232は、
図5(b)に示すように、等価モデルの構成要素SEの処理要素をコード遺伝子とし、パラメータ値をパラメータ遺伝子として、遺伝的アルゴリズムを適用して、等価モデル(初期モデル)の最適化を実行する。
【0048】
また、最適化処理部232は、最適化処理(変更処理及び評価処理)を繰り返し実行し、最適化処理の終了条件に達した場合に、最適化処理を終了する。ここで、最適化処理の終了条件は、例えば、最適化処理の繰り返し回数が、所定の回数に達した場合や、等価モデルの出力データと解析対象モデルの出力データとの差が、所定の閾値以下になった場合などである。最適化処理部232は、最適化処理の終了条件に達した場合に、解析結果記憶部134が記憶するモデルを、等価モデルとして採用する。
【0049】
表示処理部24は、表示部12に各種情報を表示する処理を実行する。表示処理部24は、例えば、設定処理部21による設定処理の際に、各種設定入力の画面を表示部12に表示させる。また、表示処理部24は、利用者が解析結果(等価モデルの構造)を確認する際に、解析結果記憶部134が記憶する等価モデルの構造を表示部12に表示させる。
【0050】
次に、図面を参照して、本実施形態によるモデル解析装置1の動作について説明する。
図7は、本実施形態によるモデル解析装置1の動作の一例を示すフローチャートである。ここでは、予め解析対象モデルが指定されており、入出力データ記憶部133には、既に、解析対象モデルの入力データ及び出力データが記憶されているものとする。
【0051】
図7に示すように、モデル解析装置1は、まず、各種設定情報を設定する(ステップS101)。モデル解析装置1の設定処理部21は、例えば、入力部11か受け付けた入力情報に基づいて、等価モデルの構成の設定(例えば、入力端子部IN1、要素マトリックスM1、及び出力端子部OUT1の構成)などを行う。
【0052】
次に、モデル解析装置1の等価モデル生成部23は、等価モデルの初期モデルを生成する(ステップS102)。等価モデル生成部23の初期モデル生成処理部231は、例えば、利用者によって指定された、入力端子部IN1の構成、要素マトリックスM1の構造(例えば、n行×m列のマトリックス構造など)、出力端子部OUT1の構成などに基づいて、要素マトリックスM1の構造に当てはめて、要素記憶部131が記憶する構成要素SE(処理要素及びパラメータ値)を配置して、初期モデルを生成する。初期モデル生成処理部231は、生成した初期モデルを解析結果記憶部134に記憶させる。
【0053】
次に、等価モデル生成部23の最適化処理部232は、入力データに対する等価モデルの出力データを算出する(ステップS103)。最適化処理部232は、解析結果記憶部134が記憶する現在の等価モデル(初期モデル)により、入出力データ記憶部133が記憶する入力データを処理させて、現在の等価モデル(初期モデル)の出力データを生成する。
【0054】
次に、最適化処理部232は、等価モデルの出力データと、解析対象モデルの出力データとに基づいて、等価モデルを評価する(ステップS104)。最適化処理部232は、等価モデルの出力データと、解析対象モデルの出力データとを比較して、例えば、処理要素及びパラメータ値を変更した等価モデルの中から、等価モデルの出力データが、入出力データ記憶部133が記憶する解析対象モデルの出力データに最も近いものを採用する。
【0055】
次に、最適化処理部232は、終了条件に達したか否かを判定する(ステップS105)。最適化処理部232は、例えば、最適化処理の繰り返し回数が、所定の回数に達したか否かや、等価モデルの出力データと解析対象モデルの出力データとの差が、所定の閾値以下になった否か、などの終了条件に達したか否かを判定する。最適化処理部232は、終了条件に達した場合(ステップS105:YES)に、処理を終了し、解析結果記憶部134が記憶する最終のモデルを等価モデルとする。また、最適化処理部232は、終了条件に達していない場合(ステップS105:NO)に、処理をステップS106に進める。
【0056】
ステップS106において、最適化処理部232は、等価モデルを変更する。すなわち、最適化処理部232は、要素記憶部131が記憶する処理要素及びパラメータ要素を用いて、構成要素SEを変更して、解析結果記憶部134が記憶する現在のモデルを変更する。最適化処理部232は、例えば、遺伝的アルゴリズムの手法を用いて等価モデル(現在のモデル)を変更する。ステップS106の処理後に、最適化処理部232は、処理をステップS103に戻す。
【0057】
以上説明したように、本実施形態によるモデル解析装置1は、深層学習等の機械学習によるモデル生成方法を用いて生成された、入力データから出力データを予測する解析対象モデル(予測モデル)を解析する装置であって、要素記憶部131と、等価モデル生成部23とを備える。要素記憶部131は、入力に対して所定の処理を行う処理要素と、当該処理要素が処理する際に用いるパラメータの取り得る範囲を規定したパラメータ要素とを対応付けて、複数種類の処理要素を記憶する。等価モデル生成部23は、予測モデルに対する入力データ及び出力データを学習データとして、入力データに対して出力データが出力されるように、要素記憶部131が記憶する複数種類の処理要素のうちから、選択した処理要素の組み合わせ、及び選択した処理要素に対応するパラメータ要素の取り得る範囲内のパラメータ値を決定して、等価モデルを生成する。ここで、等価モデルとは、予測モデルと等価の処理を行うモデルであり、処理要素とパラメータ値とを含む構成要素SEにより構成される。
【0058】
これにより、本実施形態によるモデル解析装置1は、解析対象モデル(予測モデル)と等価の処理を行う等価モデルを、処理要素の組み合わせにより生成するため、等価モデルを構成する処理要素を確認することで、解析対象モデル(予測モデル)のシステム構造を把握することができる。
【0059】
図8は、本実施形態における等価モデルの生成例を示す図である。
例えば、
図8に示す等価モデルは、要素マトリックスM1を2行×3列で構成する場合の一例を示している。
図8(a)は、解析結果記憶部134が記憶する等価モデルの一例を示し、
図8(b)は、解析結果記憶部134が記憶する等価モデルを、処理要素及びパラメータ値に基づいて、処理の流れを図示したものである。
【0060】
図8(b)に示すように、本実施形態によるモデル解析装置1は、生成した等価モデルを、処理要素により図示することで、ブラックボックスである解析対象モデル(予測モデル)のシステム構造を容易に把握することができる。
【0061】
また、本実施形態では、等価モデル生成部23は、初期モデル生成処理と、最適化処理とを実行する。等価モデル生成部23は、初期モデル生成処理として、処理要素を格子状に配置したマトリックス構造(例えば、要素マトリックスM1)であって、予め指定されたマトリックス構造に当てはめて、要素記憶部131が記憶する複数種類の処理要素のうちから、処理要素及びパラメータ値を選択して初期モデルを生成する。等価モデル生成部23は、最適化処理として、初期モデルの処理要素の組み合わせ及びパラメータ値を変更して、入力データに対して出力データが出力されるように、最適化して等価モデルを生成する。
【0062】
これにより、本実施形態によるモデル解析装置1は、マトリックス構造(例えば、要素マトリックスM1)を定義することで、等価モデルの精度を調整することができるとともに、マトリックス構造により、利用者の経験則やノウハウを等価モデルの生成に盛り込むことができ、効率よく等価モデルを生成することができる。
【0063】
また、本実施形態では、等価モデル生成部23は、遺伝的アルゴリズムに基づいて、処理要素の組み合わせ及びパラメータ値を変更して、最適化処理を実行する。
これにより、本実施形態によるモデル解析装置1は、遺伝的アルゴリズムを利用することで、等価モデルを効率よく等価モデルを最適化することができる。
【0064】
また、本実施形態では、等価モデル生成部23は、解析対象モデル(予測モデル)における入力データに対する出力データと、等価モデルにおける入力データに対する出力データとの差が最小になるように、処理要素の組み合わせ及びパラメータ値を決定する。
これにより、本実施形態によるモデル解析装置1は、解析対象モデル(予測モデル)と等価な高精度の等価モデルを生成することができる。
【0065】
また、本実施形態によるモデル解析方法は、深層学習等の機械学習によるモデル生成方法を用いて生成された入力データから出力データを予測する解析対象モデル(予測モデル)を解析するモデル解析方法であって、等価モデル生成ステップを含む。等価モデル生成ステップにおいて、等価モデル生成部23が、解析対象モデル(予測モデル)に対する入力データ及び出力データを学習データとして、入力データに対して出力データが出力されるように、要素記憶部131が記憶する複数種類の処理要素のうちから、選択した処理要素の組み合わせ、及び選択した処理要素に対応するパラメータ要素の取り得る範囲内のパラメータ値を決定して、等価モデルを生成する。ここで、要素記憶部131は、入力に対して所定の処理を行う処理要素と、当該処理要素が処理する際に用いるパラメータの取り得る範囲を規定したパラメータ要素とを対応付けて、複数種類の処理要素を記憶する。
これにより、本実施形態によるモデル解析方法は、上述したモデル解析装置1と同様の効果を奏し、解析対象モデル(予測モデル)のシステム構造を把握することができる。
【0066】
[第2の実施形態]
次に、図面を参照して、第2の実施形態によるモデル解析装置1aについて説明する。
本実施形態では、モデル解析装置1aが、階層的に等価モデルを生成する場合の一例について説明する。
【0067】
図9は、第2の実施形態によるモデル解析装置1aの一例を示すブロック図である。
図9に示すように、モデル解析装置1aは、入力部11と、表示部12と、記憶部13と、制御部20aとを備えている。
なお、この図において、上述した
図1と同一の構成には同一の符号を付与して、その説明を省略する。
【0068】
制御部20aは、例えば、CPUなどを含むプロセッサであり、モデル解析装置1aを統括的に制御する。制御部20aは、設定処理部21と、対象モデル処理部22と、等価モデル生成部23aと、表示処理部24とを備えている。
【0069】
等価モデル生成部23aは、上述した第1の実施形態と同様に、入力データに対して解析対象モデルの出力データが出力されるように、等価モデルを生成する。但し、本実施形態では、等価モデル生成部23aは、要素マトリックスM1を拡張して、追加の最適化処理を実行する追加最適化処理の機能を有している。本実施形態では、等価モデル生成部23aは、階層的に等価モデルを生成する手法により、等価モデルを生成することが可能である。
【0070】
等価モデル生成部23aは、例えば、利用者によって、要素マトリックスM1の構造(マトリックス構造)が、拡張された場合に、追加最適化処理を実行する。等価モデル生成部23aは、追加最適化処理として、拡張前の要素マトリックスM1の構造の処理要素の組み合わせ及びパラメータ値を維持しつつ、拡張された部分の処理要素の組み合わせ及びパラメータ値を選択し、入力データに対して解析対象モデルの出力データが出力されるように、最適化して等価モデルを生成する。
【0071】
また、等価モデル生成部23aは、追加最適化処理を要素マトリックスM1の構造の複数階層に対して実行し、階層的に抽象化した等価モデルを生成する。ここで、
図10を参照して、本実施形態による階層的に等価モデルを生成する手法(追加最適化処理)について説明する。
【0072】
図10は、本実施形態における追加最適化処理を説明する図である。
本実施形態による階層的に等価モデルを生成する手法(追加最適化処理)では、例えば、
図10(a)に構成要素SEを格子状に配列した要素マトリックスM1のような等価モデルを最終的に生成する場合に、等価モデル生成部23aは、まず、要素マトリックスM1の1行目に相当する第1の階層M1-1を最適化する(
図10(b)参照)。
【0073】
次に、等価モデル生成部23aは、
図10(c)に示すように、最適化された第1の階層M1-1に、新たに第2の階層M1-2を拡張して追加し、等価モデルの最適化を実行する。ここで、等価モデル生成部23aは、第1の階層M1-1の処理要素の組み合わせ及びパラメータ値を維持しつつ、拡張された部分の処理要素の組み合わせ及びパラメータ値を選択して、等価モデルを追加で最適化する。
【0074】
このようにして、等価モデル生成部23aは、新たに作成した構成要素SEの組み合わせからなる下位の階層を順次追加していき(
図10(d)参照)、追加した構成要素SEを最適化して、最終的に
図10(a)に示すような要素マトリックスM1の構造の等価モデルを生成する。
また、等価モデル生成部23aは、初期モデル生成処理部231と、最適化処理部232と、追加最適化処理部233とを備える。
【0075】
追加最適化処理部233は、上述した追加最適化処理を実行する。すなわち、追加最適化処理部233は、追加最適化処理を要素マトリックスM1の構造(マトリックス構造)の複数階層に対して実行し、階層的に抽象化した等価モデルを生成する。
【0076】
次に、
図11を参照して、本実施形態によるモデル解析装置1aの動作について説明する。
図11は、本実施形態によるモデル解析装置1aの動作の一例を示すフローチャートである。ここでは、上述した
図7に示す例と同様に、予め解析対象モデルが指定されており、入出力データ記憶部133には、既に、解析対象モデルの入力データ及び出力データが記憶されているものとする。
【0077】
図11に示すように、モデル解析装置1aは、まず、各種設定情報を設定する(ステップS201)。モデル解析装置1aの設定処理部21は、例えば、入力部11か受け付けた入力情報に基づいて、等価モデルの構成の設定(例えば、入力端子部IN1、要素マトリックスM1、及び出力端子部OUT1の構成)や、階層化の設定などを行う。
【0078】
続く、ステップS202からステップS206までの処理は、上述した
図7に示すステップS102からステップS106までの処理と同様であるため、ここではその説明を省略する。
【0079】
なお、本実施形態では、ステップS205において、最適化処理部232は、1つの階層における終了条件に達したか否かを判定する。最適化処理部232は、終了条件に達した場合(ステップS205:YES)に、処理をステップS207に進める。
【0080】
ステップS207において、追加最適化処理部233は、構成要素SEを追加するか否かを判定する。すなわち、追加最適化処理部233は、要素マトリックスM1を、例えば、
図10(c)のように拡張するか否かを判定する。追加最適化処理部233は、構成要素SEを追加する場合(ステップS207:YES)に、処理をステップS208に進める。また、追加最適化処理部233は、構成要素SEを追加しない場合(ステップS207:NO)に、処理を終了し、解析結果記憶部134が記憶する最終のモデルを等価モデルとする。
【0081】
ステップS208において、追加最適化処理部233は、構成要素SEを追加する。すなわち、追加最適化処理部233は、要素マトリックスM1を、例えば、
図10(c)のように、階層を追加する拡張を行い、処理をステップS203に戻して、追加の最適化を実行させる。なお、この追加最適化処理では、すでに最適化されている要素マトリックスM1の構造の構成要素SE(処理要素の組み合わせ及びパラメータ値)を維持しつつ、拡張された階層の最適化が実行される。
【0082】
以上説明したように、本実施形態によるモデル解析装置1aは、要素記憶部131と、第1の実施形態と同様の等価モデルを生成する等価モデル生成部23aとを備える。
これにより、本実施形態によるモデル解析装置1aは、第1の実施形態と同様の効果を奏し、解析対象モデル(予測モデル)のシステム構造を把握することができる。
【0083】
また、本実施形態では、等価モデル生成部23aは、要素マトリックスM1の構造(マトリックス構造)が拡張された場合に、追加最適化処理を実行する。等価モデル生成部23aは、追加最適化処理として、拡張前の要素マトリックスM1の構造(マトリックス構造)の処理要素の組み合わせ及びパラメータ値(例えば、構成要素SE)を維持しつつ、拡張された部分の処理要素の組み合わせ及びパラメータ値を選択し、入力データに対して解析対象モデルの出力データが出力されるように、最適化して等価モデルを生成する。
【0084】
これにより、本実施形態によるモデル解析装置1aは、追加最適化処理を実行することで、等価モデルのモデル精度を向上させることができる。ここで、等価モデルのモデル精度とは、解析対象モデル(予測モデル)の出力に対する等価モデルの出力の精度を示している。
【0085】
また、本実施形態では、等価モデル生成部23aは、追加最適化処理を要素マトリックスM1の構造(マトリックス構造)の複数階層に対して実行し、階層的に抽象化した等価モデルを生成する。
【0086】
これにより、本実施形態によるモデル解析装置1aは、階層的に抽象化した等価モデルを生成することで、等価モデルの構成において、モデルへの寄与度を明確にすることができ、さらに詳細なシステム構造を把握することができる。
【0087】
図12は、本実施形態における階層的に抽象化した等価モデルの生成例及び解析例を示す図である。
図12に示す等価モデルは、5行×4列の要素マトリックスM1の構造であり、第1の階層モデルP
1(s)~第5の階層モデルP
5(s)の5段階に抽象化した等価モデルである。この場合、モデル精度は、第1の階層モデルP
1(s)よりも第5の階層モデルP
5(s)の方が高く、階層化が多い程、モデル精度は高くなる。また、モデルへの寄与度は、第5の階層モデルP
5(s)よりも第1の階層モデルP
1(s)の方が高く、階層化が低い程、モデルへの寄与度が高くなる。
【0088】
これらのことから、本実施形態によるモデル解析装置1aでは、各階層のモデルの構成要素SEを確認することで、解析対象モデル(予測モデル)に寄与する要因を把握することができ、さらに詳細なシステム構造を把握することができる。また、本実施形態によるモデル解析装置1aでは、階層化することでモデル精度を把握できるため、要求レベルに応じたモデルを決定することができる。
【0089】
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の各実施形態において、モデル解析装置1(1a)が、対象モデル記憶部132及び対象モデル処理部22を備える例を説明したが、これに限定されるものではない。モデル解析装置1(1a)は、解析対象モデルの入力データ及び出力データを取得できればよく、対象モデル記憶部132及び対象モデル処理部22を備えない形態であってもよい。
【0090】
また、上記の各実施形態において、モデル解析装置1(1a)が、解析対象モデルがモデル全体がブラックボックス化されている例を説明したが、これに限定されるものではなく、解析対象モデルは、ブラックボックス化されている部分が一部分であってもよい。
【0091】
また、上記の各実施形態において、モデル解析装置1(1a)は、記憶部13の一部又は全部を外部(例えば、ネットワークを介して接続可能なサーバ装置など)に備え、外部から取得するようにしてもよい。
【0092】
また、上記実施形態において、モデル解析装置1(1a)は、処理要素を格子状(マトリックス構造)に配置したが、これに限定されるものではなく、様々な配置をしてもよい。モデル解析装置1(1a)は、
図13に示すように、処理要素の配置をマトリックス構造でないようにしてもよい。
【0093】
図13(a)及び
図13(b)に示す等価モデルは、モデル解析装置1(1a)が、マトリックス構造を用いない配置を適用した場合の等価モデルの構成例を示している。このような構成に場合に、等価モデル生成部23(23a)は、初期モデル生成処理として、要素記憶部131が記憶する複数種類の処理要素のうちから、処理要素及びパラメータ値を選択して初期モデルを生成する。そして、等価モデル生成部23(23a)は、最適化処理として、初期モデルの処理要素の組み合わせ及びパラメータ値を変更して、入力データに対して出力データが出力されるように、最適化して等価モデルを生成する。
【0094】
また、等価モデル生成部23aは、追加最適化処理として、マトリックス構造が拡張された場合に、
図13(a)及び
図13(b)に示す等価モデルの処理要素の組み合わせ及びパラメータ値を維持しつつ、拡張された部分の処理要素の組み合わせ及びパラメータ値を選択し、入力データに対して前記出力データが出力されるように、最適化して等価モデルを生成するを実行するようにしてもよい。
【0095】
また、上記の各実施形態において、等価モデル生成部23(23a)は、遺伝的アルゴリズムを利用して、最適化して等価モデルを生成する例を説明したが、これに限定されるものではなく、他の手法を利用して、等価モデルを最適化してもよい。
【0096】
また、上記の各実施形態において、作成される等価モデルは、必ずしも解析するモデルと完全に一致したモデルとは限らない。モデル解析装置1(1a)は、最適化処理の終了条件や追加される階層等により解析するモデルと等価モデルとの間に差異が生じることがある。モデル解析装置1(1a)は、この差異を許容できる範囲に収まるように終了条件等を設定するようにしてもよい。
【0097】
また、上記の各実施形態において、モデル解析装置1(1a)は、1台の装置で構成する例を説明したが、複数の装置で構成されてもよい。
【0098】
なお、上述したモデル解析装置1(1a)が備える各構成は、内部に、コンピュータシステムを有している。そして、上述したモデル解析装置1(1a)が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したモデル解析装置1(1a)が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0099】
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。
【0100】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にモデル解析装置1(1a)が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0101】
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【0102】
1、1a モデル解析装置
11 入力部
12 表示部
13 記憶部
20、20a 制御部
21 設定処理部
22 対象モデル処理部
23、23a 等価モデル生成部
24 表示処理部
131 要素記憶部
132 対象モデル記憶部
133 入出力データ記憶部
134 解析結果記憶部
231 初期モデル生成処理部
232 最適化処理部
233 追加最適化処理部
M1 要素マトリックス
IN1 入力端子部
OUT1 出力端子部
SE 構成要素