(57)【要約】【課題】ユーザによる電源切断のタイミングを予測し、データ退避処理等を前記タイミングまでに予め実施しておくことで、電源切断処理の所要時間を短縮する制御装置を提供する。【解決手段】電源の切断タイミングを予測する制御装置１００は、電源の切断タイミングを学習する機械学習装置３００を備える。機械学習装置３００は、ユーザ毎の制御装置１００に対する操作内容を、環境の現在状態を表す状態変数として観測する状態観測部３０６と、ユーザにより制御装置１００の電源切断が指令されたことを示す判定データを取得する判定データ取得部３０８と、状態変数と判定データとを用いて、ユーザ毎の操作内容と、電源切断の指令とを関連付けて学習する学習部３１０と、を備える。【選択図】図１
2019046324.tif 000002
【特許請求の範囲】
【請求項１】
電源の切断タイミングを予測する制御装置であって、
前記電源の切断タイミングを学習する機械学習装置を備え、
前記機械学習装置は、
ユーザ毎の前記制御装置に対する操作内容を、環境の現在状態を表す状態変数として観測する状態観測部と、
前記ユーザにより前記制御装置の電源切断が指令されたことを示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記ユーザ毎の操作内容と、前記電源切断の指令とを関連付けて学習する学習部と、
を備える制御装置。
【請求項２】
前記状態変数には、前記ユーザ毎の操作内容に加えて、前記操作の日付、曜日、時刻、ティーチングペンダントの加速度又は位置、工場の消費電力、ＣＰＵの負荷状態、アラームの出力状態のうち少なくともいずれか１つを含む、
請求項１記載の制御装置。
【請求項３】
前記学習部は、前記状態変数と前記判定データとを多層構造で演算する、
請求項１記載の制御装置。
【請求項４】
前記予測した電源の切断タイミングを通知する判定出力部３２０を備える
請求項１記載の制御装置。
【請求項５】
前記学習部は、複数の前記制御装置から得られた前記状態変数及び前記判定データを用いて前記学習を行う、
請求項１〜４のいずれか１つに記載の制御装置。
【請求項６】
前記機械学習装置は、クラウドサーバに存在する、
請求項１記載の制御装置。
【請求項７】
電源の切断タイミングを学習する機械学習装置であって、
ユーザ毎の制御装置に対する操作内容を、環境の現在状態を表す状態変数として観測する状態観測部と、
前記ユーザにより前記制御装置の電源切断が指令されたことを示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記ユーザ毎の操作内容と、前記電源切断の指令とを関連付けて学習する学習部と、
を備える機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は制御装置に関し、特にユーザによる電源切断のタイミングを予測し、データ退避処理等を前記タイミングまでに予め実施しておくことで、電源切断処理の所要時間を短縮する制御装置に関する。
【背景技術】
【０００２】
従来の制御装置は、ユーザによる電源切断の指令に応じて、保存すべきデータを揮発性メモリから不揮発性メモリに退避させる処理（ハイバネーションやバックアップデータ転送等）を実行し、当該処理の実行後に電源を切断する。これは、次回の制御装置の軌道次回を短縮するためには不可欠な処理であるが、一方で、電源切断の指令から実際に切断されるまでに時間がかかるという問題がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０７−０２８５７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
もし電源切断の指令がなされるタイミングを事前に検知できれば、ハイバネーションやバックアップデータ転送等の処理を当該タイミングまでに完了させておくことで、電源切断の指令後速やかに電源を切断できるはずである。しかし、現在のところ電源切断の指令タイミングを事前に予測するような技術は存在しない。
【０００５】
例えば特許文献１には、ロボット制御装置の稼働履歴に基づいて消費電力量を予測する構成が記載されている。しかしながら、特許文献１が予測するものは消費電力量であって、同文献は電源切断の指令タイミングを予測するための技術については何ら開示も示唆もしていない。
【０００６】
本発明はこのような問題点を解決するためになされたものであって、ユーザによる電源切断のタイミングを予測し、データ退避処理等を前記タイミングまでに予め実施しておくことで、電源切断処理の所要時間を短縮する制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施の形態にかかる制御装置は、電源の切断タイミングを予測する制御装置であって、前記電源の切断タイミングを学習する機械学習装置を備え、前記機械学習装置は、ユーザ毎の前記制御装置に対する操作内容を、環境の現在状態を表す状態変数として観測する状態観測部と、前記ユーザにより前記制御装置の電源切断が指令されたことを示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記ユーザ毎の操作内容と、前記電源切断の指令とを関連付けて学習する学習部と、を備える。
本発明の一実施の形態にかかる制御装置は、前記状態変数には、前記ユーザ毎の操作内容に加えて、前記操作の日付、曜日、時刻、ティーチングペンダントの加速度又は位置、工場の消費電力、ＣＰＵの負荷状態、アラームの出力状態のうち少なくともいずれか１つを含む。
本発明の一実施の形態にかかる制御装置は、前記学習部は、前記状態変数と前記判定データとを多層構造で演算する。
本発明の一実施の形態にかかる制御装置は、前記予測した電源の切断タイミングを通知する判定出力部３２０を備える。
本発明の一実施の形態にかかる制御装置は、前記学習部は、複数の前記制御装置から得られた前記状態変数及び前記判定データを用いて前記学習を行う。
本発明の一実施の形態にかかる制御装置は、前記機械学習装置は、クラウドサーバに存在する。
本発明の一実施の形態にかかる機械学習装置は、電源の切断タイミングを学習する機械学習装置であって、ユーザ毎の制御装置に対する操作内容を、環境の現在状態を表す状態変数として観測する状態観測部と、前記ユーザにより前記制御装置の電源切断が指令されたことを示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記ユーザ毎の操作内容と、前記電源切断の指令とを関連付けて学習する学習部と、を備える。
【発明の効果】
【０００８】
本発明によれば、ユーザによる電源切断のタイミングを予測し、データ退避処理等を前記タイミングまでに予め実施しておくことで、電源切断処理の所要時間を短縮する制御装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】制御装置１００の構成を示すブロック図である。
【図２】制御装置１００の構成を示すブロック図である。
【図３】制御装置１００の構成を示すブロック図である。
【図４Ａ】ニューロンを説明する図である。
【図４Ｂ】ニューラルネットワークを説明する図である。
【図５】制御装置１００の構成を示すブロック図である。
【図６】制御システム１０００の構成を示すブロック図である。
【図７】制御装置１００の動作を示すフローチャートである。
【図８】制御装置１００の動作を示すフローチャートである。
【図９】実施例１にかかる制御装置１００の動作を示す図である。
【図１０】実施例２にかかる制御装置１００の動作を示す図である。
【発明を実施するための形態】
【００１０】
本発明の実施の形態について、図面を用いて説明する。
本発明の第１の実施の形態にかかる制御装置１００は、電源切断前にユーザが実行した作業等に関する情報と、ユーザが電源切断の指令を行ったタイミングとを収集し、両者の関係を機械学習によりモデル化する処理を行う（学習過程）。また、学習過程で作成したモデルを使用して、ユーザが実行した作業等を観測して、ユーザが電源切断の指令を行うであろうタイミング予測する処理を行う（予測過程）。
【００１１】
図１は制御装置１００の要部を示す概略的なハードウェア構成図である。ＣＰＵ１１は、制御装置１００を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って制御装置１００全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び外部から入力された各種データ等が一時的に格納される。
【００１２】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、制御装置１００の電源がオフされても記憶状態が保持されるメモリとして構成される。図示しないインタフェースを介して入力された各種プログラムやデータが記憶されている。不揮発性メモリ１４に記憶されたプログラムやデータは、実行時／利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、各種のシステム・プログラムがあらかじめ書き込まれている。
【００１３】
入力装置６０は、ユーザが行った操作内容等を収集する装置である。例えば入力装置６０はティーチングペンダント（ＴＰ）であり、ログイン中のユーザを特定する情報（ユーザＩＤ等）、ユーザが行った操作のログ（実行した日付や曜日、時刻、作業内容等）、ＴＰの加速度等の情報を収集、出力する。また入力装置６０は工場の制御システムであり、工場の消費電力を取得、出力しても良い。また入力装置６０はＴＰをトラッキングするビジョンセンサであり、ＴＰの現在位置（座標）を取得、出力しても良い。また入力装置６０は制御装置１００自身であり、ＣＰＵ１１の負荷状態や、再起動の必要性を通知するアラームの出力ログを取得、出力しても良い。
【００１４】
ユーザを特定する情報は、ユーザにより電源切断の指示のタイミングが異なる可能性があることから、入力データとして有用である。またユーザが行う作業内容のうち、例えばＣＰＵに高負荷がかかる蓋然性が高い作業、ロボットの設定操作など制御装置１００の再起動が必要になる作業、その他再起動を促すアラームが出る作業についてのログは、その後の電源切断との関連性を有する可能性があることから、入力データとして有用である。また、上述の作業に関わらず、ユーザによっては例えば特定のボタン操作のパターンが電源切断と関連性を有することがあるので、あらゆる操作ログが入力データとして有用である可能性がある。日付、曜日、時刻に関する情報は、例えば休日、長期連休前、休憩時間前、勤務終了時刻前などには電源切断が行われる可能性が高いことから、入力データとして有用である。ＴＰの加速度や位置に関する情報は、工場によってはＴＰの置き場所などが電源切断と関連付けられてルール化されていたり、ユーザの癖により電源切断との関連性が見られることもあるので、入力データとして有用である。ＣＰＵ１１が高負荷状態であることや、再起動の必要性を通知するアラームが出力されたことは、上述のように近い将来の電源切断と関連性を有することがあるから、これらのイベントも入力データとして有用である。
【００１５】
入力装置６０は、これらの入力データのうちサンプリング可能なもの（加速度、消費電力、座標、負荷状態等）については、所定の周期（典型的には秒単位だが、必要に応じ適宜調整し得る）でサンプリングし、制御装置１００に送信する。その他の入力データ（操作ログ、アラーム発生ログ等のイベント）については、イベントが発生する毎に制御装置１００に送信する。制御装置１００は、インタフェース１８を介して入力装置６０から入力データを受信し、ＣＰＵ１１に渡す。
【００１６】
電源切断処理部７０は、ユーザにより電源切断が指令された際にこれを検知し、通知信号（以下、切断情報）を出力する。制御装置１００は、インタフェース１９を介して電源切断処理部７０から切断情報を受信し、ＣＰＵ１１に渡す。
【００１７】
インタフェース２１は、制御装置１００と機械学習装置３００とを接続するためのインタフェースである。機械学習装置３００は、機械学習装置３００全体を統御するプロセッサ３０１と、システム・プログラム等を記憶したＲＯＭ３０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ３０３、及び学習モデル等の記憶に用いられる不揮発性メモリ３０４を備える。機械学習装置３００は、インタフェース２１を介して制御装置１００で取得可能な各情報（入力データ、切断情報等）を観測することができる。
【００１８】
図２は、制御装置１００と機械学習装置３００の概略的な機能ブロック図である。機械学習装置３００は、入力データの変化と切断情報との相関関係を、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（プロセッサ３０１等）を含む。制御装置１００が備える機械学習装置３００が学習するものは、入力データの変化と切断情報との相関性を表すモデル構造に相当する。
【００１９】
図２に機能ブロックで示すように、制御装置１００が備える機械学習装置３００は、時系列の入力データを環境の現在状態を表す状態変数Ｓとして観測する状態観測部３０６と、切断情報を判定データＤとして取得する判定データ取得部３０８と、状態変数Ｓと判定データＤとを用いて、入力データの変化と切断情報とを関連付けて学習する学習部３１０とを備える。
【００２０】
状態観測部３０６は、例えばプロセッサ３０１の一機能として構成できる。或いは状態観測部３０６は、例えばプロセッサ３０１を機能させるためのＲＯＭ３０２に記憶されたソフトウェアとして構成できる。状態観測部３０６が観測する状態変数Ｓすなわち時系列の入力データは、入力装置６０が出力するものを取得することができる。入力装置６０は、所定のサンプリング周期で取得された時系列の入力データから、所定期間の時系列の入力データを抽出し、状態変数Ｓとして状態観測部３０６に出力する。
【００２１】
例えば入力装置６０は、入力データを常時取得するとともに、予め定められた一定期間中（例えば最新の入力データの取得時刻から過去ｘ分間）の入力データを保存する。入力装置６０は、電源切断処理部７０が切断情報を出力したことを検知し、切断情報が出力された時点より過去の、予め定められた一定期間（例えば切断情報の出力時のｍ分前から過去ｎ分間など）にわたる時系列の入力データを状態変数Ｓとして出力する。典型的には、ｍ≧ハイバネーションやバックアップデータ転送等の処理に要する平均時間とすることができる。但し、ｍやｎの長さ及び単位をどのように設定するかは任意である。また必要に応じ、ｍやｎをユーザが変更できるようにしても良い。
【００２２】
判定データ取得部３０８は、例えばプロセッサ３０１の一機能として構成できる。或いは判定データ取得部３０８は、例えばプロセッサ３０１を機能させるためのＲＯＭ３０２に記憶されたソフトウェアとして構成できる。判定データ取得部３０８が観測する判定データＤすなわち切断情報は、電源切断処理部７０が出力するものを取得することができる。
【００２３】
学習部３１０は、例えばプロセッサ３０１の一機能として構成できる。或いは学習部３１０は、例えばプロセッサ３０１を機能させるためのＲＯＭ３０２に記憶されたソフトウェアとして構成できる。学習部３１０は、機械学習と総称される任意の学習アルゴリズムに従い、入力データの変化と切断情報との相関関係を学習する。学習部３１０は、前述した状態変数Ｓと判定データＤとを含むデータ集合に基づく学習を反復実行することができる。
【００２４】
このような学習サイクルを繰り返すことにより、学習部３１０は入力データの変化と切断情報との相関性を暗示する特徴を自動的に識別することができる。学習アルゴリズムの開始時には入力データの変化と切断情報との相関性は実質的に未知であるが、学習部３１０は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。入力データの変化と切断情報との相関性が、ある程度信頼できる水準まで解釈されると、学習部３１０が反復出力する学習結果は、現在状態（入力データの変化傾向）に対して、切断情報がどのようなものとなるべきかという推定を行うために使用できるものとなる。つまり学習部３１０は、学習アルゴリズムの進行に伴い、入力データの変化と切断情報との相関性を最適解に徐々に近づけることができる。
【００２５】
上記したように、制御装置１００が備える機械学習装置３００は、状態観測部３０６が観測した状態変数Ｓと判定データ取得部３０８が取得した判定データＤとを用いて、学習部３１０が機械学習アルゴリズムに従い、切断情報を学習するものである。状態変数Ｓは外乱の影響を受け難いデータで構成され、また判定データＤは一義的に求められる。したがって、制御装置１００が備える機械学習装置３００によれば、学習部３１０の学習結果を用いることで、入力データの変化に対応する切断情報を、演算や目算によらずに自動的に、しかも正確に求めることができるようになる。
【００２６】
上記構成を有する機械学習装置３００では、学習部３１０が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図３は、図２に示す制御装置１００の一形態であって、学習アルゴリズムの一例として教師あり学習を実行する学習部３１０を備えた構成を示す。教師あり学習は、入力とそれに対応する出力との既知のデータセット（教師データと称する）が予め大量に与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力（入力データの変化に対する切断情報）を推定するための相関性モデルを学習する手法である。
【００２７】
図３に示す制御装置１００が備える機械学習装置３００において、学習部３１０は、状態変数Ｓから切断情報を導く相関性モデルＭと予め用意された教師データＴから識別される相関性特徴との誤差Ｅを計算する誤差計算部３１１と、誤差Ｅを縮小するように相関性モデルＭを更新するモデル更新部３１２とを備える。学習部３１０は、モデル更新部３１２が相関性モデルＭの更新を繰り返すことによって入力データの変化と切断情報との相関関係を学習する。
【００２８】
相関性モデルＭは、回帰分析、強化学習、深層学習などで構築することができる。相関性モデルＭの初期値は、例えば、状態変数Ｓと形状データとの相関性を単純化して表現したものとして、教師あり学習の開始前に学習部３１０に与えられる。教師データＴは、例えば、過去の入力データの変化と切断情報との対応関係を記録することで蓄積された経験値（入力データの変化と切断情報との既知のデータセット）によって構成でき、教師あり学習の開始前に学習部３１０に与えられる。誤差計算部３１１は、学習部３１０に与えられた大量の教師データＴから入力データの変化と切断情報との相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数Ｓに対応する相関性モデルＭとの誤差Ｅを求める。モデル更新部３１２は、例えば予め定めた更新ルールに従い、誤差Ｅが小さくなる方向へ相関性モデルＭを更新する。
【００２９】
次の学習サイクルでは、誤差計算部３１１は、新たに得られた状態変数Ｓ及び判定データＤを用いて、それら状態変数Ｓ及び判定データＤに対応する相関性モデルＭに関し誤差Ｅを求め、モデル更新部３１２が再び相関性モデルＭを更新する。このようにして、未知であった環境の現在状態（入力データの変化）とそれに対応する状態（切断情報）との相関性が徐々に明らかになる。つまり相関性モデルＭの更新により、入力データの変化と切断情報との関係が、最適解に徐々に近づけられる。
【００３０】
前述した教師あり学習を進める際に、例えばニューラルネットワークを用いることができる。図４Ａは、ニューロンのモデルを模式的に示す。図４Ｂは、図４Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００３１】
図４Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）に対する結果ｙを出力するものである。各入力ｘ１〜ｘ３には、この入力ｘに対応する重みｗ（ｗ１〜ｗ３）が掛けられる。これにより、ニューロンは、次の数１式により表現される出力ｙを出力する。なお、数２式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆｋは活性化関数である。
【００３２】
【数１】
2019046324.tif 000003
【００３３】
図４Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す）が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００３４】
図４Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してＷ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みＷ１と重みＷ２との間の特徴を表す。
【００３５】
図４Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してＷ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みＷ２と重みＷ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
【００３６】
制御装置１００が備える機械学習装置３００においては、状態変数Ｓを入力ｘとして、学習部３１０が上記したニューラルネットワークに従う多層構造の演算を行うことで、切断情報を推定値（結果ｙ）として出力することができる。なおニューラルネットワークの動作モードには、学習モードと判定モードとがあり、例えば学習モードで学習データセットを用いて重みＷを学習し、学習した重みＷを用いて判定モードで切断タイミングの推定を行うことができる。なお判定モードでは、検出、分類、推論等を行うこともできる。
【００３７】
上記した制御装置１００及び機械学習装置３００の構成は、ＣＰＵ１１又はプロセッサ３０１が実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、入力データの変化に対応する切断情報を学習する機械学習方法であって、ＣＰＵ１１又はプロセッサ３０１が、入力データの変化を環境の現在状態を表す状態変数Ｓとして観測するステップと、切断情報を判定データＤとして取得するステップと、状態変数Ｓと判定データＤとを用いて、入力データの変化と切断情報とを関連付けて学習するステップとを有する。
【００３８】
本実施形態によれば、機械学習装置３００が、入力データの変化と切断情報との相関性を示すモデルを生成する。これにより、一度学習モデルを作成してしまえば、加工途中であっても、その時点までに取得できた入力データの変化に基づいて、切断情報を予測することが可能となる。
【００３９】
図５は、第２の実施の形態による制御装置１００を示す。制御装置１００は、機械学習装置３００と、データ取得部３３０とを備える。データ取得部３３０は、入力装置６０や電源切断処理部７０から、時系列の入力データと切断情報とを取得する。
【００４０】
制御装置１００が有する機械学習装置３００は、第１の実施形態の機械学習装置３００が備える構成に加えて、学習部３１０が入力データの変化に基づいて推定した切断情報を制御装置２００に対して出力する判定出力部３２０を含む。
【００４１】
判定出力部３２０は、例えばプロセッサ３０１の一機能として構成できる。或いは判定出力部３２０は、例えばプロセッサ３０１を機能させるためのソフトウェアとして構成できる。判定出力部３２０は、学習部３１０が入力データの変化に基づいて推定した切断情報を制御装置２００に対して出力する。
【００４２】
上記構成を有する制御装置１００が備える機械学習装置３００は、前述した機械学習装置３００と同等の効果を奏する。特に第２の実施形態における機械学習装置３００は、判定出力部３２０の出力によって環境の状態を変化させることができる。他方、第１の実施形態の機械学習装置３００では、学習部１１０の学習結果を環境に反映させるための判定出力部３２０に相当する機能を、外部装置に求めることができる。
【００４３】
図６は、本発明の他の実施の形態を示す。制御システム１０００は、同種の制御装置１００、１００’と、それら制御装置１００、１００’を互いに接続する有線／無線のネットワーク１１００とを備える。制御装置１００、１００’は、同じ目的の作業に必要とされる機構を有する。但し、制御装置１００は機械学習装置３００を備えるが、制御装置１００’は機械学習装置３００を備えない。
【００４４】
上記構成を有する制御システム１０００は、複数の制御装置１００、１００’のうちで機械学習装置３００を備える制御装置１００が、学習部３１０の学習結果を用いて、入力データに対応する切断情報を、演算や目算によらずに自動的に、しかも正確に求めることができる。また、少なくとも１つの制御装置１００の機械学習装置３００が、他の複数の制御装置１００、１００’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全ての制御装置１００、１００’に共通する入力データと切断情報との相関関係を学習し、その学習結果を全ての制御装置１００、１００’が共有するように構成できる。したがって制御システム１０００によれば、より多様なデータ集合（状態変数Ｓ及び判定データＤを含む）を入力として、入力データに対応する切断情報の学習の速度や信頼性を向上させることができる。
【００４５】
＜実施例１＞
図７乃至図９を用いて、制御装置１００の実施例１について説明する。
図９を用いて、実施例１の概要について説明する。学習前の制御装置１００は、ユーザにより電源切断指令が行われたならば、直ちに電源を切断する。通常、ハイバネーションやバックアップデータ転送等の処理は電源切断指令の後に開始されるが、本実施例では電源が直ちに切断されるので、ハイバネーションやバックアップデータ転送等は正常に完了しない。よって、次回の起動時には比較的多くの起動時間を要することになる。一方、学習後の制御装置１００も、ユーザにより電源切断指令が行われたならば、直ちに電源を切断する。但し、ユーザにより電源切断指令が行われるときには、既にハイバネーションやバックアップデータ転送等の処理が完了しているので、次回の起動時は比較的少ない起動時間で済む。
【００４６】
学習前の制御装置１００は、ユーザの電源切断指令をトリガとして、入力データの変化と切断情報との相関関係を学習することで、学習モデルを作成する（学習過程）。学習後の制御装置１００は、当該学習モデルを用いて、動作中常に電源の切断の有無を予測する（予測過程）。電源の切断が予測された場合、制御装置１００は切断予測通知を出力する。切断予測通知に応じて、制御装置１００はハイバネーションやバックアップデータ転送等の処理等を開始する。この後、予測通りにユーザが電源切断指令を行った場合、制御装置１００は既にハイバネーションやバックアップデータ転送等の処理を完了しているので、即座に電源を切断することができる。
【００４７】
図７のフローチャートを用いて、制御装置１００の学習過程における動作について具体的に説明する。
Ｓ１：制御装置１００が動作を開始する。制御装置１００は、通常、動作開始と同時に入力装置６０からの入力データの収集を開始する。制御装置１００は、所定のサンプリング周期で入力データを取得し、記憶装置に蓄積し続ける。ここで記憶装置にはリングバッファ等を用い、蓄積された入力データのうち、一定の時間が経過したもの（例えば最新の入力データの取得時刻からｘ分以上前に取得された入力データ）は削除することもできる。これにより記憶領域を有効に利用できる。
Ｓ２：電源切断処理部７０は、ユーザにより制御装置１００の電源切断が指令されたことを検知する。制御装置１００は、切断情報を受信したならば、これをトリガとして学習サイクルを開始する。
Ｓ３：制御装置１００は、ステップＳ１で蓄積した時系列の入力データのうち、予め定められた一定期間（例えば切断情報の出力のｍ分前から過去ｎ分間など。なおｍ＋ｎ≦ｘとする。）の入力データを状態変数Ｓとし、ステップＳ２で取得した切断情報を判定データＤとして機械学習装置３００に入力し、状態変数Ｓと判定データＤとの相関関係を示す学習モデルを作成する。
【００４８】
制御装置１００は、所望の精度の学習モデルを得るのに十分な数の状態変数Ｓと判定データＤとが得られるまで、ステップＳ１乃至Ｓ３までの処理を繰り返す。なおこの学習過程においては、切断情報が発行される毎に１回の学習サイクル（ステップＳ１乃至Ｓ３の処理）が実施されることになる。
【００４９】
なお、本実施例では、制御装置１００の電源は、電源切断指令の発生直後に切断される。そのため制御装置１００は、ステップＳ１及びＳ２において、入力データ及び切断情報を不揮発性の記憶装置に保存することができる。そして次回の起動時に、制御装置１００はまずステップＳ３の学習処理を行ってから、ステップＳ１の処理に戻る。
【００５０】
しかし、例えば制御装置１００と機械学習装置３００とを分離し、機械学習装置３００を例えばクラウド、フォグ又はエッジコンピューティング環境に配置したような場合は、制御装置１００の電源が切断されたとしても、機械学習装置３００が引続き学習を行うことが可能である。
【００５１】
続いて、図８のフローチャートを用いて、制御装置１００の予測過程における動作について説明する。
Ｓ１１：制御装置１００が動作を開始する。制御装置１００は、通常、動作開始と同時に入力装置６０からの入力データの収集を開始する。以降、制御装置１００の電源が切断されるまで以下の処理を継続的に実行する。
Ｓ１２：制御装置１００は、動作開始と同時に入力装置６０からの入力データの収集を開始する。制御装置１００は、所定のサンプリング周期で入力データを取得、蓄積し続ける。ここで蓄積された入力データのうち、一定の時間が経過したもの（少なくとも最新の入力データの取得時刻からｎ分以上前に取得された入力データ）は削除することもできる。これにより記憶領域を有効に利用できる。
Ｓ１３：制御装置１００は、ステップＳ１２で取得した時系列の入力データのうち、予め定められた一定期間（例えばｎ分間）の入力データを状態変数Ｓとして機械学習装置３００に入力する。機械学習装置３００は、状態変数Ｓを学習済みモデルに入力し、状態変数Ｓに対応する判定データＤを予測値として出力する。ここで制御装置１００は、電源切断指示の発生までの時間を共に出力しても良い。例えば、学習過程において、切断情報の出力のｍ分前から過去ｎ分間の入力データを状態変数Ｓとして使用しており、予測過程においてｎ分間の入力データを状態変数Ｓとして使用した場合には、ｍ分後に電源切断の指示が発生すると予測できる。
Ｓ１４：予測値として切断情報が出力されなければ、ステップＳ１１に戻り動作を継続する。予測値として切断情報が出力された場合、ステップＳ１５に遷移する。
Ｓ１５：制御装置１００は、電源切断が予測されることを示す通知（切断予測情報）を出力する。
【００５２】
制御装置１００は、この切断予測情報を受けて、例えばハイバネーションやバックアップデータ転送等の処理等を開始することができる。これにより、ユーザが電源切断を指令したならば直ちに電源を切断することが可能となる。なお、制御装置１００が切断予測情報を受けた後の処理（ハイバネーションやバックアップデータ転送等）の具体的な内容については本発明に含まれないため、詳細な説明は行わない。
【００５３】
＜実施例２＞
図７、図８及び図１０を用いて、制御装置１００の実施例２について説明する。なおここでは主に実施例１との相違点にのみついて説明する。特に言及しない事項については、実施例１と同様の動作であるものとする。
【００５４】
図１０を用いて、実施例２の概要について説明する。学習前の制御装置１００は、ユーザにより電源切断指令が行われたならば、ハイバネーションやバックアップデータ転送等の処理を行い、完了後に電源を切断する。よって、電源の切断までに比較的多くの時間を要する。一方、学習後の制御装置１００は、ユーザにより電源切断指令が行われたならば、直ちに電源を切断する。このとき、既にハイバネーションやバックアップデータ転送等の処理が完了しているためである。
【００５５】
図７のフローチャートに示す制御装置１００の学習過程において、本実施例では、制御装置１００の電源は、電源切断指令の発生後、相当の時間が経過した後に切断される。そのため制御装置１００は、電源切断指令の発生後直ちにステップＳ３の学習処理を実行することができる。なお、電源の切断までに学習処理が完了しない可能性がある場合には、実施例１と同じように、制御装置１００が次回の起動時に学習処理を行うか、クラウド、フォグ又はエッジコンピューティング環境に配置した機械学習装置３００が引続き学習を行うこととしても良い。図８のフローチャートに示す制御装置１００の予測過程については、実施例１と同様であるため説明を省略する。
【００５６】
これら２つの実施例では、制御装置１００の機械学習装置３００が、制御装置１００の稼働中における入力データの変化と、切断情報と、の相関関係を学習した学習モデルを生成する。この学習モデルを用いることにより、制御装置１００は、入力データの変化に基づいて、切断情報を予測し、予測結果を制御装置２００に通知することができる。
【００５７】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００５８】
例えば、上述の実施の形態では主に制御装置１００が機械学習装置３００を備える例を示したが、本発明はこれに限定されず、機械学習装置３００は制御装置１００の外部に存在しても良い。例えば機械学習装置３００は独立の情報処理装置であって、クラウド、フォグ又はエッジコンピューティング環境等に配置され、制御装置１００と有線又は無線等により通信可能に構成しても良い。
【符号の説明】
【００５９】
１００  制御装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１８，１９，２１  インタフェース
２０  バス
６０  入力装置
７０  電源切断処理部
３００  機械学習装置
３０１  プロセッサ
３０２  ＲＯＭ
３０３  ＲＡＭ
３０４  不揮発性メモリ
３０６  状態観測部
３０８  判定データ取得部
３１０  学習部
３１１  誤差計算部
３１２  モデル更新部
３２０  判定出力部
３３０  データ取得部
１０００  制御システム
１１００  ネットワーク
【図１】
2019046324.tif 000004
【図２】
2019046324.tif 000005
【図３】
2019046324.tif 000006
【図４Ａ】
2019046324.tif 000007
【図４Ｂ】
2019046324.tif 000008
【図５】
2019046324.tif 000009
【図６】
2019046324.tif 000010
【図７】
2019046324.tif 000011
【図８】
2019046324.tif 000012
【図９】
2019046324.tif 000013
【図１０】
2019046324.tif 000014