(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023032843
(43)【公開日】2023-03-09
(54)【発明の名称】計算機システムおよびモデル切替タイミングの判断方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20230302BHJP
【FI】
G05B23/02 R
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021139176
(22)【出願日】2021-08-27
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】水品 圭汰
(72)【発明者】
【氏名】勝沼 聡
(72)【発明者】
【氏名】室 啓朗
【テーマコード(参考)】
3C223
【Fターム(参考)】
3C223AA01
3C223AA11
3C223BA03
3C223CC02
3C223DD03
3C223EB02
3C223EB03
3C223FF16
3C223FF22
3C223FF26
3C223FF35
3C223FF47
3C223GG03
3C223HH02
(57)【要約】 (修正有)
【課題】モデル更新のコストを考慮した、モデル更新時期の判断支援を行う。
【解決手段】時系列のデータに基づいて異常を検知する計算機システムであって、学習データに基づいて生成された機械学習モデルにより時系列のデータの異常を診断する異常診断部と、機械学習モデルの劣化を検知するモデル劣化検知部と、機械学習モデルの学習曲線を推定し学習曲線を用いて単位時間当たりのエラー数を予測する学習曲線推定部と、運用中モデルの単位時間当たりのエラー数と運用中モデルの切替候補モデルの単位時間当たりのエラー数とエラー1件あたりのコストを定義したエラーコスト情報に基づいて任意の第1及び第2の時刻で機械学習モデルの切替えを実行した際の第1の合計コスト及び第2の合計コストとを算出するモデル切替えコスト算出部と、第1の合計コストと第2の合計コストを比較して機械学習モデルの切替え時刻を算出するモデル切替え時刻予測部とを有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
時系列のデータに基づいて異常を検知する計算機システムであって、
学習データに基づいて生成された機械学習モデルにより、前記時系列のデータの異常を診断する異常診断部と、
前記機械学習モデルの劣化を検知するモデル劣化検知部と、
前記機械学習モデルの学習曲線を推定し、前記学習曲線を用いて単位時間当たりのエラー数を予測する学習曲線推定部と、
現在使用中の機械学習モデルである運用中モデルの前記単位時間当たりのエラー数と、運用中モデルの切替候補である切替候補モデルの前記単位時間当たりのエラー数と、エラー1件あたりのコストを定義したエラーコスト情報に基づいて、任意の第1の時刻で機械学習モデルの切替えを実行した際の第1の合計コストと、任意の第2の時刻で機械学習モデルの切替えを実行した際の第2の合計コストと、を算出するモデル切替えコスト算出部と、
前記第1の合計コストと前記第2の合計コストを比較して、機械学習モデルの切替え時刻を算出するモデル切替え時刻予測部と、
を有する計算機システム。
【請求項2】
前記学習曲線推定部は、
学習曲線の推定の際に、前記切替候補モデルが学習したデータのサンプル数を求め、
過去に使用した機械学習モデルにおける、学習したデータのサンプル数と運用時のエラー数の関係を示すデータに基づいて、
前記切替候補モデルの学習曲線を算出する、
請求項1記載の計算機システム。
【請求項3】
前記学習曲線推定部は、
学習曲線の推定の際に、前記切替候補モデルが学習したコンテキストの割合を求め、
過去に使用した機械学習モデルにおける、学習したコンテキストの割合と運用時のエラー数の関係を示すデータに基づいて、前記切替候補モデルの学習曲線を算出する、
請求項1記載の計算機システム。
【請求項4】
前記学習曲線推定部は、
学習曲線の推定の際に、過去のモデル作成時の学習曲線より作成した学習曲線推定モデルを用いて、前記切替候補モデルの学習曲線を算出する、
請求項1記載の計算機システム。
【請求項5】
前記モデル劣化検知部は、
前記時系列のデータの分布の変化を検知する、
請求項1記載の計算機システム。
【請求項6】
前記モデル切替えコスト算出部は、
さらに前記機械学習モデルの切替えを実行するために必要なモデル更新コストに基づいて、前記第1の合計コストと、前記第2の合計コストと、を算出する、
請求項1記載の計算機システム。
【請求項7】
前記モデル更新コストは固定値であり、所定の時間幅である時刻t1と時刻txの間で、前記機械学習モデルの切替えを実行したとして、前記第1の合計コストと前記第2の合計コストと、を算出する、
請求項6記載の計算機システム。
【請求項8】
前記時刻t1は、前記モデル劣化検知部が前記機械学習モデルの劣化を検知した時刻を基準とする時刻であり、
前記時刻txは、ユーザが指定した時刻である、
請求項7記載の計算機システム。
【請求項9】
前記モデル切替え時刻予測部は、
前記モデル切替えコスト算出部の結果を受け、最小の合計コストで前記機械学習モデルの切替えが可能な時刻Tを予測する、
請求項8記載の計算機システム。
【請求項10】
学習データに基づいて生成された機械学習モデルにより、時系列のデータの異常を診断する計算機システムにおいて、前記機械学習モデルの切替タイミングを判断する際に、
前記機械学習モデルの劣化を検知するモデル劣化検知ステップと、
前記機械学習モデルの学習曲線を推定し、前記学習曲線を用いて単位時間当たりのエラー数を予測する学習曲線推定ステップと、
現在使用中の機械学習モデルである運用中モデルの前記単位時間当たりのエラー数と、運用中モデルの切替候補である切替候補モデルの前記単位時間当たりのエラー数と、エラー1件あたりのコストを定義したエラーコスト情報に基づいて、任意の第1の時刻で機械学習モデルの切替えを実行した際の第1の合計コストと、任意の第2の時刻で機械学習モデルの切替えを実行した際の第2の合計コストと、を算出するモデル切替えコスト算出ステップと、
前記第1の合計コストと前記第2の合計コストを比較して、機械学習モデルの切替時刻を算出するモデル切替え時刻予測ステップと、
を実行するモデル切替タイミングの判断方法。
【請求項11】
前記学習曲線推定ステップは、
過去に使用した機械学習モデルにおける、学習したデータのサンプル数と運用時のエラー数の関係を示す第1の過去データおよび過去に使用した機械学習モデルにおける、学習したコンテキストの割合と運用時のエラー数の関係を示す第2の過去データの少なくとも一つに基づいて、
前記切替候補モデルの学習曲線を算出する、
請求項10記載のモデル切替タイミングの判断方法。
【請求項12】
前記学習曲線推定ステップは、
学習曲線の推定の際に、過去のモデル作成時の学習曲線より作成した学習曲線推定モデルを用いて、前記切替候補モデルの学習曲線を算出する、
請求項11記載のモデル切替タイミングの判断方法。
【請求項13】
前記モデル切替えコスト算出ステップは、
さらに前記機械学習モデルの切替えを実行するために必要なモデル更新コストに基づいて、前記第1の合計コストと、前記第2の合計コストと、を算出する、
請求項10記載のモデル切替タイミングの判断方法。
【請求項14】
前記モデル更新コストは固定値であり、所定の時間幅である時刻t1と時刻txの間で、前記機械学習モデルの切替えを実行したとして、前記第1の合計コストと前記第2の合計コストと、を算出する、
請求項13記載のモデル切替タイミングの判断方法。
【請求項15】
前記時刻t1は、前記モデル劣化検知ステップが前記機械学習モデルの劣化を検知した時刻を基準とする時刻であり、
前記時刻txは、ユーザが指定した時刻である、
請求項14記載のモデル切替タイミングの判断方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習モデルの運用に関し、顧客がいつ学習モデルの更新をすべきか判断する、モデル更新判断の技術に関する。
【背景技術】
【0002】
工場やプラントの装置の状態は環境変化や経年劣化、製造製品や作業者の変更など状態が経時的に変化する。そのため、予知保全などを目的に適用されている機械学習モデルも変化に追従して学習を継続する必要がある。
【0003】
ここで、最新のデータを用いて継続的に学習を継続するシステムを顧客が運用する場合、顧客が変化に追従してモデル更新の判断を行う必要がある。従来のモデルの評価や選択に関する技術として、以下のものがある。
【0004】
例えば、特許文献1では、「テキスト非依存型(TI)話者認識モデルのトレーニングに対するプロセッサ実装方法は、プロセッサベースのシステムによって、コンテキスト内のユーザから収集されたTI音声発話に関連付けられたコンテキストデータを測定するステップを備え、ここで、前記収集されたTI音声は第1の期間内に収集され、本方法はさらに、前記プロセッサベースのシステムによって、受領したID測定値に基づいてユーザのIDを特定し、前記プロセッサベースシステムによって、TI音声発話の音声品質分析を実行し、前記プロセッサベースのシステムによって、TI音声発話に基づいてユーザの状態分析を実行し、前記プロセッサベースシステムによって、音声品質分析および状態分析に基づいてTI音声発話に関連付けられたトレーニングメリット値を評価し、さらに、プロセッサベースのシステムによって、トレーニングデータベース内にトレーニングデータとして、TI音声発話を格納し、さらに、トレーニングメリット値が閾値を超えた場合、格納された発話が前記ユーザのIDおよびコンテキストデータによってインデックス付けされるステップを備える」。
【0005】
また、特許文献2では、「対象装置の動作の種類ごとに定められる複数のコンテキスト情報のうち現在の動作に対応するコンテキスト情報と、対象装置の動作に応じて変化する物理量を検知する検知部からの検知情報と、を対象装置から受信する受信部と、受信部により受信された検知情報と、1以上のコンテキスト情報それぞれに対応する1以上のモデルのうち受信部により受信されたコンテキスト情報に対応する複数のモデルと、を用いて、対象装置の動作が正常であるか否かを判定する判定部と、判定部により判定された、複数のモデルを用いた場合のそれぞれの判定結果を、表示部に表示させる表示制御部」が開示される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】US2018/0366124
【特許文献2】特開2018-005855号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
製造業等におけるモデル更新は種々のコストが発生するため、コストを考慮した適切なタイミングでモデル更新を判断する必要がある。
【0008】
しかしながら、特許文献1、及び特許文献2は、モデルの動作確認やドキュメント作成などモデル更新に必要なコストの発生には言及されていなかった。
【0009】
本発明は、モデル更新のコストを考慮した、モデル更新時期の判断支援を行うことを目的とする。
【課題を解決するための手段】
【0010】
本発明の好ましい一側面は、時系列のデータに基づいて異常を検知する計算機システムであって、学習データに基づいて生成された機械学習モデルにより、前記時系列のデータの異常を診断する異常診断部と、前記機械学習モデルの劣化を検知するモデル劣化検知部と、前記機械学習モデルの学習曲線を推定し、前記学習曲線を用いて単位時間当たりのエラー数を予測する学習曲線推定部と、現在使用中の機械学習モデルである運用中モデルの前記単位時間当たりのエラー数と、運用中モデルの切替候補である切替候補モデルの前記単位時間当たりのエラー数と、エラー1件あたりのコストを定義したエラーコスト情報に基づいて、任意の第1の時刻で機械学習モデルの切替えを実行した際の第1の合計コストと、任意の第2の時刻で機械学習モデルの切替えを実行した際の第2の合計コストと、を算出するモデル切替えコスト算出部と、前記第1の合計コストと前記第2の合計コストを比較して、機械学習モデルの切替え時刻を算出するモデル切替え時刻予測部と、を有する計算機システムである。
【0011】
本発明の好ましい他の一側面は、学習データに基づいて生成された機械学習モデルにより、時系列のデータの異常を診断する計算機システムにおいて、前記機械学習モデルの切替タイミングを判断する際に、前記機械学習モデルの劣化を検知するモデル劣化検知ステップと、前記機械学習モデルの学習曲線を推定し、前記学習曲線を用いて単位時間当たりのエラー数を予測する学習曲線推定ステップと、現在使用中の機械学習モデルである運用中モデルの前記単位時間当たりのエラー数と、運用中モデルの切替候補である切替候補モデルの前記単位時間当たりのエラー数と、エラー1件あたりのコストを定義したエラーコスト情報に基づいて、任意の第1の時刻で機械学習モデルの切替えを実行した際の第1の合計コストと、任意の第2の時刻で機械学習モデルの切替えを実行した際の第2の合計コストと、を算出するモデル切替えコスト算出ステップと、前記第1の合計コストと前記第2の合計コストを比較して、機械学習モデルの切替時刻を算出するモデル切替え時刻予測ステップと、を実行するモデル切替タイミングの判断方法である。
【発明の効果】
【0012】
モデル更新のコストを考慮した、モデル更新時期の判断支援を行うことができる。
【図面の簡単な説明】
【0013】
【
図2】実施例1における、モジュールに対する情報の入出力関係を示す機能ブロック図である。
【
図3】実施例1における、対象となる製造装置から収集される時系列データを示す表図である。
【
図4】実施例1における、装置のコンテキスト情報を示す表図である。
【
図5】実施例1における、モデル切替えコスト情報を示す表図である。
【
図6】実施例1における、誤報・失報が発生した際のコスト情報を示す表図である。
【
図7】実施例1における、切替え候補モデルの学習曲線を推定する処理をより具体的に説明するためのグラフ図である。
【
図8】実施例1における、単位時間あたりの誤報・失報数を用いてモデル更新時期を決定する処理を具体的に説明するためのグラフ図である。
【
図9】実施例1における、モデル切替え判断を早期に実施した際の処理をより具体に説明するためのグラフ図である。
【
図10】実施例1における、モデル切替え判断を適切な時刻に実施した際の処理をより具体に説明するためのグラフ図である。
【
図11】実施例1における、異常診断部の処理手順を示すフローチャートである。
【
図12】実施例1における、モデル更新判断部の処理手順を示すフローチャートである。
【
図13】実施例2における、コンテキスト情報を用いた際の処理をより具体的に説明するためのグラフ図である。
【
図14】実施例2における、コンテキスト情報を示す表図である。
【
図15】実施例2における、学習曲線推定部の処理手順を示すフローチャートである。
【
図16】実施例3における、機能ブロック図である。
【
図17】実施例3における、モジュールに対する情報の入出力関係を示す機能ブロック図である。
【
図18】実施例3における、過去のモデルの学習曲線を用いて学習曲線予測モデルを作成する処理をより具体的に説明するための概念図である。
【
図19】実施例3における、学習曲線推定の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0014】
実施の形態について、図面を用いて詳細に説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0015】
以下に説明する実施例の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【0016】
同一あるいは同様な機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0017】
本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【0018】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【0019】
本明細書で引用した刊行物、特許および特許出願は、そのまま本明細書の説明の一部を構成する。
【0020】
本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。
【0021】
以下で説明される実施例の一例は、装置やプラントの状態を監視するための機械学習モデルの運用手法であって、ストレージに保存された時系列データに基づいて、装置の異常を判定する異常診断部と、上記ストレージに保存されたコンテキスト情報と、モデル切替コスト情報と、に基づいて、任意の日時tでモデルを切替えた場合の、誤報・失報数を算出し、誤報・失報で発生するコストと、モデル切替えのコストの合計を算出し、合計のコストが最小となる日時Tでモデルを切替える、モデル更新の判断部と、を有する。この実施例によれば、任意の時刻tにおいてモデル更新を実行した場合の誤報・失報で発生するコストと、モデル切替えに必要なコストと、に基づいて、合計のコストが最小となる日時Tでモデル切替えを実行できる。
【実施例0022】
図1は、本発明の実施形態を実現する一構成例を示す。
図1に例示されるように、計算機システム1000は、大きくは、異常診断部100とモデル更新判断部101と、を備えて構成される。
【0023】
異常診断部100は、設備21から出力される時系列のセンサデータを受けて特徴量抽出部102と、特徴量抽出部102によって抽出された特徴量を用いて機械学習モデルで異常度スコアを算出する異常度スコア算出部103と、前記異常度スコアと事前に決定された異常判定しきい値とを比較することで、異常を判定する異常判定部110と、を備えている。この異常診断部100は、基本的に従来の機械学習を用いた異常判定システムを採用することができる。
【0024】
モデル更新判断部101は、異常度スコア算出部103の出力する異常度スコアの変化の傾向からモデル劣化を検知するモデル劣化検知部104と、モデル劣化検知部104がモデル劣化を検知した時点で機械学習モデルの学習に必要な学習データの量の十分性を学習曲線を用いて判定する学習曲線推定部105と、学習曲線推定部105の出力を受けて任意の時刻tでモデルを切替えた場合に発生するコストを算出するモデル切替えコスト算出部106と、学習曲線推定部105とモデル切替えコスト算出部106の出力とを受けて適切なモデル切替え時刻Tを予測するモデル切替え時刻予測部107と、異常診断モデル作成部111と、を備えて構成される。
【0025】
特許文献1では、データの十分性を考慮して話者認識モデルを作成していた(その
図5)。また、特許文献2では、現在得られる検知情報から2つ以上のモデルから適切なモデルを選択することができた(その0006項)。しかし、これらはモデル切替に係るコストを考慮していなかった。本実施例のモデル更新判断部101は、切替コストを考慮した更新タイミングを示唆することが可能である。
【0026】
図1に示すように、ネットワーク90に接続された計算機システム1000は、そのシステムに接続された通信可能な端末22と通信可能であり、その端末22に異常診断部の診断結果を表示させることができる。
【0027】
ネットワーク90は、インターネット、携帯電話回線網のほか、Wi-Fi CERTIFIED(登録商標)等の無線LANを介在しても良い。端末22は、パソコンのほか、タブレット端末、スマートフォン等が好適である。
【0028】
ネットワーク90には、計算機システム1000、端末22以外にも、それらに通信可能な対象装置を有する工場やプラントの装置に取り付けられたセンサ21も接続されている。センサ21は、測定した時系列の各種センサデータをネットワーク90を介して計算機システム1000へリアルタイムに送信する。センサ21は、電流電圧等を測定するセンサや、振動を検知する加速度センサ、検査音などを収集するマイク、画像検査に用いるカメラ等の情報でも良い。前記センサ21は時系列のセンサデータだけでなく、センサが取り付けられた各種装置の状態の変化などのコンテキスト情報も取得しており、ネットワーク90を介して計算機システム1000へリアルタイムに送信する。
【0029】
計算機システム1000を構成する公知のハードウェア構成の図示は大幅に省略する。計算機システムを構成するハードウェアは、相互に接続されたプロセッサ(処理部)、メインメモリ、入力装置、出力装置、インターフェース(I/F)及び記憶装置を備える計算機(コンピュータ)である。プロセッサは、メインメモリに格納されたプログラムを実行する。
【0030】
メインメモリ(ストレージ)は、例えば半導体メモリであり、プロセッサによって実行されるプログラム及びプロセッサによって参照される情報を格納する。具体的には、記憶装置に格納されたプログラム及び情報の少なくとも一部が、必要に応じてメインメモリにコピーされる。
【0031】
入力装置は、計算機システム1000の利用者からの入力を受ける。入力装置は、例えばキーボード及びマウス等を含んでもよい。出力装置は、例えば画像表示装置であり、その一例は液晶表示装置である。入出力装置は、端末22として用いられる、パソコン、タブレット端末やスマートフォン等に備わる。
【0032】
記憶装置は、例えばハードディスク装置(HDD)又はフラッシュメモリのような不揮発性の記憶装置である。記憶装置には、少なくとも、時系列データ201、コンテキスト情報202、モデル更新コスト情報203、誤報・失報コスト情報204、過去モデルの学習曲線205が格納される。
【0033】
計算機システム1000の構成は、単体のコンピュータで構成してもよいし、あるいは、任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。
【0034】
図2は、実施形態1における、モジュールに対する情報の入出力関係を示す機能ブロック図である。
図2は
図1に対応しており、各機能は
図1で説明したようにプロセッサがプログラムを実行することによって実現する。
【0035】
図2に示すように、異常診断部100は時系列データ201を用いて、特徴量抽出部102が特徴量を抽出し、異常度スコア算出部103が入力されたデータに対する異常度を算出し、異常判定部110が算出された異常度を評価することにより異常判定を行う。
【0036】
時系列データ201のデータは環境要因、装置要因、製品要因から経時的に変化しており、異常判定部の機械学習モデルは一定の周期で更新されている。例えば、装置の経年変化など中長期的な変化傾向は一定の周期のモデル更新により対応可能である。しかし、例えば、装置の状態が変化した場合などの急激な変化が発生した場合には、一定の周期のモデル更新では対応不可能であり、何もしない場合には異常判定部110に誤報・失報が発生してしまう。
【0037】
上記誤報・失報の発生を防止するためにモデル劣化検知部104は異常度スコアの変化傾向を常時あるいは定期的に監視しており、異常度スコアが一定のしきい値を超えた場合にはモデルの劣化が発生していると判断する。モデル劣化検知部104がモデル劣化を検知した時点では異常判定部の機械学習モデルが劣化している可能性を検知しただけであり、実際に誤報・失報は発生していない。ここでモデルの劣化とは、データの分布が変化したために機械学習モデルとデータが適合しなくなることを意味する。
【0038】
モデル劣化検知部104の結果を受け、学習曲線推定部105がモデル劣化を検知した時点における機械学習モデルの作成に必要なデータの充足率を推定する。学習曲線推定部105は時系列データ201に格納されたデータ量の十分性、データの分散の大きさなどから機械学習モデルの作成に必要なデータの十分性の評価をしても良い。学習曲線推定部105の処理の例は、
図7、
図8を用いて後述する。
【0039】
学習曲線推定部105の結果を受け、モデル更新コスト情報203を用いて、モデル切替えコスト算出部106がある時刻Tにおけるモデル切替えコストを算出する。モデル切替えコスト算出部106の処理の例は
図9、
図10を用いて後述する。
【0040】
モデル切替え時刻予測部107は、モデル切替えコスト算出部106の結果を受け、最小のコストでモデル切替えが可能な時刻Tを予測する。モデル切替え時刻予測部107の処理の例は
図9を用いて後述する。
【0041】
図3は、実施形態1における、時系列データ201の一例である。
図3では、設備から受信する時系列のセンサデータを表形式で示している。時系列データ201は、例えば製造装置に取り付けられたセンサ1~5から取得される多次元のセンサデータである。センサには、光、音、振動など公知の種々のセンサを利用することができる。センサデータは、検査装置に取り付けられたマイクから収集された音声の波形データや、製造工程に取り付けられたイメージセンサの画像でもよい。
【0042】
図4は、実施形態1における、装置のコンテキスト情報202の一例を示す表である。ここでコンテキスト情報とは、モデルの入力を取得する対象となる装置やシステムの状況を説明する情報をいい、ユーザが任意に定義することができる。
図4に示すコンテキスト情報は、製造装置のコンテキスト情報の例を示す。コンテキスト情報は、時間的に変化する情報であって、例えば各設備の状態(種類、負荷、回転数等)の変化、取り扱う材料の変化、実施方法の変化、設備の環境(温度、湿度等)の変化などを含むことができる。このようなコンテキスト情報は、製造装置の制御情報や管理情報を利用して得ることができる。コンテキスト情報の具体例は
図14を用いて後述する。
【0043】
図5は、実施形態1における、モデル切替えに必要なモデル更新コスト情報203を示す表である。コストとは、所定の処理に付随する負担をいう。通常は経済的な負担を指し、費用あるいは時間的な負担の量でユーザが自由に定義することができる。
【0044】
装置の運転中に誤報・失報が発生した場合、それらに対応するためのコストが発生するが、それ以外にも、モデル切替えを実施する場合に
図5に示すようなモデル更新コストが発生する。
【0045】
図5のモデル更新コスト情報203は、ユーザがあらかじめ準備して記憶装置に記憶させたものである。
図5の例では「イベント」として、作成したモデルを実運用に適用する前にモデル性能を検証するモデルレビューのコストや、モデル更新を実行するために製造ラインを一時的に停止するためのコストや、モデルを作成するコストが定義されている。以上は例示であり、ユーザが自分のモデル更新の経験に基づいて自由に定義することができる。
【0046】
図5の例では、それぞれの「イベント」の「費用」と「所要時間」が定義されている。コストの値としては、費用や所要時間の少なくとも一つをそのまま用いてもよいし、費用および所要時間の少なくとも一つを用いた関数として定義してもよい。
【0047】
図5に示すモデル更新コストは、モデル更新のたびに固定値として発生するコストである。固定費ラベルに「1」を付与することで、固定費であることを示している。
【0048】
図6は、実施形態1における、誤報・失報コスト情報204を示す表である。誤報が発生した場合には、異常と判断された製品の再検査が必要となる可能性があり、失報が発生した場合には、正常と判断した製品の再検査が必要となる可能性がある。
図6に示すコストは、現状のモデルの運用を継続した場合に、単位時間あたりに発生する可能性のあるコストである。
【0049】
図6の誤報・失報コスト情報204は、ユーザがあらかじめ準備して記憶装置に記憶させたものである。
図6は例示であり、ユーザが自分が誤報や失報に対応した経験に基づいて自由に定義することができる。コストの値としては、単位時間あたりの発生コストに運用時間を乗じた値をそのまま用いてもよいし、その値を用いた関数として定義してもよい。
【0050】
図7は、
図1及び
図2に示した学習曲線推定部105の処理を説明するための説明図であり、切替候補モデルの学習曲線701を示している。
【0051】
学習曲線推定部105は、モデル劣化検知部104がモデル劣化を検知した時点(あるいはモデル劣化を検知した時点を基準とした時刻)t1における、機械学習モデルの予測精度から学習曲線を予測する。
図7の学習曲線701は、学習データのサンプル数と、モデルの予測性能の関係を示す曲線である。学習曲線の横軸は学習データのサンプル数であり、縦軸は性能指標をとる。サンプル数が時間と相関する(例えば線形)場合には、
図7のように横軸に時間をとってもよい。
【0052】
性能指標は、学習データを用いて評価した指標および検証データを用いて評価した指標の少なくとも一つを用いて作成する。
図7の実線部分701aは、検証データを用いてモデルを評価した指標を示しており、経時的に学習データのサンプル数が増加することで、検証データを用いて評価した精度が向上していくことを示す。
【0053】
一般的には検証データを用いて機械学習モデルの性能を検証することができる。本実施例においては、数値指標だけでなく経験した状況や学習期間などドメイン知識を併せて切替判断することも想定しているため、学習データを用いて評価した指標や学習データの期間情報もモデル切替え判断に有用である。
【0054】
学習曲線の予測は、例えば過去のモデル作成時に用いたデータ量を基準にしても良い。例えば、
図7の学習曲線の実線部分701aは、過去に作成した機械学習モデルの精度と当該学習モデルの学習データのサンプル数から得られた実測値である。学習曲線の点線部分701bは予測値である。実測値から学習曲線を予測するために機械学習モデルを用いた推定をおこなっても良い。
【0055】
また、装置のコンテキスト情報が既知の場合には、コンテキスト情報から学習データの十分性を判断しても良い。コンテキスト情報を用いた学習曲線の推定について、後に
図15でより具体的に説明する。
【0056】
図8は、学習曲線推定部105において、単位時間あたりの誤報・失報数を推定する処理をより具体的に説明するための図である。
図7に示したように、時間経過に伴い、検証精度は向上する。そのため、
図8の切替候補モデルの特性を示す曲線802に示すように、単位時間あたりの誤報・失報数は、時間経過に伴い減少していく。実線802Pは学習済みの切替候補モデルの特性の実測値を示し、破線802Fは実測値から予測した特性である。なお、誤報数や失報数は具体例であり、それが発生することによりコストが生じるエラーを自由に定義してエラー数を推定すればよい。
【0057】
単位時間あたりの誤報・失報数は、例えば、検証精度を用いて下記の計算式1で算出される。単位時間あたりの誤報・失報数は、コンテキスト情報202を用いて算出しても良い。
(式1)
単位時間あたりの誤報・失報数 = (1 - 検証精度)×単位時間あたりの時系列データの入力数
【0058】
ここで、運用中モデルの特性は破線801である。運用中モデルは過去に学習したモデルであって、現在使用中のモデルを意味している。ここで、データ分布が一定の前提で、運用中モデルの特性801は一定である。切替候補モデルはバックグラウンドで学習中であり、所定周期で最新のデータにより学習されているモデルである。運用中モデルを切替候補モデルに切替えるタイミングを示唆することが本実施例の目的である。
【0059】
図8の例では、運用中モデルと切替候補モデルの特性が交差する時点tsはモデル劣化を検知した時点t1と時刻t2の中間にある。モデル切替判断のタイミングは、たとえば(1)運用中モデルと同等の精度を確保できた時点ts、(2)現在のコンテキストを学習し終えた時点t2、(3)ドメイン知識を用いて最適なタイミングと推定した時点t3、などが考えられる。ドメイン知識を用いた最適なタイミングとは、例えば将来発生が予想されるコンテキストを学習した後のタイミングである。
【0060】
図9は、モデル切替コスト算出部106において、時刻t2においてモデル更新をする処理をより具体的に説明するための図であり、モデル切替コスト算出部106が算出するモデル更新に要するコストのグラフを示す。
図9に示すように、モデル劣化検知部104が劣化検知をした時点t1からモデル更新までは、運用中モデルの誤報失報コスト901t2が発生する。運用中モデルの誤報失報コストは、例えば下記の計算式2で算出される。
(式2)
単位時間当たりの運用中モデルの誤報失報コスト = 単位時間あたりの誤報失報数 × 誤報・失報1件あたりの発生コスト(2M, 5M)
【0061】
モデル切替えの際には、固定コストとしてモデル切替時のコスト902t2が発生する。モデル切替時のコストは、例えば下記の計算式3で算出される。ただし、モデル切替時のコスト902t2は式3に示した要素に限らず、式2、式4で示す誤報失報コストの重み付けにより算出しても良い。また、モデル切替時のコストは式3に示す要素に加え、製造管理システムの情報などを用いて総合的に判断しても良い。例えば、製造管理システムより定期メンテナンス時期を取得し、定期メンテナンス時にモデル更新を実行する場合、製造ラインを一時的に停止するコストを考慮する必要がないため、モデル切替時のコスト902t2が低く算出される。
(式3)
モデル切替時のコスト = 製造ラインを一時的に停止するコスト + モデルを本番環境に適用可能かレビューするコスト + モデル作成コスト
【0062】
切替モデルの誤報失報コスト903t2は、時刻t2における学習曲線を用いて、誤報・失報数から算出する。切替モデルの誤報失報コストは、例えば下記の計算式4で算出される。
(式4)
単位時間当たりの切替モデルの誤報失報コスト = 時刻t2における単位時間あたりの誤報失報数 × 誤報・失報1件当たりの発生コスト(2M, 5M)
【0063】
図10は、モデル切替コスト算出部106において、時刻t3においてモデル更新をする処理をより具体的に説明するための図であり、モデル切替コスト算出部106が算出するモデル更新に要するコストのグラフを示す。
図10では、運用中モデルの誤報失報コスト901t3とモデル切替時のコスト902t3は、
図9に示したコストと同様に計算できる。単純なケースでは、モデル切替時のコスト902t3はモデル切替時のコスト902t2と同じで、固定値として扱える。
【0064】
時刻t3まで学習したことにより、切替モデルの誤報失報コスト903t3が
図9に示したよりも低いため、この場合のモデル更新の合計コストは、
図9よりも低い。
【0065】
モデル更新の合計コストは、
図9、
図10でハッチングを施した部分の面積であると概念的には理解できる。上に述べたように、モデル切替時のコスト902は一般に固定値であり、誤報失報コスト901、903は、単位時間当たりのコストと使用時間の積である。
【0066】
式3に示したように、工場やプラントのモデル切替時には高額なモデル切替時のコスト902が発生する。このため、一般には、切替回数は可能な限り少なくしたい。一つの例では、モデル更新による誤報失報コストの減少分が、モデル切替コストを上回るのであれば、モデルを切替える意味がある。このため、一度切替えたモデルは可能な限り長期に渡って使用することを想定する。一例としては、
図9および
図10の時間軸の右端txは数ヶ月~半年オーダの将来になることを想定する。t1、t2、t3の間は例えば数日から数週間のオーダである。実施例においては、合計コストの計算に際して、ユーザがその都度txを指定することを想定する。あるいは、あらかじめユーザがtxを固定値で設定しておいてもよい。
【0067】
図9および
図10では、誤報失報コスト903が一定値となり、基本的には誤報・失報数の削減が見込めるt3で切替えたほうが望ましい。しかし、急激な環境変化や部品交換などの可能性や、切替モデルが適合していな場合などには、誤報・失報数が急激に増える可能性がある。見込み損失がモデル切替をするコストを上回る場合には、長期的に見るとt2で切替えたほうが良いという判断もありうる。この場合、上記式4では、切替モデルの単位時間あたりの誤報失報数は、切替時刻t2における値が継続すると仮定しているが、将来的なデータの分布の変化を推定する等して誤報失報数を予測することにより、より正確な合計コストを算出できる。
【0068】
図11は、異常診断部100の処理手順を示すフローチャートである。
図11に示すステップS101~S104の手順により、異常診断部100は時系列データ201を入力として異常診断を実施する。
【0069】
ステップS101では、時系列データ201に対して、特徴量抽出部102で異常診断に用いる特徴量を抽出する。特徴量は、検査対象の特徴を数値化したものであり、テーブルデータや音声データ、画像データであっても良い。製造業向けのシステムの場合には、特徴量設計やモデル作成アルゴリズムは不変であり、学習に使用するデータ期間のみが変化していくシステムが想定される。
【0070】
ステップS102では、S101で抽出された特徴量を異常度スコア算出部103に入力し、異常度スコアを算出する。異常度スコアとは、例えば測定値がデータの正常系の中心からどれだけ離れているのかを示し値である。異常度スコアは、下記の計算式5で算出される。
【0071】
【0072】
異常度スコアの算出は、ユークリッド距離や、マハラノビス距離、マンハッタン距離などを用いても良い。
【0073】
ステップS103では、異常判定部110がS102で算出した異常度スコアを用いて、異常判定を実施する。異常判定部110は、異常度スコアが異常判定しきい値を超えた場合、異常と出力し、それ以外の場合には正常と出力する。異常判定部110の異常判定しきい値はモデル作成時に決定される。
【0074】
ステップS104では、異常判定部110が異常と出力した場合に、ユーザに異常判定を通知する。通知は端末22を通じてユーザに提示するGUIや、メール、アラート音でも良い。
【0075】
図12は、モデル更新判断部101の処理手順を示すフローチャートである。
図12に示すステップS201~S207の手順により、モデル更新判断部101はモデルを監視し、更新判断を実行する。
【0076】
図11に示したように、異常診断システムは、時系列データから異常度スコアを算出し、異常度スコアと、異常判定しきい値と、を比較して異常診断を行う。モデル更新判断部は、上記異常診断システムの判定精度を維持するために、異常度スコアの状態を監視し、モデル劣化時にモデル更新をするためのシステムである。
【0077】
ステップS201では、異常度スコア算出部103により算出された異常度スコアを抽出する。異常度スコアは正常系の中心からの距離であるため、異常度スコアが上昇した場合、時系列データ201のデータの分布が正常系の中心から離れていることを示している。言い換えると、時系列データの分布が変化していることを示している。
【0078】
ステップS202では、モデル劣化検知部104が、S201で抽出した異常度スコアが、一定期間中に複数回モデル劣化判定しきい値を超えるか、判定する。モデル劣化判定しきい値は、モデル作成時に算出される指標であり、例えば下記のホテリングのT2法を用いた数式で算出される。ただし、下記の計算式6は、異常度スコアが自由度3のカイ二乗分布に従うとき、異常データの数を全体の10%と設定するときの式である。
【0079】
【0080】
ただし、f(a, m)はカイ二乗分布の確率密度関数であり、aは異常度スコア、mは自由度を示す。上記の数式におけるXがモデル劣化判定しきい値を示しており、逆算可能である。
【0081】
モデル劣化判定しきい値はドメイン知識などを用いて人が判断しても良い。
【0082】
検査対象が複数回連続で不良である可能性もあるため、異常度が一定期間中に複数回、モデル劣化判定しきい値を超えた場合に、モデル劣化として検知する。
【0083】
モデル劣化状態とは、正常と異常を識別するためのマージンが狭くなっている状態であり、誤報・失報が発生するリスクが高いことを示す。しかし、モデル劣化状態はマージンが狭くなっただけであり、モデル劣化検知時では誤報・失報が発生していない場合もある。
【0084】
ステップS203では、モデル劣化が検知された場合、学習曲線推定部105が、新規モデル(バックグラウンドで学習中の切替候補モデル)の学習曲線を推定する。この時点で作成された新規モデルが、予め定義された適用基準を満たす場合は、作成した新規モデルをモデルデータ206に格納する。予め定義された適用基準は、本番運用するモデルとしての条件を満たすことを示す基準であり、例えば学習に使用したデータ期間、データの総量、予測精度などで判断しても良い。
【0085】
ステップS204では、ステップS203で推定した学習曲線を用いて、単位時間あたりの誤報・失報数を算出する。誤報・失報数の算出式は、式1で定義した式を用いる。
【0086】
ステップS205では、モデル切替えコスト算出部106が、算出された誤報・失報数と、誤報・失報コスト情報204と、を用いて、誤報・失報により発生するコストを算出する。誤報・失報により発生するコストは、式2で定義した式を用いる。
【0087】
ステップS206では、モデル更新コスト情報203を用いて、モデル更新で発生するコストを算出する。モデル更新で発生するコストは、式3で定義した式を用いる。
【0088】
ステップS207では、モデル切替え時刻予測部107が、誤報・失報により発生するコストと、モデル更新で発生するコストと、を用いて、合計コストが最も小さくなる時刻を算出する。モデル更新で発生する合計コストは、例えば下記の計算式7で算出される。
(式7)
モデル更新で発生する合計コスト = 運用中モデルの誤報失報コスト + モデル切替時のコスト + 切替モデルの誤報失報コスト
【0089】
モデル更新で発生するコストは、例えば責任者が不在の時刻でのモデル更新は承認コストが発生するなど、装置の状態や、更新時期によりコストが増減する可能性があり、上記の合計コスト算出時に加味して算出しても良い。モデル更新時期が決定したらユーザに通知する。また、前記モデル更新時期において、異常診断モデル作成部111がモデルを作成するように予約を行う。前記異常診断モデル作成部111によって作成されたモデルは、例えば、装置の稼働時間外等に自動的に適用される。前記モデル作成時にユーザに通知し、ユーザがモデル更新判断を行っても良い。
【0090】
ステップS202でYesの場合、すなわちモデル劣化検知時には、ステップS203~ステップS207の処理を経て、例えば、劣化を検知した日時や、ステップS207で算出されたモデルの次回更新予定日時などを、ユーザに通知する。
横軸に平行な実線1301は、運用中モデルの特性を示している。この例では、現在運用中のモデルは単位時間当たりに1個の誤報・失報数が発生することを示している。実線1302Pは切替候補モデルの特性であり、学習済のモデルの誤報・失報数である。破線1302Fは切替候補モデルの特性であり、今後の学習のモデルの誤報・失報数の予測値である。
実線1302Pの特性が示すように、切替候補モデルが円形、小径円、楕円形などのコンテキストを学習した結果、時間t1の時点で実線1301が示す運用中モデルと遜色ない誤報・失報数を達成している。しかし、現場のエンジニアは大径円のコンテキストの学習が未だ出来ていないことをドメイン知識(例えば過去の製造実績や将来の製造予定)から知ることができる。このため、大径円のコンテキストを学習後にモデル切替を実施したほうが、高い精度が得られるという判断ができる。
製品種別がケーブルの場合、ケーブルの種別により求められる品質や仕様が異なる。品質を決定する特性に伸び、引張強度、難燃性等がある。これらの特性は、製造工程における製造パラメータにより変化するため、コンテキスト情報として製品種別と工程の組み合わせが考えられる。したがって、製造工程が一定であったとしても、製品種別の増加により、コンテキストが増加する可能性がある。
ステップS301では、コンテキスト情報202より、コンテキスト情報を取得する。コンテキスト情報は、製造管理システムやイベントログ、メンテナンス記録などから取得しても良い。
ステップS302では、コンテキストの総数のうち、学習したコンテキスト(製品種別)の割合を算出する。例えば、対象装置の製造製品の偏りなどに起因した、コンテキストの存在確率に偏りがある場合には、学習したコンテキストの割合に重み付けをしても良い。
実施例1の学習データ数に基づいた学習曲線推定と、実施例2のコンテキスト数に基づいた学習曲線推定は、片方だけを用いてもよいし、両方の推定結果を重みづけして推定結果として用いてもよい。