(57)【要約】【課題】電動機の寿命を向上させると共に、機械装置の稼働率を向上させることのできる機械学習器、モータ制御システムおよび機械学習方法の提供を図る。【解決手段】機械装置１に設けられた電動機１２を冷却するファンモータ１１の清掃頻度を学習する機械学習器２であって、前記機械装置の状態を観測する状態観測部２１と、前記状態観測部により観測された状態量に基づいて、前記ファンモータを清掃する行動価値テーブルを更新する学習部２２と、を備える。【選択図】図１
2017099227.tif 000002
【特許請求の範囲】
【請求項１】
機械装置に設けられた電動機を冷却するファンモータの清掃頻度を学習する機械学習器であって、
前記機械装置の状態を観測する状態観測部と、
前記状態観測部により観測された状態量に基づいて、前記ファンモータを清掃する行動価値テーブルを更新する学習部と、を備える、
ことを特徴とする機械学習器。
【請求項２】
前記状態観測部は、
前記電動機の電流，電圧，温度およびすべり、前記ファンモータの清掃間隔、並びに、前記機械装置の稼働率の少なくとも１つの状態量を観測し、
前記学習部は、
前記状態観測部により観測された、前記電動機の電流，電圧，温度およびすべり、前記ファンモータの清掃間隔、並びに、前記機械装置の稼働率の少なくとも１つの状態量に基づいて、前記ファンモータを清掃する行動価値テーブルを更新する、
ことを特徴とする請求項１に記載の機械学習器。
【請求項３】
前記状態観測部は、
前記電動機の電流，電圧，温度およびすべりの第１状態量を、前記電動機から、前記電動機を制御する電動機制御部へのフィードバック信号として受け取り、
前記ファンモータの清掃間隔および前記機械装置の稼働率の第２状態量を、前記電動機制御部から受け取る、
ことを特徴とする請求項２に記載の機械学習器。
【請求項４】
前記状態観測部は、さらに、
前記電動機の周囲温度の状態量を観測し、
前記学習部は、
前記状態観測部により観測された前記電動機の周囲温度の状態量も考慮して、前記ファンモータを清掃する行動価値テーブルを更新する、
ことを特徴とする請求項２または請求項３に記載の機械学習器。
【請求項５】
前記状態観測部は、
前記電動機の周囲温度の第３状態量を、前記電動機の近傍に配置された温度計測部から受け取る、
ことを特徴とする請求項４に記載の機械学習器。
【請求項６】
前記学習部は、
前記状態観測部により観測された状態量に基づいて報酬を計算する報酬計算部と、
前記報酬計算部により計算された報酬に基づいて、現在の状態変数から前記ファンモータの清掃間隔の変化量を決定する関数を更新する価値関数更新部と、を含む、
ことを特徴とする請求項１〜請求項５のいずれか１項に記載の機械学習器。
【請求項７】
前記機械学習器は、さらに、
前記学習部の学習結果に基づいて、現在の状態変数から、前記ファンモータを清掃するか否かを決定する意思決定部を含む、
ことを特徴とする請求項６に記載の機械学習器。
【請求項８】
前記報酬計算部は、
前記ファンモータの清掃間隔の増加、観測された前記電動機の温度と前記電動機の予想温度の差分の縮小、または、前記機械装置の稼働率の低下に基づいて、より小さい報酬を与え、
前記ファンモータの清掃間隔の短縮、観測された前記電動機の温度と前記電動機の予想温度の差分の増大、または、前記機械装置の稼働率の上昇に基づいて、より大きい報酬を与える、
ことを特徴とする請求項７に記載の機械学習器。
【請求項９】
さらに、
前記ファンモータを清掃するとき、前記意思決定部の出力に基づいて警報を出力する警報出力部を備える、
ことを特徴とする請求項７または請求項８に記載の機械学習器。
【請求項１０】
前記機械学習器は、
ニューラルネットワークを有する、請求項１〜請求項９のいずれか１項に記載の機械学習器。
【請求項１１】
請求項６〜請求項１０のいずれか１項に記載の機械学習器を複数備えるモータ制御システムであって、
複数の前記機械学習器の間でデータをやり取りする手段を有し、複数の前記機械学習器における１つの機械学習器の価値関数更新部により更新された関数を用いて、他の機械学習器の価値関数更新部の関数を更新する、
ことを特徴とするモータ制御システム。
【請求項１２】
前記モータ制御システムは、複数の前記電動機および前記ファンモータを備え、前記機械学習器は、それぞれの前記ファンモータに対応して設けられ、前記機械学習器が学習した前記状態変数を通信媒体によって共有または相互交換するようになっている、
ことを特徴とする請求項１１に記載のモータ制御システム。
【請求項１３】
機械装置に設けられた電動機を冷却するファンモータの清掃頻度を学習する機械学習方法であって、
前記機械装置の状態を観測し、
観測された状態量に基づいて、前記ファンモータを清掃する行動価値テーブルを更新する、
ことを特徴とする機械学習方法。
【請求項１４】
前記機械装置の状態の観測は、
前記電動機の電流，電圧，温度およびすべり、前記ファンモータの清掃間隔、並びに、前記機械装置の稼働率の少なくとも１つの状態量を観測し、
前記ファンモータを清掃する行動価値テーブルの更新は、
観測された、前記電動機の電流，電圧，温度およびすべり、前記ファンモータの清掃間隔、並びに、前記機械装置の稼働率の少なくとも１つの状態量に基づいて、前記ファンモータを清掃する行動価値テーブルを更新する、
ことを特徴とする請求項１３に記載の機械学習方法。
【請求項１５】
前記機械装置の状態の観測は、さらに、
前記電動機の周囲温度の状態量を観測し、
前記ファンモータを清掃する行動価値テーブルの更新は、
観測された前記電動機の周囲温度の状態量も考慮して、前記ファンモータを清掃する行動価値テーブルを更新する、
ことを特徴とする請求項１４に記載の機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファンモータの清掃間隔を学習する機械学習器、モータ制御システムおよび機械学習方法に関する。
【背景技術】
【０００２】
従来、ＮＣ(Numerical Control：数値制御)工作機械やロボット等の機械装置には、電動機(駆動モータ)が搭載され、このような駆動モータから放出される熱を冷却するために、通常、ファンモータが設けられている。
【０００３】
ところで、ＮＣ工作機械やロボット等は、様々な塵埃が存在する工場等で使用されるため、例えば、ファンモータや通風孔には、汚れが付着し、或いは、埃が溜まり、その結果、駆動モータの冷却能力が低下することになる。そのため、ＮＣ工作機械やロボット等の機械装置のユーザは、ファンモータや通風孔の清掃(以下、ファンモータの清掃とも記載する)が求められている。
【０００４】
ファンモータによる冷却能力が低下すると、駆動モータの温度上昇を招き、特に、駆動モータの軸受におけるグリースの温度が上昇することになる。ここで、モータの寿命は、軸受におけるグリースの寿命が大きな要因になっており、このグリースの寿命は、温度の影響を大きく受ける。すなわち、グリースの寿命は、温度が高いほど短くなることが知られており、例えば、グリースの温度が１０度程度高くなるだけで、グリースの寿命が数万時間短くなってしまうこともある。
【０００５】
ところで、従来、ファン(ファンモータ)のメンテナンスを最適なタイミングで行うようにする提案がなされている(例えば、特許文献１参照)。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２４９２７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したように、例えば、ＮＣ工作機械やロボット等の機械装置のユーザは、ファンモータの清掃(ファンモータや通風孔の清掃)が求められているが、ファンモータの清掃間隔(ファンモータの清掃タイミング)は、特許文献１に記載された手法を含め、経験則に基づいて決められている。
【０００８】
例えば、特許文献１では、初期特性記憶部に記憶されている合計要求風量−ファン回転数の初期特性と特性修正・更新部からの実特性との差が所定範囲を超えた場合に、メンテナンス時期であると判定することが開示されている。しかしながら、この場合も、ファン(ファンモータ)の初期特性と実特性との差の所定範囲の決定は、経験則に依存することになる。
【０００９】
ここで、ファンモータの清掃を行う頻度が低すぎると、例えば、駆動モータの温度が高くなり、駆動モータ(或いは、駆動モータが設けられた機械装置)の寿命が低下する。一方、ファンモータの清掃を行う頻度が高すぎると、例えば、機械装置の稼働率が低下し、その分、生産性が低下する。
【００１０】
本発明の目的は、上述した従来技術の課題に鑑み、電動機の寿命を向上させると共に、機械装置の稼働率を向上させることのできる機械学習器、モータ制御システムおよび機械学習方法の提供にある。
【課題を解決するための手段】
【００１１】
本発明に係る第１実施形態によれば、機械装置に設けられた電動機を冷却するファンモータの清掃頻度を学習する機械学習器であって、前記機械装置の状態を観測する状態観測部と、前記状態観測部により観測された状態量に基づいて、前記ファンモータを清掃する行動価値テーブルを更新する学習部と、を備える機械学習器が提供される。
【００１２】
前記状態観測部は、前記電動機の電流，電圧，温度およびすべり、前記ファンモータの清掃間隔、並びに、前記機械装置の稼働率の状態量を観測し、前記学習部は、前記状態観測部により観測された、前記電動機の電流，電圧，温度およびすべり、前記ファンモータの清掃間隔、並びに、前記機械装置の稼働率の状態量に基づいて、前記ファンモータを清掃する行動価値テーブルを更新するのが好ましい。
【００１３】
前記状態観測部は、前記電動機の電流，電圧，温度およびすべりの第１状態量を、前記電動機から、前記電動機を制御する電動機制御部へのフィードバック信号として受け取り、前記ファンモータの清掃間隔および前記機械装置の稼働率の第２状態量を、前記電動機制御部から受け取ることができる。前記状態観測部は、さらに、前記電動機の周囲温度の状態量を観測し、前記学習部は、前記状態観測部により観測された前記電動機の周囲温度の状態量も考慮して、前記ファンモータを清掃する行動価値テーブルを更新するのが好ましい。前記状態観測部は、前記電動機の周囲温度の第３状態量を、前記電動機の周囲に設けられた温度計測部から受け取ることができる。
【００１４】
前記学習部は、前記状態観測部により観測された状態量に基づいて報酬を計算する報酬計算部と、前記報酬計算部により計算された報酬に基づいて、現在の状態変数(状態量)から前記ファンモータの清掃間隔の変化量を決定する関数を更新する価値関数更新部と、を含むのが好ましい。前記機械学習器は、さらに、前記学習部の学習結果に基づいて、現在の状態変数から、前記ファンモータを清掃するか否かを決定する意思決定部を含むことができる。
【００１５】
前記報酬計算部は、前記ファンモータの清掃間隔の増加、観測された前記電動機の温度と前記電動機の予想温度の差分の縮小、または、前記機械装置の稼働率の低下に基づいて、より小さい報酬を与え、前記ファンモータの清掃間隔の短縮、観測された前記電動機の温度と前記電動機の予想温度の差分の増大、または、前記機械装置の稼働率の上昇に基づいて、より大きい報酬を与えるのが好ましい。さらに、前記ファンモータを清掃するとき、前記意思決定部の出力に基づいて警報を出力する警報出力部を備えることもできる。前記機械学習器は、ニューラルネットワークを有してもよい。
【００１６】
本発明に係る第２実施形態によれば、機械装置に設けられた電動機を冷却するファンモータの清掃頻度を学習する機械学習器であって、前記機械装置の状態を観測する状態観測部と、前記状態観測部により観測された状態量に基づいて、前記ファンモータを清掃する行動価値テーブルを更新する学習部と、を備え、前記学習部は、前記状態観測部により観測された状態量に基づいて報酬を計算する報酬計算部と、前記報酬計算部により計算された報酬に基づいて、現在の状態変数から前記ファンモータの清掃間隔の変化量を決定する関数を更新する価値関数更新部と、を含む機械学習器を複数備えるモータ制御システムであって、複数の前記機械学習器の間でデータをやり取りする手段を有し、複数の前記機械学習器における１つの機械学習器の価値関数更新部により更新された関数を用いて、他の機械学習器の価値関数更新部の関数を更新するモータ制御システムが提供される。前記モータ制御システムは、複数の前記電動機および前記ファンモータを備え、前記機械学習器は、それぞれの前記ファンモータに対応して設けられ、前記機械学習器が学習した前記状態変数を通信媒体によって共有または相互交換することができる。
【００１７】
本発明に係る第３実施形態によれば、機械装置に設けられた電動機を冷却するファンモータの清掃頻度を学習する機械学習方法であって、前記機械装置の状態を観測し、観測された状態量に基づいて、前記ファンモータを清掃する行動価値テーブルを更新する機械学習方法が提供される。前記機械装置の状態の観測は、前記電動機の電流，電圧，温度およびすべり、前記ファンモータの清掃間隔、並びに、前記機械装置の稼働率の状態量を観測し、前記ファンモータを清掃する行動価値テーブルの更新は、観測された、前記電動機の電流，電圧，温度およびすべり、前記ファンモータの清掃間隔、並びに、前記機械装置の稼働率の状態量に基づいて、前記ファンモータを清掃する行動価値テーブルを更新するのが好ましい。前記機械装置の状態の観測は、さらに、前記電動機の周囲温度の状態量を観測し、前記ファンモータを清掃する行動価値テーブルの更新は、観測された前記電動機の周囲温度の状態量も考慮して、前記ファンモータを清掃する行動価値テーブルを更新することもできる。
【発明の効果】
【００１８】
本発明に係る機械学習器、モータ制御システムおよび機械学習方法によれば、電動機の寿命を向上させると共に、機械装置の稼働率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００１９】
【図１】図１は、本発明に係るモータ制御システムの一実施例を概略的に示すブロック図である。
【図２】図２は、ニューロンのモデルを模式的に示す図である。
【図３】図３は、図２に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。
【図４】図４は、図１に示す機械学習器の動作の一例を示すフローチャートである。
【図５】図５は、図１に示す機械学習器の動作の一例を説明するための図(その１)である。
【図６】図６は、図１に示す機械学習器の動作の一例を説明するための図(その２)である。
【図７】図７は、図１に示す機械学習器の動作の他の例を示すフローチャートである。
【図８】図８は、図１に示す機械学習器で使用される行動価値テーブルの一例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明に係る機械学習器、モータ制御システムおよび機械学習方法の実施例を、添付図面を参照して詳述する。図１は、本発明に係るモータ制御システムの一実施例を概略的に示すブロック図である。
【００２１】
なお、以下の記載では、説明を簡略化するために、主として、モータ制御部１３により制御される１つの駆動モータ１２に対して１つのファンモータ１１が設けられ、機械学習器２により、そのファンモータ１１の清掃間隔を学習する場合を例として説明する。また、以下では、単に、ファンモータ１１の清掃と記載しているが、これは、ファンモータ１１を自動的に清掃する場合、或いは、オペレータが人手により清掃する場合のどちらであってもよい。さらに、ファンモータ１１の清掃は、ファンモータ１１だけの清掃ではなく、例えば、通風孔の汚れや詰まりを解消するといった様々な清掃作業を含む。
【００２２】
図１に示されるように、本実施例のモータ制御システムは、機械装置１および機械学習器２を含む。ここで、機械装置１は、ＮＣ工作機械やロボット等の電動機(駆動モータ)１２が設けられ、ファンモータ１１により、駆動モータ１２から放出される熱を冷却するようになっている。機械装置１は、さらに、駆動モータ１２を制御する電動機制御部(モータ制御部)１３および温度計測部１４が設けられている。
【００２３】
機械装置１は、複数の駆動モータ１２を含んでいてもよく、また、駆動モータ１２を冷却するファンモータ１１も、駆動モータ１２の数に対応して複数設けることができる。また、１つの駆動モータ１２に対して、複数のファンモータ１１を設けることも可能である。さらに、モータ制御部１３は、複数の駆動モータ１２を制御することができるのはいうまでもない。
【００２４】
図１に示されるように、機械学習器２は、機械装置１に設けられた駆動モータ１２を冷却するファンモータ１１の清掃頻度を学習するものであり、状態観測部２１、学習部２２、および、意思決定部２５を含む。状態観測部２１は、機械装置１の状態を観測し、学習部２２は、状態観測部２１により観測された状態量に基づいてファンモータ１１を清掃する行動価値テーブルを更新する。すなわち、状態観測部２１は、駆動モータ１２の電流，電圧，温度およびすべり、ファンモータ１１の清掃間隔、並びに、機械装置１の稼働率の状態量を観測する。また、状態観測部２１は、例えば、駆動モータ１２の近傍に配置され、駆動モータ１２の周囲温度を計測する温度計測部１４の出力(駆動モータ１２の周囲温度)も状態量として観測することができる。
【００２５】
ここで、状態観測部２１は、例えば、駆動モータ１２の電流，電圧，温度およびすべりの状態量(第１状態量)ＳＶ１を、駆動モータ１２からモータ制御部１３へのフィードバック信号ＦＢとして受け取る。すなわち、モータ制御部１３は、駆動モータ１２に対して制御信号ＣＳを出力して駆動モータ１２を制御すると共に、駆動モータ１２から、駆動モータ１２の電流，電圧，温度およびすべりといった状態量をフィードバック信号ＦＢとして受け取る。そして、このフィードバック信号ＦＢが機械学習器２の状態観測部２１に対して第１状態量ＳＶ１として与えられるようになっている。
【００２６】
また、状態観測部２１は、例えば、ファンモータ１１の清掃間隔および機械装置１の稼働率といった状態量(第２状態量)ＳＶ２を、モータ制御部１３から受け取る。さらに、状態観測部２１は、例えば、駆動モータ１２の周囲温度の状態量(第３状態量)ＳＶ３を、駆動モータ１２の近傍に配置された温度計測部１４から受け取る。
【００２７】
学習部２２は、状態観測部２１により観測された状態量に基づいて報酬を計算する報酬計算部２３、および、報酬計算部２３により計算された報酬に基づいて、現在の状態量(状態変数)からファンモータ１１の清掃間隔の変化量を決定する関数を更新する価値関数更新部２４を含む。報酬計算部２３は、例えば、駆動モータ１２の電流および電圧の値(第１状態量ＳＶ１の一部)、並びに、駆動モータ１２の周囲温度(第３状態量ＳＶ３)から駆動モータ１２の予想温度と、ファンモータ１１の清掃間隔および機械装置１の稼働率(第２状態量ＳＶ２)から、報酬を計算する。
【００２８】
ところで、駆動モータ１２の寿命は、ほぼ軸受の寿命、すなわち、軸受におけるグリースの寿命が大きな要因になっている。前述したように、グリースの寿命は、温度が高いほど短くなる。簡易的な計算例として、例えば、ΔＴ(モータの温度上昇)＝｛(電圧)×(電流)−(出力)−(冷却能力)｝／(熱容量)として表すことができる。ここで、ファンモータの清掃を行う頻度が低すぎると、例えば、駆動モータの温度が高くなり、駆動モータ(或いは、駆動モータが設けられた機械装置)の寿命が低下する。一方、ファンモータの清掃を行う頻度が高すぎると、例えば、機械装置の稼働率が低下し、その分、生産性が低下する。
【００２９】
そこで、報酬計算部２３は、例えば、ファンモータ１１の清掃間隔の増加、観測された駆動モータ１２の温度と駆動モータ１２の予想温度の差分の縮小、または、機械装置１の稼働率の低下に基づいてより小さい報酬を与え、逆に、ファンモータ１１の清掃間隔の短縮、観測された駆動モータ１２の温度と駆動モータ１２の予想温度の差分の増大、または、機械装置１の稼働率の上昇に基づいてより大きい報酬を与えるようになっている。
【００３０】
価値関数更新部２４は、報酬計算部２３からの報酬に基づいて価値関数(ファンモータ１１を清掃する行動価値テーブル)の更新を行う。なお、価値関数は、例えば、機械学習器２に設けられたメモリに格納され、或いは、通信回線等を介して他の機械学習器２に伝送することもできる。また、図１において、機械学習器２には、警報出力部２６が設けられ、ファンモータ１１を清掃するとき、意思決定部２５の出力に基づいて警報を出力するようになっている。この警報出力部２６の出力としては、例えば、モータ制御部１３に設けられたディスプレイ上に対して、ファンモータ１１の清掃を促す表示を行い、或いは、オペレータが注目する位置に表示ランプを設けて点滅させる等の様々な手法により、警報を出力することができる。これを受けて、例えば、オペレータは、ファンモータの清掃(ファンモータや通風孔の清掃)を行うことができる。なお、ファンモータや通風孔の清掃は、警報出力部２６の出力信号に基づいて自動的に行うことも可能なのはいうまでもない。
【００３１】
また、モータ制御システムは、それぞれが駆動モータ１２(１２ａ〜１２ｚ)，ファンモータ１１(１１ａ〜１１ｚ)およびモータ制御部１３(１３ａ〜１３ｚ)を含む複数の機械装置１(１ａ〜１ｚ)、並びに、機械装置１(１ａ〜１ｚ)に対応した複数の機械学習器２(２ａ〜２ｚ)を有していてもよい。ここで、各参照符号の後に付したａ〜ｚは、その構成要素が複数であることを意味するものとする。このように、モータ制御システムが複数の機械装置１ａ〜１ｚ、並びに、機械装置１ａ〜１ｚに対応した複数の機械学習器２ａ〜２ｚを有している場合、例えば、１つの機械学習器２ａの価値関数更新部２４ａにより更新された関数を用いて、他の機械学習器２ｂ〜２ｚの価値関数更新部２４ｂ〜２４ｚの関数を更新することが可能である。
【００３２】
ところで、機械学習器２は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習(機械学習)を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習(ディープラーニング：Deep Learning)」と呼ばれる手法がある。なお、これらの機械学習(機械学習器２)は、例えば、ＧＰＧＰＵ(General-Purpose computing on Graphics Processing Units)や大規模ＰＣクラスター等を適用することにより実現される。なお、本実施例では、「強化学習」に注目して説明するが、必ずしも「強化学習」に限定されるものではない。
【００３３】
まず、強化学習の問題設定として、次のように考える。
・機械装置１(ファンモータ１１)は、環境の状態を観測し、行動(ファンモータ１１の清掃)を決定する。
・環境は、何らかの規則に従って変化し、さらに、自分の行動が、環境に変化を与えることもある。
・行動するたびに、報酬信号が帰ってくる。
・最大化したいのは、将来にわたっての報酬(割引)の合計である。
・行動が引き起こす結果を全く知らない、または、不完全にしか知らない状態から学習はスタートする。すなわち、機械装置１は、実際に行動して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように、事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００３４】
ここで、強化学習とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするために学習する方法を学ぶものである。このことは、本実施例において、例えば、ファンモータ１１の清掃を行ったことにより、駆動モータ１２の状態量(電流，電圧，温度等)が決定するといった、未来に影響をおよぼすような行動を獲得できることを表している。以下に、例として、Ｑ学習の場合で説明を続けるが、Ｑ学習に限定されるものではない。
【００３５】
Ｑ学習は、或る環境状態ｓの下で、行動ａを選択する価値Ｑ(ｓ，ａ)を学習する方法である。つまり、或る状態ｓのとき、価値Ｑ(ｓ，ａ)の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は、状態ｓと行動ａとの組合せについて、価値Ｑ(ｓ，ａ)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して、報酬が与えられる。それにより、エージェントは、より良い行動の選択、すなわち、正しい価値Ｑ(ｓ，ａ)を学習していく。
【００３６】
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ(ｓ，ａ)＝Ｅ［Σ(γt)ｒt］となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、分かっていないので、探索しながら学習することになる。このような価値Ｑ(ｓ，ａ)の更新式は、例えば、次の式(１)により表すことができる。
【００３７】
【数１】
2017099227.tif 000003
上記の式(１)において、ｓtは、時刻ｔにおける環境の状態を表し、ａtは、時刻ｔにおける行動を表す。行動ａtにより、状態はｓt+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、ｍａｘの付いた項は、状態ｓt+1の下で、その時に分かっている最もＱ値の高い行動ａを選択した場合のＱ値にγを乗じたものになる。ここで、γは、０＜γ≦１のパラメータで、割引率と呼ばれる。また、αは、学習係数で、０＜α≦１の範囲とする。
【００３８】
上述した式(１)は、試行ａtの結果、帰ってきた報酬ｒt+1を元に、状態ｓtにおける行動ａtの評価値Ｑ(ｓt，ａt)を更新する方法を表している。すなわち、状態ｓにおける行動ａの評価値Ｑ(ｓt，ａt)よりも、報酬ｒt+1 ＋ 行動ａによる次の状態における最良の行動ｍａｘ ａの評価値Ｑ(ｓt+1，ｍａｘ ａt+1)の方が大きければ、Ｑ(ｓt，ａt)を大きくし、反対に小さければ、Ｑ(ｓt，ａt)を小さくすることを示している。つまり、或る状態における或る行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近付けるようにしている。
【００３９】
ここで、Ｑ(ｓ，ａ)の計算機上での表現方法は、すべての状態行動ペア(ｓ，ａ)に対して、その値をテーブルとして保持しておく方法と、Ｑ(ｓ，ａ)を近似するような関数を用意する方法がある。後者の方法では、前述の式(１)は、確率勾配降下法などの手法で近似関数のパラメータを調整していくことにより、実現することができる。なお、近似関数としては、後述のニューラルネットワークを用いることができる。
【００４０】
ここで、強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。図２は、ニューロンのモデルを模式的に示す図であり、図３は、図２に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。すなわち、ニューラルネットワークは、例えば、図２に示すようなニューロンのモデルを模した演算装置およびメモリ等で構成される。
【００４１】
図２に示されるように、ニューロンは、複数の入力ｘ(図２では、一例として入力ｘ1〜ｘ3)に対する出力(結果)ｙを出力するものである。各入力ｘ(ｘ1，ｘ2，ｘ3)には、この入力ｘに対応する重みｗ(ｗ1，ｗ2，ｗ3)が乗算される。これにより、ニューロンは、次の式(２)により表現される結果ｙを出力する。なお、入力ｘ、結果ｙおよび重みｗは、すべてベクトルである。また、下記の式(２)において、θは、バイアスであり、ｆkは、活性化関数である。
【数２】
2017099227.tif 000004
【００４２】
図３を参照して、図２に示すニューロンを組み合わせて構成した三層のニューラルネットワークを説明する。図３に示されるように、ニューラルネットワークの左側から複数の入力ｘ(ここでは、一例として、入力ｘ1〜入力ｘ3)が入力され、右側から結果ｙ(ここでは、一例として、結果ｙ1〜入力ｙ3)が出力される。具体的に、入力ｘ1，ｘ2， ｘ3は、３つのニューロンＮ11〜Ｎ13の各々に対して、対応する重みが掛けられて入力される。これらの入力に掛けられる重みは、まとめてｗ１と標記されている。
【００４３】
ニューロンＮ11〜Ｎ13は、それぞれ、ｚ11〜ｚ13を出力する。図３において、これらｚ11〜ｚ13は、まとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。ｚ11〜ｚ13は、２つのニューロンＮ21およびＮ22の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。
【００４４】
ニューロンＮ21，Ｎ22は、それぞれｚ21，ｚ22を出力する。図３において、これらｚ21，ｚ22は、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。ｚ21，ｚ22は、３つのニューロンＮ31〜Ｎ33の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
【００４５】
最後に、ニューロンＮ31〜Ｎ33は、それぞれ、結果ｙ１〜結果ｙ３を出力する。ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて、学習データセットを用いて重みＷを学習し、そのパラメータを用いて予測モードにおいて、ロボットの行動判断を行う。なお、便宜上、予測と書いたが、検出・分類・推論など多様なタスクが可能なのはいうまでもない。
【００４６】
ここで、予測モードで実際にロボットを動かして得られたデータを即時学習し、次の行動に反映させる(オンライン学習)ことも、予め収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う(バッチ学習)こともできる。あるいは、その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００４７】
また、重みｗ１〜ｗ３は、誤差逆伝搬法(誤差逆転伝播法：バックプロパゲーション：Backpropagation)により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である(深層学習と称される)。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。
【００４８】
そこで、上述したように、本実施例の機械学習器２は、例えば、Ｑ学習を実施すべく、状態観測部２１、学習部２２、および、意思決定部２５を備えている。ただし、本発明に適用される機械学習方法は、Ｑ学習に限定されないのは前述した通りである。なお、機械学習(機械学習器２)は、例えば、ＧＰＧＰＵや大規模ＰＣクラスター等を適用することで実現可能なのは、前述した通りである。
【００４９】
図４は、図１に示す機械学習器の動作の一例を示すフローチャートである。図４に示されるように、機械学習が開始(学習スタート)すると、行動価値テーブルに基づいてファンモータの清掃間隔を決定し(ステップＳＴ１１)、機械稼働率を判定して、報酬(報酬の値)を決める(ステップＳＴ１２〜ＳＴ１５)。例えば、機械装置１の稼働率が低い場合には、報酬なし(ステップＳＴ１３)とし、機械装置１の稼働率が中程度の場合には、「＋５」の報酬を出力し(ステップＳＴ１４)、そして、機械装置１の稼働率が高い場合には、「＋１０」の報酬を出力する(ステップＳＴ１５)。さらに、ステップＳＴ１３〜ＳＴ１５により出力された報酬は、それまでの報酬に積算する(ステップＳＴ１６)。
【００５０】
次に、モータの予想温度との比較を行って、報酬を決める(ステップＳＴ１７〜ＳＴ２０)。例えば、観測された駆動モータ１２の温度が駆動モータ１２の予想温度よりもかなり高い場合には、「−１０」の報酬を出力し(ステップＳＴ１８)、観測された駆動モータ１２の温度が駆動モータ１２の予想温度よりも高い場合には、「＋６」の報酬を出力し(ステップＳＴ１９)、そして、観測された駆動モータ１２の温度と駆動モータ１２の予想温度が同等の場合には、「＋１０」の報酬を出力する(ステップＳＴ２０)。
【００５１】
さらに、ステップＳＴ１８〜ＳＴ２０により出力された報酬は、それまでの報酬に積算し(ステップＳＴ２１)、積算された報酬に基づいて、行動価値テーブルを更新し(ステップＳＴ２１)、同様の処理を繰り返す。ここで、ステップＳＴ１３〜ＳＴ１５における報酬の値、並びに、ステップＳＴ１８〜ＳＴ２０における報酬の値は、単なる例であり、適宜変更することが可能である。
【００５２】
図５および図６は、図１に示す機械学習器の動作の一例を説明するための図である。ここで、図５(a)は、図４におけるステップＳＴ１７〜ＳＴ２０を参照して説明した駆動モータ１２の予想温度との比較と、ファンモータ１１の清掃間隔の関係を示し、図５(b)は、図４におけるステップＳＴ１２〜ＳＴ１５を参照して説明した機械装置１の稼働率と、ファンモータ１１の清掃間隔の関係を示す。そして、図５(c)は、図５(a)および図５(b)に示す特性曲線の一致個所、すなわち、本実施例の機械学習器２により求める適切なファンモータ１１の清掃間隔の範囲(学習目標部分)ＰＲを示す。
【００５３】
また、図６(a)は、図５(a)と同等のもので、機械学習器２により求める学習目標部分ＰＲを示し、図６(b)は、図６(a)に示す学習目標部分ＰＲを報酬に換算して示すものである。すなわち、機械学習器２は、図４におけるステップＳＴ１２〜ＳＴ１５による報酬およびステップＳＴ１７〜ＳＴ２０による報酬は、それぞれステップＳＴ１６およびＳＴ２１により、それまでの報酬に積算され、その積算された報酬(ステップＳＴ２１)が最大となるように学習を行って、ファンモータ１１の最適な清掃間隔を求めるようになっている。
【００５４】
図７は、図１に示す機械学習器の動作の他の例を示すフローチャートである。図７と、前述した図４の比較から明らかなように、図７におけるステップＳＴ３２〜ＳＴ３６は、図４におけるステップＳＴ１２〜ＳＴ１６に対応し、図７におけるステップＳＴ３７〜ＳＴ４１は、図４におけるステップＳＴ１７〜ＳＴ２１に対応する。すなわち、機械稼働率を判定して報酬を決める処理と、モータの予想温度との比較を行って報酬を決める処理は、同時に(並列に)行うことができるため、図７に示すフローチャートでは、これらの処理を同時に行うようになっている。ここで、図７におけるステップＳＴ３１およびＳＴ４３は、図４におけるステップＳＴ１１およびＳＴ２２に対応する。
【００５５】
ただし、図７では、同時に処理される、ステップＳＴ３２〜ＳＴ３５による報酬を積算するステップＳＴ３６(図４におけるステップＳＴ１６に対応)の出力と、ステップＳＴ３７〜ＳＴ４０による報酬を積算するステップＳＴ４１(図４におけるステップＳＴ２１に対応)の出力を加算(積算)するステップＳＴ４２が追加されている。
【００５６】
図８は、図１に示す機械学習器で使用される行動価値テーブル(価値関数)の一例を示す図であり、縦方向に番号Ｎ１〜Ｎ１８の１８種類のパターンを示す。また、横方向に、「モータの予想温度との比較(観測された駆動モータ１２の温度と駆動モータ１２の予想温度との誤差)」，「機械稼働率(機械装置１の稼働率)」，「清掃間隔(ファンモータ１１の清掃間隔)」，「現在の状態」，「次の状態」および「行動価値」を示す。ここで、「清掃間隔」を『縮める』に選択した場合は、「モータの予想温度との比較」を１ランク下げると共に、「機械稼働率」を１ランク下げるものとし、また、「清掃間隔」を『伸ばす』に選択した場合は、「機械稼働率」を１ランク上げるものとして説明する。
【００５７】
具体的に、図８において、番号Ｎ９，Ｎ１０に示されるように、例えば、「モータの予想温度との比較」が『中(高い：例えば、図４におけるステップＳＴ１９)』であれば報酬は「＋６」になり、「機械稼働率」が『中(例えば、図４におけるステップＳＴ１４)』であれば報酬は「＋５」になり、「現在の状態(報酬)」は「＋１１」になる。このとき、「清掃間隔」を『縮める』(Ｎ９)か「清掃間隔」を『伸ばす』(Ｎ１０)かにより、「次の状態」が変化する。
【００５８】
すなわち、Ｎ９の場合、「清掃間隔」を『縮める』場合は、「モータの予想温度との比較」を１ランク下げる(『小(同等：例えば、図４におけるステップＳＴ２０)』、および、「機械稼働率」を１ランク下げる(『低(例えば、図４におけるステップＳＴ１３)』)ことになってＮ１７，Ｎ１８に対応するため、報酬は「＋１０＋０＝＋１０」になり、差し引きした「行動価値」は『＋１０−１１＝−１』になる。
【００５９】
一方、Ｎ１０の場合、「清掃間隔」を『伸ばす』場合は、「モータの予想温度との比較」はそのまま(『中(高い：例えば、図４におけるステップＳＴ１９)』および「機械稼働率」を１ランク上げる(『高(例えば、図４におけるステップＳＴ１５)』)ことになってＮ３，Ｎ４に対応するため、報酬は「＋６＋１０＝＋１６」になり、差し引きした「行動価値」は『＋１６−１１＝＋５』になる。
【００６０】
従って、上記の場合、Ｎ９の「行動価値」が『−１』でＮ１０の「行動価値」が『＋５』になり、「行動価値」に関してＮ９＜Ｎ１０になるため、Ｎ１０の行動、すなわち、「清掃間隔」を『伸ばす』行動が選択されることになる。これは、単なる一例であり、「清掃間隔」を『縮める』か『伸ばす』かに対応する場合の選択、或いは、それぞれの場合の報酬の値の設定等は、様々な変形および変更が可能である。さらに、行動価値テーブル(価値関数)は、図８に限定されるものではなく、様々なものが適用され得るのはいうまでもない。
【００６１】
このように、本発明に係るファンモータの清掃間隔を学習する機械学習器、モータ制御システムおよび機械学習方法によれば、ファンモータの最適な清掃間隔を求めることができ、電動機の寿命を向上させると共に、機械装置の稼働率を向上させることが可能になる。
【００６２】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００６３】
１    機械装置(ＮＣ工作機械，ロボット等)
２    機械学習器
１１    ファンモータ
１２    駆動モータ(電動機)
１３    モータ制御部(電動機制御部)
１４    温度計測部
２１    状態観測部
２２    学習部
２３    報酬計算部
２４    価値関数更新部
２５    意思決定部
【図１】
2017099227.tif 000005
【図２】
2017099227.tif 000006
【図３】
2017099227.tif 000007
【図４】
2017099227.tif 000008
【図５】
2017099227.tif 000009
【図６】
2017099227.tif 000010
【図７】
2017099227.tif 000011
【図８】
2017099227.tif 000012
【手続補正書】
【提出日】平成29年2月23日(2017.2.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
図３を参照して、図２に示すニューロンを組み合わせて構成した三層のニューラルネットワークを説明する。図３に示されるように、ニューラルネットワークの左側から複数の入力ｘ(ここでは、一例として、入力ｘ1〜入力ｘ3)が入力され、右側から結果ｙ(ここでは、一例として、結果ｙ1〜入力ｙ3)が出力される。具体的に、入力ｘ1，ｘ2， ｘ3は、３つのニューロンＮ11〜Ｎ13の各々に対して、対応する重みが掛けられて入力される。これらの入力に掛けられる重みは、まとめてＷ１と標記されている。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
ニューロンＮ11〜Ｎ13は、それぞれ、ｚ11〜ｚ13を出力する。図３において、これらｚ11〜ｚ13は、まとめて特徴ベクトルＺ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルＺ１は、重みＷ１と重みＷ２との間の特徴ベクトルである。ｚ11〜ｚ13は、２つのニューロンＮ21およびＮ22の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてＷ２と標記されている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４４
【補正方法】変更
【補正の内容】
【００４４】
ニューロンＮ21，Ｎ22は、それぞれｚ21，ｚ22を出力する。図３において、これらｚ21，ｚ22は、まとめて特徴ベクトルＺ２と標記されている。この特徴ベクトルＺ２は、重みＷ２と重みＷ３との間の特徴ベクトルである。ｚ21，ｚ22は、３つのニューロンＮ31〜Ｎ33の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてＷ３と標記されている。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】変更
【補正の内容】
【００４７】
また、重みＷ１〜Ｗ３は、誤差逆伝搬法(誤差逆転伝播法：バックプロパゲーション：Backpropagation)により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である(深層学習と称される)。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。
【手続補正５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
機械装置に設けられた電動機を冷却するファンモータの清掃頻度を学習する機械学習器であって、
前記電動機の電流，電圧，温度およびすべり、前記ファンモータの清掃間隔、並びに、前記機械装置の稼働率の状態量を観測する状態観測部と、
前記状態観測部により観測された前記状態量に基づいて、前記ファンモータを清掃する行動価値テーブルを更新する学習部と、を備え、
前記ファンモータを清掃する際に前記機械装置の稼働を停止する、
ことを特徴とする機械学習器。
【請求項２】
前記状態観測部は、
前記電動機の電流，電圧，温度およびすべりの第１状態量を、前記電動機から、前記電動機を制御する電動機制御部へのフィードバック信号として受け取り、
前記ファンモータの清掃間隔および前記機械装置の稼働率の第２状態量を、前記電動機制御部から受け取る、
ことを特徴とする請求項１に記載の機械学習器。
【請求項３】
前記状態観測部は、さらに、
前記電動機の周囲温度の状態量を観測し、
前記学習部は、
前記状態観測部により観測された前記電動機の周囲温度の状態量も考慮して、前記ファンモータを清掃する行動価値テーブルを更新する、
ことを特徴とする請求項１または請求項２に記載の機械学習器。
【請求項４】
前記状態観測部は、
前記電動機の周囲温度の第３状態量を、前記電動機の近傍に配置された温度計測部から受け取る、
ことを特徴とする請求項３に記載の機械学習器。
【請求項５】
前記学習部は、
前記状態観測部により観測された状態量に基づいて報酬を計算する報酬計算部と、
前記報酬計算部により計算された報酬に基づいて、現在の状態変数から前記ファンモータの清掃間隔の変化量を決定する関数を更新する価値関数更新部と、を含む、
ことを特徴とする請求項１〜請求項４のいずれか１項に記載の機械学習器。
【請求項６】
前記機械学習器は、さらに、
前記学習部の学習結果に基づいて、現在の状態変数から、前記ファンモータを清掃するか否かを決定する意思決定部を含む、
ことを特徴とする請求項５に記載の機械学習器。
【請求項７】
前記報酬計算部は、
前記ファンモータの清掃間隔の増加、観測された前記電動機の温度と前記電動機の予想温度の差分の縮小、または、前記機械装置の稼働率の低下に基づいて、より小さい報酬を与え、
前記ファンモータの清掃間隔の短縮、観測された前記電動機の温度と前記電動機の予想温度の差分の増大、または、前記機械装置の稼働率の上昇に基づいて、より大きい報酬を与える、
ことを特徴とする請求項６に記載の機械学習器。
【請求項８】
さらに、
前記ファンモータを清掃するとき、前記意思決定部の出力に基づいて警報を出力する警報出力部を備える、
ことを特徴とする請求項６または請求項７に記載の機械学習器。
【請求項９】
前記機械学習器は、
ニューラルネットワークを有する、請求項１〜請求項８のいずれか１項に記載の機械学習器。
【請求項１０】
請求項５〜請求項９のいずれか１項に記載の機械学習器を複数備えるモータ制御システムであって、
複数の前記機械学習器の間でデータをやり取りする手段を有し、複数の前記機械学習器における１つの機械学習器の価値関数更新部により更新された関数を用いて、他の機械学習器の価値関数更新部の関数を更新する、
ことを特徴とするモータ制御システム。
【請求項１１】
前記モータ制御システムは、複数の前記電動機および前記ファンモータを備え、前記機械学習器は、それぞれの前記ファンモータに対応して設けられ、前記機械学習器が学習した前記状態変数を通信媒体によって共有または相互交換するようになっている、
ことを特徴とする請求項１０に記載のモータ制御システム。
【請求項１２】
機械装置に設けられた電動機を冷却するファンモータの清掃頻度を学習する機械学習方法であって、
前記電動機の電流，電圧，温度およびすべり、前記ファンモータの清掃間隔、並びに、前記機械装置の稼働率の状態量を観測し、
観測された前記状態量に基づいて、前記ファンモータを清掃する行動価値テーブルを更新し、
前記ファンモータを清掃する際に前記機械装置の稼働を停止する、
ことを特徴とする機械学習方法。
【請求項１３】
前記機械装置の状態の観測は、さらに、
前記電動機の周囲温度の状態量を観測し、
前記ファンモータを清掃する行動価値テーブルの更新は、
観測された前記電動機の周囲温度の状態量も考慮して、前記ファンモータを清掃する行動価値テーブルを更新する、
ことを特徴とする請求項１２に記載の機械学習方法。