(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023009637
(43)【公開日】2023-01-20
(54)【発明の名称】判断根拠説明装置及びプログラム
(51)【国際特許分類】
G06N 5/04 20230101AFI20230113BHJP
G06N 3/02 20060101ALI20230113BHJP
【FI】
G06N5/04
G06N3/02
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2021113083
(22)【出願日】2021-07-07
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】南波 昇吾
(72)【発明者】
【氏名】伊藤 洋
(57)【要約】
【課題】
センサが少なかったり、期間が短かったりすることで、取得できるデータが多くない場合でも、系の異常についての説明を可能とすることを課題とする。
【解決手段】
系の物理量を検知する1又は複数のセンサから情報を取得する系情報取得部と、前記系に関する提示を行う提示部と、前記提示を行うに至った判断根拠に対応する法則もしくは経験則の内の少なくともどちらかひとつを説明する判断根拠説明部と、を備えることを特徴とする判断根拠説明装置及び装置を動作させるプログラムである。
【選択図】
図2
【特許請求の範囲】
【請求項1】
監視対象である系における異常に関する情報提示を行う判断根拠説明装置において、
前記系の物理量を検知するセンサから、前記物理量を示す物理量情報を取得する系情報取得部と、
前記物理量情報に基づき検知された前記系の異常についての提示を行う提示部と、
前記提示を行うに至った判断根拠を示す法則もしくは任意の経験則のうち、少なくとも一方に基づいて、前記系の異常と判断した判断根拠として特定する判断根拠演算部を有する判断根拠説明装置。
【請求項2】
請求項1に記載の判断根拠説明装置において、
前記提示部は、前記物理量情報が入力層に入力され、前記法則もしくは前記経験則の内、少なくとも一方を活性化関数として使用するニューラルネットワークを駆動させて、前記提示を行うか否かを判定する判断根拠説明装置。
【請求項3】
請求項2に記載の判断根拠説明装置において、
前記判断根拠演算部は、前記ニューラルネットワークにおける重みづけを、前記判断根拠をして特定し、
前記提示部は、前記重みづけを提示する判断根拠説明装置。
【請求項4】
請求項3に記載の判断根拠説明装置において、
前記提示部は、前記重みづけとして前記法則もしくは前記経験則のうち、少なくとも一方に対応する重みづけを提示する判断根拠説明装置。
【請求項5】
請求項4に記載の判断根拠説明装置において、
前記提示部は、さらに、前記系の異常の度合いを示す異常度合いを提示する判断根拠説明装置。
【請求項6】
請求項5に記載の判断根拠説明装置において、
前記提示部は、前記異常度合いの予測値を予測するための寄与度が所定以上に高い重みづけを、前記判断根拠をして特定する判断根拠説明装置。
【請求項7】
請求項1に記載の判断根拠説明装置において、
前記提示部は、前記判断根拠を、テキスト形式、イメージデータを含む図形式で提示する判断根拠説明装置。
【請求項8】
請求項1乃至7のいずれかに記載の判断根拠説明装置において、
前記系は、機器およびや周囲の環境情報である判断根拠説明装置。
【請求項9】
監視対象である系における異常に関する情報提示を行うコンピュータである判断根拠説明装置に、
前記系の物理量を検知するセンサから、前記物理量を示す物理量情報を取得する系情報取得部と、
前記物理量情報に基づき検知された前記系の異常についての提示を行う提示部と、
前記提示を行うに至った判断根拠を示す法則もしくは任意の経験則のうち、少なくとも一方に基づいて、前記系の異常と判断した判断根拠として特定する判断根拠演算部として機能させるためのプログラム。
【請求項10】
請求項9に記載のプログラムにおいて、
前記提示部は、前記物理量情報が入力層に入力され、前記法則もしくは前記経験則の内、少なくとも一方を活性化関数として使用するニューラルネットワークを駆動させて、前記提示を行うか否かを判定するプログラム。
【請求項11】
請求項10に記載のプログラムにおいて、
前記判断根拠演算部は、前記ニューラルネットワークにおける重みづけを、前記判断根拠をして特定し、
前記提示部は、前記重みづけを提示するプログラム。
【請求項12】
請求項11に記載のプログラムにおいて、
前記提示部は、前記重みづけとして前記法則もしくは前記経験則のうち、少なくとも一方に対応する重みづけを提示するプログラム。
【請求項13】
請求項12に記載のプログラムにおいて、
前記提示部は、さらに、前記系の異常の度合いを示す異常度合いを提示するプログラム。
【請求項14】
請求項13に記載のプログラムにおいて、
前記提示部は、前記異常度合いの予測値を予測するための寄与度が所定以上に高い重みづけを、前記判断根拠をして特定するプログラム。
【請求項15】
請求項9に記載のプログラムにおいて、
前記提示部は、前記判断根拠を、テキスト形式、イメージデータを含む図形式で提示するプログラム。
【請求項16】
請求項9乃至15のいずれかに記載のプログラムにおいて、
前記系は、機器およびや周囲の環境情報であるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、監視対象となる系の不具合や故障などの異常を検知するための技術に関する。その中でも、特に、異常検知の判断根拠を特定(明確化、判断)するための技術に関する。
【背景技術】
【0002】
現在、システム、機器やロボットなどやその周囲の環境情報(以下、系)について、故障等の異常を検知する技術が求められている。例えば、工場の生産ラインにおいて、これを構成する系に故障が発生すると、生産ラインを停止させる必要が生じる。また製品に重大な欠陥が生じた場合は原因究明のため、数週間生産ラインを停止するなど、ダウンタイムコストが膨大となる場合がある。このため、系の故障はできるだけ早期に発見する、もしくは未然に防止することが求められる。
【0003】
系の故障など異常状態を正確にかつ早期に検知するためには、複数のセンサの設置と長期間のデータ計測が必要である。また、故障もしくは異常が発生した場合、系の操作者に故障もしくは異常発生を伝えると同時に、故障もしくは異常状態の発生因果関係を提示する方法が検討されている。
【0004】
例えば、特許文献1の要約書には、「少ないデータから」系の故障もしくは異常状態を検知して操作者に提示する方法として、「観測変数の適切な因果構造を決定することができる因果構造決定装置」を用いて、「因果関係を仮想的に設定した 因果構造を生成する完全グラフ生成部25および因果構造探索部27と、各変数に関して得られたデータに基づき、生成した因果構造の、モデルの複雑さおよびデータとの適合度のバランスの良否を評価する評価値演算部28と、評価が最も高い因果構造を、変数の因果構造として決定する因果構造決定部30を備え」ると記載されている。すなわち特許文献1によれば、例えば生産ラインの各工程において設定されたパラメータ、またはセンサデータ等の変数間の因果関係を、少ないデータでも各変数間の因果構造を利用して、機器の故障および異常状態が推定可能である。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1は「因果関係を仮想的に設定した 因果構造を生成する完全グラフ生成部25および因果構造探索部27と、各変数に関して得られたデータに基づき、生成した因果構造の、モデルの複雑さおよびデータとの適合度のバランスの良否を評価する評価値演算部28と、評価が最も高い因果構造を、変数の因果構造として決定する因果構造決定部30を備え」る構造である。このため、そもそもセンサが少なく、説明可能な因果構造を形成できない場合は、非常に精度が低い評価モデルとなるばかりか、系の因果構造とは全く関係のない変数を入力として、間違った評価モデルを導出する虞がある。このため、実運用上搭載可能な系が限られるといった課題が存在した。
【0007】
そこで、本発明は、センサが少なかったり、期間が短かったりすることで、取得できるデータが多くない場合でも、系の異常についての説明を可能とすることを課題とする。少ない期間であって少ない種類のデータから、系に関する法則もしくは経験則の内の少なくとも一方を説明する判断根拠説明部を用いて、系の故障もしくは異常を説明することが可能とすることを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するための本発明の一例は、系の異常に対応する当該系に関する法則もしくは経験則の内の少なくとも一方に基づいて、異常と判断した判断根拠を提示する。より具体的には、監視対象である系における異常に関する情報提示を行う判断根拠説明装置において、前記系の物理量を検知するセンサから、前記物理量を示す物理量情報を取得する系情報取得部と、前記物理量情報に基づき検知された前記系の異常についての提示を行う提示部と、前記提示を行うに至った判断根拠を示す法則もしくは任意の経験則のうち、少なくとも一方に基づいて、前記系の異常と判断した判断根拠として特定する判断根拠演算部を有する判断根拠説明装置である。
【0009】
また、本発明には、判断根拠説明装置を用いた方法や、これをコンピュータとして機能させるためのプログラムやプログラムを格納した媒体も含まれる。
【発明の効果】
【0010】
本発明によれば、少ない期間であって少ない種類のデータしか取得できない状況であっても、系に発生している異常状態について、系の操作者に説明することが可能になる。
【図面の簡単な説明】
【0011】
【
図1】実施例1、2の判断根拠説明装置を表す図である。
【
図2】実施例1における判断根拠演算部で使用するニューラルネットワークの例を表す図である。
【
図3】実施例1、2における学習処理のフローチャートである。
【
図4】実施例1において、系情報提示部での表示内容を表す図である。
【
図5】実施例2における判断根拠演算部で使用するニューラルネットワークの例を表す図である。
【
図6】実施例2において、系情報提示部での表示内容を表す図である。
【
図7】実施例1、2における判断根拠説明装置をスタンドアロンで実現する実装例を示す図である。
【
図8】実施例1、2における判断根拠説明装置をクラウドシステムで実現する実装例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施例に係る判断根拠説明装置1について、図面を参照して詳細に説明する。なお、本発明は、以下に説明する実施例に限定されるものではない。また、以下の説明において使用する各図面において、共通する各装置、各機器には同一の符号を付しており、すでに説明した各装置、機器および動作の説明を省略する場合がある。
【実施例0013】
図1~
図4を用いて、本発明の実施例1について説明する。本実施例では、判断根拠説明装置1が用いられるが、これは実施例2と共通である。<判断根拠説明装置1の全体概略>
図1は、判断根拠説明装置1の機能ブロックを示す概略図である。実施例1の判断根拠説明装置1では、系情報から系の故障・異常度合い(単に、異常度合いとも称する)の演算及び故障・異常度合いの判断に至った判断根拠を特定及び提示する。
【0014】
判断根拠説明装置1は、系情報取得部11とメモリ12、判断根拠演算部13、系情報提示部14、判断根拠説明部15で構成される。系情報取得部11は、物理量情報を取得する。物理量情報は、例えば電動機から取得可能な電流情報、振動情報、やロボットから取得可能な電流情報、力覚情報、画像情報など、系からセンサもしくは系の制御基盤等から得られる情報を指す。また、物理量情報は、時系列的に連続、もしくは何らかのトリガを受けた間欠的な情報でもある。また系情報取得部では、操作者が系に関する長さ・速度・出力といった物理パラメータを記入する情報記入欄から系情報に関連する情報を取得する場合も考えられる。
【0015】
メモリ12は、系情報記憶部16とモジュール記憶部17、学習モデル記憶部18で構成される。系情報取得部11で取得した情報は、メモリ12内の系情報記憶部16に保存される。モジュール記憶部17は判断根拠演算部13で使用するニューラルネットワークの活性化関数を保存し、学習モデル記憶部18は判断根拠演算部13で出力する判断根拠を提示する際に、ニューラルネットワークの学習モデルを保存する。このように、メモリ12は、記憶部として機能する一例である。
【0016】
判断根拠演算部13では、メモリ12内の系情報記憶部16の系情報と、モジュール記憶部17の活性化関数、学習モデル記憶部18の学習モデルを読み込み、実施例1では系の故障・異常度合いの演算及び故障・異常度合いの判断に至った判断根拠を演算する。
【0017】
系情報提示部14では、系情報取得部11で取得した情報や操作者が情報記入欄に入力した系情報を表示する。判断根拠説明部15では判断根拠演算部13で演算された判断根拠を提示する。<判断根拠演算部13>
図2に、判断根拠演算部13で使用するニューラルネットワークの例を示す。実施例1では、隠れ層が1層で出力層が1ノードの場合を用いて説明する。
図2の入力層として、学習用の説明変数であるXと目的変数であるYを用意する。X及びYは(数1)(数2)のようにあらわすことができる。
【0018】
【0019】
【0020】
ここで、nは各入力層の1ノードに与えるデータ数、Qはノード数を表す。Qの種類として例えば、系の電流情報・振動情報・音響情報等が挙げられる。目的変数Yは実施例1によれば、系の故障もしくは異常判定値として算出され、0から1の間で表現される指標となる。次に入力層から隠れ層にかけて、それぞれのデータに対し、(数3)の重み係数をかける。
【0021】
【0022】
ここで、lは隠れ層の数を表している。重み係数は、計算の初めにランダムで決定され、実施例1では、重み係数は計算が終了するまで更新をしない。またここではl×n行列で重み係数を示しているがlノードのデータ間で重み係数を変更する必要がない場合は、同一行では同じ値をとっても良い。次に、隠れ層から出力層にかけて、(数4)で示される重み係数をかける。
【0023】
【0024】
なお、(数4)の重み係数の更新については、(数8)で後述する。次にバイアスBを(数5)の通り設定する。
【0025】
【0026】
ここで、バイアスBは、計算の初めにランダムで決定され、本実施例では、重み係数は計算が終了するまで更新をしない。以上より出力行列Tは総和規約を用いて、(数6)の通り設定することができる。
【0027】
【0028】
ここで、gは活性化関数を表し、本実施例によれば、法則および任意の経験則を設定する。つまり、(数7)のとおりとすると、
隠れ層から出力層への重み係数の更新は、(数8)の通り更新することが可能となる。
【0029】
【0030】
【0031】
ここでH+は、(数7)の活性化関数の出力値に対する疑似逆行列を表し、T’は出力行列Tの転置行列を表す。この手法によれば、出力層の重み係数の更新で、入力層から出力層への予測を行うことができる。このため、逆伝播型ニューラルネットワークで用いるような、いわゆる逆誤差伝播法(以下、バックプロパゲーション法)に代表されるように、活性化関数の微分値を計算する必要がないため、理論上活性化関数の制約がない。
【0032】
つまり、本実施例の目的とする活性化関数を法則もしくは任意の経験則に設定するには、上記で説明した判断根拠演算部13が最良の形態の一つである。但し、隠れ層の数や疑似逆行列の計算方法については、それに限定されるものではない。
<学習処理フロー>
次に、本実施例における学習処理方法について説明する。
図3は、実施例1の学習処理方法を示すフローチャートである。まず、ステップS301で、判断根拠演算部13が、フラグ(F)を設定する。ステップS301のフラグ設定は、例えば自動で定時ごとに設定してもいいし、系情報提示部14の表示画面を介して、利用者、つまり、系の操作者が手動で設定できるようにしてもよい。
【0033】
ステップS301が終了すると、ステップS302で、判断根拠演算部13が、F≠0かどうかを判定する。F≠0であればステップS303に進み、F=0であれば学習処理を終了する。次に、ステップS303では、系情報取得部11で系情報を取得して、ステップS304に進む。
【0034】
ステップS304では、判断根拠演算部13が、メモリ12のモジュール記憶部17に保存した活性化関数モジュールを読み込んで、ステップS305に進む。次に、ステップS305では、判断根拠演算部13が、(数7)で定義した隠れ層の出力結果に対して、活性化関数モジュールを適用する。ここでは、ステップS304の活性化関数モジュールすべてを適用してもよいし、ランダムもしくは操作者が任意に選択して適用してもよい。ただし、フラグFが1の場合の学習モードとフラグFが2の場合の推定モードとは、活性化関数の組み合わせは同一であることが望ましい。ステップS305のモジュール適用が終了すると、ステップS306に進む。
【0035】
次に、ステップS306では、判断根拠演算部13が、フラグFが1であるかどうかを判定する。この結果、フラグFが1の場合、判断根拠演算部13は、現在の学習処理フローが学習モードであると判定して、ステップS307に進む。また、フラグFが2の場合、判断根拠演算部13は、現在の学習処理フローが推定モードであると判定して、ステップS310に進む。また、ステップS307では、判断根拠演算部13が、(数8)のβを算出して、ステップS308へ進む。このβが、判断根拠の一種である重みづけ(重み係数)を示す。
【0036】
ステップS308では、判断根拠演算部13が、ステップS307で算出したβと活性化関数モジュールgを学習モデル記憶部18に保存して、ステップS309に進む。
【0037】
また、ステップS309では、判断根拠演算部13が、フラグF=0に設定して処理を終了する。
【0038】
また、S310以降において、フラグF=2の推定モードの場合処理が実行される。このため、ステップS310では、判断根拠演算部13が、学習モデル記憶部18を読み込み、学習モデル記憶部18にある隠れ層と出力層間の重み係数βと活性化関数gを読み込んで、ステップS311に進む。
【0039】
次に、ステップS311では、判断根拠演算部13が、(数6)にステップS310で読み込んだ隠れ層と出力層間の重み係数βを代入して、ステップS312に進む。次に、判断根拠演算部13が、ステップS312では(数6)に則り、出力層Tを算出してステップS309に進む。以上で、本実施例における学習処理方法の説明を終了する。
<実作業中の挙動>
次に、本実施例における実作業中の挙動、つまり、処理について説明する。これらは、判断根拠演算部13や判断根拠説明部15で実行される。ここでは、例えば活性化関数にFast Fourier Transform(以下、FFT)を適用し、最大ピークを抽出する関数について説明する。入力データとして(数1)の1列目を入力した際の挙動について説明する。(数9)にFFTの計算式を示す。
【0040】
【0041】
ここで、WNは(数10)で示す。また、Nは、データ数を表す。
【0042】
【0043】
これより、例えば各列に対する最大値を抽出したい場合は、(数11)の通り定義できる。
【0044】
【0045】
以上例として、本実施例では活性化関数としてFFTの最大ピークを抽出する関数を取り上げたが、これに限定されるものではなく、また活性化関数を1種類のみで実施するよりは、複数の活性化関数を用いて実施することが望ましい。
<系情報提示部14>
系情報提示部14の処理について説明する。系情報提示部14では、系の故障・異常度合いの演算及び故障・異常度合いの判断に至った判断根拠を提示する。判断根拠はβの値で説明する。
図4に系情報提示部14で表示する表示内容を例示する。
図4では、各活性化関数にかかる隠れ層から出力層への重み係数βの値が記述される。
図4によれば、yを予測するのに最も寄与度が高い重み係数βはβ
2であり、つまり、β
2がかかっている活性化関数g
2の寄与度が高いことがわかる。ここで、寄与度が高いとは、相対的なものの他、予め定めた基準値以上であることを含む。なお、判断根拠は、
図4に示すような表形式での表示に限らず、グラフ形式でβの値を表示してもよい。さらに、
図4は、テキストデータやイメージデータを含む図とて出力してもよい。また、
図4においては、総則や経験則を項目として用いてもよい。
【0046】
以上詳細に説明したように、本実施例によれば、系情報から寄与度が高い活性化関数を抽出して操作者に情報提示が可能である。このため、例えば系内部が複雑な機構になっていたとしても、活性化関数に適用して法則もしくは任意の経験則に基づいて、系の故障・異常度合いの判断根拠を提示することが可能になる。また、本実施例では、判断根拠として、活性化関数や法則もしくは任意の経験則の重み係数を提示することになる。さらに、重み係数(重みづけ)の更新を以下のとおり行ってもよい。出力層に対し限定的に重み係数を更新し、出力層に接続しないニューロン(隠れ層)の重み係数の更新は抑止する。なお、この更新については、実施例2でも適用可能である。以上で、実施例1の説明を終了する。
ここで、nは各入力層の1ノードに与えるデータ数、Qはノード数を表す。Qの種類として例えば、系の電流情報・振動情報・音響情報等が挙げられる。目的変数Yは実施例2では、系の故障もしくは異常判定値として算出され、0から1の間で表現される指標となる。次に、入力層から隠れ層にかけて、それぞれのデータに対し(数3)の重み係数をかける。
また、lは隠れ層の数を表している。重み係数は、計算の初めにランダムで決定され、実施例1では、重み係数は計算が終了するまで更新をしない。また、ここではl×n行列で重み係数を示しているが、1ノードのデータ間で重み係数を変更する必要がない場合は、同一行では同じ値をとっても良い。次に、隠れ層から出力層にかけて、(数13)の重み係数をかける。
ここで、バイアスBは、計算の初めにランダムで決定され、本実施例では、重み係数は計算が終了するまで更新をしない。以上より、出力行列Tは総和規約を用いて、(数6)の通り設定することができる。
ここで、gは活性化関数を表し、本実施例によれば、法則および任意の経験則を設定する。また、隠れ層から出力層への重み係数の更新は、(数8)の通り更新することが可能となる。ここでH+は、(数7)の活性化関数の出力値に対する疑似逆行列を表し、T’は出力行列Tの転置行列を表す。この手法によれば、出力層の重み係数の更新のみで、入力層から出力層への予測を行うことができる。このため、逆伝播型ニューラルネットワークで用いるような、いわゆる逆誤差伝播法(以下、バックプロパゲーション法)に代表されるように、活性化関数の微分値を計算する必要がない。したがって、理論上活性化関数の制約がない。
最後に、出力装置140は、系情報提示部14で提示される情報を出力するものであり、表示装置やプリンタで実現できる。また、出力装置140は、他のコンピュータやネットワークに情報を出力するものであってもよい。
また、通信装置142は、ネットワーク30を介して端末装置100-3、100-4やデータベースシステム20と接続する。通信装置142は、判断根拠説明装置1の処理結果を端末装置100-3、100-4に出力したり、端末装置100-3、100-4を介して利用者からの入力を受け付けたりする。また、通信装置142は、データベースシステム20の各種情報へのアクセスを実現する。
ここで、端末装置100-1~100-4は、PC、スマートフォン、タブレットといったコンピュータで実現される。そして、これらは。利用者からの入力を受け付けたり、判断根拠説明装置1の処理結果を出力したりする。