(57)【特許請求の範囲】
【請求項１】
１又は複数の下位コントローラであって、
前記下位コントローラに接続される制御対象機器の作動情報を取得する作動情報取得部と、
前記作動情報に基づいて、異常の有無を推定する異常推定部と、
一定期間の前記作動情報を保持する作動情報保持部と、
推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位機器に送信する作動情報送信部と、
を有する下位コントローラと、
上位機器であって、
前記下位コントローラより前記作動情報を受信する作動情報受信部と、
前記異常の有無に応じて動作し、前記作動情報を入力とし、事象情報を出力とする上位ニューラルネットワークモデルを有し、事象を推定する事象推定部と、
を有する上位機器と、
を備え、
前記異常推定部は、前記作動情報の少なくとも一部を入力とし、異常情報を出力とする下位ニューラルネットワークモデルを有し、
前記上位ニューラルネットワークモデルの規模は、前記下位ニューラルネットワークモデルの規模より大きく、
前記上位機器は、前記作動情報を入力とし、前記異常情報を出力とする学習用ニューラルネットワークモデルを有し、前記事象情報に基づいて前記学習用ニューラルネットワークモデルの学習を行う学習部と、学習済み前記学習用ニューラルネットワークモデルに基づいて、前記下位コントローラの前記下位ニューラルネットワークモデルを更新する更新部と、を有する、
事象推定システム。
【請求項２】
前記更新部は、学習済み前記学習用ニューラルネットワークモデルによる推論の精度が向上した場合に、前記下位コントローラの前記下位ニューラルネットワークモデルを更新する、
請求項１に記載の事象推定システム。
【請求項３】
前記学習用ニューラルネットワークモデルの規模は、前記下位ニューラルネットワークモデルの規模より大きく、
前記更新部は、
学習済みの前記学習用ニューラルネットワークモデルの演算桁数を削減する演算桁数削減部と、
演算桁数の削減された前記学習用ニューラルネットワークモデルを、更新された前記下位ニューラルネットワークモデルとして、前記下位コントローラに送信する更新モデル送信部と、を有する、
請求項２に記載の事象推定システム。
【請求項４】
前記学習用ニューラルネットワークモデルの規模は、前記下位ニューラルネットワークモデルの規模と等しく、
前記更新部は、学習済みの前記学習用ニューラルネットワークモデルを、更新された前記下位ニューラルネットワークモデルとして、前記下位コントローラに送信する更新モデル送信部を有する、
請求項２に記載の事象推定システム。
【請求項５】
前記作動情報保持部は、前記下位ニューラルネットワークモデルに入力される前記作動情報を、少なくとも、前記下位ニューラルネットワークモデルからの異常情報の出力がなされるまでの期間保持する、
請求項１〜４のいずれか１項に記載の事象推定システム。
【請求項６】
複数の前記下位コントローラを備え、
前記上位機器は、さらに、
前記事象情報に基づいて、前記作動情報を受信した前記下位コントローラとは異なる他の前記下位コントローラから前記作動情報を追加で受信する作動情報追加受信部と、
複数の前記下位コントローラについての複数の前記作動情報を入力とし、第２の事象情報を出力する第２の上位ニューラルネットワークモデルを有する第２の事象推定部と、を有する、
請求項１〜５のいずれか１項に記載の事象推定システム。
【請求項７】
複数の前記下位コントローラを備え、
前記上位機器は、さらに、
前記事象情報に基づいて、前記作動情報を受信した前記下位コントローラとは異なる他の前記下位コントローラから前記作動情報を追加で受信する作動情報追加受信部と、
複数の前記下位コントローラについての複数の前記作動情報を入力とし、第２の事象情報を出力する第２の上位ニューラルネットワークモデルを有する第２の事象推定部と、
前記下位コントローラそれぞれについて、前記作動情報を入力とし、前記異常情報を出力とする個別学習用ニューラルネットワークモデルを有し、前記第２の事象情報に基づいて前記個別学習用ニューラルネットワークモデルの学習を行う第２の学習部と、
学習済み前記個別学習用ニューラルネットワークモデルに基づいて、前記下位コントローラの前記下位ニューラルネットワークモデルを更新する第２の更新部と、を有する、
請求項１〜５のいずれか１項に記載の事象推定システム。
【請求項８】
前記個別学習用ニューラルネットワークモデルの規模は、前記下位ニューラルネットワークモデルの規模より大きく、
前記第２の更新部は、
学習済みの前記個別学習用ニューラルネットワークモデルの演算桁数を削減する第２の演算桁数削減部と、
演算桁数の削減された前記個別学習用ニューラルネットワークモデルを、更新された前記下位ニューラルネットワークモデルとして、前記下位コントローラに送信する第２の更新モデル送信部と、を有する、
請求項７に記載の事象推定システム。
【請求項９】
前記個別学習用ニューラルネットワークモデルの規模は、前記下位ニューラルネットワークモデルの規模と等しく、
前記第２の更新部は、学習済みの前記個別学習用ニューラルネットワークモデルを、更新された前記下位ニューラルネットワークモデルとして、前記下位コントローラに送信する第２の更新モデル送信部を有する、
請求項７に記載の事象推定システム。
【請求項１０】
前記作動情報保持部は、前記下位ニューラルネットワークモデルに入力される前記作動情報を、少なくとも、前記上位ニューラルネットワークモデルからの事象情報の出力がなされるまでの期間保持する、
請求項７〜９のいずれか１項に記載の事象推定システム。
【請求項１１】
前記上位ニューラルネットワークモデルと、前記学習用ニューラルネットワークモデルは同一のニューラルネットワークモデルである、
請求項３に記載の事象推定システム。
【請求項１２】
前記上位ニューラルネットワークモデルは、共通層と、事象出力層に分離され、
前記学習用ニューラルネットワークモデルは、前記上位ニューラルネットワークモデルと共通の前記共通層と、異常出力層に分離され、
前記学習部は、前記事象情報に基づいて、前記学習用ニューラルネットワークモデルの学習を行い、前記共通層を更新し、
前記更新部は、更新された前記共通層に基づく転移学習により、前記下位ニューラルネットワークモデルを更新する、
請求項１〜１１のいずれか１項に記載の事象推定システム。
【請求項１３】
前記上位機器は、さらに、
前記事象情報に基づいて、前記下位コントローラから、受信済みの前記作動情報と異なる前記作動情報を追加で受信する作動情報追加受信部と、
追加で受信された前記作動情報を入力とし、第２の事象情報を出力する第２の上位ニューラルネットワークモデルを有する第２の事象推定部と、を有する、
請求項１〜５のいずれか１項に記載の事象推定システム。
【請求項１４】
前記上位機器は、前記下位コントローラを制御することにより、間接的に前記制御対象機器を制御する上位コントローラである、
請求項１〜１３のいずれか１項に記載の事象推定システム。
【請求項１５】
前記上位機器は、間接的に前記制御対象機器を制御する上位コントローラとは別に設けられる、
請求項１〜１３のいずれか１項に記載の事象推定システム。
【請求項１６】
前記上位機器は、間接的に前記制御対象機器を制御する上位コントローラとしての機能と、前記作動情報受信部及び前記事象推定部を有する第１の上位機器と、前記学習部及び前記更新部を有する第２の上位機器を有する、
請求項１〜１５のいずれか１項に記載の事象推定システム。
【請求項１７】
複数の下位コントローラであって、
前記下位コントローラに接続される制御対象機器の作動情報を取得する作動情報取得部と、
前記作動情報に基づいて、異常の有無を推定する異常推定部と、
一定期間の前記作動情報を保持する作動情報保持部と、
推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位機器に送信する作動情報送信部と、
を有する下位コントローラと、
上位機器であって、
前記下位コントローラより前記作動情報を受信する作動情報受信部と、
前記異常の有無に応じて動作し、前記作動情報を入力とし、事象情報を出力とする上位ニューラルネットワークモデルを有し、事象を推定する事象推定部と、
を有する上位機器と、
を備え、
前記異常推定部は、前記作動情報の少なくとも一部を入力とし、異常情報を出力とする下位ニューラルネットワークモデルを有し、
前記上位機器は、さらに、
前記事象情報に基づいて、前記作動情報を受信した前記下位コントローラとは異なる他の前記下位コントローラから前記作動情報を追加で受信する作動情報追加受信部と、
複数の前記下位コントローラについての複数の前記作動情報を入力とし、第２の事象情報を出力する第２の上位ニューラルネットワークモデルを有する第２の事象推定部と、
前記下位コントローラそれぞれについて、前記作動情報を入力とし、前記異常情報を出力とする個別学習用ニューラルネットワークモデルを有し、前記第２の事象情報に基づいて前記個別学習用ニューラルネットワークモデルの学習を行う第２の学習部と、
学習済み前記個別学習用ニューラルネットワークモデルに基づいて、前記下位コントローラの前記下位ニューラルネットワークモデルを更新する第２の更新部と、を有する、
事象推定システム。
【請求項１８】
１又は複数の下位コントローラであって、
前記下位コントローラに接続される制御対象機器の作動情報を取得する作動情報取得部と、
前記作動情報に基づいて、異常の有無を推定する異常推定部と、
一定期間の前記作動情報を保持する作動情報保持部と、
推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位機器に送信する作動情報送信部と、
を有する下位コントローラと、
上位機器であって、
前記下位コントローラより前記作動情報を受信する作動情報受信部と、
前記異常の有無に応じて動作し、前記作動情報を入力とし、事象情報を出力とする上位ニューラルネットワークモデルを有し、事象を推定する事象推定部と、
を有する上位機器と、
を備え、
前記作動情報取得部が前記作動情報を取得する速度のほうが、前記作動情報受信部が前記作動情報を受信する速度よりも高速であり、
前記作動情報保持部は、前記異常推定部に入力される前記作動情報を、少なくとも、前記異常推定部からの異常情報の出力がなされるまでの期間保持する、
事象推定システム。
【請求項１９】
複数の下位コントローラであって、
前記下位コントローラに接続される制御対象機器の作動情報を取得する作動情報取得部と、
前記作動情報に基づいて、異常の有無を推定する異常推定部と、
一定期間の前記作動情報を保持する作動情報保持部と、
推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位機器に送信する作動情報送信部と、
を有する下位コントローラと、
上位機器であって、
前記下位コントローラより前記作動情報を受信する作動情報受信部と、
前記異常の有無に応じて動作し、前記作動情報を入力とし、事象情報を出力とする上位ニューラルネットワークモデルを有し、事象を推定する事象推定部と、
を有する上位機器と、
を備え、
前記上位機器は、さらに、
前記事象情報が他作動情報要求を示している場合に、前記作動情報を受信した前記下位コントローラとは異なる他の前記下位コントローラから前記作動情報を追加で受信する作動情報追加受信部と、
複数の前記下位コントローラについての複数の前記作動情報を入力とし、第２の事象情報を出力する第２の上位ニューラルネットワークモデルを有する第２の事象推定部と、を有する、
事象推定システム。
【請求項２０】
下位コントローラにおいて、
前記下位コントローラに接続される制御対象機器の作動情報を取得し、
前記作動情報の少なくとも一部を下位ニューラルネットワークモデルに入力し、異常情報を出力させて、異常の有無を推定し、
一定期間の前記作動情報を保持し、
推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位コントローラに送信し、
上位機器において、
前記下位コントローラより前記作動情報を受信し、
前記異常の有無に応じて、その規模が前記下位ニューラルネットワークの規模より大きい上位ニューラルネットワークモデルに前記作動情報を入力し、事象情報を出力させて事象を推定し、
前記事象情報に基づいて、前記作動情報を入力とし、前記異常情報を出力とする学習用ニューラルネットワークモデルの学習を行い、
学習済み前記学習用ニューラルネットワークモデルに基づいて、前記下位コントローラの前記下位ニューラルネットワークモデルを更新する、
事象推定方法。
【請求項２１】
前記上位機器において、
前記事象情報に基づいて、前記作動情報を受信した前記下位コントローラとは異なる他の前記下位コントローラから前記作動情報を追加で受信し、
第２の上位ニューラルネットワークモデルに、複数の前記下位コントローラについての複数の前記作動情報を入力し、第２の事象情報を出力させる、
請求項２０に記載の事象推定方法。
【請求項２２】
前記上位機器において、
前記下位コントローラそれぞれについての、前記作動情報を入力とし、前記異常情報を出力とする個別学習用ニューラルネットワークモデルに対し、前記第２の事象情報に基づいて学習を行い、
学習済み前記個別学習用ニューラルネットワークモデルに基づいて、前記下位コントローラの前記下位ニューラルネットワークモデルを更新する、
請求項２１に記載の事象推定方法。
【請求項２３】
複数の下位コントローラにおいて、
前記下位コントローラに接続される制御対象機器の作動情報を取得し、
前記作動情報の少なくとも一部を下位ニューラルネットワークモデルに入力し、異常情報を出力させて、異常の有無を推定し、
一定期間の前記作動情報を保持し、
推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位コントローラに送信し、
上位機器において、
前記下位コントローラより前記作動情報を受信し、
前記異常の有無に応じて、上位ニューラルネットワークモデルに前記作動情報を入力し、事象情報を出力させて事象を推定し、
前記事象情報に基づいて、前記作動情報を受信した前記下位コントローラとは異なる他の前記下位コントローラから前記作動情報を追加で受信し、
複数の前記下位コントローラについての複数の前記作動情報を第２の上位ニューラルネットワークモデルに入力し、第２の事象情報を出力させ、
前記下位コントローラについて、前記第２の事象情報に基づいて、前記作動情報を入力とし、前記異常情報を出力とする個別学習用ニューラルネットワークモデルの学習を行い、
学習済み前記個別学習用ニューラルネットワークモデルに基づいて、前記下位コントローラの前記下位ニューラルネットワークモデルを更新する、
事象推定方法。
【請求項２４】
下位コントローラにおいて、
前記下位コントローラに接続される制御対象機器の作動情報を取得し、
前記作動情報に基づいて、異常の有無を推定し、
一定期間の前記作動情報を保持し、
推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位機器に送信し、
上位機器において、
前記下位コントローラより前記作動情報を受信し、
前記異常の有無に応じて、上位ニューラルネットワークモデルに前記作動情報を入力し、事象情報を出力させて事象を推定し、
前記下位コントローラにおいて前記作動情報を取得する速度のほうが、前記上位機器において前記作動情報を受信する速度よりも高速であり、
前記一定期間は、少なくとも、前記異常情報の出力がなされるまでの期間である、
事象推定方法。
【請求項２５】
複数の下位コントローラにおいて、
前記下位コントローラに接続される制御対象機器の作動情報を取得し、
前記作動情報に基づいて、異常の有無を推定し、
一定期間の前記作動情報を保持し、
推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位機器に送信し、
上位機器において、
前記下位コントローラより前記作動情報を受信し、
前記異常の有無に応じて、上位ニューラルネットワークモデルに前記作動情報を入力し、事象情報を出力させて事象を推定し、
前記事象情報が他作動情報要求を示している場合に、前記作動情報を受信した前記下位コントローラとは異なる他の前記下位コントローラから前記作動情報を追加で受信し、
複数の前記下位コントローラについての複数の前記作動情報を第２の上位ニューラルネットワークモデルに入力し、第２の事象情報を出力する、
事象推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、事象推定システム及び事象推定方法に関する。
【背景技術】
【０００２】
特許文献１には、ロボット等の製造機械の内部情報に起因する異常を発見するセル制御装置が記載されている。同文献には、セル制御装置が製造機械の内部情報と、製造装置の構成要素を示す装置構成情報とを使って機械学習を行うことにより、データベース内に記憶する情報を更新する学習器をさらに備えることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６０３１２０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
産業用ロボット等の産業用機器に代表される、制御対象機器の故障や異常診断を、機械学習を利用して行わせる際に、制御対象機器の動作や内部状態を示す情報を利用することが考えられる。この時、制御対象機器からはその動作情報が時々刻々と得られ、コントローラに送られる。
【０００５】
ところで、制御対象機器を制御する際には、個別の制御対象機器に対応付けられ、それまたはそれらを直接制御する下位のコントローラと、その下位のコントローラに動作指令を送り制御する上位のコントローラの両方が用意される場合がある。例えば、多軸ロボットの場合には、制御対象機器は各軸のサーボモータに、下位のコントローラは各軸のサーボコントローラに、上位のコントローラはロボットコントローラに該当すると考えられる。あるいは、一般のモータや計測器の制御の場合であっても、モータや計測器が制御対象機器に、モータや計測器のコントローラが下位のコントローラに、それらの動作を統括するＰＬＣ（プログラマブルロジックコントローラ）などのコント―ラが上位のコントローラに該当すると考えられる。
【０００６】
通常、制御対象機器とそのコントローラ（下位のコントローラ）間の接続は、きめ細かな制御を行うため、制御対象機器の動作情報をリアルタイムでやり取りするに十分な通信速度が確保されるように設計される。これに対し、下位のコントローラと上位のコントローラ間の接続は、下位のコントローラへの指令や、動作タイミングの指示に十分な通信速度であれば足るため、制御対象機器とそのコントローラ間の接続に比べると、通信速度が劣る。
【０００７】
このような場合において、機械学習を利用して制御対象機器の故障や異常診断を行おうとすると、時々刻々と得られる制御対象機器の動作情報をリアルタイムに上位のコントローラに送信するには、下位のコントローラと上位のコントローラ間の接続の通信速度は不足してしまう。かといって、下位のコントローラは、ディープラーニングに代表されるニューラルネットワークモデルなど、大規模な演算を要する機械学習を実行するにはその演算能力が不足し、またそのような演算が可能なスペックを備えるものとすると、コスト増となり現実的ではない。
【０００８】
本発明は、上述した問題に鑑みてなされたものであり、その目的は、制御対象機器が接続された下位コントローラと、下位コントローラに接続された上位コントローラがある制御系において、機械学習を利用して、制御対象機器の故障や異常などの事象を推定するシステムを実現することである。
【課題を解決するための手段】
【０００９】
本発明の一の側面に係る事象推定システムは、１又は複数の下位コントローラであって、前記下位コントローラに接続される制御対象機器の作動情報を取得する作動情報取得部と、前記作動情報に基づいて、異常の有無を推定する異常推定部と、一定期間の前記作動情報を保持する作動情報保持部と、推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位機器に送信する作動情報送信部と、を有する下位コントローラと、上位機器であって、前記下位コントローラより前記作動情報を受信する作動情報受信部と、前記異常の有無に応じて動作し、前記作動情報を入力とし、事象情報を出力とする上位ニューラルネットワークモデルを有し、事象を推定する事象推定部と、を有する上位機器と、を備え、前記異常推定部は、前記作動情報の少なくとも一部を入力とし、異常情報を出力とする下位ニューラルネットワークモデルを有し、前記上位ニューラルネットワークモデルの規模は、前記下位ニューラルネットワークモデルの規模より大きく、前記上位機器は、前記作動情報を入力とし、前記異常情報を出力とする学習用ニューラルネットワークモデルを有し、前記事象情報に基づいて前記学習用ニューラルネットワークモデルの学習を行う学習部と、学習済み前記学習用ニューラルネットワークモデルに基づいて、前記下位コントローラの前記下位ニューラルネットワークモデルを更新する更新部と、を有する。
【００１０】
また、本発明の別の一の側面に係る事象推定システムは、さらに、前記更新部は、学習済み前記学習用ニューラルネットワークモデルによる推論の精度が向上した場合に、前記下位コントローラの前記下位ニューラルネットワークモデルを更新するものであってよい。
【００１１】
また、本発明の別の一の側面に係る事象推定システムは、さらに、前記学習用ニューラルネットワークモデルの規模は、前記下位ニューラルネットワークモデルの規模より大きく、前記更新部は、学習済みの前記学習用ニューラルネットワークモデルの演算桁数を削減する演算桁数削減部と、演算桁数の削減された前記学習用ニューラルネットワークモデルを、更新された前記下位ニューラルネットワークモデルとして、前記下位コントローラに送信する更新モデル送信部と、を有するものであってよい。
【００１２】
また、本発明の別の一の側面に係る事象推定システムは、さらに、前記学習用ニューラルネットワークモデルの規模は、前記下位ニューラルネットワークモデルの規模と等しく、前記更新部は、学習済みの前記学習用ニューラルネットワークモデルを、更新された前記下位ニューラルネットワークモデルとして、前記下位コントローラに送信する更新モデル送信部を有するものであってよい。
【００１３】
また、本発明の別の一の側面に係る事象推定システムは、さらに、前記作動情報保持部は、前記下位ニューラルネットワークモデルに入力される前記作動情報を、少なくとも、前記下位ニューラルネットワークモデルからの異常情報の出力がなされるまでの期間保持するものであってよい。
【００１４】
また、本発明の別の一の側面に係る事象推定システムは、さらに、複数の前記下位コントローラを備え、前記上位機器は、さらに、前記事象情報に基づいて、前記作動情報を受信した前記下位コントローラとは異なる他の前記下位コントローラから前記作動情報を追加で受信する作動情報追加受信部と、複数の前記下位コントローラについての複数の前記作動情報を入力とし、第２の事象情報を出力する第２の上位ニューラルネットワークモデルを有する第２の事象推定部と、を有するものであってよい。
【００１５】
また、本発明の別の一の側面に係る事象推定システムは、さらに、複数の前記下位コントローラを備え、前記上位機器は、さらに、前記事象情報に基づいて、前記作動情報を受信した前記下位コントローラとは異なる他の前記下位コントローラから前記作動情報を追加で受信する作動情報追加受信部と、複数の前記下位コントローラについての複数の前記作動情報を入力とし、第２の事象情報を出力する第２の上位ニューラルネットワークモデルを有する第２の事象推定部と、前記下位コントローラそれぞれについて、前記作動情報を入力とし、前記異常情報を出力とする個別学習用ニューラルネットワークモデルを有し、前記第２の事象情報に基づいて前記個別学習用ニューラルネットワークモデルの学習を行う第２の学習部と、学習済み前記個別学習用ニューラルネットワークモデルに基づいて、前記下位コントローラの前記下位ニューラルネットワークモデルを更新する第２の更新部と、を有するものであってよい。
【００１６】
また、本発明の別の一の側面に係る事象推定システムは、さらに、前記個別学習用ニューラルネットワークモデルの規模は、前記下位ニューラルネットワークモデルの規模より大きく、前記第２の更新部は、学習済みの前記個別学習用ニューラルネットワークモデルの演算桁数を削減する第２の演算桁数削減部と、演算桁数の削減された前記個別学習用ニューラルネットワークモデルを、更新された前記下位ニューラルネットワークモデルとして、前記下位コントローラに送信する第２の更新モデル送信部と、を有するものであってよい。
【００１７】
また、本発明の別の一の側面に係る事象推定システムは、さらに、前前記個別学習用ニューラルネットワークモデルの規模は、前記下位ニューラルネットワークモデルの規模と等しく、前記第２の更新部は、学習済みの前記個別学習用ニューラルネットワークモデルを、更新された前記下位ニューラルネットワークモデルとして、前記下位コントローラに送信する第２の更新モデル送信部を有するものであってよい。
【００１８】
また、本発明の別の一の側面に係る事象推定システムは、さらに、前記作動情報保持部は、前記下位ニューラルネットワークモデルに入力される前記作動情報を、少なくとも、前記上位ニューラルネットワークモデルからの事象情報の出力がなされるまでの期間保持するものであってよい。
【００１９】
また、本発明の別の一の側面に係る事象推定システムは、さらに、前記上位ニューラルネットワークモデルと、前記学習用ニューラルネットワークモデルは同一のニューラルネットワークモデルであってよい。
【００２０】
また、本発明の別の一の側面に係る事象推定システムは、さらに、前記上位ニューラルネットワークモデルは、共通層と、事象出力層に分離され、前記学習用ニューラルネットワークモデルは、前記上位ニューラルネットワークモデルと共通の前記共通層と、異常出力層に分離され、前記学習部は、前記事象情報に基づいて、前記学習用ニューラルネットワークモデルの学習を行い、前記共通層を更新し、前記更新部は、更新された前記共通層に基づく転移学習により、前記下位ニューラルネットワークモデルを更新するものであってよい。
【００２１】
また、本発明の別の一の側面に係る事象推定システムは、さらに、前記上位機器は、さらに、前記事象情報に基づいて、前記下位コントローラから、受信済みの前記作動情報と異なる前記作動情報を追加で受信する作動情報追加受信部と、追加で受信された前記作動情報を入力とし、第２の事象情報を出力する第２の上位ニューラルネットワークモデルを有する第２の事象推定部と、を有するものであってよい。
【００２２】
また、本発明の別の一の側面に係る事象推定システムは、さらに、前記上位機器は、前記下位コントローラを制御することにより、間接的に前記制御対象機器を制御する上位コントローラであってよい。
【００２３】
また、本発明の別の一の側面に係る事象推定システムは、さらに、前記上位機器は、間接的に前記制御対象機器を制御する上位コントローラとは別に設けられてよい。
【００２４】
また、本発明の別の一の側面に係る事象推定システムは、さらに、前記上位機器は、間接的に前記制御対象機器を制御する上位コントローラとしての機能と、前記作動情報受信部及び前記事象推定部を有する第１の上位機器と、前記学習部及び前記更新部を有する第２の上位機器を有するものであってよい。
【００２５】
また、本発明の別の一の側面に係る事象推定システムは、複数の下位コントローラであって、前記下位コントローラに接続される制御対象機器の作動情報を取得する作動情報取得部と、前記作動情報に基づいて、異常の有無を推定する異常推定部と、一定期間の前記作動情報を保持する作動情報保持部と、推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位機器に送信する作動情報送信部と、を有する下位コントローラと、上位機器であって、前記下位コントローラより前記作動情報を受信する作動情報受信部と、前記異常の有無に応じて動作し、前記作動情報を入力とし、事象情報を出力とする上位ニューラルネットワークモデルを有し、事象を推定する事象推定部と、を有する上位機器と、を備え、前記異常推定部は、前記作動情報の少なくとも一部を入力とし、異常情報を出力とする下位ニューラルネットワークモデルを有し、前記上位機器は、さらに、前記事象情報に基づいて、前記作動情報を受信した前記下位コントローラとは異なる他の前記下位コントローラから前記作動情報を追加で受信する作動情報追加受信部と、複数の前記下位コントローラについての複数の前記作動情報を入力とし、第２の事象情報を出力する第２の上位ニューラルネットワークモデルを有する第２の事象推定部と、前記下位コントローラそれぞれについて、前記作動情報を入力とし、前記異常情報を出力とする個別学習用ニューラルネットワークモデルを有し、前記第２の事象情報に基づいて前記個別学習用ニューラルネットワークモデルの学習を行う第２の学習部と、学習済み前記個別学習用ニューラルネットワークモデルに基づいて、前記下位コントローラの前記下位ニューラルネットワークモデルを更新する第２の更新部と、を有する。
【００２６】
また、本発明の別の一の側面に係る事象推定システムは、１又は複数の下位コントローラであって、前記下位コントローラに接続される制御対象機器の作動情報を取得する作動情報取得部と、前記作動情報に基づいて、異常の有無を推定する異常推定部と、一定期間の前記作動情報を保持する作動情報保持部と、推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位機器に送信する作動情報送信部と、を有する下位コントローラと、上位機器であって、前記下位コントローラより前記作動情報を受信する作動情報受信部と、前記異常の有無に応じて動作し、前記作動情報を入力とし、事象情報を出力とする上位ニューラルネットワークモデルを有し、事象を推定する事象推定部と、を有する上位機器と、を備え、前記作動情報取得部が前記作動情報を取得する速度のほうが、前記作動情報受信部が前記作動情報を受信する速度よりも高速であり、前記作動情報保持部は、前記異常推定部に入力される前記作動情報を、少なくとも、前記異常推定部からの異常情報の出力がなされるまでの期間保持する。
【００２７】
また、本発明の別の一の側面に係る事象推定システムは、複数の下位コントローラであって、前記下位コントローラに接続される制御対象機器の作動情報を取得する作動情報取得部と、前記作動情報に基づいて、異常の有無を推定する異常推定部と、一定期間の前記作動情報を保持する作動情報保持部と、推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位機器に送信する作動情報送信部と、を有する下位コントローラと、上位機器であって、前記下位コントローラより前記作動情報を受信する作動情報受信部と、前記異常の有無に応じて動作し、前記作動情報を入力とし、事象情報を出力とする上位ニューラルネットワークモデルを有し、事象を推定する事象推定部と、を有する上位機器と、を備え、前記上位機器は、さらに、前記事象情報が他作動情報要求を示している場合に、前記作動情報を受信した前記下位コントローラとは異なる他の前記下位コントローラから前記作動情報を追加で受信する作動情報追加受信部と、複数の前記下位コントローラについての複数の前記作動情報を入力とし、第２の事象情報を出力する第２の上位ニューラルネットワークモデルを有する第２の事象推定部と、を有する。
【００２８】
また、本発明の一の側面に係る事象推定方法は、下位コントローラにおいて、前記下位コントローラに接続される制御対象機器の作動情報を取得し、前記作動情報の少なくとも一部を下位ニューラルネットワークモデルに入力し、異常情報を出力させて、異常の有無を推定し、一定期間の前記作動情報を保持し、推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位コントローラに送信し、上位機器において、前記下位コントローラより前記作動情報を受信し、前記異常の有無に応じて、その規模が前記下位ニューラルネットワークモデルの規模より大きい上位ニューラルネットワークモデルに前記作動情報を入力し、事象情報を出力させて事象を推定し、前記事象情報に基づいて、前記作動情報を入力とし、前記異常情報を出力とする学習用ニューラルネットワークモデルの学習を行い、学習済み前記学習用ニューラルネットワークモデルに基づいて、前記下位コントローラの前記下位ニューラルネットワークモデルを更新する。
【００２９】
また、本発明の一の側面に係る事象推定方法は、さらに、前記上位機器において、前記事象情報に基づいて、前記作動情報を受信した前記下位コントローラとは異なる他の前記下位コントローラから前記作動情報を追加で受信し、第２の上位ニューラルネットワークモデルに、複数の前記下位コントローラについての複数の前記作動情報を入力し、第２の事象情報を出力させるものであってよい。
【００３０】
また、本発明の一の側面に係る事象推定方法は、さらに、前記上位機器において、前記下位コントローラそれぞれについての、前記作動情報を入力とし、前記異常情報を出力とする個別学習用ニューラルネットワークモデルに対し、前記第２の事象情報に基づいて学習を行い、学習済み前記個別学習用ニューラルネットワークモデルに基づいて、前記下位コントローラの前記下位ニューラルネットワークモデルを更新するものであってよい。
【００３１】
また、本発明の一の側面に係る事象推定方法は、複数の下位コントローラにおいて、前記下位コントローラに接続される制御対象機器の作動情報を取得し、前記作動情報の少なくとも一部を下位ニューラルネットワークモデルに入力し、異常情報を出力させて、異常の有無を推定し、一定期間の前記作動情報を保持し、推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位コントローラに送信し、上位機器において、前記下位コントローラより前記作動情報を受信し、前記異常の有無に応じて、上位ニューラルネットワークモデルに前記作動情報を入力し、事象情報を出力させて事象を推定し、前記事象情報に基づいて、前記作動情報を受信した前記下位コントローラとは異なる他の前記下位コントローラから前記作動情報を追加で受信し、複数の前記下位コントローラについての複数の前記作動情報を第２の上位ニューラルネットワークモデルに入力し、第２の事象情報を出力させ、前記下位コントローラについて、前記第２の事象情報に基づいて、前記作動情報を入力とし、前記異常情報を出力とする個別学習用ニューラルネットワークモデルの学習を行い、学習済み前記個別学習用ニューラルネットワークモデルに基づいて、前記下位コントローラの前記下位ニューラルネットワークモデルを更新する。
【００３２】
また、本発明の一の側面に係る事象推定方法は、下位コントローラにおいて、前記下位コントローラに接続される制御対象機器の作動情報を取得し、前記作動情報に基づいて、異常の有無を推定し、一定期間の前記作動情報を保持し、推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位機器に送信し、上位機器において、前記下位コントローラより前記作動情報を受信し、前記異常の有無に応じて、上位ニューラルネットワークモデルに前記作動情報を入力し、事象情報を出力させて事象を推定し、前記下位コントローラにおいて前記作動情報を取得する速度のほうが、前記上位機器において前記作動情報を受信する速度よりも高速であり、前記一定期間は、少なくとも、前記異常情報の出力がなされるまでの期間である。
【００３３】
また、本発明の一の側面に係る事象推定方法は、複数の下位コントローラにおいて、前記下位コントローラに接続される制御対象機器の作動情報を取得し、前記作動情報に基づいて、異常の有無を推定し、一定期間の前記作動情報を保持し、推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位機器に送信し、上位機器において、前記下位コントローラより前記作動情報を受信し、前記異常の有無に応じて、上位ニューラルネットワークモデルに前記作動情報を入力し、事象情報を出力させて事象を推定し、前記事象情報が他作動情報要求を示している場合に、前記作動情報を受信した前記下位コントローラとは異なる他の前記下位コントローラから前記作動情報を追加で受信し、複数の前記下位コントローラについての複数の前記作動情報を第２の上位ニューラルネットワークモデルに入力し、第２の事象情報を出力する。
【図面の簡単な説明】
【００３４】
【図１】本発明の第１の実施形態に係る事象推定システムの１例を示す全体外観図である。
【図２】本発明の第１の実施形態に係る事象推定システムの制御対象機器と下位コントローラのハードウェア構成例を示すブロック図である。
【図３】本発明の第１の実施形態に係る事象推定システムの上位コントローラのハードウェア構成例を示すブロック図である。
【図４】本発明の第１の実施形態に係る事象推定システムの全体の構成を示す機能ブロック図である。
【図５】ニューラルネットワークモデルの例を示す図である。
【図６】代表的なＲＮＮの構成を示す図である。
【図７】本発明の第１の実施形態に係る事象推定システムの動作を説明するフロー図である。
【図８】本発明の第１の実施形態の第１の変形例に係る事象推定システムの全体の構成を示す機能ブロック図である。
【図９】本発明の第１の実施形態の第２の変形例に係る事象推定システムの全体の構成を示す機能ブロック図である。
【図１０】本発明の第２の実施形態に係る事象推定システムの１例を示す全体外観図である。
【図１１】本発明の第２の実施形態に係る事象推定システムの物理的な構成を示す構成図である。
【図１２】本発明の第２の実施形態に係る事象推定システムの全体の構成を示す機能ブロック図である。
【図１３】本発明の第２の実施形態に係る事象推定システムの動作を説明するフロー図である。
【図１４】一部を共通化した上位ニューラルネットワークモデルと学習用ニューラルネットワークモデルの構成を示す概念図である。
【図１５】本発明の第３の実施形態に係る事象推定システムの全体の構成を示す機能ブロック図である。
【図１６】本発明の第４の実施形態に係る事象推定システムの全体の構成を示す機能ブロック図である。
【図１７】本発明の第５の実施形態に係る事象推定システムの全体の構成を示す機能ブロック図である。
【図１８】本発明の第６の実施形態に係る事象推定システムの全体の構成を示す機能ブロック図である。
【発明を実施するための形態】
【００３５】
以下、本発明の第１の実施形態に係る事象推定システム及び事象推定方法を、図１〜７を参照して説明する。
【００３６】
図１は、本発明の第１の実施形態に係る事象推定システム１の１例を示す全体外観図である。ここで、「事象推定システム」とは、任意の制御系において、制御対象機器２に何らかの事象が生じたこと、又は生じなかったことを推定するシステムを指している。そのため、事象推定システム１では、オペレータなどの人手による点検や観察に頼ることなく、制御系に生じた変化を早期に且つマンパワーをかけることなく検出することが企図されている。
【００３７】
図１に典型的に示されているように、事象推定システム１には、制御対象機器２と、下位コントローラ３、上位コントローラ４の２種のコントローラが含まれ、制御対象機器２と下位コントローラ３とは第１の回線５で、下位コントローラ３と上位コントローラ4とは第２の回線６で互いに接続されている。
【００３８】
ここで、コントローラは、ＦＡに用い得る機器であって、何らかの他の機器（制御対象機器２）を制御し、あるいは他の機器と情報の入出力を行う機能を有する機器を指している。図１に示した例では、下位コントローラ３はいわゆるサーボコントローラとして、また、上位コントローラ４はＰＬＣ（プログラマブルロジックコントローラ）として示しているが、その他の機器、例えば、シングルボードマイコンや一般的なＰＣ（パーソナルコンピュータ）等のコンピュータ等であってもよい。なお、コントローラは、その現実の用途がＦＡに限定されるわけではなく、生産設備はもちろん、車両やアミューズメント機器など、各種の装置に組み込まれ利用されてよい。
【００３９】
また、制御対象機器２は、下位コントローラ３により制御され、あるいはその機器の状態を示す情報を入出力する機器である。図１の例では、制御対象機器３としてサーボモータを示しており、以降本明細書では、制御対象機器２として、サーボモータを例示して説明する。なお、制御対象機器２としては、その他の形式の回転電動機（例えば、ステッピングモータ等）やリニアモータ、ソレノイド、空圧機器などの各種のアクチュエータ、スイッチやセンサ等であってもよい。また、下位コントローラ３に接続される制御対象機器２は１つである必要はなく、複数の制御対象機器２が接続されていてよい。
【００４０】
下位コントローラ３は、図１に示されているように、直接対象となる制御対象機器３を制御することにより特徴づけられる。そのため、第１の回線５は、制御対象機器３を制御するために必要な通信速度や、電力の供給に十分な能力を有する。本例のように、制御対象機器２がサーボモータである場合、その制御周期は数〜数十マイクロ秒であり、この制御周期ごとに、下位コントローラ３からは第１の回線５を通じて電力が供給され、また、制御対象機器２からはエンコーダなど制御対象機器２に設けられた各種センサからの出力値が送信される。
【００４１】
上位コントローラ４は、下位コントローラ３を制御することにより、間接的に制御対象機器３を制御することにより特徴づけられる。なお、図１では１つの上位コントローラ４に対し、１つの下位コントローラ３のみが接続されている場合を図示しているが、複数の下位コントローラ３が上位コントローラ４に接続されていてもよい。また、上位コントローラ４が、さらに、スイッチなどの（図示されていない、別の）制御対象機器と接続され、これを直接制御していても差し支えない。いずれにせよ、下位コントローラ３と上位コントローラ４とは、第２の回線６により接続され、この第２の回線６は、下位コントローラ３を制御するために必要な通信速度に十分な能力を有する。図示の例のように、上位コントローラ４がＰＬＣである場合、その制御周期（いわゆるスキャンタイム）は一般的に、数百マイクロ秒〜数十ミリ秒であるから、第２の回線６は、この制御周期ごとの指令や、情報の伝達が可能なものとされる。
【００４２】
したがって、多くのケースでは、単純に通信速度の観点から第１の回線５と第２の回線６を比較すると、第１の回線の方がより高速であるから、制御対象機器２から下位コントローラ３が収集するすべての情報をリアルタイムに上位コントローラ４に送信することは困難であることが予想される。
【００４３】
図２は、本実施形態に係る事象推定システム１の制御対象機器２と下位コントローラ３のハードウェア構成例を示すブロック図である。制御対象機器２はここではサーボモータであり、三相電動機２０１と、センサ２０２を備えている。三相電動機２０１は電動機の一例として示したものであり、その相数に特に限定はなく、二相あるいは四相以上の多相であっても差し支えない。また、センサ２０２には、典型的にはロータリエンコーダが含まれるが、その他にも、温度計や振動計、電流・電圧計、トルクセンサといった各種のセンサが含まれていてよく、また、ロータリエンコーダに代えてレゾルバなど他の形式の回転角検出器を用いるものであってもよい。電動機の形式にも限定はなく、誘導電動機、永久磁石同期電動機その他各種形式の電動機を使用してもよい。
【００４４】
また、下位コントローラ３は、サーボアンプ３０１と制御回路３０２を含んでいる。サーボアンプ３０１は、ＡＣ／ＤＣ変換器３０３により変換された直流を、インバータ３０４によって、三相電動機２０１の駆動に適した３相交流に変換し出力する。インバータ３０４の制御は制御回路３０２によりなされ、制御回路３０２では、メモリ３０５に記憶された各種の情報に基づいて、プロセッサ３０６がインバータ３０４に対してする制御指令（典型的には電流指令値）を決定する。また、センサ２０２により検出された、三相電動機２０１の回転角やその他情報は、制御回路３０２に入力され、三相電動機２０１の制御に用いられる。本例では、メモリ３０５には三相電動機２０１の動作波形を決定するための各種パラメータや動作のパターンが記憶されている他、後述するように、センサ２０２からの情報も保存される。
【００４５】
図２に示されるように、制御対象機器２と下位コントローラ３とは第１の回線５により接続され、第１の回線５には、サーボアンプ３０１から三相電動機２０１に電力を供給する電力供給線と、センサ２０２から制御回路３０２に情報を伝送する情報通信回線の両方が含まれる。一方、下位コントローラ３の入出力３０７を通じて、上位コントローラ４と制御回路３０２が情報通信可能となるよう、第２の回線６により接続されている。本例では、第１の回線５に含まれる情報通信回線の通信速度は第２の回線６の通信速度より高速であり、センサ２０２により取得される情報と、制御回路３０２よりインバータ３０４に指示される制御指令とを、リアルタイムに上位コントローラ４に送信することはできない場合を想定するものとする。
【００４６】
図３は、本実施形態に係る事象推定システム１の上位コントローラ４のハードウェア構成例を示すブロック図である。上位コントローラ４は、プロセッサ４０３及びメモリ４０２を含む制御回路４０１を有する。制御回路４０１は、入出力４０４を介して接続された種々の機器に対し、メモリ４０２上に記憶されたプログラムに従って、必要な指示等の出力をし、また、種々の機器からの情報の入力を受け、制御に必要とされる演算を行ったり、メモリ４０２に保存したりする。前述の通り、本例では、上位コントローラ４から下位コントローラ３とは、入出力４０４を介して、第２の回線６により接続されている。
【００４７】
以上説明の通り、下位コントローラ３及び上位コントローラ４は、それぞれ、制御回路（制御回路３０２及び制御回路４０１）を備えており、メモリ（メモリ３０５及びメモリ４０３）とプロセッサ（プロセッサ３０６及びプロセッサ４０２）を有している。しかしながら、両者の情報処理能力には違いがあり、一般的な演算能力で比較すると、上位コントローラ４の方が下位コントローラ３よりも優れていることが通常である。
【００４８】
下位コントローラ３は、接続される制御対象機器２の制御に特に適するように設計されているから、そのメモリ３０５及びプロセッサ３０６の性能も、制御対象機器１の制御に十分であれば足るため、それをはるかに上回る性能を持たせることは、冗長であって単にコスト増を招くにすぎず、通常はなされない。一方、上位コントローラ４は、汎用品として設計され、その用途も多岐にわたり限定されていないことから、機器の利用が想定できる最も負荷の高い情報処理に対応できるように設計されるため、演算性能には余裕が持たされることが通常である。
【００４９】
本例はこのような場合を仮定し、下位コントローラ３は、制御対象機器１の制御に関しては、低負荷の追加の情報処理は可能であるが、高負荷の追加の情報処理を行う余裕はない一方で、上位コントローラ４は、下位コントローラ３に対する制御に加え、ある程度の高負荷の情報処理を行う余力が残されているものとする。
【００５０】
図４は、本実施形態に係る事象推定システム１の全体の構成を示す機能ブロック図である。図４に示されたブロックの一部はハードウェアにより実現され、また一部はプロセッサ３０６、ブロセッサ４０２、メモリ３０５及びメモリ４０３といったハードウェア資源を用いてソフトウェアにより実現される。
【００５１】
制御対象機器２は、その状態を検出して下位コントローラ３に出力するセンサ２０２を有している。また、下位コントローラ３には、制御対象機器２の制御にあたり、必要な指令をし、あるいは動力（電力）を供給する機器制御部３０８が設けられている。この機器制御部３０８から制御対象機器２に適切な指令を送り、センサ２０２からの情報を受けてフィードバック制御などの適切な手法により、機器制御部３０８からの指令を調整することで、下位コントローラ２は制御対象機器２の制御を行っている。
【００５２】
この時、制御対象機器２の状態は、センサ２０２からの出力と、機器制御部３０８からの指令との関係から推定できると考えられる。そのため、下位コントローラ３には、作動情報取得部３０９が設けられ、センサ２０２からの出力と、機器制御部３０８からの指令の両方の情報を取得する。このセンサ２０２からの出力と、機器制御部３０８からの指令を含む、制御対象機器２の状態を推定するための情報を以降では、「作動情報」と呼ぶこととする。すなわち、作動情報取得部３０９は、制御対象機器２の作動情報を取得するといえる。
【００５３】
取得された作動情報には、本例のように制御対象機器２がサーボモータである場合、電流波形や速度波形といった、サーボモータの動作時の記録が含まれる。このような作動情報から、サーボモータの異常の検出や、摩耗などの経年変化による余寿命の予測が行えると、定期的な点検や部品交換等のメンテナンスの手間とコストを大幅に抑えることができ、また、故障などに起因する事故等を未然に防止することに役立つと考えられる。このような、作動情報から間接的に制御対象機器２の状態を推定することは、人間にとっては一般にむつかしいが、ニューラルネットワークモデル等を利用した機械学習の得意とするところであると予測される。
【００５４】
そのため、下位コントローラ３には、さらに、機械学習モデルである、下位ニューラルネットワークモデル３１１を有する異常推定部３１０が設けられる。ここで、「下位」と称しているのは、後述する上位ニューラルネットワークモデル４０７との区別のためである。
【００５５】
下位ニューラルネットワークモデル３１１は、いわゆるディープラーニングの手法による学習済みのニューラルネットワークモデルであり、作動情報を入力とし、異常情報を出力とする計算モデルである。下位ニューラルネットワークモデル３１１の形式には特に限定はなく、作動情報の種類に適したネットワークモデルを採用すればよく、いわゆるＣＮＮ（畳み込みニューラルネットワーク）であっても、ＲＮＮ（再帰型ニューラルネットワーク）であっても、その他の形式のニューラルネットワークモデルであってもよい。本例では、作動情報は時系列情報を含むため、下位ニューラルネットワークモデル３１１はＬＳＴＭ（長短期記憶）によるＲＮＮを用いている。
【００５６】
ところで、下位コントローラ３のプロセッサ３０６は、演算能力の余力が乏しいことは前述したとおりである。そして、一般に、ニューラルネットワークモデルを用いた機械学習モデルによる演算は、大規模並列演算であり、その演算負荷が大きい。そのため、下位ニューラルネットワークモデル３１１は、プロセッサ３０６の限られた演算能力により十分に演算が可能なように、その演算量が小さく、規模の小さいものとなるように設計されている。この下位ニューラルネットワークモデル３１１の規模については、上位ニューラルネットワークモデル４０７との比較において後ほど詳細に説明する。
【００５７】
また、異常情報は、制御対象機器２に何らかの注目すべき状態の変化が生じたこと、又は生じていないことを推定しうる情報である。そして、制御対象機器２に何らかの注目すべき状態の変化が生じた状態をここでは「異常」と呼ぶこととする。したがって、異常情報は異常の有無を推定する情報である。なお、本明細書でいう異常は、必ずしも悪影響を及ぼすものであることを意味しない。これに対し、制御対象機器２に生じた状態の変化そのものを、以降、「事象」と呼ぶこととする。異常情報は、制御対象機器２に何らかの注目すべき状態の変化が生じたか否かは推定するが、どのような状態の変化が生じたかは必ずしも推定しない。すなわち、異常情報は、異常の有無を推定するものではあるものの、必ずしも事象を推定するものであるとは限らない。もちろん、異常情報が、一部の、あるいはすべての事象を推定しうるものであってもよい。
【００５８】
本実施形態では、異常情報は、０〜１の範囲を持つ数値であり、何らかの事象が生じたことの確からしさを示している。この異常情報の値に所定の閾値を設定しておき、異常情報がかかる閾値を超えた場合に、何らかの事象が生じた可能性があると判断すればよい。例えば、閾値として０．６を設定した場合を想定し、ある瞬間の作動情報を下位ニューラルネットワークモデル３１１に入力して異常情報として０．１が出力された場合、何らの事象は生じていないと判断できる。あるいは、異常情報として０．７が出力されれば、何らかの事象が生じている可能性があると判断できる。このようにして、異常推定部３１０は、異常の有無を推定している。
【００５９】
なお、異常推定部３１０は、下位ニューラルネットワークモデル３１１に作動情報を適した形式で入力するための前処理、下位ニューラルネットワークモデル３１１からの出力を異常情報として適した形式で出力するための後処理を行っていてよく、それら前処理、後処理を行う部分は図４には示していない。
【００６０】
異常情報が何らかの事象が生じていることを示しているか否かの判断は、異常推定部３１０により行ってもよいが、本例では、作動情報送信部３１２によりなされている。作動情報送信部は、異常推定部３１０から出力された異常情報に基づいて、かかる異常情報が異常を示している、すなわち、何らかの事象が生じている可能性がある場合に、作動情報を上位コントローラ４に送信する。ここで出力される作動情報は、異常推定部３１０の下位ニューラルネットワークモデル３１１に入力され、異常を示す異常情報が出力される原因となった作動情報である。
【００６１】
下位コントローラ３では、異常推定部３１０において下位ニューラルネットワークモデル３１１による異常の推定のための演算が行われている間にも、時々刻々と作動情報取得部３０９による新たな作動情報の取得が進行している。そのため、作動情報送信部３１２から出力される作動情報は、リアルタイムで取得される作動情報ではなく、下位ニューラルネットワークモデル３１１に入力された過去の作動情報でなければならない。
【００６２】
そこで、下位コントローラ３には、作動情報保持部３１３が設けられ、一定期間にわたる過去の作動情報を保持している。作動情報保持部３１３は、少なくとも、下位ニューラルネットワークモデル３１１に入力された作動情報について、その作動情報に基づく異常情報の出力がなされるまでの期間保持していなければならない。なぜならば、出力された異常情報に基づいて、作動情報送信部３１２が、作動情報保持部３１３から当該異常情報に係る作動情報を読み出す必要があるためである。
【００６３】
現実的には、作動情報保持部３１３による作動情報の保持期間は、作動情報送信部３１２から上位コントローラ４への情報の伝送の遅延などを考慮して、余裕を持った期間が設定される。すでに述べたとおり、下位コントローラ３と上位コントローラ４との間の第２の回線６の通信速度は低速であるため、作動情報を上位コントローラ４に送信し終えるまでに時間がかかると考えられるためである。
【００６４】
また、作動情報取得部３０９により取得されるすべての作動情報を保存しようとすると、作動情報保持部３１３の記憶容量を極めて大容量としなければならず、現実的でない。そのため、本実施形態では、作動情報保持部３１３はいわゆるリングバッファであり、所定の容量を超えて新たな作動情報を保存しようとすると、古い作動情報から破棄され、常に最新の作動情報が蓄積されるようになっている。
【００６５】
上位コントローラ４は、下位コントローラ３の作動情報送信部３１２から送信された作動情報を作動情報受信部４０５で受信する。この時、作動情報送信部３１２は、異常推定部３１０から得られた異常情報を併せて作動情報受信部４０５に送信してもよい。
【００６６】
作動情報受信部４０５により作動情報が受信されたということは、下位コントローラ３で異常が検出された、すなわち、何らかの事象が生じている可能性があると判断されたということである。もちろん、併せて異常情報を受信している場合には、この異常情報の値を加味して判断しても差し支えない。いずれにせよ、下位コントローラ３の異常推定部３１０による異常の推定では、この事象がなんであるかを必ずしも特定することはできず、また、真に対処の必要な事象であるか否かを正確に推定することはできない。
【００６７】
そこで、上位コントローラ４には、上位ニューラルネットワークモデル４０７を有する事象推定部４０６が設けられる。上位ニューラルネットワークモデル４０７もまた、いわゆるディープラーニングの手法による学習済みのニューラルネットワークモデルであり、作動情報を入力とし、事象情報を出力とする計算モデルである。上位ニューラルネットワークモデル４０７の形式にもまた特に限定はなく、作動情報の種類に適したネットワークモデルを採用すればよく、ＣＮＮ、ＲＮＮ、その他のいかなる形式のニューラルネットワークモデルであってもよいが、ここでは、下位ニューラルネットワークモデル３１１と同形式のモデルであることが望ましい。本例では、上位ニューラルネットワークモデル４０７は、下位ニューラルネットワークモデル３１１と同様にＬＳＴＭによるＲＮＮを用いている。
【００６８】
ここで、事象情報とは、制御対象機器２に生じた注目すべき状態の変化、すなわち事象を推定しうる情報である。事象情報は、ベクトル値であってよい。一例として、事象情報より推定される事象が、物理的損傷、経年劣化、潤滑油不足、暖機不足の４種であるならば、事象情報は４次元ベクトルであってよい。具体的な例として、事象推定部より得られた事象情報が（０．１，０．７，０．３，０．２）であり、それぞれの事象が生じていることを示す閾値が０．６であれば、事象として、経年劣化が生じており、物理的損傷、潤滑油不足及び暖機不足は生じていないと推定できる。もちろん、事象情報の形式はこの例に限られず、他の形式であっても差し支えない。事象推定部４０６は、このように事象情報を得ることによって事象を推定する。
【００６９】
そして、上位ニューラルネットワークモデル４０７は、下位ニューラルネットワークモデル３１１と比較して、演算量が多く、大規模であることによって特徴づけられる。すなわち、下位コントローラ３のプロセッサ３０６は、演算能力の余力が乏しく、高負荷の演算ができないため、規模の小さい下位ニューラルネットワークモデル３１１を使用して、簡易かつ高速に異常情報を得る。そのため、異常情報の精度は必ずしも高くなく、また、生じた事象を個別に特定する必要は必ずしもない。これに対し、上位コントローラ４のプロセッサ４０２は、演算能力に十分な余力があり、高負荷の演算ができるため、下位ニューラルネットワークモデル３１１より規模の大きい上位ニューラルネットワークモデル４０７を使用して、事象情報を得る。これにより、異常情報のみでは知り得なかった個別の事象の特定をより正確に行うことができる。
【００７０】
事象推定部４０６による上位ニューラルネットワークモデル４０７を用いた事象の推定は、作動情報受信部４０５により作動情報が受信された場合になされる。すなわち、下位コントローラ３の作動情報送信部３１２にて、異常情報が異常ありと判断された場合になされるから、事象推定部４０６は、異常情報に応じて動作していることになる。これにより、事象推定部４０６は、制御対象機器２のセンサ２０２と、下位コントローラ３の機器制御部３０８から時々刻々と得られる作動情報の全てに対して事象の推定をする必要はなく、異常情報が異常ありと判断された場合の作動情報に対してのみ事象の推定をすればよいから、リアルタイムに得られる作動情報の全てを上位コントローラ４に送る必要がなく、比較的低速な通信速度を持つ第２の回線６を用いて必要な作動情報を送ることが十分に可能である。また、大規模な上位ニューラルネットワークモデル４０７を用い、制御対象機器２の制御周期に比して十分長い演算時間を費やして、より正確な事象情報を得ることが可能となる。
【００７１】
なお、本明細書でいうニューラルネットワークモデルの規模とは、コントローラにおける演算負荷の大きさを意味し、その算定は、実機での演算負荷に即したものであればいかなるものであってもよい。本明細書では、ニューラルネットワークにおいて入力から出力が得られるまでに必要な演算数に、各演算の桁数（ビット数）を乗じたものにより算定する。これをニューラルネットワークモデルの規模ファクターＳＦと書くこととすると、規模ファクターＳＦは次の式により計算できる。
【００７２】
【数１】
0006792043.tif 000002
ここで、Ｌはニューラルネットワークモデルの層数、ｎｋは、入力層を第１層、出力層を第Ｌ層、第２〜（Ｌ−１）層を隠れ層としたときの第ｋ層のノード数、Ｂｋは、第ｋ層の演算のビット数である。
【００７３】
一例として、図５に示す４層、入出力層のノード数が４で隠れ層のノード数が５、各層の演算は３２ビットとすると、規模ファクターＳＦは、
【００７４】
【数２】
0006792043.tif 000003
と求められる。
【００７５】
下位ニューラルネットワークモデル３１１と上位ニューラルネットワークモデル４０７の層数や各層のノード数は必ずしも一致している必要はないが、単純には、上位ニューラルネットワークモデル４０７の演算のビット数を減ずることにより、規模の小さい下位ニューラルネットワークモデル３１１が得られる。具体例としては、上位ニューラルネットワークモデル４０７の各層の演算ビット数が３２ビットであるのに対し、下位ニューラルネットワークモデル３１１の演算ビット数を４ビットとするなどである。また、下位ニューラルネットワークモデル３１１の出力層のノード数を１として異常情報としてスカラー値のみを出力するようにしたり、隠れ層数やノード数を削減したりすることにより所望の規模の下位ニューラルネットワークモデル３１１が得られる。
【００７６】
ニューラルネットワークモデルがＲＮＮの場合には、入力されるデータあるいは出力されるデータにより再帰処理の回数が異なりうるため、ある入力データに対して必要な演算数は必ずしも一定でない。このような場合には、再帰処理の１ステップに対する規模ファクターＳＦによりニューラルネットワークモデルの規模を評価するとよい。
【００７７】
一例として、図６に代表的なＲＮＮの構成を示す。同図で、ｘは入力ベクトル、ｏは出力ベクトル、ｓはニューラルネットワークの隠れ要素（内部状態）、Ｗは再帰計算を示す。規模ファクターＳＦは、再帰計算Ｗを考慮することなく、図中の破線枠で示した部分について計算して、ニューラルネットワークモデルの規模を評価するとよい。
【００７８】
図４に戻り、事象推定部４０６により得られた事象情報は、推定結果処理部４０８に受け渡され、推定された事象に応じた処理がなされる。例えば、物理的損傷が推定された場合には、オペレータに警告を発し、部品の交換を指示し、経年劣化が推定された場合には、余寿命予測に基づく部品交換時期を表示し、潤滑油不足が推定された場合にはオペレータに潤滑油の補充を指示するなどである。暖機不足や、特定の事象が検出されなかった場合には、制御対象機器２の運転に取り立てて支障はないため、特に何らの動作を行わないか、参考情報として事象の推定結果の表示をすればよい。
【００７９】
また、以上の説明より明らかなように、規模の小さい下位ニューラルネットワークモデル３１１を用いた異常推定部３１０による異常の推定よりも、規模の大きい上位ニューラルネットワークモデル４０７を用いた事象推定部４０６による事象の推定の方が推定の精度が高く、正確である。そのため、異常推定部３１０によっては異常ありと推定されたが、同じ作動情報を用いた事象推定部４０６による推定の結果では、その事象が暖機不足などの運転に支障のないものや、事象そのものが検出されないなど、本来異常ありと推定する必要のないものが含まれる。
【００８０】
そこで、本実施形態では、事象推定部４０６によるより正確な事象情報に基づいて、下位ニューラルネットワークモデル３１１の学習を動的に行い、異常推定部３１０の異常の推定の精度をより高める。
【００８１】
すなわち、上位コントローラ４には、学習用ニューラルネットワークモデル４１０を有する学習部４０９が設けられ、事象推定部４０６において、上位ニューラルネットワークモデル４０７に入力された作動情報と、上位ニューラルネットワークモデル４０７から出力された事象情報に基づく学習用ニューラルネットワークモデル４１０の学習が行われる。
【００８２】
学習用ニューラルネットワークモデル４１０は、その学習成果が、下位コントローラ３の下位ニューラルネットワークモデル３１１に反映されうる形式のモデルであればどのようなものであってもよく、特に限定はされない。本実施形態では、学習の正確さを考慮して、下位ニューラルネットワークモデル３１１と同じ層数を持ち、各層のノード数が等しく、かつ、各層の演算のビット数が大きいモデルを学習用ニューラルネットワークモデル４１０として用いている。本例では、学習用ニューラルネットワークモデル４１０の演算ビット数は、上位ニューラルネットワークモデル４０７と同じく３２ビットである。
【００８３】
学習部４０９は、事象推定部４０６による事象の推定がなされると、かかる事象の推定に用いられた作動情報を例題とし、上位ニューラルネットワークモデル４０７から出力された事象情報に基づいて作成したデータを解答とする教師データを用いて、逆誤差伝播法などの既存の手法により学習用ニューラルネットワークモデル４１０の学習を行う。これにより、学習用ニューラルネットワークモデル４１０の内部パラメータが更新される。
【００８４】
本例では、教師データの解答は、異常情報に相当するものである（ただし、ビット数は下位ニューラルネットワークモデル３１１で用いられる４ビットのものに比べ、３２ビットである）。この解答の作成は、例えば、上位ニューラルネットワークモデル４０７により得られた事象情報が、対処の必要のある事象の発生を示している場合に１とし、そうでない場合は０とすることができる。あるいは、上位ニューラルネットワークモデル４０７により得られた事象情報のベクトル値の内、対処が必要な事象を示す元を合計又は平均することにより解答を作成してもよいし、事象の性質に応じて重みづけを行ってもよい。例えば、より重大な事象を示す元はより大きな値として、それほどでもない事象を示す元は小さな値として合算するなどしてよい。
【００８５】
学習がなされ、更新された学習用ニューラルネットワークモデル４１０は、更新部４１１へと送られ、まず、更新有無判断部４３４により、この更新された学習用ニューラルネットワークモデル４１０によって、下位コントローラ３の下位ニューラルネットワークモデル３１１を更新すべきか否かが判断される。
【００８６】
この判断は、更新された学習用ニューラルネットワークモデル４１０による異常情報（に相当するもの。以降単に「異常情報」と称する）の推定の精度が向上したか否かに基づいてなされる。すなわち、学習により、異常情報をより正確に推定できるようになったのであれば、下位ニューラルネットワークモデル３１１を更新する意味があるが、そうでなければ、下位ニューラルネットワークモデル３１１を更新する必要はない。
【００８７】
したがって、更新有無判断部４３４は、更新された学習用ニューラルネットワークモデル４１０による異常情報の推定の精度が向上した場合に、かかる学習用ニューラルネットワークモデル４１０を演算桁数削減部３１２へと送り、そうでない場合には何もしない。なお、更新有無判断部４３４による精度の向上の判断の手法は特に限定されないが、一例として、更新有無判断部４３４があらかじめ用意されたテストデータである例題を複数保持しており、かかるテストデータによる学習用ニューラルネットワークモデル４１０による異常情報の推定結果の正解率を評価する手法が挙げられる。学習前の学習用ニューラルネットワークモデル４１０による正解率を、学習後の学習用ニューラルネットワークモデル４１０による正解率が上回れば、精度が向上したと判断できる。
【００８８】
なお、更新有無判断部４３４は必ずしも必須の構成ではなく、これを省略して、更新された学習用ニューラルネットワークモデル４１０を常に演算桁数削減部４１２に送るものとしてもよい。
【００８９】
演算桁数削減部では、各層の演算ビット数が下位ニューラルネットワークモデル３１１のものと等しくなるよう演算桁数が削減される。本例では、３２ビットの内部パラメータが、４ビットに削減される。これにより、学習用ニューラルネットワークモデル４１０は、形式の上では、下位ニューラルネットワークモデル３１１と等しくなる。
【００９０】
そして、演算桁数の削減された学習用ニューラルネットワークモデル４１０は、更新モデル送信部４１３により、下位コントローラ３に送信され、異常推定部３１０の下位ニューラルネットワークモデル３１１を置き換える形で更新する。この動作が繰り返されることにより、下位ニューラルネットワークモデル３１１は、上位ニューラルネットワークモデル４０７における事象推定の結果を反映し、より精度よく異常情報を出力できるように学習していくと考えられる。
【００９１】
図７は、本実施形態に係る事象推定システム１の動作を説明するフロー図である。制御系全体が動作している中、下位コントローラ３は、作動情報取得部３０９により制御対象機器２の作動情報を取得する（ＳＴ０１）。取得された作動情報は、作動情報保持部３１３に所定の期間保持される（ＳＴ０２）。
【００９２】
さらに、取得された作動情報に基づいて、異常推定部３１０が異常情報を演算する。異常情報が異常なしを示す場合には、引き続き制御対象機器の作動情報を取得する。なお、図７では、図示の都合上、ＳＴ０１にて作動情報を取得した後、ＳＴ０３にて異常なしと判断されるまで作動情報の取得がなされないかのように示されているが、作動情報の取得は、異常の推定中や、判定中もリアルタイムに継続して行われている。
【００９３】
ＳＴ０３にて異常情報が異常ありを示している場合、作動情報送信部３１２が、作動情報保持部３１３に保持されている作動情報を上位コントローラ４に送信する（ＳＴ０４）。そのため、作動情報時部３１３に作動情報が保持されている期間Ｔは、少なくとも異常推定部３１０による異常の推定がされるまで、すなわち、下位ニューラルネットワーク３１１から異常情報の出力がなされるまで、好ましくは、図示しているように、作動情報送信部３１２からの作動情報の送信が完了するまでとするとよい。なお、リングバッファである作動情報保持部３１３の容量の削減のため、作動情報送信部３１２に別のバッファを設けて送信すべき作動情報を記憶させることで、作動情報の送信に要する時間の間、作動情報保持部３１３による作動情報の保持を不要としてもよい。その場合には、作動情報保持部３１３から必要な作動情報が作動情報送信部３１２に読みだされれば、古い作動情報は直ちに削除してしまって差し支えないことになる。
【００９４】
上位コントローラ４は、作動情報受信部４０５により下位コントローラ３から送信された作動情報を受信する（ＳＴ１１）。受信された作動情報に基づいて、事象推定部４０６が事象情報を演算し、事象の推定が行われる（ＳＴ１２）。推定された事象に基づいて、適切な処理が、推定結果処理部４０８により行われる（ＳＴ１３）。
【００９５】
さらに、受信された作動情報及び、得られた事象情報に基づいて、学習部４０９による学習用ニューラルネットワークモデル４１０の学習が行われる（ＳＴ１４）。更新された学習用ニューラルネットワークモデル４１０は、更新有無判断部４３４により、その異常情報の推定の精度が向上したか否か判断される（ＳＴ１５）。精度の向上があれば、演算桁数などの調整がなされた後、更新部４１１により、下位コントローラ３に送信され（ＳＴ１５）、そうでなければ下位コントローラ３への送信はなされない。なお、図示の都合上、ＳＴ１３の処理とＳＴ１４〜ＳＴ１６の処理は直列に示されているが、これらの処理は同時並行で行ってよい。
【００９６】
下位コントローラ３は、送信されたニューラルネットワークモデルを受け取り、異常推定部３１０の下位ニューラルネットワークモデル３１１を更新する（ＳＴ０５）。以降この動作を繰り返すことで、制御対象機器２が接続された下位コントローラ３と、下位コントローラ３に接続された上位コントローラ４がある制御系において、機械学習を利用して、制御対象機器２の故障や異常などの事象を推定する事象推定システム１が実現される。
【００９７】
また、本例で説明した実施形態によれば、下位コントローラ３で異常推定を行うため、上位コントローラ４へ全ての作動情報を送信する必要がなく、下位コントローラ３と上位コントローラ４とを接続する高速の通信回線は不要である。また、上位コントローラ４は、下位コントローラ３が異常ありを示した場合にのみ、事象の推定を行うため、上位コントローラ４の演算負荷は低減される。
【００９８】
さらに、下位コントローラ３で用いる下位ニューラルネットワークモデル３１１を小規模なものとすることで、下位コントローラ３の演算能力に対する要求を低く抑えられるため、下位コントローラ３のコスト増が抑制される。一方で、上位コントローラ４で用いる上位ニューラルネットワークモデル４０７を大規模なものとすることで、上位コントローラ４の余剰演算能力を有効活用し、かつ、高精度な事象の推定がなされる。
【００９９】
また、上位ニューラルネットワークモデル４０７による高精度な事象の推定結果に基づいて、下位ニューラルネットワークモデル３１１の追加学習及び更新をするため、下位コントローラ３における異常推定の精度の向上がなされ、また、制御対象機器２の機差を吸収することが期待できる。
【０１００】
図８は、上記説明した第１の実施形態の第１の変形例に係る事象推定システム１０１の全体の構成を示す機能ブロック図である。同図は、先の実施形態の説明において参照した図４に相当する図である。また、事象推定システム１０１のハードウェア構成は、先の実施形態と同一であるから、図１〜３は本変形例のものとして援用するとともに、先の実施形態と共通する構成については同符号を付してその重複する説明を省略する。
【０１０１】
本変形例では、先の実施形態に係る事象推定システム１とは、学習部４０９及び更新部４１１においてのみ相違がある。まず、学習部４０９において、学習用ニューラルネットワークモデル４１０は、先の実施形態では下位ニューラルネットワークモデル３１１より規模の大きいものを用いていたが、本変形例では、下位ニューラルネットワークモデル３１１と規模が等しい。すなわち、学習用ニューラルネットワークモデル４１０は、その層数、各層のノード数、各層の演算ビット数のいずれもが下位ニューラルネットワークモデル３１１と等しく、換言すれば、下位ニューラルネットワークモデル３１１のミラーモデルとなっている。
【０１０２】
そのため、学習部４０９による学習用ニューラルネットワークモデル４１０の追加学習がなされた後、学習用ニューラルネットワークモデル４１０の演算桁数を削減する必要がない。したがって、更新部４１１には演算桁数削減部は設けられず、更新有無判断部４３４により下位ニューラルネットワークモデル３１１の更新の有無が判断された後、更新モデル送信部４１３により、単に学習用ニューラルネットワークモデル４１０が下位コントローラ３に送信され、異常推定部３１０の下位ニューラルネットワークモデル３１１を置き換える形で更新する。
【０１０３】
本変形例では、先の実施形態に比して、学習の精度の点で若干劣るものの、上位コントローラ４における情報処理の負荷が低減され、また、学習用ニューラルネットワークモデル４１０の記憶に必要なメモリ容量が低減される。
【０１０４】
図９は、さらに、上記説明した第１の実施形態の第２の変形例に係る事象推定システム１０２の全体の構成を示す機能ブロック図である。同図もまた、先の実施形態の説明において参照した図４に相当する図である。また、事象推定システム１０２のハードウェア構成は、先の実施形態と同一であるから、図１〜３は本変形例のものとして援用するとともに、先の実施形態と共通する構成については同符号を付してその重複する説明を省略する。
【０１０５】
本変形例では、上位コントローラ４の事象推定部４０６が有する上位ニューラルネットワークモデル４０７が、学習部４０９における学習用ニューラルネットワークモデル４１０と同一のニューラルネットワークモデルであり、上位ニューラルネットワークモデル４０７自体も更新される点が先の実施形態及び第１の変形例と異なっている。
【０１０６】
すなわち、本変形例では、上位ニューラルネットワークモデル４０７自体も、追加学習により更新され、事象推定の精度をより高めるように設計されている。そのため、事象推定部４０６において、上位ニューラルネットワークモデル４０７による事象情報の演算がなされた後、その事象の推定結果に対するフィードバックが教師データとして学習部４０９に活用され、学習用ニューラルネットワークモデル４１０の追加学習が行われる。
【０１０７】
フィードバックとしては、例えば、推定結果処理部４０８において、制御対象機器２の実機の現実の状態がどうであったかをオペレータが入力することにより、その結果を解答として用いたり、上位ニューラルネットワークモデル４０７により得られた事象情報を別途設けられたサーバなどで解析して解答を得たりすることが考えられる。サーバでは、多数の同種の制御対象機器２の現実の故障やメンテナンス情報を蓄積し、常に最新の解答を返せるようにしておくとよい。
【０１０８】
すなわち、学習部４０９は、上位ニューラルネットワークモデル４０７に入力された作動情報を例題として、フィードバックにより得られた解答と組み合わせて教師データを作成し、学習用ニューラルネットワークモデル４１０の追加学習を行う。そのため、上位ニューラルネットワークモデル４０７による事象の推定も、機差や、最新の知見を反映したより正確なものとなっていくことが期待できる。
【０１０９】
学習により更新された学習用ニューラルネットワークモデル４１０は、更新有無判断部４３４により更新の有無が判断され、更新ありと判断された場合、事象推定部４０６の上位ニューラルネットワークモデル４０７を置き換える形で更新する。また同時に、更新部４１１の演算桁数削減部４１２に送られ、演算桁数の削減がなされた後、更新モデル送信部４１３により下位コントローラ３に送信される。すなわち、本変形例における、下位コントローラ３の異常推定部３１０で使用される下位ニューラルネットワークモデル３１１は、上位ニューラルネットワークモデル４０７の演算桁数を削減したものである。
【０１１０】
続いて、本発明の第２の実施形態に係る事象推定システム及び事象推定方法を、図１０〜１３を参照して説明する。
【０１１１】
図１０は、本発明の第２の実施形態に係る事象推定システム７の１例を示す全体外観図である。なお、以降の説明で、先に説明した第１の実施形態と共通する、または対応する構成については同符号を付すこととし、重複する説明についてはこれを省略する。
【０１１２】
第２の実施形態に係る事象推定システム７の特徴は、上位コントローラ４に複数の下位コントローラ３が接続されており、また、複数の下位コントローラ３により制御される制御対象機器２は、必ずしも独立ではなく、互いに関連しているという点である。図１０には、そのような系の典型的な例として、産業用ロボット８と、ロボットコントローラ９とが第１の回線５により接続されている様子を示している。
【０１１３】
産業用ロボット８は、実務上は単一の装置として取り扱われるが、制御の観点からは、その軸数に応じた数のサーボモータの集合体である。図１０に示した産業用ロボット８は６軸のものであるから、この産業用ロボット８には６基のサーボモータが搭載されていることになる。また、ロボットコントローラ９は、それぞれのサーボモータに対するサーボコントローラと、それらサーボコントローラを統括する上位のコント―ラをひとまとめにして筐体に収めたものである。従って、ロボットコントローラ９には、サーボモータに代表される制御対象機器２と同数の下位コントローラ３と、それら下位コントローラを制御する上位コントローラ４が収められていることになる。
【０１１４】
図１１は、本実施形態に係る事象推定システム７の物理的な構成を示す構成図である。複数の制御対象機器２（本例ではサーボモータ）とそれぞれ対応する複数の下位コントローラ３とが第１の回線５により接続され、複数の下位コントローラ３が第２の回線６により、１台の上位コントローラ４と接続されている。なお、図１１では第２の回線６の接続の態様として、いわゆるスター接続がなされているものとして示しているが、接続の態様は図示のものに限定されず、他の形式、例えば、カスケード接続あるいはデイジーチェーン接続等であってもよい。第１の回線５についても同様であり、動力線は図示の通りの個別接続とする一方、ロータリエンコーダなどのセンサからの出力は、カスケード接続あるいはデイジーチェーン接続としても差し支えない。以降の図においても同様である。また、制御対象機器２、下位コントローラ３及び上位コントローラ４のハードウェア構成は、第１の実施形態のものと同一であるので、図２及び図３を本実施形態の説明に援用する。
【０１１５】
図１２は、本実施形態に係る事象推定システム７の全体の構成を示す機能ブロック図である。図１２に示されたブロックの一部はハードウェアにより実現され、また一部はプロセッサ３０６、ブロセッサ４０２、メモリ３０５及びメモリ４０３といったハードウェア資源を用いてソフトウェアにより実現される。また、制御対象機器２の機能構成、及び、下位コントローラ３の機能構成は、第１の実施形態にて示したものと同一であるから、その詳細は図４を援用することとし、図１２には必要な部分のみを簡潔に示している。
【０１１６】
図１２において、上位コントローラ４に含まれる、作動情報受信部４０５、第１の事象推定部４１４と第１の上位ニューラルネットワークモデル４１５、第１の学習部４１６と第１の学習用ＮＮモデル４１７、第１の更新部４１８、更新有無判断部４３５、演算桁数削減部４１９、更新モデル送信部４２０、及び、推定結果処理部４０８は、それぞれ、第１の実施形態における、作動情報受信部４０５、事象推定部４０６と上位ニューラルネットワークモデル４０７、第１の学習部４０９と学習用ＮＮモデル４１０、更新部４１１、更新有無判断部４３４、演算桁数削減部４１２、更新モデル送信部４１３、及び、推定結果処理部４０８と同一の機能を有しており、差異はない。
【０１１７】
図１２に示した例では、複数の下位コントローラ３と上位コントローラ４が接続されている様子を示しているため、図の上では、作動情報受信部４０５は複数の下位コントローラ３と接続されてそれぞれの作動情報を受信しており、また、更新モデル送信部４２０は、複数の下位コントローラ３と接続され、必要な下位コントローラ３に更新されたニューラルネットワークモデルを送信し、下位ニューラルネットワークモデル３１１を更新するように示されている。
【０１１８】
第１の上位ニューラルネットワークモデル４１５は、下位コントローラ３毎に、すなわち、接続される下位コントローラ３と同数用意されていてもよいし、対象となる制御対象機器２の種類ごとに用意されていてもよい。例えば、制御対象機器２として、容量の異なる２種類のサーボモータが使用されている場合、それぞれの機種ごとに対応した、２つの第１の上位ニューラルネットワークモデル４１５が用意される。
【０１１９】
第１の学習用ニューラルネットワークモデル４１７は、下位コントローラ３毎に、すなわち、接続される下位コントローラ３と同数が用意され、それぞれの第１の学習用ニューラルネットワークモデル４１７によって、対応する制御対象機器２の機差が学習されるようになっている。
【０１２０】
本実施形態の第１の事象推定部４１４における第１の上位ニューラルネットワークモデル４１５は、作動情報の入力を受け、第１の事象情報を出力するよう設計されている。ここで、第１の事象情報は、事象推定の対象となる制御対象機器２に生じた変化を推定しうる情報であるという点では、第１の実施形態における事象情報と何ら変わりはない。本実施形態では、それに加えて、第１の事象情報には、他の作動情報が必要である旨を示す、他作動情報要求が含まれる。
【０１２１】
この点についてより詳しく説明すると、本実施形態のように、複数の制御対象機器２が事象推定システム７に含まれ、かつ、複数の制御対象機器２が互いに関連している場合、制御対象機器２に生じた事象を正確に推定するためには、単一の制御対象機器２に係る作動情報だけでは不足する場合が想定される。例えば、本実施形態の例に即して説明すると、ある制御対象機器２にて異常を検出したが、生じている事象が産業用ロボット８のアームの変形であって、複数の制御対象機器２であるサーボモータにまたがって影響を生じるような場合には、複数の制御対象機器２の作動情報を総合的に参照しなければ、正確な事象の特定をすることができないと考えられる。
【０１２２】
第１の上位ニューラルネットワークモデル４１５は、単一の制御対象機器２の作動情報について第１の事象情報を求めるものであるから、これによっては、複数の制御対象機器２にまたがって生じる事象を十分に正確に特定することはむつかしい。従って、第１の上位ニューラルネットワークモデル４１５は、単一の制御対象機器２について独立に生じる事象を示す出力のほか、他の制御対象機器２の作動情報を併せて解析することにより事象を推定する必要があることを示す、他作動情報要求を同時に出力するように設計される。
【０１２３】
具体的な例で説明すると、第１の事象情報より推定される事象が、物理的損傷、経年劣化、潤滑油不足、暖機不足に加え、他作動情報要求の５種であるならば、第１の事象情報は５次元ベクトルとなる。そして、第１の事象情報の値が、例えば、（０．１，０．３，０．３，０．２，０．７）であり、それぞれの事象が生じていることを示す閾値が０．６であれば、事象として、事象推定の対象となった制御対象機器２については、物理的損傷、経年劣化、潤滑油不足及び暖機不足は生じていないが、他の制御対象機器２の作動情報をも含めて解析しなければならない何らかの事象が生じていると推定される（他作動情報要求の値が０．７であり、閾値を超えているため）。
【０１２４】
したがって、本実施形態に係る事象推定システム７では、このように他作動情報要求がなされた（その値が、所定の閾値を超えた）場合には、他の制御対象機器２、具体的には、全ての制御対象機器２についての作動情報に基づいて、事象を推定するための構成が設けられている。以下、その構成について説明する。
【０１２５】
作動情報追加受信部４２１は、第１の事象情報が他作動情報要求を示している場合に、他の下位コントローラ３から、作動情報を追加で受信する。なお、第１の事象情報が他作動情報要求を示していない場合には、作動情報の追加の受信の必要はないため、第１の事象情報を推定結果処理部４０８へと送り、必要な処理を行う。
【０１２６】
作動情報追加受信部４２１が他の下位コントローラ３からの作動情報を受信すると、かかる作動情報は、第２の事象推定部４２２へと送られ、第２の事象推定部４２２が有する第２の上位ニューラルネットワークモデル４２３に入力される。第２の上位ニューラルネットワークモデル４２３は、複数の作動情報を入力とし、第２の事象情報を出力するニューラルネットワークであり、第１の上位ニューラルネットワークモデル４１５と同等か、それ以上の規模のニューラルネットワークモデルである。また、第２の事象情報は、複数の制御対象機器２にまたがって生じる事象を推定しうる情報である。
【０１２７】
得られた第２の事象情報は推定結果処理４０８へと送られ、第１の事象情報の場合と同様に、第２の事象情報により推定された事象に応じた適切な処理がなされる。
【０１２８】
なお、本例では、作動情報追加受信部４２１は、他の全ての下位コントローラ３から作動情報を受信するものとしたが、これに限られず、第１の事象情報から得られる他作動情報要求に応じて、他の下位コントローラ３の一部から作動情報を受信するようにしてもよい。すなわち、第１の事象情報から、推定しようとする事象に関係する制御対象機器２が特定できる場合には、関係する制御対象機器２についての作動情報のみを受信すればよいからである。また、第２の上位ニューラルネットワークモデル４２３は、本例では、全ての作動情報を入力とする単一のものとして説明したが、推定しようとする事象に応じて複数の第２の上位ニューラルネットワークモデル４２３を用意してもよい。例えば、制御対象機器が６つある場合に、１番目から３番目までの制御対象機器２に関連する事象が推定される場合には、１番目から３番目までの制御対象機器２についての作動情報を入力とする第２の上位ニューラルネットワークモデル４２３を使用し、４番目から６番目までの制御対象機器２に関連する事象が推定される場合には、４番目から６番目までの制御対象機器２についての作動情報を入力とする別の第２の上位ニューラルネットワークモデル４２３を使用するといったことが考えられる。
【０１２９】
また、第２の事象情報に基づいて、下位ニューラルネットワークモデル３１１の学習を動的に行うための構成として、第２の学習部４２４及び第２の更新部４２６が設けられている。
【０１３０】
第２の学習部４２４は、下位コントローラ３毎に対応して設けられた第２の学習用ニューラルネットワークモデル４２５を有している。そして、それぞれの第２の学習用ニューラルネットワークモデル４２５に対応する作動情報を例題とし、第２の事象情報から得られる解答を組み合わせて得られる教師データにより、各第２の学習用ニューラルネットワークモデル４２５に対する追加学習を行う。
【０１３１】
第２の学習用ニューラルネットワークモデル４２５は、第１の学習用ニューラルネットワークモデル４１７と同等のモデルである（両者を共用してもよい）。従って、学習により更新された第２の学習用ニューラルネットワークモデル４２５は、第２の更新部４２６へと送られ、更新有無判断部４３６により更新の有無を判断され、演算桁数削減部４２７により演算桁数を削減されてその規模を小さくされた後、更新モデル送信部４２８より、それぞれ対応する下位コントローラ３へと送信され、それぞれの下位ニューラルネットワークモデル３１１を置き換える形で更新する。
【０１３２】
以上説明した構成をとることにより、本実施形態では、複数の制御対象機器２にまたがって生じる、複合的な事象が高精度に推定される。また、下位コントローラ３で時々刻々と取得される作動情報の全てを常に上位コントローラ４に送信する必要はないため、下位コントローラ３と上位コントローラ４とを接続する第２の回線５を高速なものとする必要がなく、また、上位コントローラ４における複合的な事象の推定は、下位コントローラ３にて異常が推定され、さらに上位コントローラ４にて他作動情報要求がなされた場合に行われるから、上位コントローラ４における演算負荷は低減される。
【０１３３】
さらに、本実施形態の構成によれば、一の下位コントローラ３における異常の推定に対しても、上位コントローラ４による複合的な事象の推定がなされるため、複合的な事象が、例えば劣化や損傷を示す場合においても、その初期段階における検出が期待でき、早期の対応がなされうる。また、複合的な事象に基づく下位ニューラルネットワークモデル３１１の追加学習がなされるから、下位コントローラ３における複合的な事象に対する異常推定の精度の向上が見込める。
【０１３４】
図１３は、本実施形態に係る事象推定システム７の動作を説明するフロー図である。事象推定システム７では、複数の下位コントローラ３が制御系に含まれており、６軸の産業用ロボット８を例示する本例では、下位コントローラ３は６台が上位コントローラ４に接続されているが、同図では、特に注目する１台の下位コントローラ３を「一の下位コントローラ」として中央のフローに、他の５台の下位コントローラ３は「他の下位コントローラ」として右側のフローにまとめて示している。また、左側のフローは上位コントローラ４のフローである。
【０１３５】
図１３のフローでは、一の下位コントローラ３により、複合的な事象、すなわち、複数の制御対象機器２に跨って発生する事象に起因する以上の検出がなされた場合の事象推定システム７の動作を示している。まず、ＳＴ２１にて、一の下位コントローラ３は、作動情報取得部３０９により制御対象機器２の作動情報を取得し、ＳＴ２２にて、作動情報保持部３１３に所定の期間保持させる。同時に、他の下位コントローラ３もまた、ＳＴ３１にてそれぞれの作動情報保持部３０９により制御対象機器２の作動情報を取得し、ＳＴ３２にて、それぞれの作動情報保持部３１３に所定の期間保持させる。
【０１３６】
一の下位コントローラ３において、取得された作動情報に基づいて、異常推定部３１０が異常情報を演算し、異常の有無をＳＴ２３にて判断する。ここでは、異常ありと判断されたとして、次のＳＴ２４へと進み、作動情報送信部３１２が、作動情報保持部３１３に保持されている作動情報を上位コントローラ４に送信するものとする。なお、ＳＴ２３にて異常なしと判断された場合には、ＳＴ２１へと戻り、引き続き、作動情報の取得を継続する。なお、作動情報の取得と保存は、制御対象機器２の動作の間、継続的に行われる点は、第１の実施形態の場合と同様である。
【０１３７】
他の下位コントローラ３においても、同様に、取得された作動情報に基づいて、それぞれの異常推定部３１０が異常情報を演算し、異常の有無をＳＴ３３にて判断する。ここでは、異常なしと判断されたとして、ＳＴ３１へと戻り、引き続き、作動情報の取得が継続されるものとする。なお、ＳＴ３３にて異常ありと判断された場合には、ＳＴ３４にて、一の下位コントローラ３と同様に、それぞれの作動情報送信部３１２が、作動情報保持部３１３に保持されている作動情報を上位コントローラ４に送信することになる。図１３では、ＳＴ３４が実行されない場合を想定しているので、同図では、ＳＴ３４を破線で示した。また、他の下位コントローラ３においても、作動情報の取得と保存は、制御対象機器２の動作の間、継続的に行われる点は、第１の実施形態の場合と同様である。
【０１３８】
上位コントローラ４は、作動情報受信部４０５により一の下位コントローラ３から送信された作動情報を受信する（ＳＴ４１）。受信された作動情報に基づいて、第１の事象推定部４１４が第１の事象情報を演算し、他作動情報要求の有無をＳＴ４２にて判断する。他作動情報が不要である場合、すなわち、他作動情報要求が無いと判断された場合には、推定結果処理部４０８にて推定された事象に基づく適切な処理がなされ（ＳＴ４６）、受信された作動情報及び、得られた第１の事象情報に基づいて、第１の学習部４１６による第１の学習用ニューラルネットワークモデル４１７の追加学習が行われ（ＳＴ４７）、更新有無判断部４３５により精度の向上の有無が判断される（ＳＴ４８）。精度が向上している場合には、演算桁数などの調整がなされた後、第１の更新部４２６により、一の下位コントローラ３に送信され（ＳＴ４９）、そうでなければ送信はなされない。この、他作動情報要求が無いと判断された場合のＳＴ４６〜ＳＴ４９までの動作は、第１の実施形態について、図７に示したＳＴ１３〜ＳＴ１６までの動作と同様である。一の下位コントローラ３は、送信されたニューラルネットワークモデルを受け取り、異常推定部３１０の下位ニューラルネットワークモデル３１１を更新する（ＳＴ２５）。
【０１３９】
一方、ＳＴ４２にて、他作動情報が必要である、すなわち、他作動情報要求が有ると判断された場合には、ＳＴ４３にて、作動情報追加受信部４２１から、他の下位コントローラ３それぞれに対し、作動情報を送信するよう要求する。ここでは、他の下位コントローラ３に係る作動情報をまとめて、他作動情報と称している。作動情報の要求を受けた他の下位コントローラ３は、ＳＴ３５にて、上位コントローラ４に、作動情報保持部３１３に保持した作動情報を作動情報送信部３１２から送信する。送信された他作動情報は、ＳＴ４４にて、作動情報追加受信部４２１により受信される。
【０１４０】
図１３のフローより明らかなように、ＳＴ３５にて、他の下位コントローラ３から上位コントローラ４に他作動情報を送信するためには、他の下位コントローラ３において、作動情報保持部３１３に作動情報が保持される期間Ｔは、少なくとも、上位コントローラ４からの他作動情報要求がなされるまでとする必要があり、好ましくは、図示しているように、作動情報送信部３１２からの作動情報の送信が完了するまでとすると良い。上位コントローラ４において、他作動情報要求は、ＳＴ４２において、第１の事象推定部４１４により第１の事象情報が得られ、かかる第１の事象情報が他作動情報要求を含むことが判明次第直ちになされるから、かかる期間Ｔは、少なくとも、第１の事象推定部４１４において、第１の上位ニューラルネットワークモデルからの第１の事象情報の出力がなされるまでの期間であると言い換えてもよい。
【０１４１】
なお、第１の実施形態における説明と同様に、リングバッファである作動情報保持部３１３の容量の削減のため、作動情報送信部３１２に別のバッファを設けて送信すべき作動情報を記憶させることで、作動情報の送信に要する時間の間、作動情報保持部３１３による作動情報の保持を不要としてもよい。
【０１４２】
また、本例の説明にあたり、図１３では複数の下位コントローラ３を一の下位コントローラ３と、他の下位コントローラ４とに区別して示したが、下位コントローラ３自身は、上位コントローラ４からの他作動情報要求を受けるまでは、自分が一の下位コントローラ３に該当するのか、他の下位コントローラ３に該当するのかを知るすべはない。なぜなら、ある下位コントローラ３が異常ありの判定をしたとしても、上位コントローラ４は、かかる異常に基づいて他作動情報要求をするとは限らず、また、同時に別の下位コントローラ３が同じく異常ありの判定をし、かかる異常に基づいて、上位コントローラ４から他作動情報要求を受ける場合も有り得るからである。
【０１４３】
したがって、下位コントローラ３は、結果的に、自身が一の下位コントローラ３に該当するか、他の下位コントローラ３に該当するかにかかわらず、少なくとも期間Ｔの間、作動情報保持部３１３に作動情報を保持している。
【０１４４】
上位コントローラ４は、続けて、ＳＴ４５において、第２の事象推定部４２２により、受信した作動情報全てを第２の上位ニューラルネットワークモデル４２３に入力して演算し、第２の事象情報を得る。
【０１４５】
第２の事象情報により推定される事象に基づき、推定結果処理部４０８にて適切な処理がなされ（ＳＴ４６）、また、一の下位コントローラ３及び他の下位コントローラ３から受信した作動情報及び、第２の事象情報に基づいて、第２の学習部４２４により第２の学習用ニューラルネットワークモデル４２５の追加学習が行われ（ＳＴ４７）、更新有無判断部４３６により精度の向上の有無が判断される（ＳＴ４８）。精度が向上している場合には、演算桁数などの調整がなされた後、第２の更新部４２６により、それぞれ適切な下位コントローラ３に送信される（ＳＴ４９）。図示したフローでは、ＳＴ２５において、一の下位コントローラ３の下位ニューラルネットワークモデル３１１が更新され、ＳＴ３６において、他の下位コントローラ３の下位ニューラルネットワークモデル３１１が更新される。
【０１４６】
以降この動作を繰り返すことで、第１の実施形態として説明した事象推定システム７により得られる効果に加え、前述の、本実施形態特有の効果がさらに得られる。なお、本実施形態においても、第１の実施形態の第１の変形例及び第２の変形例として示した例と同様の変形を加えてもよい。その際に得られる技術的効果についても、それぞれの変形例にて説明したものと同様である。
【０１４７】
以上の第１の実施形態に係る事象推定システム１及び第２の実施形態に係る事象推定システム７において、事象推定部４０６の上位ニューラルネットワークモデル４０７（第２の実施形態では、第１の事象推定部４１４の第１の上位ニューラルネットワークモデル４１５及び第２の事象推定部４２２の第２の上位ニューラルネットワークモデル４２３）と、学習部４０９の学習用ニューラルネットワークモデル４１０（第２の実施形態では、第１の学習部４１６の第１の学習用ニューラルネットワークモデル４１７及び第２の学習部４２４の第２の学習用ニューラルネットワークモデル４２５）とは、第１の実施形態の第２の変形例を除き、互いに独立したニューラルネットワークモデルとして用意されていた。
【０１４８】
これに替えて、上位ニューラルネットワークモデル４０７と学習用ニューラルネットワークモデル４１０とを、一部を共通とするモデルにて構成してもよい。図１４は、一部を共通化した上位ニューラルネットワークモデル４０７と学習用ニューラルネットワークモデル４１０の構成を示す概念図である。
【０１４９】
図１４に示すように、上位ニューラルネットワークモデル４０７は、入力層４２９と、隠れ層４３１を含む共通層４３０に、事象出力層４３２が結合された形式を有している。事象出力層４３２は、隠れ層４３１からの出力を、事象情報として出力する出力層である。なお、事象出力層４３２は、単層の出力層であってもよいし、出力層の前に任意の隠れ層を含むものであってもよい。
【０１５０】
そして、学習用ニューラルネットワークモデル４１０は、上位ニューラルネットワークモデル４０７と同一の、入力層４２９と、隠れ層４３１を含む共通層４３０に、異常出力層４３３が結合された形式を有している。異常出力層４３３は、隠れ層４３１からの出力を、異常情報として出力する出力層であり、事象出力層４３２と同様に、単層の出力層であってもよいし、出力層の前に任意の隠れ層を含むものであってもよい。
【０１５１】
したがって、上位ニューラルネットワークモデル４０７と学習用ニューラルネットワークモデル４１０は、共通層４３１を共通で使用し、その後段のニューラルネットワーク層として、事象出力層４３２を使用すれば上位ニューラルネットワークモデル４０７として機能し、異常出力層４３３を使用すれば学習用ニューラルネットワークモデル４１０として機能するものである。
【０１５２】
この構成では、学習用ニューラルネットワークモデル４１０における学習は、上位ニューラルネットワークモデル４０７から得られた事象情報に対するフィードバックを解答として作動情報と対にして教師データとし、上位ニューラルネットワークモデル４０７の事象出力層４３２を異常出力層４３３に差し替えて生成した学習用ニューラルネットワークモデル４１０により追加学習を行う。したがって、この構成における学習における教師データの生成は、すでに説明した第１の実施形態の第２の変形例と同様としてよく、フィードバックとして、推定結果処理部４０８において、制御対象機器２の実機の現実の状態がどうであったかをオペレータが入力することにより、その結果を解答として用いたり、上位ニューラルネットワークモデル４０７により得られた事象情報を別途設けられたサーバなどで解析して解答を得たりしてよい。
【０１５３】
そして、学習用ニューラルネットワークモデル４１０において学習がなされ、共通層４３１が更新されると、同じ共通層４３１を使用している上位ニューラルネットワークモデル４０７もまた更新され、学習が進むことになり、上位ニューラルネットワークモデル４０７の追加学習が実現される。
【０１５４】
また、下位コントローラ３における下位ニューラルネットワークモデル３１１の更新は、学習用ニューラルネットワークモデル４１０の演算桁数を削減することのほか、更新された共通層４３１に基く転移学習を行うことによってもなされる。このような構成をとることにより、上位コントローラ４におけるニューラルネットワークモデルの記憶に必要な容量の削減が図られる。
【０１５５】
以上説明した第１の実施形態及び第２の実施形態では、下位コントローラ３の異常推定部３１０は、ニューラルネットワークモデルである下位ニューラルネットワークモデル３１１を用いて異常情報を得ることにより、異常の推定を行うものとしていた。かかる構成をとることにより、作動情報から単純に異常の有無の推定を行うことがむつかしい場合であっても、機械学習を利用することで異常の推定を高い精度で行うものである。
【０１５６】
これらの実施形態に替え、下位コントローラ３においては機械学習によるニューラルネットワークモデルを使用しなくともよい場合も想定することができる。以下、図１５を参照して本発明の第３の実施形態を説明する。
【０１５７】
図１５は、本発明の第３の実施形態に係る事象推定システム１０の全体の構成を示す機能ブロック図である。図１５に示した例では、第１の実施形態について図４で示したと同様に制御対象機器２及び下位コントローラ３がそれぞれ１台の場合であるが、これらがそれぞれ複数台であってもよい点については、第１の実施形態や第２の実施形態の場合と同様である。また、説明を簡略化するため、先の実施形態と同様のまたは対応する構成については同符号を付して、その詳細な説明を省略するか、もしくは必要な部分のみ追加で説明を加えることとする。さらに、事象推定システム１０の物理的な外観も限定するものではなく、第１の実施形態について図１で示したように、個々の制御対象機器２に下位コントローラ３が接続されているものであっても、図２で示したように、複数の制御対象機器３が関連付けられているものであっても、またそれらの組み合わせであってもよい点は、先の実施形態と同様である。
【０１５８】
本実施形態に係る事象推定システム１０では、異常推定部３１０は、ニューラルネットワークモデルを用いた機械学習によらず、他の方式により異常の有無の推定を行っている。そのような方式としては、例えば、作動情報のある特定の値またはその組み合わせに対して、あらかじめ与えられた閾値と比較するものであってよい。より具体的には、電流の値や温度の値が所定の閾値を超えた場合に異常有りと推定したり、２以上のパラメータの組み合わせが所定の領域に入った場合、または入らなかった場合に異常有りと推定したりすることなどが考えられる。あるいは、単に制御対象機器２から異常信号の入力を受けた場合に異常有りと推定してもよく、これら複数の推定方法の組み合わせであってもよい。
【０１５９】
いずれにせよ、異常の有無を示す情報は、異常信号として、作動情報送信部３１２に送られ、異常推定部３１０により推定された異常の有無に基づいて、作動情報送信部３１２は作動情報保持部３１３に保持された作動情報を上位コントローラ４に送信する。上位コントローラ４では、作動情報受信部４０５により受信された作動情報に基づいて、事象推定部４０６において、上位ニューラルネットワークモデル４０７により得られた事象情報により事象の推定がなされ、推定結果処理部５０８において適切な処理がなされる点は、先の実施形態の場合と同様である。
【０１６０】
本実施形態の構成であっても、第１の実施形態の場合と同様に、下位コントローラ３で異常推定を行うため、上位コントローラ４へ全ての作動情報を送信する必要がなく、下位コントローラ３と上位コントローラ４とを接続する高速の通信回線は不要である。また、上位コントローラ４は、下位コントローラ３が異常ありを示した場合にのみ、事象の推定を行うため、上位コントローラ４の演算負荷は低減されることになる。
【０１６１】
図１６は、本発明のさらなる別の実施形態である、第４の実施形態に係る事象推定システム１１の全体の構成を示す機能ブロック図である。本実施形態においても、説明を簡略化するため、先の実施形態と同様のまたは対応する構成については同符号を付して、その詳細な説明を省略するか、もしくは必要な部分のみ追加で説明を加えることとする。
【０１６２】
事象推定システム１１の全体構成は、すでに説明した第２の実施形態に係る事象推定システム９と類似しており、制御対象機器２、下位コントローラ３及び上位コントローラ４の個々の構成に違いはない。一方、第２の実施形態では、一の上位コントローラ４に対して複数の下位コントローラ３及び制御対象機器２が接続されているのに対し、本実施形態では、必ずしも下位コントローラ３及び制御対象機器２が複数であることを要さない点に相違がある。そのため、図１６では理解を容易とするため、下位コントローラ３及び制御対象機器２がそれぞれ１台のみである場合を示したが、これらが複数であっても差し支えない。
【０１６３】
本実施形態に係る事象推定システム１１においても、第１の事象推定部４１４の第１の上位ニューラルネットワークモデル４１５は、他の作動情報が必要である旨を示す他作動情報要求を含む第１の事象情報を出力する。ただし、本実施形態では、他の作動情報には、下位コントローラ３が取得した作動情報であって、第１の上位ニューラルネットワークモデル４１５への入力に必要とされたもの以外が含まれる。
【０１６４】
この点より詳しく説明すると、下位コントローラ３は、制御対象機器２から連続的に多量の作動情報を得ており、それらは作動情報保持部３１３に保持される（図４等参照）。しかしながら、下位ニューラルネットワークモデル３１１における異常情報の出力及び、第１の上位ニューラルネットワークモデルにおける第１の事象情報の出力にはそれらの全てが必要ではなく、その一部分が使用される。例えば、制御対象機器２の電流波形、トルク波形、振動波形、温度変化を作動情報として収集しているが、下位ニューラルネットワークモデル３１１及び第１の上位ニューラルネットワークモデル４１５では、その一部期間の電流波形のみを用いているといった場合である。
【０１６５】
かかる一部分の作動情報のみで十分に事象の推定ができる場合には、その推定結果に基づいて、推定結果処理部４０８による適切な処理を実行すればよい。しかしながら、そうでない場合、すなわち、第１の事象情報において、他作動情報要求がなされていると判断される場合には、作動情報追加受信部４２１により、さらなる作動情報が追加で受信される。
【０１６６】
この追加で受信される作動情報は、あらかじめ定めておいてもよいし、他作動情報要求に応じたものとしてもよい。例えば、他作動情報要求がなされれば、すでに送信済みの電流波形以外の情報である、トルク波形、振動波形及び温度波形を要求して受信するようにあらかじめ定めておいたり、すでに受信された一部期間の作動情報では、より正確に事象を推定するための十分な期間にわたる作動情報が不足しているとして、より長い期間にわたる作動情報を追加で受信するように定めておいたりするなどすることができる。
【０１６７】
あるいは、他作動情報要求に応じて追加で受信すべき作動情報の種別を選択したり、追加で受信すべき作動情報の期間を定めたりすることができる。その場合、他作動情報要求は多次元のベクトル値であってよい。
【０１６８】
また、図１６では図示していないが、他作動情報要求は、さらに、第２の実施形態と同様に、他の下位コントローラ３からの作動情報を追加で要求することを示してもよい。第２の事象推定部４２２は、追加で受信された作動情報に応じて、使用すべき第２の上位ニューラルネットワークモデル４２３を選択し、第２の事象情報を得る。
【０１６９】
本実施形態の構成では、下位コントローラ３が得る多量の作動情報の一部分に基づいて異常の有無を推定し、さらに上位コントローラ４で追加の作動情報の必要の有無を判断するため、全体として上位コントローラ４へ送信しなければならない作動情報が低減され、下位コントローラ３と上位コントローラ４とを接続する高速の通信回線が不要となり、また、上位コントローラ４の演算負荷は低減されることになる。
【０１７０】
さらに、図１７に、本発明の別の実施形態である、第５の実施形態に係る事象推定システム１２の全体の構成を示す機能ブロック図を示す。説明を簡略化するため、先の実施形態と同様のまたは対応する構成については同符号を付して、その詳細な説明を省略するか、もしくは必要な部分のみ追加で説明を加えることとする点については、本実施形態においても同様である。
【０１７１】
本実施形態では、これまでに説明した先の実施形態と異なり、事象の推定を上位コントローラ４でなく、上位機器１３にて実行するようにしている点が異なる。この点説明すると、上位コントローラ４は、すでに述べたように、下位コントローラ３を制御することにより間接的に制御対象機器３を制御するコントローラである。そして、事象推定システム１２の制御系の構成によっては、上位コントローラ４による下位コントローラ３の制御それ自体には負荷の高い演算が必要ない場合が想定でき、そのような場合には、上位コントローラ４として演算能力のそれほど高くない機器が選定されることがありうる。
【０１７２】
そのような場合等においては、上位コントローラ４に、ニューラルネットワークモデルを用いた事象推定を行う演算能力の余裕がないと考えられる。そのため、本実施形態に係る事象推定システム１２では、上位コントローラ４とは別に、事象推定を行う上位機器１３を設置している。上位機器１３は、ニューラルネットワークモデルを用いた事象推定を行う演算能力を有する情報処理装置であればどのようなものであってもよく、一般的なＰＣや、遠隔地に設置されたサーバ等の任意の機器を上位機器１３として用いてよい。
【０１７３】
逆説的な言い方とはなるが、本明細書では、ニューラルネットワークモデルを用いた事象推定を行う演算能力を有する情報処理装置を上位機器と称している。この意味においては、すでに説明した第１〜４の実施形態における上位コントローラ４は、いずれも上位機器としても機能していることになる。すなわち、ここでいう上位機器は、上位コントローラと対置される概念ではなく、上位コントローラを含むものである。
【０１７４】
上位機器１３は、上位コントローラ４と同様に下位コントローラ３から作動情報の送信を受け、受信する。図１７では、下位コントローラ３からも上位コントローラ４と同系統の通信回線を介して上位機器１３にも作動情報が送信されるものとして図示している。このような通信回線としては、複数機器の接続に適した一般的なものを使用してよく、例えば、イーサネット（登録商標）のような汎用通信回線や、メカトロリンク（登録商標）のようなＦＡ用の通信回線を用いてよい。あるいは、下位コントローラ３から上位コントローラ４への接続回線と、下位コントローラ３から上位機器１３への接続回線が互いに独立していたり、異なるものであったりしてもよい。本実施形態では、通信回線の態様によらず、下位コントローラ３から上位コントローラ４への接続回線及び、下位コントローラ３から上位機器１３への接続回線をまとめて第２の回線６として示している。
【０１７５】
上位コントローラ４は、本例では、下位コントローラ３から作動情報を受信し、下位コントローラ３の機器制御部３０８に対して適宜のタイミングで指示を送信するものであり、ＦＡ用途に用いられる一般的なコントローラとその機能および動作に違いがないため、その詳細の説明は割愛する。
【０１７６】
上位機器１３は、先の実施形態において説明した作動情報受信部４０５、事象推定部４０６、推定結果処理部４０８、学習部４０９及び更新部４１１を備えており、その機能および動作もまた先に説明したものと同様である。
【０１７７】
本例のように、上位コントローラ４とは別に上位機器１３を設置することで、上位コントローラ４に機械学習を用いた事象の推定を行うための十分な演算能力の余裕がない場合であっても、機械学習を用いた事象の推定を行う事象推定システム１２を構築することができる。また、本例の場合は、上位機器１３として遠隔地に設置され、演算能力の高いサーバを事象の推定に利用できる。このような構成ではサーバである上位機器１３を単独の事象推定システム１３に用いるだけでなく、複数の事象推定システム１２に共通に用いることができるため、複数の事象推定システム１２を運用するような場合には、全体のコストの低減や、事象推定システム１２の構築の手間が軽減されることが期待できる。
【０１７８】
あるいは、次に示す第６の実施形態のように、上位機器としての機能を複数の機器に分離してもよい。図１８に、本発明の別の実施形態である、第６の実施形態に係る事象推定システム１４の全体の構成を示す機能ブロック図を示す。説明を簡略化するため、先の実施形態と同様のまたは対応する構成については同符号を付して、その詳細な説明を省略するか、もしくは必要な部分のみ追加で説明を加えることとする点については、本実施形態においても同様である。
【０１７９】
本実施形態では、事象の推定を上位コントローラ４で行いつつ、得られた事象情報に基づく学習による下位コントローラ３の下位ニューラルネットワークモデル３１１の更新は別の機器で実行するようにしている点が異なる。すなわち、図１８に示すように、本実施形態に係る事象推定システム１４の上位機器は、作動情報受信部４０５と事象推定部４０６及び推定結果処理部４０８を有する第１の上位機器１５と、学習部４０９と更新部４１１を有する第２の上位機器１６の２つに分離されている。
【０１８０】
第１の上位機器１５は、下位コントローラ３を制御することにより間接的に制御対象機器３を制御する上位コントローラ４でもあり、通常は、制御対象機器３や下位コントローラ３の近くに設置され、推定結果処理部４０８による処理結果を受けて、例えば、オペレータが適切な処置を迅速にとれるようになっている。
【０１８１】
第２の上位機器１６は、演算能力が高い情報処理装置であり、一般的なＰＣはもちろん、遠隔地に設置されたいわゆる計算サーバであってもよい。なお、第１の上位機器１５及び第２の上位機器１６の配置位置は任意であり、制限されるものではない。
【０１８２】
本実施形態の構成では、上位コントローラ４でもある第１の上位機器１５が下位コントローラ３から作動情報を受信し、事象推定部４０６において事象情報を出力して事象の推定を行う。また、得られた事象情報に基づいて、推定結果書部４０８により適切な処理がなされる。
【０１８３】
それとともに、第１の上位機器１５は、事象情報に基づいて、作動情報と事象情報を第２の上位機器１６に送信する。第２の上位機器１６では、送られてきた作動情報と事象情報に基づいて学習部４０９にて学習用ニューラルネットワークモデル４１０の学習を行う。学習が行われた学習用ニューラルネットワークモデル４１０は、更新部４１１にて、更新有無判断部４３４により更新の有無を判断され、演算桁数削減部４１２によりその演算桁数が削減された後、更新モデル送信部４１３により下位コントローラ３へと送られ、下位ニューラルネットワークモデル３１１を更新する。この一連の流れは、第１の実施形態にて説明したものと同様である。
【０１８４】
本例のように、上位コントローラ４に加え、第２の上位機器１６を用いることで、特に大量の演算が必要となるニューラルネットワークモデルの学習については、演算能力に優れた専用の機器にこれをさせ、第１の上位機器１５である上位コントローラ４では事象の推定を行うことにより、事象推定システム１４に必要な演算が、それぞれの機器の演算能力に応じた適正な負荷となるように分散される。
【０１８５】
なお、以上示した第１〜第６の実施形態は、互いに相いれないものではなく、当業者がその必要に応じて、その要素を取捨選択して適宜組み合わせ、必要な変形を施すことができるものであり、本発明は、そのようにして得られる各種の組み合わせや変形例を含むものとして理解される。
【０１８６】
また、第１の実施形態における下位ニューラルネットワークモデル３１１は上位ニューラルネットワークモデル４０７より規模が小さく、第２の実施形態及び第４の実施形態において、下位ニューラルネットワークモデル３１１は第１の上位ニューラルネットワークモデル４１５より規模が小さいものとしたが、これは一般に下位コントローラ３よりも上位コントローラ４のほうが演算能力が高いことに鑑みた設計であり、必ずもこの通りでなくともよい。すなわち、下位ニューラルネットワークモデル３１１と上位ニューラルネットワークモデル４０７又は第１の上位ニューラルネットワークモデル４１５の規模が同等であるか、下位ニューラルネットワークモデル３１１の規模が大きくても差し支えない。
【０１８７】
下位コントローラ３の演算能力が十分に高ければ、このような設計も可能である。その場合には、下位ニューラルネットワークモデル３１１は異常情報の出力に、上位ニューラルネットワークモデル４０７又は第１の上位ニューラルネットワークモデル４１５は事象情報又は第１の事象情報の出力に特に適したものとすることで、事象推定システム全体としての演算負荷を下げつつ、事象推定の精度が向上するものと期待できる。
【符号の説明】
【０１８８】
１  事象推定システム、２  制御対象機器、３  下位コントローラ、４  上位コントローラ、５  第１の回線、６  第２の回線、７  事象推定システム、８  産業用ロボット、９  ロボットコントローラ、１０  事象推定システム、１１  事象推定システム、１２  事象推定システム、１３  上位機器、１４  事象推定システム、１５  第１の上位機器、１６  第２の上位機器、２０１  三相電動機、２０２  センサ、３０１  サーボアンプ、３０２  制御回路、３０３  ＡＣ／ＤＣ変換器、３０４  インバータ、３０５  メモリ、３０６  プロセッサ、３０７  入出力、３０８  機器制御部、３０９  作動情報取得部、３１０  異常推定部、３１１  下位ニューラルネットワークモデル、３１２  作動情報送信部、３１３  作動情報保持部、４０１  制御回路、４０２  プロセッサ、４０３  メモリ、４０４  入出力、４０５  作動情報受信部、４０６  事象推定部、４０７  上位ニューラルネットワークモデル、４０８  推定結果処理部、４０９  学習部、４１０  学習用ニューラルネットワークモデル、４１１  更新部、４１２  演算桁数削減部、４１３  更新モデル送信部、４１４  第１の事象推定部、４１５  第１の上位ニューラルネットワークモデル、４１６  第１の学習部、４１７  第１の学習用ニューラルネットワークモデル、４１８  第１の更新部、４１９  演算桁数削減部、４２０  更新モデル送信部、４２１  作動情報追加受信部、４２２  第２の事象推定部、４２３  第２の上位ニューラルネットワークモデル、４２４  第２の学習部、４２５  第２の学習用ニューラルネットワークモデル、４２６  第２の更新部、４２７  演算桁数削減部、４２８  更新モデル送信部、４２９  入力層、４３０  隠れ層、４３１  共通層、４３２  事象出力層、４３３  異常出力層、４３４  更新有無判断部、４３５  更新有無判断部、４３６  更新有無判断部。
【要約】
【課題】機械学習を利用して、制御対象機器の故障や異常などの事象を推定するシステムを実現すること。
【解決手段】１又は複数の下位コントローラであって、前記下位コントローラに接続される制御対象機器の作動情報を取得する作動情報取得部と、前記作動情報に基づいて、異常の有無を推定する異常推定部と、一定期間の前記作動情報を保持する作動情報保持部と、推定された前記異常の有無に基づいて、当該異常の有無の推定に係る前記作動情報を上位機器に送信する作動情報送信部と、を有する下位コントローラと、上位機器であって、下位コントローラより前記作動情報を受信する作動情報受信部と、前記異常の有無に応じて動作し、前記作動情報を入力とし、事象情報を出力とする上位ニューラルネットワークモデルを有し、事象を推定する事象推定部と、を有する上位機器と、を備えた事象推定システム。
【選択図】図４【図１】
0006792043.tif 000004
【図２】
0006792043.tif 000005
【図３】
0006792043.tif 000006
【図４】
0006792043.tif 000007
【図５】
0006792043.tif 000008
【図６】
0006792043.tif 000009
【図７】
0006792043.tif 000010
【図８】
0006792043.tif 000011
【図９】
0006792043.tif 000012
【図１０】
0006792043.tif 000013
【図１１】
0006792043.tif 000014
【図１２】
0006792043.tif 000015
【図１３】
0006792043.tif 000016
【図１４】
0006792043.tif 000017
【図１５】
0006792043.tif 000018
【図１６】
0006792043.tif 000019
【図１７】
0006792043.tif 000020
【図１８】
0006792043.tif 000021