(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023002103
(43)【公開日】2023-01-10
(54)【発明の名称】モデル推論装置、方法およびプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20221227BHJP
G06N 3/08 20230101ALI20221227BHJP
【FI】
G06N20/00
G06N3/08
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021103130
(22)【出願日】2021-06-22
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】堀脇 一樹
(57)【要約】
【課題】
本発明は、モデルの更新をより適切に実行することで、その更新におけるコストを抑制することを課題とする。
【解決手段】
上記課題を解決するために、本発明では、機械学習におけるモデルを推論するモデル推論装置であるモデル更新・展開システム1であって、更新前のモデルである更新前モデルおよび更新後モデルを記憶する記憶部40と、モデルの更新の際に用いられたデータにおける前記更新前モデルおよび前記更新後モデルの関連性に関する特徴を示す特徴量を作成する特徴量データ作成部33と、前記更新前モデル、前記更新後モデルおよび前記特徴量に基づいて、前記更新の更新方法を学習する更新学習モデルを構築する更新学習モデル構築部34と、前記更新学習モデルに基づいて、所定のモデルを推論する更新学習モデル推論部36を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
機械学習におけるモデルを推論するモデル推論装置において、
更新前のモデルである更新前モデルおよび更新後モデルを記憶する記憶部と、
モデルの更新の際に用いられたデータにおける前記更新前モデルおよび前記更新後モデルの関連性に関する特徴を示す特徴量を作成する特徴量データ作成部と、
前記更新前モデル、前記更新後モデルおよび前記特徴量に基づいて、前記更新の更新方法を学習する更新学習モデルを構築する更新学習モデル構築部と、
前記更新学習モデルに基づいて、所定のモデルを推論する更新学習モデル推論部を有するモデル推論装置。
【請求項2】
請求項1に記載のモデル推論装置において、
前記特徴量データ作成部は、前記特徴量として、前記更新前モデルおよび前記更新後モデルの差分を示す差分情報を作成するモデル推論装置。
【請求項3】
請求項2に記載のモデル推論装置において、
前記更新学習モデル構築部は、前記更新前モデル、当該更新前モデルの構築の際に使用したデータおよび前記更新後モデルの構築の際に使用したデータを用いて、前記更新後モデルを教師データとした教師あり学習を行うことで、前記更新学習モデルを構築するモデル推論装置。
【請求項4】
請求項3に記載のモデル推論装置において、
前記特徴量データ作成部は、前記学習の際に、推定したパラメータ情報であるエッジ情報と教師データとして与えたエッジ情報との差分を、前記差分情報として作成し、
前記更新学習モデル構築部は、前記差分情報を、前記更新学習モデルへフィードバックすることで、前記更新学習モデルを構築するモデル推論装置。
【請求項5】
請求項1乃至4のいずれかに記載のモデル推論装置において、
さらに、前記更新学習モデルに基づいて、所定の業務でのモデルを展開する更新学習モデル展開部を有するモデル推論装置。
【請求項6】
機械学習におけるモデルを推論するモデル推論装置を用いたモデル推論方法において、
記憶部に、更新前のモデルである更新前モデルおよび更新後モデルを記憶しておき、
特徴量データ作成部により、モデルの更新の際に用いられたデータにおける前記更新前モデルおよび前記更新後モデルの関連性に関する特徴を示す特徴量を作成し、
更新学習モデル構築部により、前記更新前モデル、前記更新後モデルおよび前記特徴量に基づいて、前記更新の更新方法を学習する更新学習モデルを構築し、
更新学習モデル推論部により、前記更新学習モデルに基づいて、所定のモデルを推論するモデル推論方法。
【請求項7】
請求項6に記載のモデル推論方法において、
前記特徴量データ作成部により、前記特徴量として、前記更新前モデルおよび前記更新後モデルの差分を示す差分情報を作成するモデル推論方法。
【請求項8】
請求項7に記載のモデル推論方法において、
前記更新学習モデル構築部により、前記更新前モデル、当該更新前モデルの構築の際に使用したデータおよび前記更新後モデルの構築の際に使用したデータを用いて、前記更新後モデルを教師データとした教師あり学習を行うことで、前記更新学習モデルを構築するモデル推論方法。
【請求項9】
請求項8に記載のモデル推論方法において、
前記特徴量データ作成部により、前記学習の際に、推定したパラメータ情報であるエッジ情報と教師データとして与えたエッジ情報との差分を、前記差分情報として作成し、
前記更新学習モデル構築部により、前記差分情報を、前記更新学習モデルへフィードバックすることで、前記更新学習モデルを構築するモデル推論方法。
【請求項10】
請求項6乃至9のいずれかに記載のモデル推論方法において、
さらに、前記更新学習モデルに基づいて、所定の業務でのモデルを展開するモデル推論方法。
【請求項11】
機械学習におけるモデルを推論するモデル推論装置であるコンピュータを、
更新前のモデルである更新前モデルおよび更新後モデルを記憶する記憶部と、
モデルの更新の際に用いられたデータにおける前記更新前モデルおよび前記更新後モデルの関連性に関する特徴を示す特徴量を作成する特徴量データ作成部と、
前記更新前モデル、前記更新後モデルおよび前記特徴量に基づいて、前記更新の更新方法を学習する更新学習モデルを構築する更新学習モデル構築部と、
前記更新学習モデルに基づいて、所定のモデルを推論する更新学習モデル推論部として機能させるためのプログラム。
【請求項12】
請求項11に記載のプログラムにおいて、
前記特徴量データ作成部は、前記特徴量として、前記更新前モデルおよび前記更新後モデルの差分を示す差分情報を作成するプログラム。
【請求項13】
請求項12に記載のプログラムにおいて、
前記更新学習モデル構築部は、前記更新前モデル、当該更新前モデルの構築の際に使用したデータおよび前記更新後モデルの構築の際に使用したデータを用いて、前記更新後モデルを教師データとした教師あり学習を行うことで、前記更新学習モデルを構築するプログラム。
【請求項14】
請求項13に記載のプログラムにおいて、
前記特徴量データ作成部は、前記学習の際に、推定したパラメータ情報であるエッジ情報と教師データとして与えたエッジ情報との差分を、前記差分情報として作成し、
前記更新学習モデル構築部は、前記差分情報を、前記更新学習モデルへフィードバックすることで、前記更新学習モデルを構築するプログラム。
【請求項15】
請求項11乃至14のいずれかに記載のプログラムにおいて、
さらに、前記更新学習モデルに基づいて、所定の業務でのモデルを展開する更新学習モデル展開部を有するプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、いわゆる機械学習モデルの管理に関する。その中でも、製造・設計・保全業務等の各種業務におけるモデルを管理するための技術に関する。なお、モデルの管理には、更新や展開することが含まれる。
【背景技術】
【0002】
現在、各種業務の支援に、計算機システム上に構築した機械学習モデル(以下、モデル)を用いることがなされている。また、より効率的な業務支援のために、モデルを更新したり、他拠点、他業務等への展開することがなされている。
【0003】
このような、更新や展開では、業務上で得られたデータや技術者、作業者等が持つノウハウに基づいて、モデルを構築する。そして、業務へ適用した際、当該モデルの精度が劣化すると、モデル精度向上を目的とし、モデルを更新する。また、構築したモデルを業務で活用し、得られた結果を他拠点や他業務等へと展開することがなされている。
【0004】
このようなモデルの更新・展開に関する先行技術文献としては、特許文献1がある。特許文献1には、過去の分析業務で得られた結果をデータベース上に保存し、モデル更新時に、該当事例と類似した事例をデータベース上より検索し、その検索結果からモデル更新や展開を行うと記載されている。
【0005】
また、他の先行技術文献として、特許文献2がある。特許文献2には、事前知識にてベイジアンネットワークと呼ばれるグラフィカルモデルを作成し、故障事象が発生した際に、該当事象に該当するサブグラフのベイジアンネットワークを構築ならびに更新を行い、のちに事前に作成したモデルに対し確率分布を更新すると記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2019-79216号公報
【特許文献2】特開2009-223362号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ここで、モデルの更新・展開を含むモデルの管理においては、その適用先の状況に応じてパラメータの管理が必要となる。例えば、製造業では、課題解決のために統計モデルや機械学習モデルと呼ばれるモデルを利用するが、装置の種類や使用環境等によりモデルで使用するパラメータの更新ならびに管理を行う必要がある。
【0008】
このため、モデルの管理においては、パラメータの更新を含む管理を行うことが必要である。特に、モデルの適用先が、少量多品目の装置群であれば、装置毎にパラメータを管理、更新することが必要である。このため、管理すべきパラメータ数が膨大となり、その結果、管理コストが高くなる。
【0009】
ここで、特許文献1では、複数のデータリソースや分析結果を入力とし、計算機で計算しやすい事象データに変換し、データベース上へ保存する。そして、モデル更新時に、該当事例と類似した事例がデータベース上から検索し、その結果をモデル更新に反映させることが可能になっている。しかし、特許文献1では、該当事例に類似する事例をあらかじめ全てデータベース上に保存しておく必要があり、該当事例がデータベース上に存在しない場合、モデルを再構成する必要があり、装置の種類や使用環境等によるパラメータの数を低減することができない。
【0010】
また、特許文献2では、あらかじめ対象を包括するグラフィカルモデルを構築し、その部分モデルを更新し、更新結果を元のモデルへ反映することでパラメータの管理コストを低減することが可能となっている。しかし、特許文献2では、対象とするモデル毎に包括したモデルを構築し、そのモデルのパラメータ設定毎に、パラメータの設定と評価のループを繰り返す必要が生じ、管理コストが高くなってしまう。
【0011】
以上のように、特許文献1ならびに特許文献2では、パラメータを更新することは可能であるが、多種多様な条件に対し、モデルの再構成やパラメータ調整の繰り返し作業が必要となり、モデルの更新にかかるコストが膨大となる。
【0012】
そこで、本発明は、モデルの更新をより適切に実行し、そのコストを抑制することを課題とする。
【課題を解決するための手段】
【0013】
上記課題を解決するために、本発明では、モデルの更新自体を学習する。この一例として、本発明では、パラメータ調整や管理、更新をする条件の判定自体を統計モデルや機械学習モデルで表現し、これを学習する。そして、この結果を、モデルの更新や展開に反映することができる。
【0014】
より具体的には、機械学習におけるモデルを推論するモデル推論装置において、更新前のモデルである更新前モデルおよび更新後モデルを記憶する記憶部と、モデルの更新の際に用いられたデータにおける前記更新前モデルおよび前記更新後モデルの関連性に関する特徴を示す特徴量を作成する特徴量データ作成部と、前記更新前モデル、前記更新後モデルおよび前記特徴量に基づいて、前記更新の更新方法を学習する更新学習モデルを構築する更新学習モデル構築部と、前記更新学習モデルに基づいて、所定のモデルを推論する更新学習モデル推論部を有するモデル推論装置である。
【0015】
本発明には、このモデル推論装置を用いたモデル推論方法も含まれる。さらに、モデル推論装置であるコンピュータを機能させるためのプログラムやこれを格納した記憶媒体といったプログラム製品も、本発明に含まれる。
【発明の効果】
【0016】
本発明のうち代表的な実施の形態によれば、本発明では、モデルの更新をより適切に実行し、モデルの更新のコストを抑制することが可能となる。
【0017】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0018】
【
図1】本発明の一実施形態におけるモデル更新・展開システムの構成例を示す図である。
【
図2】本発明の一実施形態におけるモデル表示部での更新対象となるモデルおよび更新後のモデルの表示例を示す図である。
【
図3】本発明の一実施形態におけるパラメータ表示部でのパラメータ情報を表示する表示例を示す図である。
【
図4】本発明の一実施形態における更新学習モデル選択部での更新学習モデルを管理する情報を表示する表示例を示す図である。
【
図5】本発明の一実施形態における更新学習モデル表示部での更新学習モデルの構造形式での表示例を示す図である。
【
図6】本発明の一実施形態における更新学習モデルパラメータ表示部での更新学習モデルのパラメータ情報を表示する表示例を示す図である。
【
図7】本発明の一実施形態における更新学習モデルの学習の処理フローを示すフローチャート図である。
【
図8】本発明の一実施形態におけるステップS4(更新学習モデルの学習)の詳細処理フローを示すローチャートである。
【
図9】本発明の一実施形態における推論フェーズにおける更新学習モデル推論部の処理フローの例を示すフローチャートである。
【
図10】本発明の一実施形態における展開フェーズにおける制御部の処理フローの例を示すフローチャートである。
【
図11】本発明の一実施形態におけるモデルのネットワーク構造でのデータの構成例を示す図である。
【
図12】本発明の一実施形態における更新学習モデルの構造形式によるデータの構成例を示す図である。
【
図13】本発明の一実施形態における更新前モデル構築の際のデータ、更新後モデル構築の際のデータまたは運用の際に取得したデータの構成例を示す図である。
【
図14】本発明の一実施形態におけるモデルのパラメータであるエッジ情報のデータ構成例を示す図である。
【
図15】本発明の一実施形態における更新学習モデルのパラメータ情報のデータ構成例を示す図である。
【
図16】本発明の一実施形態における実装例を示す図である。
【発明を実施するための形態】
【0019】
以下、本発明の一実施形態について、図面を参照しながら説明する。なお、各図においては、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。また、本実施形態では、更新対象のモデルとしてグラフィカルモデルを例とし、更新学習モデルとしてグラフニューラルネットワークを採用しているが、この限りではない。
(1)システム構成
図1は、本実施形態のモデル更新・展開システム1の構成例を示す図である。つまり、モデル更新・展開システム1は、本発明のモデル推論装置の一例である。このモデル更新・展開システム1は、一般的な計算機(PC等)で構成でき、例えばソフトウェアプログラムの実行処理により後述する処理を実現する。
【0020】
モデル更新・展開システム1は、入出力部11、通信部12、表示部20、制御部30、記憶部40、およびバス等で構成される。ここで、入出力部11は、ユーザの操作を受け付けたり、ユーザへの情報を出力したりする。つまり、入出力部11は、入力機能をおよび出力機能を有すればよい。このため、入出力部10は、入力機能を有する入力装置と出力機能を有する出力装置との個別の装置で実現できる。
【0021】
例えば、入力機能としては、以下の入力を受け付ける。
(A)モデル更新の対象となるモデルの指定
(B)更新学習モデルと呼ぶモデルを更新する際に使用するモデルの設定項目
(C)出力装置の一種であるグラフィカルユーザインターフェース(GUI)上にある項目の入力
(D)モデル更新の対象となるモデルや更新学習モデルの選択、
(E)モデル更新の対象となるモデルを使用する環境で測定した観測データの入力
また、出力機能の例としては、更新学習モデルの学習ならびに更新学習モデルを用いた推論結果の出力を行うことが挙げられる。そして、入出力部11として、例えばキーボード、マウス、ディスプレイ、プリンタ等で実現できる。
【0022】
また、通信部12は、モデル更新・展開システム1の外部の通信網に対する通信インタフェース装置を含み、外部のサーバや製造装置等と通信する。このために、通信部12は、制御部30からの制御に従って、外部のサーバや製造装置等から、モニタデータや製造工程情報等を取得、参照してもよい。
【0023】
また、モデル更新・展開システム1は、表示部20の画面で、GUIを構成し、各種の情報を表示する構成としてもよい。なお、表示部20は、出力装置として実現してもよいし、個別に構成してもよい。個別に構成する場合、入出力部11は、ユーザが利用する端末装置との接続する機能を有することになる。この場合、表示部20は省略可能である。この場合、入出力部11と通信部12を1つの部位として構成することが可能である。
【0024】
制御部30では、例えばCPUのようなプロセッサやRAM、ROM等のメモリといった公知の要素により構成される。つまり、制御部30は、メモリに格納されるプログラムに従って、後述する各部の処理を実現する、
つまり、制御部30は、入力データ処理部31、エッジ処理部32、特徴量データ作成部33、更新学習モデル構築部34、モデル表示処理部35、更新学習モデル推論部36、更新学習モデル展開部37を有し、本実施形態の主たる処理を行う。
(2)表示内容
次に、
図2から
図6を用いて、本実施形態での表示内容について、説明する。本実施形態では、表示部20で表示するGUI画面例について説明するが、入出力部11や通信部12を介して同様の出力、表示が可能である。
【0025】
表示部20は、モデル表示部21、パラメータ表示部22、更新学習モデル選択部23、更新学習モデル表示部24、更新学習モデルパラメータ表示部25から主に構成される。但し、これらは、制御部30の機能として実現してもよい。つまり、表示部20のGUI画面は、各部を実現するプログラムに従って、制御部30で作成し、表示部20に表示することが可能である。
【0026】
まず、
図2は、モデル表示部21での更新対象となるモデルおよび更新後のモデルの表示例を示す図である。モデル表示部21は、モデル管理画面(2-1)と呼ばれる表形式の画面を表示する。このモデル管理画面(2-1)は、モデルに関するヘッダ情報(2-2)とそのヘッダに対する値(2-3)からなる表形式の画面である。ヘッダ情報(2-2)は主に、行方向の番号を表すヘッダ(2-4)、モデルを識別するラベル(2-5)、モデルで使用されているデータ項目数(2-6)、モデルの作成日時(2-7)、詳細設定リンク(2-8)からなる。ヘッダ情報(2-2)については、あくまで一例でありこの限りではない。
【0027】
また、行方向の番号を表すヘッダ(2-4)は、保存している各モデルを表示する際の行番号を表す。ラベル(2-5)は、モデル記憶部41ならびにパラメータ記憶部44にて保存されているモデルを識別するラベルを各モデルについての情報を示す。データ項目数(2-6)は、モデル記憶部41の11-1で記載されているネットワーク構造のノード数ならびにパラメータ記憶部44で記載されているヘッダ(14-3ならびに14-4)のデータ項目数を示す。
【0028】
作成日時(2-7)は、モデルを作成した日時を示す。詳細設定リンク(2-8)には、各モデルの詳細設定を表示する画面に遷移するためのボタンが表示される。各モデルのモデル詳細設定画面(2-9)には、対象モデルのネットワーク構造(2-11)が表示される。表示するネットワーク構造(2-11)は、モデル記憶部41に保存されている情報を表示する。ネットワーク構造でのラベル(2-10)は、モデル管理画面(2-1)のラベル(2-5)に対応するものである。ネットワーク構造(2-11)では、各データ項目を表すノード(2-12)ならびにデータ項目間の関係を表すエッジ情報(2-13)で構成されたネットワーク構造を表示する。
【0029】
また、ノード(2-12)は、モデル記憶部41の11-3に、エッジ情報はモデル記憶部41の11-4に、それぞれ該当する。パラメータ表示ボタン(2-14)は、対象モデルのパラメータを表示する画面であるパラメータ表示部22に遷移するボタンである。
【0030】
次に、
図3を用いて、パラメータ表示部22について説明する。
図3は、本実施形態におけるパラメータ表示部でのパラメータ情報を表示する表示例を示す図である。パラメータ表示部22は、更新対象となるモデルならびに更新後のモデルのパラメータを表示する。
【0031】
図3において、パラメータ表示部22では、モデル管理画面(2-1)のモデル詳細設定画面(2-9)上のパラメータ表示ボタン(2-14)が押下されることで、画面を遷移する。また、パラメータ表示部22は、対象モデルを表すラベル(3-1)とパラメータ情報(本実施例の場合はエッジ情報)を表形式(3-2)にて表示する。
【0032】
ここで、表形式(3-2)は、モデル表示部21の各データ項目間のエッジ情報(2-13)を表形式にて表示される。表の一行目(3-3)ならびに一列目(3-4)は、対象モデルで使用されているデータ項目であり、パラメータ記憶部44の14-3ならびに14-4に該当する。データ項目間のエッジ情報(3-5)は、パラメータ記憶部44に保存されている14-5の情報を示す。
【0033】
次に、
図4を用いて、更新学習モデル選択部23について説明する。
図4は、本実施形態における更新学習モデル選択部23での更新学習モデルを管理する情報を表示する表示例を示す図である。ここで、更新学習モデル選択部23は、更新を学習するモデルを更新学習モデルと呼び、複数の更新学習モデルを選択する画面を表示する。
【0034】
更新学習モデル選択部23は、表形式にて記載される更新学習モデル管理画面(4-1)を表示する。ここで、更新学習モデル管理画面(4-1)は、ヘッダ情報(4-2)とヘッダに対応する値(4-3)で構成された表を示す。ヘッダ情報(4-2)は、各更新学習モデルの行番号(4-4)、更新学習モデルを識別するラベル(4-5)、更新学習モデルで扱うデータ項目数(4-6)、更新学習モデルを作成した作成日時(4-7)ならびに更新学習モデルの詳細情報を記載した画面へ遷移するボタンを記載する詳細設定(4-8)を有する。
【0035】
このヘッダ情報(4-2)は、あくまで一例でありこの限りではない。行方向の番号を表すヘッダである行番号(4-4)は保存している各更新学習モデルを表示する際の行番号を表す。ラベル(4-5)は、モデル記憶部41ならびに更新学習モデルパラメータ記憶部45にて保存されているモデルを識別するラベルを示す。データ項目数(4-6)は、モデル記憶部41の12-1で記載されているグラフィカルニューラルネットワーク構造の入力層のノード数を記載する。作成日時(4-7)は、更新学習モデルを作成した日時を示す。詳細設定(4-8)は、各モデルの詳細設定を表示する画面に遷移するボタンが記載される。
【0036】
次に、
図5を用いて、更新学習モデル表示部24について説明する。
図5は、本実施形態における更新学習モデル表示部24での更新学習モデルの構造形式での表示例を示す図である。
【0037】
更新学習モデル表示部24は、更新学習モデルを表示する。具体的には、更新学習モデル表示部24は、更新学習モデル記憶部42で保存している対象となる更新学習モデルのラベル(5-1)と構造形式(5-2)を表示する。ここで、ラベル(5-1)は、更新学習モデル記憶部のラベル(12-1)に対応する。また、構造形式(5-2)は、更新学習モデル記憶部42の構造形式(12-2)に対応する。構造形式(5-2)は、更新学習モデルの入力層(5-3)、更新学習モデルの出力層(5-4)、更新学習モデルの中間層(5-5)、更新学習モデルの中間層の層番号(5-6)、更新学習モデルの各ノード間の接続を表すエッジ情報(5-7)から構成される。
【0038】
また、更新学習モデルの入力層(5-3)は、更新学習モデル記憶部42の12-3に対応する。更新学習モデルの出力層(5-4)は、更新学習モデル記憶部42の12-4に対応する。更新学習モデルの中間層(5-5)は、更新学習モデル記憶部42の12-5に対応する。更新学習モデルの中間層の層番号(5-6)は、更新学習モデル記憶部42の12-6に対応する。更新学習モデルのノード間の接続を表すエッジ情報(5-7)は、更新学習モデル記憶部42の12-7に対応する。パラメータ表示ボタン(5-8)は、更新学習モデルのパラメータである各ノード間の重みを記載した表を有する画面である更新学習モデルパラメータ表示部25への遷移を行うためのボタンである。
【0039】
次に、
図6を用いて、更新学習モデルパラメータ表示部25について説明する。
図6は、本実施形態における更新学習モデルパラメータ表示部25での更新学習モデルのパラメータ情報を表示する表示例を示す図である。
【0040】
更新学習モデルパラメータ表示部25は、更新学習モデル内のパラメータを表示する。具体的には、更新学習モデルパラメータ表示部25は、更新学習モデルを識別するラベル(6-1)と更新学習モデルのパラメータを表形式で保存した画面(6-2)から構成される。ここで、ラベル(6-1)は、対象モデルのラベルであり、更新学習モデル表示部24でパラメータ表示ボタン(5-8)を押下した際に表示していたモデルのラベル(5-1)に対応し、更新学習モデルパラメータ記憶部45にて保存されているラベル(15-1)に対応する。表形式での画面(6-2)は、二つの表から構成されており、それぞれ層番号と層内ノード数の表(6-3)、層番号、重み番号ならびに重み番号に対応する重みの値を有する表(6-4)からなる。層番号と層内ノード数の表(6-3)は、ヘッダとして層番号(6-5)ならびに層内ノード数(6-6)を有し、それぞれの値を6-10に記載する。層番号、重み番号ならびに重み番号に対応する重みの値を有する表(6-4)は、ヘッダとして層番号(6-7)、重み番号(6-8)ならびに重み(6-9)を有し、それぞれの値は6-11に記載される。
(3)制御部30
次に、制御部30について説明する。
図1に示すように、制御部30は、入力データ処理部31、入力データ処理部31、エッジ処理部32、特徴量データ作成部33、更新学習モデル構築部34、モデル表示処理部35、更新学習モデル推論部36、更新学習モデル展開部37から主に構成される。これらは、各機能ブロックであり、上述のようにプログラムに従ってその処理を実行することもできる。このことについては、後述する。
【0041】
ここで、本実施形態で対象とする更新学習モデルは、学習、推論、展開と呼ぶ三つのフェーズが存在する。学習は、更新学習モデルの最適なパラメータを過去のモデル群とデータ群により学習するフェーズである。また、推論は、学習によりパラメータ調整された更新学習モデルを用いて、入力されたモデルならびにデータから更新が必要な情報を推論し、出力するフェーズである。展開は、過去に作成した更新学習モデルを管理し、他モデルへの適用を行うフェーズである。
【0042】
次に、
図7を用いて学習フェーズにおける制御部30の処理フローの例を説明する。
図7は、本実施形態における更新学習モデルの学習の処理フローを示すフローチャートである。
【0043】
まず、モデル更新・展開システム1に入力された対象とするモデルとそのデータに対して、入力データ処理部31が処理を行う(ステップS1)。ここで、入力データ処理部31は、更新学習モデルの更新用の教師データとして、更新前のモデル(更新前モデル)と更新前モデルを構築時に使用したデータ(更新前モデル構築データ)、更新前モデルを運用し実際に得らえたデータ(更新後モデルデータ)ならびに更新後モデルデータを用いて更新したモデル(更新後モデル)の入力を受け付ける。
【0044】
ここで、入力数として、更新前モデル、更新前モデル構築データ、更新後モデル、更新後モデル構築データは複数入力することが可能である。複数のモデルのことを以下モデル群とよび、また複数のデータのことをデータ群と呼ぶこととする。なお、本ステップでのデータの処理とは、データの前処理、欠損値の処理・補完、外れ値の処理等の統計的データ処理や、エラーチェック等の種々の処理のことを指す。
【0045】
次に、エッジ処理部32が、更新前モデル群と更新後モデル群からグラフ情報であるエッジ情報を取得する(ステップS2)。次に、特徴量データ作成部33が、更新前モデル構築データと更新後モデル構築データを用いて特徴量データを作成する(ステップS3)。ここで、特徴量データとは、更新前モデルと更新後モデルの関連性に関する特徴を示すものである。この例として、更新前モデルと更新後モデルの差分や更新前モデル構築データと更新後モデル構築データの差分を用いることができる。
【0046】
次に、更新学習モデル構築部34が、更新学習モデルの学習を行う(ステップS4)。このために、更新学習モデル構築部34は、グラフニューラルネットワークをベースとする。そして、更新学習モデル構築部34は、ステップS2にて処理した更新前モデル群のエッジ情報を入力とし、ステップS3で作成した特徴量データを用い、教師データとしてステップS2にて処理した更新後のモデル群のエッジ情報とするモデルの学習を行う。ここで、学習されるモデルを更新学習モデルと呼ぶこととする。ステップS4については、
図8を用いて、詳細なフローを説明する。
【0047】
最後に、モデル表示処理部35が、学習が終了した更新学習モデルを画面上に出力する(ステップS5)。なお、更新学習モデルについては、表示部20の更新学習モデル表示部24で出力してもよい。
【0048】
次に、
図8を用いて、ステップS4の詳細フローを説明する。
図8は、本実施形態におけるステップS4(更新学習モデルの学習)の詳細処理フローを示すローチャートである。
まず、更新学習モデル構築部34は、グラフニューラルネットワーク由来のモデルを更新学習モデルとして定義する(ステップS6)。ここでは、Graph Convolutional Neural Network(GCN)を例として取り上げる。
【0049】
次に、更新学習モデル構築部34は、更新学習モデルに対し、ステップS3で作成した更新前モデル構築データと、更新後モデル構築データから作成した特徴量データと、更新前モデル群を入力として受け付ける(ステップS7)。この入力とは、機械学習分野における説明変数という意味である。
【0050】
次に、更新学習モデル構築部34は、ステップS7で入力した特徴量と更新前モデル群に対応する更新後モデル群を教師データとし、更新前モデル群と更新後モデル群ならびに特徴量のペアを、それぞれ訓練用データ群と検証用データ群に分ける(ステップS8)。
【0051】
次に、更新学習モデル構築部34は、訓練用データ群から更新前モデル、更新後モデル、特徴量データを取得する(ステップS9)。ここでの取得方法は、ランダムでも昇順でも降順でもユーザが指定する取得方法でも構わず任意とし、その取得個数についても限定されない。
【0052】
次に、更新学習モデル構築部34は、取得した更新前モデルとそれに対応する特徴量データを更新学習モデルに入力し、更新学習モデルから特徴量を作成する。そして、更新学習モデル構築部34は、その特徴量から対象とする教師データである更新後モデルの各ノード間のエッジ出現確率を推定する(ステップS10)。
【0053】
次に、更新学習モデル構築部34は、推定されたエッジの出現確率に応じて、エッジの存在を判定することで、2値情報を推定する。このために、更新学習モデル構築部34は、エッジの値から事前に更新学習モデルパラメータ表示部25にて設定した閾値と比較する。閾値を超えた場合、更新学習モデル構築部34は、エッジが存在すると判断し、エッジ情報として対象ノード間のエッジ情報(2値情報)を1とする。閾値を超えなかった場合、更新学習モデル構築部34は、エッジが存在しないと判断し、対象ノード間のエッジ情報(2値情報)を0とする。
【0054】
これらエッジ情報を推定エッジ情報と呼ぶこととする。なお、閾値については更新学習モデルパラメータ表示部25にて設定することも、更新学習モデル構築部34にて自動で適切な閾値を設定することも可能とし、閾値設定方法についてはこれら二つの方法の限りではない。
【0055】
次に、更新学習モデル構築部34は、ステップS11にて計算した推定エッジ情報と、ステップS2にて更新後モデルから処理したエッジ情報を比較する。そして、更新学習モデル構築部34は、その差分を示す差分情報を更新学習モデルへフィードバックする(ステップS12)。ここで、更新学習モデルへのフィードバック方法には、推定エッジ情報とエッジ情報の差分情報を、例えば交差エンタルピーを用いて損失値を計算し、その値を更新学習モデルへ誤差逆伝搬法にてフィードバックする方法をとることができる。但し、この方法は、一例であり、この方法に限定されない。
【0056】
次に、更新学習モデル構築部34は、ステップS9で抽出された訓練用データ群のそれぞれに対して、ステップS8~S10の操作を繰り返し行う。このことで、更新学習モデル構築部34は、設定したモデルの推定誤差関数の値が、所定条件を満たすように小さくなるまで行う(ステップS13)。この学習回数については、事前に更新学習モデルパラメータ表示部25にて設定することも、更新学習モデル構築部34にて自動で設置することも可能とし、また、これら二つの方法の限りではない。また、所定条件を満たすとは、推定誤差関数の値が閾値以下であることや、ステップS8~S11の繰り返し回数が一定回数以上であることが含まれる。
【0057】
次に、更新学習モデル構築部34は、ステップS9で抽出された検証用データのそれぞれに対し、ステップS6~S13で学習した更新学習モデルを用いて、ステップS8~S10の操作を繰り返す。このことで、更新学習モデル構築部34は、推定結果に対する予測精度を出力する(ステップS14)。
【0058】
ここで、推定した結果の表示は、更新学習モデル選択部23ならびに更新学習モデル表示部24としてもよい。なお、更新学習モデル構築部34は、推定結果に対する予測精度は更新学習モデル記憶部42に保存するものとする。また、更新学習モデル構築部34は、学習が完了した更新学習モデルに関するパラメータ等の情報を、更新学習モデルパラメータ記憶部45に保存するものとする。さらに、更新学習モデル構築部34は、更新学習モデルに使用した更新前モデル群、更新後モデル群、作成した特徴量、学習条件を、更新学習モデル記憶部42に保存するものとする。以上で、
図8の説明を終了する。
【0059】
次に、
図9は、推論フェーズにおける更新学習モデル推論部36の処理フローの例を示すフローチャートである。
【0060】
まず、更新学習モデル推論部36は、モデル更新・展開システム1に入力された対象とするモデル(更新対象モデル)、更新対象モデルを構築した際に使用したデータ(更新対象モデル構築データ)とそのモデルを運用した際に取得したデータ(運用時取得データ)の処理を行う(ステップS15)。なお、ここでのデータの処理とは、学習フェーズのステップS1と同様にデータの前処理、欠損値の処理・補完、外れ値の処理等の統計的データ処理や、エラーチェック等の種々の処理のことを指す。
【0061】
次に、更新学習モデル推論部36は、入力されたモデルのエッジ情報を取得する(ステップS16)。なお、本ステップでは、ステップS2と同様の処理を行う。
【0062】
次に、更新学習モデル推論部36は、更新対象モデル構築データと運用の際の取得データを用いて、特徴量データを作成する(ステップS17)。この特徴量の作成は、学習フェーズのステップS3と同様の方法で実現できる。
【0063】
次に、更新学習モデル推論部36は、学習フェーズにて得らえた更新学習モデルを用いて、更新後のモデルを推定する(ステップS18)。推定方法として、ステップS16で得られた入力を、更新対象モデルのエッジ情報および特徴量データとする。そして、更新学習モデル推論部36は、学習フェーズのステップS10ならびにS11と同様の処理を行い、更新後モデルのエッジ情報を推定する。
【0064】
次に、更新学習モデル推論部36は、推定したエッジ情報を保有するモデルを更新後モデルとし、モデルを出力する(ステップS19)。この際、更新学習モデル表示部24を用いて、表示部20に表示することが望ましい。
【0065】
次に、
図10は、展開フェーズにおける制御部30の処理フローの例を示すフローチャートである。本フローチャートは、更新学習モデル展開部37で実行される。
【0066】
まず、更新学習モデル展開部37は、更新対象とするモデルを入力し、そのデータ項目数を確認する(ステップS20)。つまり、データ項目数が計測される。
【0067】
次に、更新学習モデル展開部37は、確認されたデータ項目数と、更新学習モデルの数を比較する(ステップS21)。この結果、同数の場合、ステップS22に遷移する。同数でない場合、ステップS23に遷移する。
【0068】
次に、同数の場合、更新学習モデル展開部37は、選択した更新学習モデルを使用すると、決定する(ステップS22)。
【0069】
また、同数でない場合、更新学習モデル展開部37は、選択した更新学習モデルの中間層のパラメータのみを使用することとする。そして、更新学習モデル展開部37は、選択した更新学習モデルの入力層ならびに出力層と中間層の間のパラメータを更新対象となるモデルと同数のデータ項目数の教師データにてファインチューニングする。更新学習モデル展開部37は、この結果を、新たな更新学習モデルとし、記憶部40に保存する(S22)。
【0070】
次に、更新学習モデル展開部37は、推論フェーズへと移行する(ステップS24)。この結果、推論フェーズでは、ステップS21で決定された更新学習モデル、もしくはステップS22で保存した更新学習モデルを用いて、更新対象のモデルを更新することができる。
(4)記憶部40
次に、記憶部40について説明する。記憶部40は、モデル記憶部41と、更新学習モデル記憶部42と、入力データ記憶部43と、パラメータ記憶部44と、更新学習モデルパラメータ記憶部45から主に構成される。なお、これらは、記憶される情報により便宜上分けたものであり、構成としては1つの筐体で実現するなど、その数は問わない。次に、記憶部40に記憶される各種情報について説明する。
【0071】
まず、モデル記憶部41に記憶された内容を説明する。
図11は、本実施形態におけるモデルのネットワーク構造でのデータの構成例を示す図である。具体的には、本データは、教師データである更新前モデルと更新後モデルならびに更新学習モデルにて推定したモデルである。ここで、本実施形態では、更新前モデル、更新後モデルならびに更新学習モデルにて推定したモデルをベイジアンネットワークと仮定し、そのフォーマットを
図11に示す。なお、仮定したモデルはベイジアンネットワークモデルであるが、その限りではない。
【0072】
図11に示すデータは、モデルを識別するラベル情報(11-1)とネットワークで表現されたモデル情報(11-2)を含む。ここで、本図では、ネットワーク構造での表現形式を用い、各データ項目について、ノード(11-3)を丸印で、ノード間のエッジ情報(11-4)を矢印で示す。
図11において、一行目の温度1に対し、温度2にエッジが接続している場合、ネットワーク構造では、温度1のノードを始点とし、温度2のノードを終点としたエッジを温度1のノードと温度2のノード間に記載する。
【0073】
次に、
図12は、本実施形態における更新学習モデルの構造形式によるデータの構成例を示す図である。つまり、
図12では、更新学習モデル記憶部42に記憶されている更新学習モデル示す。本実施形態では、更新学習モデルをグラフニューラルネットワークと仮定し、そのフォーマットを
図12に示している。
【0074】
図12では、更新学習モデルを識別するラベル(12-1)とモデルを、構造形式にて表現した図である構造形式(12-2)で記載している。この構造形式では、表形式で記載した更新学習モデルをグラフ形式にて表現する。ここで、本図では、グラフニューラルネットワークで表現されるモデルの入力層ならびに出力層に存在するノード(入力層12-3、出力層12-4)をそれぞれ黒丸で表現し、中間層のノードを(12-6)それぞれ白丸にて表現する。ここで、層番号は中間層の番号(12-6)を表し、層内ノードは各層番号の白丸で表現されるノードの数を表す。また、層番号ごとの重み番号(12-7)は、入力層のノードと中間層のノード間、中間層間のノード間、ならびに中間層のノードと出力層のノード間のエッジとし、それぞれに重みが存在することになる。
【0075】
次に、
図13は、本実施形態における更新前モデル構築の際のデータ、更新後モデル構築の際のデータまたは運用の際に取得したデータの構成例を示す図である。つまり、
図13では、入力データ記憶部43に記憶されている教師データである更新前モデル構築データ、更新後モデル構築データ、ならびに運用時取得データを表現している。
【0076】
図13では、データを識別するラベル情報(13-1)ならびに表形式で記載されたデータ情報(13-2)を記載している。表形式でのデータ情報(13-2)では、1行目は各データ項目のヘッダ情報である。そして、その1列目は取得時刻(13-3)、2列目以降はデータ項目(13-4)である。なお、ヘッダの情報ならびに並びは、
図13に示す例に限定されない。また、2行目以降は、各ヘッダで記載されている項目についての情報(13-5)を記載する。また、本実施形態では、取得時刻毎の各データ項目を記載しているが、例えば製品ID毎の各データ項目の情報等といった異なる粒度で記載されたデータであってもよい。
【0077】
次に、
図14は、本実施形態におけるモデルのパラメータであるエッジ情報のデータ構成例を示す図である。つまり、
図14では、パラメータ記憶部44に記憶されているエッジ情報を示している。ここで、本実施形態では、更新前モデル、更新後モデルならびに更新学習モデルにて推定したモデルをベイジアンネットワークと仮定し、そのパラメータの一例であるエッジ情報を規定したフォーマットを
図14に示している。
【0078】
この
図14では、モデルを、表形式にて表現している。この表形式では、モデルを識別するラベル(14-1)とモデルのエッジ情報を含む表(14-2)として記載されている。この表(14-2)で示すデータ情報では、一行目は対象とするモデルを構成するデータ項目(14-3)であり、一列目も同様に対象とするモデルを構成するデータ項目(14-4)ある。
【0079】
この一行目ならびに一列目で記載されているデータ項目間のエッジ情報(14-5)を二行目ならびに二列目以降に記載する。ここで、一列目のデータ項目に対し、一行目のデータ項目をそれぞれ親ノードと呼ぶこととする。エッジ情報の記述手段としてエッジが接続されている場合、1を記載し、エッジが非接続の場合、0を記載する。
【0080】
次に、
図15は、本実施形態における更新学習モデルのパラメータ情報のデータ構成例を示す図である。つまり、
図15では、更新学習モデルパラメータ記憶部45に記憶されている更新学習モデルのパラメータを示す図である。ここで、本実施形態では、更新学習モデルをグラフニューラルネットワークと仮定し、そのフォーマットを
図15に記載している。
【0081】
この
図15では、これらモデルを表形式にて表現した図を記載している。この表形式では、更新学習モデルを識別するラベル(15-1)とグラフニューラル(15-2)が記載している。グラフニューラル(15-2)は、グラフニューラルネットワーク上の層番号と層内のノード数を表す表(15-3)と、層番号とそれらの重みを識別する番号ならびに重みを保有する表(15-4)で構成される。
【0082】
また、表(15-3)では、1行目にそれぞれグラフニューラルネットワーク内の層を識別する層番号(15-5)、各層番号で使用されている層内ノード数(15-6)のヘッダとし、2行目以降は層番号ならびに層内ノード数の値(15-10)を含む。表(15-4)では、1行目に層番号(15-7)、層内にある重みを識別する重み番号(15-8)、重み(15-9)のヘッダとし、2行目以降は層番号、重み番号ならびに重みの値(15-11)を記載する。
(5)実装例
次に、本実施形態における実装例について、説明する。
図16は、本実施形態における実装例を示す図である。本実装例は、モデル更新・展開システム1をクラウド(サーバ)として実現する例である。本実装例では、モデル更新・展開システム1が、ネットワーク70を介して、業務システムA、業務システムBや携帯端末101、端末装置102と接続されている。以下、これら各装置について説明する。
【0083】
まず、モデル更新・展開システム1は、コンピュータの一種であるサーバで実現できる。そして、モデル更新・展開システム1は、処理装置301、通信部12、入出力部11、メモリ302、記憶部40を有し、互いにバスのような通信路を介して接続されている。
【0084】
ここで、処理装置は、CPUのようなプロセッサで実現でき、後述の各プログラムに従って処理を実行する。この処理は、上述の制御部30の処理である。
【0085】
また、通信部12、入出力部11は、
図1に示したものと同じである。そして、通信部12は、インターネットのようなネットワーク70と接続する。また、入出力部11は、ユーザが利用するユーザ端末100-1、100-2と接続する。このユーザ端末100-1、100-2は、スマートフォン、タブレット、PCなどのコンピュータで実現できる。なお、ユーザ端末100-1、100-2は、ネットワーク70もしくは独自のネットワークを介して、モデル更新・展開システム1と接続してもよい。
【0086】
また、メモリ302には、記憶部40などの記憶媒体に記憶される各種プログラムや処理に用いられる情報が展開される。このプログラムには、入力データ処理プログラム311、エッジ処理プログラム321、特徴量データ作成プログラム331、更新学習モデル構築プログラム341、モデル表示処理プログラム351、更新学習モデル推論プログラム361、更新学習モデル展開プログラム371が含まれる。これらは、それぞれ入力データ処理部31、エッジ処理部32、特徴量データ作成部33、更新学習モデル構築部34、モデル表示処理部35、更新学習モデル推論部36、更新学習モデル展開部37と同じ処理を実行するためのプログラムである。つまり、処理装置301とメモリ302により、制御部30の処理を実行する。なお、本実装例では、プログラムというソフトウエアに基づいて各種処理を実現するが、専用ハードウエアやFPGA(field-programmable gate array)で
図1に示す各部の処理を実行してもよい。
【0087】
次に、記憶部40は、
図1に示すものであり、上述の各種情報やプログラムを記憶する。なお、記憶部40は、モデル更新・展開システム1とは別筐体で実装してもよい。
【0088】
次に、業務システムAや業務システムBは、本実施形態で構築された更新学習モデルやモデルそのものを利用して、各種業務を支援するシステムである。本実施形態では、業務システムAでの業務に関するモデルを、別業務である業務システムBに展開(利用)できるようにしている。例えば、業務システムAの「発電施設の保守」のモデルを、業務システムBの「ソフトウエアの管理業務」に展開することが挙げられる。
【0089】
ここで、業務システムAは、記憶装置511や処理装置512を含むサーバ51と、端末装置52を含む。また、業務システムBは、記憶装置611や処理装置612を含むサーバ61と、端末装置62を含む。つまり、これらは、いわゆるコンピュータシステムで実現できる。
【0090】
また、携帯端末101、端末装置102は、上述の各種業務のために利用される。例えば、携帯端末101、端末装置102は、展開されたモデルを利用した各種処理結果を受け付け、これを表示する。
【0091】
以上、本発明の実施形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。特に、モデルの更新を、モデル更新・展開システム1以外の装置で実行してもよい。
【符号の説明】
【0092】
1・・・モデル更新・展開システム
11・・・入出力部
12・・・通信部
20・・・表示部
21・・・モデル表示部
22・・・パラメータ表示部
23・・・更新学習モデル選択部
24・・・更新学習モデル表示部
25・・・更新学習モデルパラメータ表示部
30・・・制御部
31・・・入力データ処理部
32・・・エッジ処理部
33・・・特徴量データ作成部
34・・・更新学習モデル構築部
35・・・モデル表示処理部
36・・・更新学習モデル推論部
37・・・更新学習モデル展開部
40・・・記憶部
41・・・モデル記憶部
42・・・更新学習モデル記憶部
43・・・入力データ記憶部
44・・・パラメータ記憶部
45・・・更新学習モデルパラメータ記憶部