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

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

▶ パナソニックIPマネジメント株式会社の特許一覧

特開2024-132375状態判定方法、データ生成方法、状態判定装置、およびデータ生成装置
<>
  • 特開-状態判定方法、データ生成方法、状態判定装置、およびデータ生成装置 図1
  • 特開-状態判定方法、データ生成方法、状態判定装置、およびデータ生成装置 図2
  • 特開-状態判定方法、データ生成方法、状態判定装置、およびデータ生成装置 図3
  • 特開-状態判定方法、データ生成方法、状態判定装置、およびデータ生成装置 図4
  • 特開-状態判定方法、データ生成方法、状態判定装置、およびデータ生成装置 図5
  • 特開-状態判定方法、データ生成方法、状態判定装置、およびデータ生成装置 図6
  • 特開-状態判定方法、データ生成方法、状態判定装置、およびデータ生成装置 図7
  • 特開-状態判定方法、データ生成方法、状態判定装置、およびデータ生成装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024132375
(43)【公開日】2024-10-01
(54)【発明の名称】状態判定方法、データ生成方法、状態判定装置、およびデータ生成装置
(51)【国際特許分類】
   G06N 3/0455 20230101AFI20240920BHJP
   G06N 3/08 20230101ALI20240920BHJP
【FI】
G06N3/0455
G06N3/08
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2023043114
(22)【出願日】2023-03-17
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】岩本 勇樹
(72)【発明者】
【氏名】田坂 啓
(72)【発明者】
【氏名】中尾 克
(57)【要約】
【課題】従来よりも状態判定時の処理負荷を軽減し、応答性を向上させる。
【解決手段】状態判定方法は、対象から検出されたデータを取得し、予め決定された基準データと前記検出されたデータとの違いを算出し、当該違いに基づいて、前記対象の状態を判定し、前記基準データは、機械学習による学習済みモデルを用いて、前記学習済みモデルの入力としての第1のデータ群と、前記学習済みモデルの出力である当該第1のデータ群に対応する複数の推論データそれぞれとの違いに基づいて前記複数の推論データのうちの少なくとも1つの推論データに決定される。
【選択図】図8
【特許請求の範囲】
【請求項1】
対象から検出されたデータを取得し、
予め決定された基準データと前記検出されたデータとの違いを算出し、当該違いに基づいて、前記対象の状態を判定し、
前記基準データは、機械学習による学習済みモデルを用いて、前記学習済みモデルの入力としての第1のデータ群と、前記学習済みモデルの出力である当該第1のデータ群に対応する複数の推論データそれぞれとの違いに基づいて前記複数の推論データのうちの少なくとも1つの推論データに決定される、
状態判定方法。
【請求項2】
前記複数の推論データのうち、
当該推論データに対応する第1のデータとの違いが最も小さい推論データ、または、
当該推論データに対応する第1のデータとの違いの平均値に最も近い推論データが、前記基準データとして決定される、請求項1に記載の状態判定方法。
【請求項3】
前記違いは、平均二乗誤差、二乗平均平方根誤差、または平均絶対値誤差のいずれかにて算出される、請求項1に記載の状態判定方法。
【請求項4】
前記違いに対する所定の閾値を用いて前記対象の状態が判定され、
前記所定の閾値は、前記基準データと前記第1のデータ群または前記第1のデータ群と異なる第2のデータ群との違いに基づいて決定される、請求項1に記載の状態判定方法。
【請求項5】
前記基準データと前記所定の閾値とを対応付けて保持させる、請求項4に記載の状態判定方法。
【請求項6】
前記学習済みモデルは、前記第1のデータ群を用いて学習処理が行われることにより得られる、請求項1に記載の状態判定方法。
【請求項7】
前記第2のデータ群は、前記第1のデータ群に属するデータの一部含む、請求項4に記載の状態判定方法。
【請求項8】
前記第1のデータ群は、前記対象が正常である場合に取得される正常データを含み、
前記対象の状態の判定では、前記対象が正常か否かが判定される、請求項1に記載の状態判定方法。
【請求項9】
前記第1のデータ群は、前記対象が異常である場合に取得される異常データをさらに含む、請求項8に記載の状態判定方法。
【請求項10】
前記第2のデータ群は、前記対象が正常である場合に取得される正常データを含み、
前記対象の状態の判定では、前記対象が正常か否かが判定される、請求項4に記載の状態判定方法。
【請求項11】
前記第2のデータ群は、前記対象が異常である場合に取得される異常データをさらに含む、請求項10に記載の状態判定方法。
【請求項12】
前記所定の閾値として、1つまたは複数の閾値が決定され、
前記1つまたは複数の閾値に基づいて、前記対象の状態を複数の分類のいずれであるかが判定される、請求項4に記載の状態判定方法。
【請求項13】
前記判定された状態の情報を出力する、請求項1に記載の状態判定方法。
【請求項14】
前記判定された状態に基づいて、前記対象の動作を制御させる、請求項1に記載の状態判定方法。
【請求項15】
対象から検出されたデータを入力として、学習処理を行うことで学習済みモデルを生成し、
前記学習済みモデルに対して入力された第1のデータ群と、当該第1のデータ群それぞれに対応する前記学習済みモデルの出力である複数の推論データとの違いに基づいて、前記複数の推論データのうちの少なくとも1つを基準データとして決定し、
前記基準データを管理する、
データ生成方法。
【請求項16】
対象から検出されたデータを取得するデータ取得部と、
予め決定された基準データと前記データ取得部にて取得されたデータとの違いを算出し、当該違いに基づいて、前記対象の状態を判定する判定部と、
を有し、
前記基準データは、機械学習による学習済みモデルを用いて、前記学習済みモデルの入力としての第1のデータ群と、前記学習済みモデルの出力である当該第1のデータ群に対応する複数の推論データそれぞれとの違いに基づいて、前記複数の推論データのうちの少なくとも1つの推論データに決定される、
状態判定装置。
【請求項17】
対象から検出されたデータを入力として、学習処理を行うことで学習済みモデルを生成する学習部と、
前記学習済みモデルに対して入力された第1のデータ群と、当該第1のデータ群それぞれに対応する前記学習済みモデルの出力である複数の推論データとの違いに基づいて、前記複数の推論データのうちの少なくとも1つを基準データとして決定する決定部と、
前記基準データを管理する管理部と、
を有する、データ生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、状態判定方法、データ生成方法、状態判定装置、データ生成装置に関する。
【背景技術】
【0002】
従来、装置等に対して設置されたセンサ等で検出された信号を用いて、当該装置の状態の判定を行うことが普及している。また、状態判定を行う際に、所定の学習アルゴリズムによる学習済みモデルを用いる手法も普及してきている。例えば、特許文献1では、取得したデータに対して自己符号化器による学習を行い、判定時にはその学習済みモデルを用いて機器の状態を判定する構成が記載されている。また、特許文献2では、プラント設備の異常兆候検知システムにおいて、取得されるデータから正常データを選定し、その正常データを用いて異常兆候の検知に用いる学習モデルを構成することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-38594号公報
【特許文献2】特開2021-117722号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、上述した従来の事情を鑑みて案出され、従来よりも状態判定時の処理負荷を軽減し、応答性を向上させることを目的とする。
【課題を解決するための手段】
【0005】
本開示は、対象から検出されたデータを取得し、予め決定された基準データと前記検出されたデータとの違いを算出し、当該違いに基づいて、前記対象の状態を判定し、前記基準データは、機械学習による学習済みモデルを用いて、前記学習済みモデルの入力としての第1のデータ群と、前記学習済みモデルの出力である当該第1のデータ群に対応する複数の推論データそれぞれとの違いに基づいて前記複数の推論データのうちの少なくとも1つの推論データに決定される、状態判定方法を提供する。
【0006】
また、本開示は、対象から検出されたデータを入力として、学習処理を行うことで学習済みモデルを生成し、前記学習済みモデルに対して入力された第1のデータ群と、当該第1のデータ群それぞれに対応する前記学習済みモデルの出力である複数の推論データとの違いに基づいて、前記複数の推論データのうちの少なくとも1つを基準データとして決定し、前記基準データを管理する、データ生成方法を提供する。
【0007】
また、本開示は、対象から検出されたデータを取得するデータ取得部と、予め決定された基準データと前記データ取得部にて取得されたデータとの違いを算出し、当該違いに基づいて、前記対象の状態を判定する判定部と、を有し、前記基準データは、機械学習による学習済みモデルを用いて、前記学習済みモデルの入力としての第1のデータ群と、前記学習済みモデルの出力である当該第1のデータ群に対応する複数の推論データそれぞれとの違いに基づいて、前記複数の推論データのうちの少なくとも1つの推論データに決定される、状態判定装置を提供する。
【0008】
また、本開示は、対象から検出されたデータを入力として、学習処理を行うことで学習済みモデルを生成する学習部と、前記学習済みモデルに対して入力された第1のデータ群と、当該第1のデータ群それぞれに対応する前記学習済みモデルの出力である複数の推論データとの違いに基づいて、前記複数の推論データのうちの少なくとも1つを基準データとして決定する決定部と、前記基準データを管理する管理部と、を有する、データ生成装置を提供する。
【0009】
なお、以上の構成要素の任意の組み合わせ、本開示の表現を方法、装置、システム、記憶媒体、コンピュータプログラムなどの間で変換したものもまた、本開示の態様として有効である。
【発明の効果】
【0010】
本開示によれば、従来よりも状態判定時の処理負荷を軽減し、応答性を向上させることが可能となる。
【図面の簡単な説明】
【0011】
図1】本発明の一実施の形態に係る方法を適用可能な装置の構成例を示すブロック図
図2】本発明の一実施の形態に係る装置の機能構成の例を示すブロック図
図3】本発明の一実施の形態に係る基準データを決定する際の手法を説明するための説明図
図4】本発明の一実施の形態に係る基準データを決定する際の手法を説明するためのヒストグラム
図5】本発明の一実施の形態に係る基準データ決定処理のフローチャート
図6】本発明の一実施の形態に係る閾値決定処理のフローチャート
図7】本発明の一実施の形態に係る閾値を決定する際の手法を説明するためのヒストグラム
図8】本発明の一実施の形態に係る状態判定処理のフローチャート
【発明を実施するための形態】
【0012】
(本開示に至る経緯)
従来、各種センサを用いて装置等からの信号を検出し、当該信号を用いて装置等の状態判定などに利用することが行われている。また、過去のデータと所定の学習アルゴリズムを用いて学習処理を行い、その結果として得られる学習済みモデルを状態判定に利用することも普及してきている。学習処理は一般的に処理負荷が高く、また、学習済みモデルを用いて判定処理を行う場合にも一定の処理時間を要する。そのため、判定時に、過去のデータに基づく学習済みモデルをそのまま適用した場合には、処理のボトルネックが生じ、比較的高い応答性を要するシステムで利用することが困難であった。例えば、特許文献1では、自己符号化器を用いて状態判定のための学習済みモデルを構成し、状態判定の際にその学習済みモデルを利用することが記載されている。しかし、学習済みモデルを用いた判定処理の応答性については考慮されていない。特許文献2についても、正常データを選定して学習済みモデルを構成することは記載されているが、異常兆候の検知の際の応答性については考慮されていない。
【0013】
以下、添付図面を適宜参照しながら、本開示に係る状態判定装置、データ生成装置、状態判定方法、およびデータ生成方法を具体的に開示した実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明、あるいは、実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるものであって、これらにより特許請求の範囲に記載の主題を限定することは意図されない。
【0014】
<実施の形態1>
[装置構成]
図1は、実施の形態1に係る情報処理装置100の構成例を示すブロック図である。詳細については後述するが、本実施の形態に係る各種処理は、学習フェーズと、判定フェーズに分けられる。学習フェーズでは、所定の学習アルゴリズムを用いて学習処理を行って学習済みモデルを生成し、更に当該学習済みモデルを用いて状態判定用のデータを含むデータベース(以下、DBとも記載する)を構成する。判定フェーズでは、学習フェーズにて構成されたDBを用いて状態判定を行う。学習フェーズと判定フェーズは、異なる装置にて実装されてもよいし、同一の装置にて実装されてもよい。図1に示す情報処理装置100は、いずれのフェーズにも適用可能な構成として説明する。学習処理は、一般的に処理負荷が高いことが想定される。そのため、学習フェーズに対応する装置と判定フェーズに対応する装置とは、別個の装置にて構成し、判定フェーズを行う装置が、構成されたDBに含まれる情報を適宜取得して利用することが好ましい。
【0015】
情報処理装置100は、例えば、PC(Personal Computer)、クラウド型またはオンプレミス型のサーバ、もしくは専用装置などで構成されてよい。情報処理装置100は、制御部101、記憶部102、表示部103、操作部104、IF(Interface)部105、および通信部106を含んで構成される。更に、情報処理装置100は、センサ110にて検出された信号を取得可能なように、IF部105を介してセンサ110に接続される。情報処理装置100が備える各部位は、不図示の内部バスを介して互いに通信可能に構成されてよい。
【0016】
制御部101は、記憶部102に格納された各種プログラムやデータを読み出して実行することにより、後述する各種機能を実行する。制御部101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphical Processing Unit)、あるいはFPGA(Field Programmable Gate Array)などを用いて構成されてよい。特に、学習処理を行う際には、CPUとGPUが連携して処理を行うことが好ましい。一方、学習フェーズと判定フェーズに対応する装置を別個に構成する場合、本実施の形態では、判定フェーズにおいて学習に係る処理は実行されないため、これに関する部位は判定フェーズに対応する装置から省略されてよい。
【0017】
記憶部102は、各種データを記憶、保持するための記憶領域であり、例えば、不揮発性の記憶領域であるROM(Read Only Memory)やHDD(Hard Disk Drive)、揮発性の記憶領域であるRAM(Random Access Memory)などから構成されてよい。記憶部102は、例えば、CPUが利用する記憶領域と、GPUが利用する記憶領域を別個に設けてもよい。
【0018】
表示部103は、各種データや処理結果などを表示する。操作部104は、マウスやキーボードなどから構成され、ユーザによる指示やデータの入力を受け付ける際に用いられる。IF部105は、外部装置とのインタフェースであり、外部装置に対する各種制御信号の送受信などを行う。本実施の形態では、センサ110との各種信号の送受信を行う。通信部106は、有線/無線などのネットワークを介して外部装置(不図示)との通信を行い、各種データや信号の送受信を行う。通信部106による通信方式は、特に限定するものではなく、複数の通信方式に対応していてよい。例えば、WAN(Wide Area Network)、LAN(Local Area Network)、電力線通信、近距離無線通信(例えば、Bluetooth(登録商標)やWi-Fi(登録商標))などが用いられてよい。
【0019】
センサ110は、判定対象の周辺もしくは内部に設置され、当該判定対象の状態を信号として検出する。信号を取得することで、時系列的に連続する波形データが構成される。センサ110の例としては、振動センサ、温度センサ、湿度センサ、加速度センサ、回転センサ、圧力センサ、位置センサなど、判定する対象に応じて様々なものが用いられてもよい。位置センサとしては、例えば、GPS(Global Positioning System)などに代表されるGNSS(Global Navigation Satellite System)を利用したセンサが該当する。また、本実施の形態にて用いる信号は、上記のようなセンサ110から直接取得される信号に限定するものではなく、取得されたデータを解析した結果として得られる信号を用いてもよい。例えば、センサ110をカメラなどの撮影装置として構成し、当該撮影装置にて撮影された画像を解析し、その解析結果として得られた信号を用いてもよい。そのほか、センサ110にて取得された時系列データに対してFFT(Fast Fourier Transform)処理を適用して得られるデータを用いてもよい。また、後述する学習処理においては、新規の検出データのみを用いて学習を行うことに限定するものではなく、既存の学習済みモデルを用いて得られる出力データを利用して更に学習を行ってもよい(学習処理における蒸留など)。
【0020】
また、本実施の形態では、波形データを例に挙げて説明するが、適用対象とするデータ形式についても特に限定するものではない。例えば、画像やデータ列などのデータ形式が用いられてもよい。したがって、センサ110の種類や判定対象の構成などに応じて、扱うデータ形式が変更されてよい。
【0021】
[機能構成]
図2は、本実施の形態に係る装置の機能構成の例を示すブロック図である。ここでは、学習フェーズにて機能するデータ生成装置200と、判定フェーズにて機能する状態判定装置210とを分けて説明する。図2に示す各機能は、図1に示した情報処理装置100の制御部101が、記憶部102に格納されたプログラムやデータを読み出して実行したり、各部位が連携して機能したりすることで実現される。なお、図2に示す各部位の構成は一例であり、1つの部位が複数の部位に分けて構成されてもよいし、複数の部位が1つの部位に統合されて構成されてもよい。上述したように、データ生成装置200と状態判定装置210が同一の情報処理装置100にて実装されてもよい。したがって、情報処理装置100は、本実施の形態に係る状態判定方法を実行する状態判定装置210、および、状態判定のためのDBを構成するデータ生成装置200のいずれにも適用可能である。
【0022】
データ取得部201は、センサ110からの信号の他、ユーザから指定された各種データを取得する。データ生成装置200にて用いられるデータの種類の例については後述する。
【0023】
学習部202は、学習データ保持部205にて保持されている学習データと、所定の学習アルゴリズムとを用いて学習処理を行い、学習済みモデルを生成する。なお、「学習」または「機械学習」とは、学習データおよび任意の学習アルゴリズムを用いて学習を行うことにより、「学習済みモデル」を生成することを指す。学習済みモデルは、複数の学習データを用いて学習が進むことにより、適時更新され、同じ入力であってもその出力が変化していく。したがって、学習済みモデルは、いずれの時点での状態であるかを限定するものではない。ここでは、学習にて用いられるモデルを「学習モデル」と記載し、一定程度の学習が行われた学習モデルを「学習済みモデル」と記載する。
【0024】
本実施の形態に係る「学習データ」の具体的な例については後述するが、その構成は状態判定対象に応じて変更されてよい。本実施の形態における学習処理は、学習アルゴリズムとして自己符号化器(オートエンコーダ)を用いて行われる。オートエンコーダの手法は公知であるため詳細な説明は省略するが、教師無し学習の一種である。オートエンコーダにより構成された学習済みモデルは、入力されたデータを、学習データとして用いられたデータに近づくように変換して出力する。オートエンコーダには、積層オートエンコーダ、畳み込みオートエンコーダ、変分オートエンコーダなど様々な学習アルゴリズムがあるが、特に限定するものでは無い。本実施の形態に係る学習処理においては、状態判定対象(例えば、装置)が正常状態である場合に取得されたデータを学習データとする。そして、学習データを用いて一定程度の学習処理が繰り返されることで学習済みモデルが生成される。なお、状態判定対象や判定すべき内容によっては、状態判定対象が異常状態である場合に取得されるデータが用いられてもよい。
【0025】
学習モデル管理部203は、学習部202にて生成された学習済みモデルを保持、管理する。学習モデル管理部203は、学習の程度に応じて複数の学習済みモデルを管理してよい。もしくは、学習に用いた学習データに応じて複数の学習済みモデルを管理してもよい。例えば、最新の学習済みモデルに加えて、学習の段階ごとに複数の学習済みモデルを管理してもよい。
【0026】
基準データ決定部204は、学習モデル管理部203にて管理されている学習済みモデルと、学習データ保持部205にて保持されている学習データとを用いて、「基準データ」を決定する。本実施の形態に係る「基準データ」の詳細については、後述する。
【0027】
学習データ保持部205は、学習部202や基準データ決定部204などで用いられる学習データを保持する。
【0028】
基準データ管理部206は、基準データ決定部204にて決定した基準データ、および、閾値決定部208にて決定した閾値を対応付けて管理する。また、基準データ管理部206は、状態判定装置210からの要求に応じて、保持しているデータを提供する。
【0029】
閾値決定用データ保持部207は、閾値決定部208にて閾値を決定するために用いられる閾値決定用データを保持する。本実施の形態に係る閾値決定用データの詳細については後述する。
【0030】
閾値決定部208は、閾値決定用データを用いて、基準データに対応付ける閾値を決定する。本実施の形態に係る閾値の決定方法の詳細については後述する。
【0031】
状態判定装置210は、基準データ保持部211、データ取得部212、データ判定部213、および判定結果出力部214を含んで構成される。基準データ保持部211は、状態判定を行うための基準データをデータ生成装置200の基準データ管理部206から取得し、DBとして管理する。ここで取得される情報は、データ生成装置200が保持しているデータすべてを取得してもよいし、状態判定対象に応じて一部のみが取得されて保持されてもよい。
【0032】
データ取得部212は、状態判定対象のデータを、センサ110を介して取得する。データ取得部212は、取得したデータを状態判定のために前処理を行うような構成であってもよい。また、データ取得部212は、ユーザが指定したデータを取得するような構成であってもよい。
【0033】
データ判定部213は、データ取得部212にて取得したデータと、基準データ保持部211にて保持しているDBとを用いて状態判定を行う。本実施の形態に係る状態判定の詳細は後述する。判定結果出力部214は、データ判定部213による判定結果の出力を行う。ここでの出力方法は、表示部103にて画面を介してユーザが視認可能に表示してもよいし、不図示の外部装置へ判定結果を通知するように出力してもよい。
【0034】
[基準データの導出]
本実施の形態における学習フェーズにて生成される基準データについて図3図4を用いて説明する。
【0035】
上述したように、本実施の形態では、オートエンコーダを用いて学習処理を行う。まず、所定数の学習データ群を用いて、学習データ群の入力を行い、その出力が入力に近づくように学習が進められる。本実施の形態では、学習データは、状態判定対象が正常状態である場合に取得されるデータとする。その結果、図3に示すように学習済みモデル310が得られる。
【0036】
学習済みモデル310を構築するための学習データ群および基準データを導出するための学習データ群300は、状態判定対象から直接的に、または、間接的に得られるデータである。上述したように、状態判定対象が所定の状態(例えば、正常または異常)において動作している際に取得されるデータなどが学習データに利用することが可能である。言い換えると、学習データは、対象の状態を判定するために取得される、当該対象の状態と何らかの相関を有するデータにて構成される。ここでの相関の程度は特に限定するものではないが、状態判定の内容に応じて、より相関が高い項目が含まれるデータが好ましい。例えば、状態判定の対象と同じ機種から得られたデータや、同じ測定センサにて得られたデータを用いることなどが考えられる。そのほか、対象の構成などを考慮して任意のデータの種類が選択されてよい。
【0037】
また、学習データを構成する状態判定対象から間接的に得られるデータの一例としては、例えば、状態判定対象から得られるデータに対して変換処理や解析処理を行うことで得られるデータが挙げられる。そのほかにも、状態判定対象から得られるデータの周波数や波形の形状に着目し、これらと類似するような信号が用いられてもよい。このような信号としては、例えば、sin波やチャープ信号が用いられてよい。このような波形形状の類似により、対象の状態判定のためのデータ間の相関を反映させることができるため、学習データとして用いることができる。このような学習データを用いて学習済みモデルの構成および基準データを導出することで、対象の状態、すなわち、状態判定時に対象から得られるデータと何らかの相関のある様々なデータに基づく学習済みモデルや基準データを予め設定することが可能となる。
【0038】
次に、学習済みモデル310に対して、学習の際に用いられた学習データ群300を入力し、それらに対応する出力である推論波形群320を取得する。これにより、学習データと推論波形の対となるデータ群が得られる。なお、本実施の形態では、データ形式として波形データを用いるため、推論データとしては推論波形が得られる。一方、上述したように画像データなど他のデータ形式を用いる場合には、それに対応した推論データが得られることとなる。
【0039】
そして、これらのデータ群を用いて、誤差導出330にてMSE(Mean Squared Error;平均二乗誤差)を得る。なお、本実施の形態では、誤差導出330において、評価指標としてMSEを用いる例を示しているが、これに限定するものではない。例えば、RMSE(Root Mean Squared Error;二乗平均平方根誤差)やMAE(Mean Absolute Error;平均絶対値誤差)など他の評価指標を用いてもよい。
【0040】
図4は、データ群から算出されたMSEにて得られるヒストグラムの例を示す。図4において、横軸は判定誤差を示し、縦軸は度数を示す。図4の例において、「A」は、学習データと、対応する推論波形とのMSEが最小値となる場合の対の分布を示す。「B」は、学習データと、対応する推論波形とのMSEが中央値(平均値)となる場合の対の分布を示す。「C」は、学習データと、対応する推論波形とのMSEが最大値となる場合の対の分布を示す。
【0041】
本実施の形態では、これらの値に基づいて、推論波形群320の中から少なくとも1つの基準データを決定する。例えば、「A」の分布に含まれる複数の対における推論波形を基準データとして用いてよい。または、「B」の分布に含まれる複数の対における推論波形を基準データとして用いてよい。または、「A」、「B」、「C」に含まれる対から、それぞれ1つずつ推論波形を基準データとして決定してもよい。もしくは、「A」、「B」、「C」に含まれる対から、それぞれ1つずつ推論波形を候補として抽出しておき、ユーザがいずれかを選択して用いるような構成であってもよい。その結果、基準データ340が得られる。
【0042】
誤差分布は状態判定対象の装置や用いるデータの種類、学習の程度などによって変動し得る。そのため、これらを考慮し、より精度の高い状態判定が可能な分布に基づいて、基準データを決定してよい。例えば、上記では最小値、中央値、最大値の例を示したが、他のパラメータを用いてもよい。より具体的には、評価指標の最頻値や、1つまたは複数のピーク値などを用いてもよい。
【0043】
なお、誤差の判定方法や扱い方法は、扱うデータに依存して異なっていてよい。例えば、扱うデータが波形データである場合、対応する位置(例えば、時間)における点の差分であってよい。また、データ列である場合、データ列に含まれるパラメータ全体の差であってよい。また、画像である場合、対応する位置(例えば、画像内の座標)の画素値や輝度の差であってよい。また、波形データ、データ列、画像同士の積分値や面積の差であってもよい。よって、データ形式に応じて、誤差を算出するためのパラメータ(時間、データ数、座標など)が更に取得されてよい。なお、扱うデータによっては、用語「誤差」は、データ間の違いを意味するものとし、必要に応じて、「違い」や「差異」などと読み替えてよい。
【0044】
[処理フロー]
以下、本実施の形態に係る処理フローについて説明する。
【0045】
(基準データ決定処理)
まず、本実施の形態に係る学習フェーズにおける基準データ決定処理について説明する。図5に示す基準データ決定処理は、例えば、データ生成装置200として機能する情報処理装置100の制御部101のCPUやGPUが記憶部102に格納された各種プログラムやデータを読み出して実行することにより実現されてよい。ここでは説明を簡単にするため、処理主体をデータ生成装置200として包括的に示す。また、学習データを用いてオートエンコーダによる学習が行われてすでに学習済みモデルが構成され、これが利用可能な状態になっているものとする。
【0046】
ステップS501にて、データ生成装置200は、学習済みモデルを構成する際に用いた学習データ群を取得する。
【0047】
ステップS502にて、データ生成装置200は、ステップS501にて取得した学習データ群を学習済みモデルに入力し、学習データ群に含まれる学習データそれぞれに対応する推論波形を推論波形群として取得する。
【0048】
ステップS503にて、データ生成装置200は、ステップS502にて取得した学習データとそれに対応する推論波形の対を用いて、MSEを算出する。そして、データ生成装置200は、図4に示すように、算出したMSEに基づく誤差分布を導出する。
【0049】
ステップS504にて、データ生成装置200は、ステップS503にて導出した誤差分布に基づき、ステップS502にて取得した推論波形群の中から1つまたは複数の推論波形を基準データとして決定する。基準データの決定方法は、図4を用いて説明したように誤差の分布に基づいて行われてよい。
【0050】
ステップS505にて、データ生成装置200は、ステップS504にて決定した基準データを記憶部102に記憶する。このとき、基準データに対応する学習データを併せて記憶してもよい。そして、本処理フローを終了する。
【0051】
(閾値決定処理)
次に、本実施の形態に係る学習フェーズにおける閾値決定処理について説明する。図6に示す閾値決定処理は、例えば、データ生成装置200として機能する情報処理装置100の制御部101のCPUが記憶部102に格納された各種プログラムやデータを読み出して実行することにより実現されてよい。ここでは説明を簡単にするため、処理主体をデータ生成装置200として包括的に示す。また、本処理の前に、図5に示した基準データ決定処理が行われて、基準データが決定されているものとする。
【0052】
ステップS601にて、データ生成装置200は、閾値決定用データ群を取得する。本実施の形態において、閾値決定用データは、上述した学習済みモデルを構成する際に用いた学習データと同様の構成とする。なお、学習済みモデルを構成する際に用いられた学習データ群と、閾値決定用データ群との全部または一部が重複していてもよいし、異なっていてもよい。例えば、学習データ群のデータ数が十分に多い場合、すなわち、統計値を取得するために十分なデータ数を用いることができる場合には、学習データ群を閾値決定用データ群として用いてもよい。一方、学習データ群のデータ数が十分でない場合、閾値の妥当性を担保するためには学習データ群とは異なるデータ群を閾値決定用データ群として用いる方が好ましい。閾値決定用データは、状態判定対象が正常である場合に取得された正常データと、異常である場合に取得された異常データを含んでよい。閾値決定用データについても、学習データと同様、対象の状態との相関があるデータが用いられる。
【0053】
ステップS602にて、データ生成装置200は、すでに決定されている基準データを取得する。
【0054】
ステップS603にて、ステップS601にて取得した閾値決定用データ群と、ステップS602にて取得した基準データを用いて、MSEを算出する。そして、データ生成装置200は、算出したMSEに基づく誤差分布を導出する。
【0055】
ステップS604にて、データ生成装置200は、ステップS603にて導出した誤差分布に基づき、閾値を決定する。図7は閾値決定の例を示す図である。図7において、横軸は誤差を示し、縦軸は度数を示す。例えば、図7(a)に示すヒストグラム700は、基準データと、状態判定対象が正常である場合のデータを閾値決定用データとして用いた場合に得られるMSEのヒストグラムを示している。このとき、中央値701に対し、所定の値Dを加算した値を閾値702と設定してよい。値Dは特に限定するものでは無いが、例えば、標準偏差σの3倍(=3σ)を用いてよい。判定フェーズでは、状態判定対象から得られたデータと基準データとのMSEが閾値702以下の場合には正常であると判定でき、MSEが閾値702より大きい場合には異常であると判定することができる。
【0056】
図7(b)は、閾値決定用データとして、状態判定対象が正常である場合に取得された正常データと異常である場合に取得された異常データを用いた場合に得られるMSEのヒストグラムを示している。ヒストグラム711は正常データと基準データとのMSEに対応し、ヒストグラム712は異常データと基準データとのMSEに対応する。ここでは、各ヒストグラムにおいて度数が所定値よりも小さい誤差分布は除去して示している。そして、ヒストグラム711の端部713と、ヒストグラム712の端部714との間で閾値715を設定してよい。ここでの閾値715は、端部713と端部714の中点であってもよいし、端部713と端部714の差分に対して予め設定された割合D1、D2(D1+D2=1;0<D1<1;0<D2<1)に基づいて決定されてもよい。判定フェーズでは、状態判定対象から得られたデータと基準データとのMSEが閾値715以下の場合には正常であると判定でき、MSEが閾値715より大きい場合には異常であると判定することができる。
【0057】
ステップS605にて、データ生成装置200は、ステップS604にて決定した閾値と、ステップS602にて取得した基準データとを対応付けて記憶する。そして、本処理フローを終了する。
【0058】
(異常判定処理)
次に、本実施の形態に係る判定フェーズにおける異常判定処理について説明する。図8に示す異常判定処理は、例えば、状態判定装置210として機能する情報処理装置100の制御部101のCPUが記憶部102に格納された各種プログラムやデータを読み出して実行することにより実現されてよい。ここでは説明を簡単にするため、処理主体を状態判定装置210として包括的に示す。また、本処理の前に、図6に示した閾値決定処理が行われて、判定に用いられるデータがデータベースに保持され、状態判定装置210が利用可能な状態になっているものとする。また、状態判定装置210は、状態判定対象である装置からセンサ110等により判定に用いるデータを取得可能な状態になっているものとする。また、本処理フローは、ユーザの指示に基づいて実行されてもよいし、状態判定対象が動作している間、継続的に実行されてもよい。
【0059】
ステップS801にて、状態判定装置210は、状態判定対象のデータを、センサ110を介して取得する。
【0060】
ステップS802にて、状態判定装置210は、すでに生成されている基準データと、それに対応づけられた閾値をデータベースから参照する。
【0061】
ステップS803にて、状態判定装置210は、ステップS801にて取得したデータと、ステップS802にて取得した基準データを用いて、MSEを算出する。
【0062】
ステップS804にて、状態判定装置210は、ステップS801にて取得した閾値と、ステップS803にて算出したMSEを比較する。MSEが閾値より小さい場合(ステップS804:YES)、状態判定装置210の処理はステップS805へ進む。一方、MSEが閾値以上である場合(ステップS804:NO)、状態判定装置210の処理はステップS806へ進む。
【0063】
ステップS805にて、状態判定装置210は、状態判定対象が正常であると判定する。その後、状態判定装置210の処理はステップS807へ進む。
【0064】
ステップS806にて、状態判定装置210は、状態判定対象が異常であると判定する。その後、状態判定装置210の処理はステップS807へ進む。
【0065】
ステップS807にて、状態判定装置210は、判定結果を出力する。ここでの出力方法は特に限定するものでは無いが、例えば、表示部103にて判定結果を視覚的に表示してもよいし、異常時に音声等で通知してもよい。
【0066】
ステップS808にて、状態判定装置210は、ステップS801にて取得した対象データと、判定結果とを対応付けて記憶部102に判定履歴として記憶する。そして、本処理フローを終了する。
【0067】
以上、本実施の形態により、判定装置(例えば、100、210)は、対象から検出されたデータを取得するデータ取得部(例えば、110、212)と、予め決定された基準データ(例えば、340)とデータ取得部にて取得されたデータとの違い(例えば、MSE)を算出し、当該違いに基づいて、対象の状態を判定する判定部(例えば、213)と、を有し、基準データは、機械学習(例えば、自己符号化器)による学習済みモデル(例えば、310)を用いて、学習済みモデルの入力としての第1のデータ群(例えば、300)と、学習済みモデルの出力である当該第1のデータ群に対応する複数の推論データ(例えば、320)それぞれとの違いに基づいて複数の推論データのうちの少なくとも1つの推論データに決定される。
【0068】
これにより、状態判定時に学習モデルを使用しないため、従来よりも状態判定時の処理負荷を軽減し、応答性を向上させることが可能となる。特に、自己符号化器による判定精度を維持した状態で、判定時の応答性を向上させることが可能となる。更には、一般的にデータ容量が膨大となりうる学習済みモデルのデータ(例えば、数十MBのデータ)を判定装置側に配置(デプロイ)する必要が無くなり、判定装置の簡易化も可能となる。
【0069】
また、複数の推論データのうち、当該推論データに対応する第1のデータとの違いが最も小さい推論データ、または、当該推論データに対応する第1のデータとの違いの平均値に最も近い推論データが、基準データとして決定される。
【0070】
これにより、データ間の違いの最小値や平均値に基づいて、判定基準を決定することができる。
【0071】
また、違いは、平均二乗誤差、二乗平均平方根誤差、または平均絶対値誤差のいずれかにて算出される。
【0072】
これにより、平均二乗誤差、二乗平均平方根誤差、または平均絶対値誤差を用いて判定基準を決定することができる。
【0073】
また、判定部は、違いに対する所定の閾値(例えば、702、715)を用いて対象の状態を判定し、所定の閾値は、基準データと第1のデータ群(例えば、学習データ)または第1のデータ群とは異なる第2のデータ群(例えば、閾値決定用データ)との違いに基づいて決定される。
【0074】
これにより、所望のデータを用いて、基準データに対応する判定用の閾値を決定することが可能となる。
【0075】
また、基準データと所定の閾値とを対応付けて保持する保持部(例えば、206、211)を更に有する。
【0076】
これにより、判定が行われる前に基準データおよび閾値を算出して保持でき、判定時の処理負荷を低減することが可能となる。
【0077】
また、学習済みモデルは、第1のデータ群を用いて学習処理が行われることにより得られる。また、第2のデータ群は、第1のデータ群に属するデータの一部を含む。また、第1のデータ群は、対象が正常である場合に取得される正常データを含み、対象の状態の判定では、対象が正常か否かが判定される。また、第1のデータ群は、対象が異常である場合に取得される異常データをさらに含む。また、第2のデータ群は、対象が正常である場合に取得される正常データを含み、対象の状態の判定では、対象が正常か否かが判定される。また、第2のデータ群は、対象が異常である場合に取得される異常データをさらに含む。
【0078】
これにより、状態判定対象の構成や判定内容に応じて任意にデータを設定して利用することが可能となる。
【0079】
また、所定の閾値として、1つまたは複数の閾値が決定され、判定部は、1つまたは複数の閾値に基づいて、前記対象の状態を複数の分類のいずれであるかを判定する。
【0080】
これにより、状態判定対象を任意の数の分類にて状態判定することが可能となる。
【0081】
また、判定部により判定された状態の情報を出力する出力部(例えば、214)を更に有する。また、判定部により判定された状態に基づいて、対象の動作を制御させる制御部(例えば、214)を更に有する。
【0082】
これにより、判定結果に応じたユーザへの通知や、対象の制御に係るフィードバックを行うことが可能となる。
【0083】
また、データ生成装置(例えば、100、200)は、対象から検出されたデータを入力として、学習処理を行うことで学習済みモデル(例えば、310)を生成する学習部(例えば、202)と、学習済みモデルに対して入力された第1のデータ群(例えば、300)と、当該第1のデータ群それぞれに対応する学習済みモデルの出力である複数の推論データ(例えば、320)との違いに基づいて、複数の推論のうちの少なくとも1つを基準データとして決定する決定部(例えば、204)と、基準データを管理する管理部(例えば、206)と、を有する。
【0084】
これにより、状態判定前に学習済みモデルを生成してこれに基づいて基準データを決定しておくため、従来よりも状態判定時の処理負荷を軽減し、応答性を向上させることが可能となる。特に、学習処理を事前に行って得られる学習済みモデルを用いて、予め判定に用いられる基準データを生成して保持しておくことで、判定時の処理負荷を低減させることが可能となる。
【0085】
<その他の実施形態>
上記の実施の形態では、状態判定として、正常と異常の2分類を用いた例を示した。しかし、これに限定するものではなく、閾値決定用データの構成を変えることにより、状態に対して3つ以上の分類を行ってもよい。この場合は、分類の数に応じて、閾値決定処理にて決定される閾値も増加する。例えば、「正常」、「要観察」、「異常」などの3分類であってもよい。また、1つの対象(装置)を継続的に観察して「正常」、「異常」の状態判定を行う構成に限定するものではない。例えば、複数の対象(装置)を順に判定し、それぞれがいずれの状態であるかを分類するような構成であってもよい。
【0086】
また、状態判定時には、複数の基準データを用いて判定を行ってもよい。例えば、複数の基準データそれぞれと、状態判定対象のデータとの評価指標(例えば、MSE)を算出する。そして、これらの複数の評価指標に基づく判定結果の分布に応じて状態を判定してもよい。
【0087】
本発明に係る手法は、利用するセンサの種類などに応じて、様々な装置に適用可能である。例えば、上述したような各種センサをロボットハンドの駆動部(例えば、指部や手首部など)に設置し、それらの検出結果を用いて学習済みモデルや閾値のデータベースを生成しておく。そして、データベースを用いてロボットハンドの駆動状態を判定してもよい。また、状態判定の結果に基づいて、制御信号に対するフィードバック信号(補正量)を生成するために用いられるような構成であってもよい。
【0088】
また、上述した1つ以上の実施の形態の機能を実現するためのプログラムおよびアプリケーションを、ネットワークまたは記憶媒体などを用いてシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。
【0089】
また、1つ以上の機能を実現する回路(例えば、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field Programmable Gate Array))によって実現してもよい。
【0090】
以上、図面を参照しながら各種の実施形態について説明したが、本開示は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に相当し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施形態における各構成要素を任意に組み合わせてもよい。
【産業上の利用可能性】
【0091】
本開示は、状態判定方法、データ生成方法、状態判定装置、およびデータ生成装置として有用である。
【符号の説明】
【0092】
100…情報処理装置
101…制御部
102…記憶部
103…表示部
104…操作部
105…IF部
106…通信部
110…センサ
200…データ生成装置
210…状態判定装置
図1
図2
図3
図4
図5
図6
図7
図8