IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社東芝の特許一覧 ▶ 東芝電機サービス株式会社の特許一覧

特許7152938機械学習モデル構築装置および機械学習モデル構築方法
<>
  • 特許-機械学習モデル構築装置および機械学習モデル構築方法 図1
  • 特許-機械学習モデル構築装置および機械学習モデル構築方法 図2
  • 特許-機械学習モデル構築装置および機械学習モデル構築方法 図3
  • 特許-機械学習モデル構築装置および機械学習モデル構築方法 図4
  • 特許-機械学習モデル構築装置および機械学習モデル構築方法 図5
  • 特許-機械学習モデル構築装置および機械学習モデル構築方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-04
(45)【発行日】2022-10-13
(54)【発明の名称】機械学習モデル構築装置および機械学習モデル構築方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20221005BHJP
【FI】
G06N20/00 130
【請求項の数】 12
(21)【出願番号】P 2018218464
(22)【出願日】2018-11-21
(65)【公開番号】P2020086778
(43)【公開日】2020-06-04
【審査請求日】2021-10-06
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】100091982
【弁理士】
【氏名又は名称】永井 浩之
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100082991
【氏名又は名称】佐藤 泰和
(74)【代理人】
【識別番号】100105153
【弁理士】
【氏名又は名称】朝倉 悟
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【弁理士】
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100103263
【弁理士】
【氏名又は名称】川崎 康
(72)【発明者】
【氏名】高野 俊也
(72)【発明者】
【氏名】服部 陽平
【審査官】北川 純次
(56)【参考文献】
【文献】特開2012-203634(JP,A)
【文献】特開2004-86896(JP,A)
【文献】米国特許出願公開第2018/0285772(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/02-3/10
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
第1入力データと第1出力データとの対応関係に基づいて、機械学習モデルを生成する学習部と、
前記機械学習モデルの生成に用いられていない第2入力データを前記機械学習モデルに入力することにより、対応する出力データを推定する推定部と、
前記第1出力データの前記第1入力データによる影響度を算出する影響度算出部と、
前記影響度、前記第1入力データの分布情報および前記第2入力データの分布情報に基づいて、前記機械学習モデルを更新するか否かを判定する学習モデル更新判定部とを備える機械学習モデル構築装置。
【請求項2】
前記機械学習モデルは、前記第1入力データを変数とする所定の関数式で前記第1出力データを求めるものであり、
前記影響度算出部は、前記関数式を前記第1入力データで微分した値により前記影響度を算出する、請求項1に記載の機械学習モデル構築装置。
【請求項3】
前記影響度と、前記第1入力データの分布情報と、前記第2入力データの分布情報とに基づいて、前記機械学習モデルを更新するか否かを判定する指標となる指標値を算出する指標値算出部をさらに備え、
前記学習モデル更新判定部は、前記指標値と所定の閾値との大小関係により、前記機械学習モデルを更新するか否かを判定する、請求項1または2に記載の機械学習モデル構築装置。
【請求項4】
前記第1入力データの分布の平均値および分散を分布情報として算出する第1入力データ分布生成部と、
前記第2入力データの分布の平均値および分散を分布情報として算出する第2入力データ分布生成部と、を備え、
前記指標値算出部は、前記第1入力データ分布生成部で算出された前記第1入力データの分布の平均値および分散と、前記第2入力データ分布生成部で算出された前記第2入力データの分布の平均値および分散と、に基づいて、前記指標値を算出する、請求項3に記載の機械学習モデル構築装置。
【請求項5】
前記第1入力データ分布生成部は、前記第1入力データの取り得る範囲を複数の区間に分割し、区間毎に前記第1入力データを分類した頻度分布に基づいて、前記第1入力データの平均値および分散を算出し、
前記第2入力データ分布生成部は、前記第2入力データの取り得る範囲を複数の区間に分割し、区間毎に前記第2入力データを分類した頻度分布に基づいて、前記第2入力データの平均値および分散を算出する、請求項4に記載の機械学習モデル構築装置。
【請求項6】
前記指標値算出部は、前記第1入力データ分布生成部で算出された前記第1入力データの分布の平均値と前記第2入力データ分布生成部で算出された前記第2入力データの分布の平均値との差分を重み付けた値と、前記第1入力データ分布生成部で算出された前記第1入力データの分布の分散と前記第2入力データ分布生成部で算出された前記第2入力データの分布の分散との差分を重み付けた値と、に基づいて、前記指標値を算出する、請求項4または5に記載の機械学習モデル構築装置。
【請求項7】
前記指標値算出部は、前記第1入力データの分布範囲に包含されていない前記第2入力データの分布範囲の平均値および分散に基づいて、前記指標値を算出する、請求項4から請求項6のいずれか一項に記載の機械学習モデル構築装置。
【請求項8】
前記第1入力データの取り得る範囲を複数の区間に分割し、区間毎に前記第1入力データを分類した頻度分布を分布情報として求める第1入力データ分布生成部と、
前記第2入力データの取り得る範囲を複数の区間に分割し、区間毎に前記第2入力データを分類した頻度分布を分布情報として求める第2入力データ分布生成部と、を備え、
前記指標値算出部は、前記第1入力データの頻度分布および前記第2入力データの頻度分布に基づいてカルバック・ライブラーダイバージェンスを算出し、前記カルバック・ライブラーダイバージェンスを前記影響度により重み付けして、前記指標値を算出する、請求項3に記載の機械学習モデル構築装置。
【請求項9】
前記学習部は、前記学習モデル更新判定部が前記機械学習モデルを更新すると判定した場合、前記機械学習モデルを生成するのに用いた前記第1入力データと前記第1出力データとの対応関係に加えて、前記第2入力データと第2出力データとの対応関係に基づいて、前記機械学習モデルを再生成する、請求項1から請求項8のいずれか一項に記載の機械学習モデル構築装置。
【請求項10】
前記影響度算出部は、前記第1出力データの前記第1入力データによる影響度と、前記第2出力データの前記第2入力データによる影響度とを算出し、
前記学習部は、前記影響度が所定値以下になる前記第1入力データと、前記第2入力データと、を前記機械学習モデルの再生成の対象から除外する、請求項9に記載の機械学習モデル構築装置。
【請求項11】
前記影響度、前記第1入力データの分布情報および前記第2入力データの分布情報を表示部に表示する制御を行う表示制御部をさらに備える、請求項1から請求項10のいずれか一項に記載の機械学習モデル構築装置。
【請求項12】
第1入力データと第1出力データの対応関係に基づいて、機械学習モデルを生成する学習部と、前記機械学習モデルの生成に用いられていない第2入力データを前記機械学習モデルに入力することにより、対応する出力データを推定する推定部と、前記第1出力データの前記第1入力データによる影響度を算出する影響度算出部と、前記機械学習モデルを更新するか否かを判定する学習モデル更新判定部とを備えた機械学習モデル構築装置における機械学習モデル構築方法であって、
前記学習モデル更新判定部は、前記影響度、前記第1入力データの分布情報および前記第2入力データの分布情報に基づいて、前記機械学習モデルを更新するか否かを判定することを具備する機械学習モデル構築方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明による実施形態は、機械学習モデル構築装置および機械学習モデル構築方法に関する。
【背景技術】
【0002】
近年、推定モデルの構築方法として機械学習が注目されている。特に、機械学習の1つであり、脳神経系の仕組みを模したニューラルネットワークは、非線形のモデル化が可能であり、入力データと入力データに対応する出力データの対応関係を正確に学習できるため、推定精度の高いモデル化が期待できる。
【0003】
推定精度は学習時に使用したデータに依存しており、環境や状態の変化により学習時には存在しなかった新たな入出力関係が発生した場合などに、推定精度が悪化するおそれがある。
【0004】
このような場合、新たな入出力関係を学習し、学習モデルを更新することが考えられる。しかし、学習モデルによって推定された推定値と実測値との差が大きくなったとしても、その現象が一時的なものであれば、学習モデルの精度が劣化したとは言えないことから、学習モデルを更新しない方がよい場合もある。
【0005】
一方、学習モデルの精度を適切に推定できる精度推定システムが考案されている。この精度推定システムは、時間経過とともに環境の変化などの要因で所定時間後の将来の値の推定精度が劣化することに対して、学習モデルの精度を推定する仕組みを提供している(特許文献1を参照)。
【先行技術文献】
【特許文献】
【0006】
【文献】国際公開第2016/152053号
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1の精度推定システムは、学習モデルによる推定時点よりも後の将来に得られる実測値から学習モデルの精度を推定することを念頭に置いている。従って、学習モデルによる推定時点での学習モデルの精度を推定できず、学習モデルによる推定精度をリアルタイムに評価できない。
【0008】
本発明の実施形態は、学習モデルの運用中に学習モデルの精度を評価することができる機械学習モデル構築装置および機械学習モデル構築方法を提供するものである。
【課題を解決するための手段】
【0009】
本実施形態による機械学習モデル構築装置は、第1入力データと第1出力データとの対応関係に基づいて、機械学習モデルを生成する学習部と、機械学習モデルの生成に用いられていない第2入力データを機械学習モデルに入力することにより、対応する出力データを推定する推定部と、第1出力データの第1入力データによる影響度を算出する影響度算出部と、影響度、第1入力データの分布情報および第2入力データの分布情報に基づいて、機械学習モデルを更新するか否かを判定する学習モデル更新判定部とを備える。
【図面の簡単な説明】
【0010】
図1】一実施形態による機械学習モデル構築装置の構成の一例を示すブロック図。
図2】一実施形態による影響度算出部の影響度算出の一例を示す図。
図3】学習データの取り得る範囲の複数の区間の一例を示す図。
図4】学習データの分布を生成する処理の一例を示す図。
図5】一実施形態による機械学習モデル構築装置の処理動作を示すフロー図。
図6】一実施形態による表示部の表示例を示す図。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【0012】
図面は模式的または概念的なものであり、各部分の比率などは、必ずしも現実のものと同一とは限らない。明細書と図面において、既出の図面に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
【0013】
図1は、一実施形態による機械学習モデル構築装置1の構成の一例を示すブロック図である。図1の機械学習モデル構築装置1は、データ収集部20およびデータ記憶部30を介して機器10と接続されている。図1の機械学習モデル構築装置1は、機器10からの入力データと出力データを用いて、機械学習モデルを構築するものである。尚、本明細書では、機械学習モデルを単に学習モデルと表記する場合がある。
【0014】
機器10は、入力データおよび出力データを生成する設備または機器の集合体である。入力データと出力データは、学習モデルによる推定に用いられる。機器10は、例えば、鉄道、電力系統、水道設備などの信頼性や安全性が要求されるものが一例として挙げられるが、具体的な装置の種類は問わない。
【0015】
データ収集部20は、機器10の設備または機器への入力データ、およびその出力結果である出力データを、予め設定された時間間隔毎、あるいは不定期に収集し、データ記憶部30に記憶させる。
【0016】
データ記憶部30は、予め設定された時間間隔毎、あるいは不定期に、入力データおよび出力データを対応付けて記憶する。また、データ記憶部30は、後述する機械学習で使用する入力データ(以下、学習データと称する。)および学習データに対応する出力データ(以下、教師データと称する)を対応付けて記憶している。
【0017】
機械学習モデル構築装置1は、データ記憶部30に記憶されたデータを用いて、学習データと教師データとの関連性を機械学習により学習し、学習モデルを生成する。この学習モデルに従って目的とする項目を推定する。推定項目は、例えば、機器10の設備または機器が所定時間後に出力する予測値や、機器の稼働状態が定常状態かどうかの推定が挙げられる。機械学習モデル構築装置1は、単一のコンピュータまたはネットワーク接続された複数のコンピュータおよび表示装置で構成可能である。この場合、機械学習モデル構築装置1は、機械学習モデルの構築に用いられるプログラムおよびデータベースをHDD(Hard Disk Drive)やSSD(Solid State Drive)等に記憶しており、RAM(Random Access Memory)に適宜展開し、コンピュータのCPU(Central Processing Unit)やGPU(Graphics Processing Unit)(以下、CPUと略記する)などで、上記のプログラムを実行して、後述する学習モデルの生成や学習モデル更新判定の情報の生成などの必要な演算を行ってもよい。あるいは、機械学習モデル構築装置1は、専用のハードウェア機器で構成されていてもよい。
【0018】
本実施形態による機械学習モデル構築装置1は、学習部52と、推定部102と、影響度算出部53と、学習モデル更新判定部80とを備えている。
【0019】
学習部52は、第1入力データ(学習データ)と第1出力データ(教師データ)との対応関係に基づいて、機械学習モデルを生成する。学習データと教師データは、例えばデータ記憶部30から読み出されるデータであり、元々は機器10から提供されたデータである。
【0020】
推定部102は、機械学習モデルの生成に用いられていない第2入力データ(推定用データ)を、学習部52にて生成された機械学習モデルに入力することにより、対応する出力データを推定する。推定用データも、例えばデータ記憶部30から読み出されるデータであり、元々は機器10から提供されたデータである。
【0021】
影響度算出部53は、教師データの学習データによる影響度を算出する。影響度については後述するが、学習データの変化が教師データの変化にどの程度の影響を与えるかを示す指標である。
【0022】
学習モデル更新判定部80は、影響度算出部53で算出された影響度、学習データの分布情報、および推定用データの分布情報に基づいて、機械学習モデルを更新するか否かを判定する。
【0023】
この他、本実施形態による機械学習モデル構築装置1は、学習用データ入力部40と、学習用データ前処理部51と、学習データ分布生成部54とを備えていてもよい。
【0024】
学習用データ入力部40は、データ記憶部30から学習データと学習データに対応する教師データとを取得して、両データを対応づけて記憶する。学習データおよび教師データの次元数は1次元以上であり、学習に使用するデータのレコード数は、取得済みのレコード数や推定項目によって任意に設定してもよい。
【0025】
以下では、学習用データ前処理部51、学習部52、影響度算出部53および学習データ分布生成部54を総称して学習装置50と呼ぶ。学習装置50は、学習用データ入力部40から取得した学習データおよび教師データの対応関係に基づいて、機械学習により学習モデルを生成する。機械学習には、ニューラルネットワーク、強化学習、決定木、ランダムフォーレストなど様々な方式を用いることができる。
【0026】
学習用データ前処理部51は、学習データまたは教師データに欠損などの異常が含まれているか否かを検査する。学習用データ前処理部51は、異常を検出した場合、異常が検出された学習データまたは教師データのレコードを学習対象から除外し、または、前値保持や線形補間などの処理を行う。また、学習用データ前処理部51は、学習モデルを効率的に生成するため、学習データと教師データとを、例えば、平均値0、分散1に規格化するなどの処理を行っても良い。
【0027】
学習部52は、学習用データ前処理部51から得た前処理済み学習データおよび前処理済み教師データに基づいて、機械学習により学習モデルを生成してもよい。機械学習では、学習モデルの出力(以降、推定値とも称する)と教師データとの誤差が最小となるように、学習モデルを生成するための各種パラメータが調整される。学習部52は、学習モデルによる推定値と教師データとの平均誤差や2乗誤差等が予め設定した基準値以下となった場合や、学習の繰り返し数が所定回数に達した場合、学習を終了してもよい。学習部52は、生成した学習モデルを学習モデル格納部70に出力してもよい。また、学習部52は、学習モデルと学習データと教師データとを影響度算出部53に出力する。また、学習部52は、学習データと教師データとを学習データ分布生成部54に出力してもよい。
【0028】
学習部52は、学習モデル更新判定部80が機械学習モデルを更新すると判定した場合、機械学習モデルを生成するのに用いた学習データと教師データとの対応関係に加えて、推定用データと再学習教師データ(第2出力データ)との対応関係に基づいて、機械学習モデルを再生成してもよい。推定用データとは、学習モデルによる推定に必要となる入力データである。再学習教師データとは、学習モデルの再生成において、入力データとして用いられる推定用データに対応する出力データである。また、学習部52は、影響度が所定値以下になる学習データと、推定用データと、を機械学習モデルの再生成の対象から除外してよい。尚、学習モデルの再生成の詳細については、後で説明する。
【0029】
本実施形態における機械学習モデルは、学習データを変数とする所定の関数式で教師データを求めるものである。影響度算出部53は、関数式を学習データで微分した値により影響度を算出してもよい。関数式は、機械学習のアルゴリズムを数式化したものである。尚、学習データおよび教師データが多次元の要素からなる場合、それぞれの要素について影響度が算出される。
【0030】
影響度算出部53は、教師データの学習データによる影響度と、再学習教師データの推定用データによる影響度とを算出してもよい。すなわち、学習モデルの再生成において、影響度算出部53は、推定用データも含めた学習データを用いて、影響度を算出してもよい。尚、影響度の算出の詳細については、図2を参照して、後で説明する。
【0031】
学習データ分布生成部(第1入力データ分布生成部)54は、学習データの分布の平均値および分散を分布情報として算出する。より詳細には、学習データ分布生成部54は、学習データの取り得る範囲を複数の区間に分割し、区間毎に学習データを分類した頻度分布に基づいて、学習データの平均値および分散を算出する。学習データ分布生成部54は、例えば、学習データの取り得る範囲を有限個に分割し、それぞれの範囲に収まる学習データの発生頻度数を記憶してもよい。尚、データの分布の生成の詳細については、図3および図4を参照して、後で説明する。
【0032】
推定用データ入力部90は、データ記憶部30から予め設定した時間間隔、または不定期に推定用データを取得し、記憶する。推定用データ入力部90は、記憶した推定用データを推定装置100に出力する。
【0033】
以下では、推定用データ前処理部101、推定部102および推定データ分布生成部103を総称して推定装置100と呼ぶ。推定装置100は、推定用データと推定モデル(学習モデル)とを用いて出力結果を推定する。すなわち、推定装置100は、推定に使用する学習モデルを学習モデル格納部70から取得する。推定装置100は、学習モデルに推定用データを入力し、推定用データに対応する出力値である推定値を出力する。
【0034】
推定用データ前処理部101は、推定用データについて欠損などの異常の有無を検査する。推定用データ前処理部101は、異常を検出した場合、推定部102が推定した推定値で置き換えるなどの処理により、異常が検出された推定用データを用いて推定値を求めるのを回避する。また、学習用データ前処理部51にて規格化などの前処理を行った場合は、同様の前処理を推定用データ前処理部101にて行ってもよい。例えば、学習時に平均値0、分散1の規格化処理が学習データに行われていた場合、推定用データ前処理部101でも、学習データの平均値0、分散1を用いて推定用データを規格化してもよい。
【0035】
推定部102は、学習モデル格納部70から学習モデルを取得し、推定用データ前処理部101から出力された前処理済みの推定用データを学習モデルに入力して、その推定結果を推定値として機器10およびユーザインタフェース部60に出力してもよい。機器10は、推定値に基づいてあらかじめ設定された処理を行う。また、推定部102は、推定用データを推定データ分布生成部103に出力する。
【0036】
推定データ分布生成部(第2入力データ分布生成部)103は、推定用データの分布の平均値および分散を分布情報として算出する。より詳細には、推定データ分布生成部103は、推定用データの取り得る範囲を複数の区間に分割し、区間毎に推定用データを分類した頻度分布に基づいて、推定用データの平均値および分散を算出する。推定データ分布生成部103は、例えば、推定用データの取り得る範囲を有限個に分割し、それぞれの範囲に収まる推定用データの発生頻度数を記憶してもよい。
【0037】
指標値算出部75は、影響度と、学習データの分布情報と、推定用データの分布情報とに基づいて、機械学習モデルを更新するか否かを判定する指標となる指標値を算出する。分布情報は、例えば、分布の平均値および分散である。従って、指標値算出部75は、学習データ分布生成部54で算出された学習データの分布の平均値および分散と、推定データ分布生成部103で算出された推定用データの分布の平均値および分散と、に基づいて、指標値Uを算出する。指標値Uは、例えば、学習データおよび推定用データのそれぞれのデータ分布の平均値、分散もしくは標準偏差を影響度で重み付けした値である。この場合、指標値算出部75は、学習データ分布生成部54で算出された学習データの分布の平均値と推定データ分布生成部103で算出された推定用データの分布の平均値との差分を重み付けた値と、学習データ分布生成部54で算出された学習データの分布の分散と推定データ分布生成部103で算出された推定用データの分布の分散との差分を重み付けた値と、に基づいて、指標値Uを算出する。
【0038】
また、指標値算出部75は、学習データの分布範囲に包含されていない推定用データの分布範囲の平均値および分散に基づいて、指標値Uを算出してもよい。すなわち、学習データの分布範囲に包含されている推定用データは、指標値Uの算出の対象から除外してもよい。
【0039】
学習モデル更新判定部80は、指標値Uと所定の閾値との大小関係により、機械学習モデルを更新するか否かを判定する。指標値Uは、上述したように、影響度、学習データおよび推定用データを用いて、学習モデルの運用中に算出される。よって、学習モデル更新判定部80は、学習モデルの運用中に学習モデルの更新の判定をすることができる。尚、指標値Uおよび学習モデル更新判定の詳細については、後で説明する。
【0040】
機械学習モデル構築装置1は、ユーザインタフェース部60をさらに備えていてもよい。この場合、表示制御部としてのユーザインタフェース部60は、影響度、学習データの分布情報および推定用データの分布情報を表示部61に表示する制御を行う。ユーザインタフェース部60は、表示部61を有する。表示部61は、推定値、学習データ、推定用データ、教師データに関するあらかじめ設定された内容に基づいた情報を表示する。尚、表示部61が表示する内容の詳細については、図6を参照して、後で説明する。
【0041】
次に、図2(A)および図2(B)を参照して、影響度の算出について説明する。
【0042】
図2(A)および図2(B)は、一実施形態による影響度算出部53の影響度算出の一例を示す図である。
【0043】
図2(A)は、機械学習の一例であるニューラルネットワークを示す図である。ニューラルネットワークにxが入力され、yが出力される。iおよびjは、自然数であり、それぞれ入力および出力のデータの次元数に対応する。ニューラルネットワークの学習モデルでは、入力xの影響を受けて出力yが出力される。影響度算出部53は、学習モデルにおける出力y(教師データ)の入力x(学習データ)による影響度をsijとして、式1により影響度sijを算出する。
【数1】
尚、学習データおよび教師データが複数のデータを有する場合、影響度算出部53は、式1により複数のデータの影響度の平均値を算出し、影響度とすればよい。
【0044】
図2(B)は、入力x、出力yおよび影響度sijの一例を示す表である。iおよびjの範囲は、それぞれ1~4である。影響度算出部53は、図2(B)に示すように、各出力yについて、入力xによる影響度sijを算出する。図2(B)に示す例では、出力yの入力xによる影響度s22の絶対値は、2.45であり、出力yの影響度のうち最も高い。一方、出力yの入力xによる影響度s12の絶対値は、0.04であり、出力yの影響度のうち最も低い。従って、入力xが変化すると出力yは大きく変化する。しかし、入力xが変化しても出力yはほとんど変化しない。
【0045】
次に、図3および図4を参照して、学習データや推定用データの分布を生成する例について説明する。以下では、学習データ分布生成部54が学習データの分布を生成する場合について説明する。しかし、推定データ分布生成部103が推定用データの分布を生成する場合も同様の手順で行われる。
【0046】
図3は、学習データの取り得る範囲の複数の区間の一例を示す図である。学習データ分布生成部54は、図3に示すように、学習データの取り得る範囲を区間に分割し、区間毎に学習データの値の頻度分布を生成する。学習データ(入力x~x)毎に取り得る範囲が異なるため、学習データ分布生成部54は、それぞれ適切に範囲を分割する。図3において、xの範囲は0~129では10刻みに分割されており、0未満および130以上の範囲はそれぞれ一つの区分として表されている。
【0047】
図4は、学習データの分布を生成する処理の一例を示す図である。図4に示すように、学習データxの値が71であった場合、xが該当する区分の範囲は70≦x<80である。従って、70≦x<80の区分の累計数がAであった場合、学習データ分布生成部54は、累計数をA+1に更新する。すなわち、各区間のマス目には、学習データを区分分割した値の累計数が書き込まれる。このように、学習データ分布生成部54は、累積情報の更新を学習データ分繰り返し、学習データの分布を生成する。データの分布は、例えば、ヒストグラムである(図6を参照)。
【0048】
また、学習データ分布生成部54は、学習データの分布に基づいて、例えば、学習データの分布の平均値および分散を、分布の特徴を表す分布情報として算出する。
【0049】
次に、指標値Uおよび学習モデルの更新判定の方法について説明する。
【0050】
指標値算出部75は、影響度と、学習データの分布情報と、推定用データの分布情報と、に基づいて、指標値Uを算出する。例えば、学習データ分布生成部54が算出した学習データxの平均値をA(x)、分散をσ(x)(i=1,2,3,....,N)、推定データ分布生成部103が算出した推定用データx’の平均値をA(x’)、分散をσ(x’)(i=1,2,3,....,N)、影響度算出部53で算出した出力y(j=1,2,3,…,M)の各学習データxによる影響度の平均値をEijとしたとき、指標値算出部75は、式2により指標値Uを算出する。
【数2】
尚、NおよびMは、それぞれ、入力次元数および出力次元数を表す。また、式2の右辺の第1項は、学習データの分散と推定用データの分散との差分を示し、式2の右辺の第2項は、学習データの平均値と推定用データの平均値との差分を示す。αおよびβはそれぞれ各学習データの値の範囲に対する補正項である。これは、学習データや推定用データの値の取り得る範囲や影響度Eijの大小関係によっては、右辺の第1項と第2項との間で値が大きく異なり、指標値Uを適切に算出することができない場合があるためである。
【0051】
学習モデル更新判定部80は、指標値Uと所定の閾値との大小関係に基づいて、学習モデルを更新するか否かを判定する。学習モデル更新判定部80は、例えば、指標値Uが所定の閾値以上になった場合、学習モデルを更新すると判定する。
【0052】
尚、推定用データの分布が学習データの分布に包含される場合、式2に示される指標値Uの一部の計算項が省略されてもよい。例えば、平均値A(x),A(x’)および分散σ(x),σ(x’)が式3を満たす場合、式3を満たす推定用データx’は指標値Uの算出対象から除外してもよい。
【数3】
除外される推定用データx’は、学習モデルの生成時から環境や状況の変化が小さく、式2の指標値Uに大きく影響しないためである。この結果、指標値Uの計算時間を短くすることができる。
【0053】
次に、学習モデルの再生成について説明する。
【0054】
学習部52は、学習モデル更新判定部80が学習モデルを更新すると判定した場合、学習モデルの再生成を行う。学習部52は、既に学習モデルの生成に用いた学習データに加えて推定用データを学習データとして、学習モデルを再生成する。これにより、過去の学習内容を保持しつつ、環境変化に対応させて現在の環境に適した学習モデルを再生成することができる。尚、再学習時において、データ記憶部30は、学習データ、教師データおよび推定用データと同様に再学習教師データを格納している。
【0055】
影響度算出部53は、推定用データを含む学習データを用いて、再び影響度を算出する。学習部52は、学習モデルの再生成の際に、影響度が所定値以下になる学習データを学習モデルの再生成の対象から外してもよい。これにより、学習モデルの容量を圧縮することができる。
【0056】
次に、図5(A)および図5(B)を参照して、機械学習モデル構築方法について説明する。
【0057】
図5(A)および図5(B)は、一実施形態による機械学習モデル構築装置1の処理動作を示すフロー図である。図5(A)は、学習装置50による学習処理のフローを示す。図5(B)は、推定装置100、指標値算出部75、学習モデル更新判定部80による推定処理のフローを示す。尚、図5(B)の推定処理には、図5(A)の学習処理が含まれている。
【0058】
図5(A)に示す学習処理において、まず、学習用データ前処理部51は、学習データおよび教師データを生成する(S110)。
【0059】
次に、学習データ分布生成部54は、学習データの分布を生成する(S120)。学習データの分布は、例えば、ヒストグラムである。
【0060】
次に、学習データ分布生成部54は、学習データの分布に基づいて、学習データの分布情報を算出する(S130)。分布情報は、例えば、平均値および分散である。
【0061】
次に、学習部52は、学習データと教師データとの対応関係に基づいて、学習モデルを生成する(S140)。
【0062】
次に、影響度算出部53は、生成された学習モデルにおける教師データの学習データによる影響度を算出する(S150)。
【0063】
次に、学習部52は、学習を終了する(S160)。学習部52は、生成した機械学習モデルを学習モデル格納部70に出力する。
【0064】
図5(B)に示す推定処理では、まず、推定用データ前処理部101は、推定用データを生成する(S210)。
【0065】
次に、推定データ分布生成部103は、推定用データの分布を生成する(S220)。
【0066】
次に、推定データ分布生成部103は、推定用データの分布に基づいて、推定用データの分布情報を算出する(S230)。
【0067】
次に、指標値算出部75は、指標値Uを算出する(S240)。指標値算出部75は、ステップS150において算出された影響度、ステップS130において算出された学習データの分布情報およびステップS220において算出された推定用データの分布情報に基づいて、指標値Uを算出する。
【0068】
次に、学習モデル更新判定部80は、指標値Uが所定の閾値以上であるか否かを判定する(S250)。所定の閾値は、例えば、ユーザにより予め設定される。指標値Uが所定の閾値未満である場合(S250のNO)、学習モデル更新判定部80は、学習モデルの更新は不要と判断する。その後、ステップS210~S250が再び実行される。尚、学習モデルの運用中であるため、ステップS210において新たな推定用データが生成される。
【0069】
一方、指標値Uが所定の閾値以上である場合(S250のYES)、学習モデル更新判定部80は、学習モデルの更新が必要と判断する。この場合、学習モデル更新判定部80は、学習モデルの推定精度が悪化していると判断する。その後、学習装置50は、再び学習処理を実行して(S260)、学習モデルを再生成する。
【0070】
ステップS260の学習処理において、学習装置50は、学習処理のステップS110~S160と同様の処理を実行する。しかし、学習装置50は、既に学習モデルの生成に用いられた学習データに加えて、ステップS210で生成された推定用データを学習データとして、ステップS110~S150の処理を実行する。
【0071】
学習部52は、学習モデルを更新する(S270)。この場合、学習部52は、再生成した学習モデルを学習モデル格納部70に出力して、ステップS210以降の処理を繰り返す。従って、再生成された学習モデルを用いて、推定処理が再び実行される。機械学習モデル構築装置1は、起動している間は継続してステップS210~S270の推定処理を繰り返す。
【0072】
尚、学習処理におけるステップS120~S150の処理順序は、図5(A)に示す順序に限られない。また、学習データ分布生成部54(ステップS120,S130)、学習部52(ステップS140)および影響度算出部53(ステップS150)の処理が並行して行われてもよい。
【0073】
また、ユーザインタフェース部60は、ステップS110~S160およびステップS210~S270の実行過程を表示部61に表示してもよい。
【0074】
図6は、一実施形態による表示部61の表示例を示す図である。表示部61は、例えば、図5(A)および図5(B)に相当する処理フロー611を示し、機械学習モデル構築装置1の実行過程を表示する。表示部61は、実行過程が一目で把握できるように、実行中の処理内容を色分け等により表示してもよい。図6は、学習モデルの生成(S140)が実行中の例を示している。また、ユーザインタフェース部60は、表示部61に、例えば、学習に使用している学習データのヒストグラム612を表示してもよい。また、ユーザインタフェース部60は、表示部61に、例えば、全学習回数や現在の学習実施済み回数など学習モデルの生成に関する情報613を表示してもよい。情報613には、例えば、RMSE(Root Mean Square Error)などにより算出された、推定値と教師データとの誤差が含まれていてもよい。
【0075】
以上のように、本実施形態によれば、影響度算出部53にて、教師データの学習データによる影響度を算出し、学習モデル更新判定部80にて、影響度、学習データの分布情報および推定用データの分布情報に基づいて、機械学習モデルを更新するか否かを判定する。これにより、学習モデルの運用中に学習モデルの精度を評価することができる。精度を評価した結果、学習モデルの精度が悪化していると判断される場合、学習モデルの再生成および更新をする。このような学習モデルの更新は、学習モデルの運用中に繰り返し行われる。これにより、環境変化に追従して推定精度を保つ学習モデルを使用して推定することができる。
【0076】
また、本実施形態では、実測値と推定値との比較をすることなく、学習モデルの生成に用いた学習データと、学習モデルの生成に用いなかった推定用データにより学習モデルの精度を評価することができる。従って、実測値を得ることが難しい学習モデルの運用条件においても、学習モデルの精度を評価することができる。また、学習モデルによる推定結果が実測値に作用するなど、真の実測値を得ることが難しい場合においても、学習モデルの推定精度を判定することができる。
【0077】
また、学習モデル生成の際、網羅的にデータを収集し、学習モデルを生成することが困難である場合が多い。この場合でも、学習データおよび推定用データの分布情報と学習モデルの出力に対する影響度からデータ傾向の変化を把握し、的確に学習モデルを更新することができる。
【0078】
(変形例)
上述した実施形態の一変形例による機械学習モデル構築装置1は、式2に代えて、カルバック・ライブラーダイバージェンスを用いて指標値Uを算出する点で、上述した実施形態による機械学習モデル構築装置1と異なる。
【0079】
学習データ分布生成部54は、学習データの取り得る範囲を複数の区間に分割し、区間毎に学習データを分類した頻度分布を分布情報として求める。
【0080】
推定データ分布生成部103は、推定用データの取り得る範囲を複数の区間に分割し、区間毎に推定用データを分類した頻度分布を分布情報として求める。
【0081】
指標値算出部75は、学習データの頻度分布および推定用データの頻度分布に基づいてカルバック・ライブラーダイバージェンスを算出し、カルバック・ライブラーダイバージェンスを影響度により重み付けして、指標値Uを算出する。すなわち、指標値算出部75は、式2に代えて、式4および式5に基づいて指標値Uを算出する。
【数4】
式4および式5におけるDKL(i)は、カルバック・ライブラーダイバージェンスと呼ばれ、2つの分布の異なり具合を算出する計算式である。式5におけるkは、学習データの取り得る範囲を領域分割した場合の番号を示す。また、x(k)は学習データの発生頻度を示し、x’(k)は推定用データの発生頻度を示す。式4および式5によっても、学習データの分布と推定用データの分布との差異として指標値Uを算出することができる。
【0082】
例えば、学習データの分布が推定用データの分布と一致する場合、学習データの頻度x(k)および推定用データのx’(k)は、任意のkに対してx(k)=x’(k)の関係を有する。従って、式5の右辺が0になり、DKL(i)および指標値Uは0になる。一方、両者の分布にずれが生じると、式5の右辺の対数が有限の値になる。さらに、両者の分布のずれが大きくなるほど、DKL(i)および指標値Uは大きくなる。
【0083】
本変形例による機械学習モデル構築装置1のその他の構成は、上述した実施形態による機械学習モデル構築装置1の対応する構成と同様であるため、その詳細な説明を省略する。
【0084】
本変形例による機械学習モデル構築装置は、上述した実施形態と同様の効果を得ることができる。
【0085】
本実施形態による機械学習モデル構築装置および機械学習モデル構築方法の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、機械学習モデル構築装置および機械学習モデル構築方法の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。また、機械学習モデル構築装置および機械学習モデル構築方法の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【0086】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0087】
1 機械学習モデル構築装置、52 学習部、 53 影響度算出部、54 学習データ分布生成部、60 ユーザインタフェース部、61 表示部、75 指標値算出部、80 学習モデル更新判定部、102 推定部、103 推定データ分布生成部、U 指標値
図1
図2
図3
図4
図5
図6