(57)【要約】【課題】作業者によらずに前述のモータ休止時間を求められる機械学習装置、加工機のモータ制御装置、加工機、および機械学習方法を提供する。【解決手段】機械学習装置１６は状態観測部１７と学習部１８を備える。状態観測部１７は、予め定められる加工休止時間Ｂと加工機１０の実際の１サイクルの加工時間Ｔおよびモータ１１の温度とから少なくとも構成される状態変数を繰返しの加工動作中に観測する。さらに、学習部１８は、前記の状態変数とオーバヒートアラームレベルＰとに基づいて、繰返しの加工動作を実施した際にモータ１１の巻線の温度がオーバヒートアラームレベルＰを超えないことを満たす最短の加工休止時間Ｂを選択する価値を学習する。【選択図】図１
2017068563.tif 000002
【特許請求の範囲】
【請求項１】
加工機（１０）の繰返しの加工動作を実施するモータ（１１）の温度が予め定められる温度閾値（Ｐ）を超えないように、前記加工機（１０）の１サイクルの加工動作時間（Ａ）と加工休止時間（Ｂ）とからなる１サイクルの加工時間（Ｔ）のうちの前記加工休止時間（Ｂ）を定める機械学習装置（１６）であって、
前記加工休止時間（Ｂ）と、前記加工機（１０）の実際の１サイクルの加工時間（Ｔ）および前記モータ（１１）の温度のうちの少なくとも一つとを含む状態変数を前記繰返しの加工動作中に観測する状態観測部（１７）と、
前記状態変数と前記温度閾値（Ｐ）とに基づいて、前記繰返しの加工動作を実施した際に前記モータ（１１）の温度が前記温度閾値（Ｐ）を超えないことを満たす最短の前記加工休止時間（Ｂ）を選択する価値を学習する学習部（１８）と、
を備えた機械学習装置。
【請求項２】
前記モータ（１１）を制御するモータ制御装置（１２）に設定すべき前記加工休止時間（Ｂ）を決定する意思決定部（２２）をさらに備える、請求項１に記載の機械学習装置。
【請求項３】
前記学習部（１８）は、
前記状態変数のうちの、前記１サイクルの加工時間（Ｔ）と前記モータ（１１）の温度に基づいて報酬を計算する報酬計算部（１９）と、
前記報酬に基づいて、前記最短の加工休止時間（Ｂ）を選択する価値を表す価値関数を更新する関数更新部（２０）と、
を備える、請求項１または２に記載の機械学習装置。
【請求項４】
前記関数更新部（２０）は、前記状態変数と前記価値関数とが対応付けられた行動価値テーブルを有し、前記報酬に基づいて前記行動価値テーブルを更新するようにした、請求項３に記載の機械学習装置。
【請求項５】
前記報酬計算部（１９）は、
前記行動価値テーブルの中で最も低い価値関数に対応する前記１サイクルの加工時間（Ｔ）と比べて、前記状態観測部（１７）により観測された前記１サイクルの加工時間（Ｔ）が減少した場合には、前記繰返しの加工動作を実施した際の前記モータ（１１）の温度と前記温度閾値（Ｐ）との差に基づいて前記報酬を増加し、
前記行動価値テーブルの中で最も低い価値関数に対応する前記１サイクルの加工時間（Ｔ）と比べて、前記状態観測部（１７）により観測された前記１サイクルの加工時間（Ｔ）が増加した場合、および、前記繰返しの加工動作を実施した際に前記モータの温度が前記温度閾値に達した場合には、前記報酬を減少させるようにした、請求項４に記載の機械学習装置。
【請求項６】
請求項１から５のいずれか一項に記載の機械学習装置（１６）を具備するモータ制御装置。
【請求項７】
請求項６に記載のモータ制御装置（１２）を具備する加工機。
【請求項８】
加工機（１０）の繰返しの加工動作を実施するモータ（１１）の温度が予め定められる温度閾値（Ｐ）を超えないように、前記加工機（１０）の１サイクルの加工動作時間（Ａ）と加工休止時間（Ｂ）とからなる１サイクルの加工時間（Ｔ）のうちの前記加工休止時間（Ｂ）を定める機械学習方法であって、
前記加工休止時間（Ｂ）と、前記加工機（１０）の実際の１サイクルの加工時間（Ｔ）および前記モータ（１１）の温度のうちの少なくとも一つとを含む状態変数を前記繰返しの加工動作中に観測し、
前記状態変数と前記温度閾値（Ｐ）とに基づいて、前記繰返しの加工動作を実施した際に前記モータ（１１）の温度が前記温度閾値（Ｐ）を超えないことを満たす最短の前記加工休止時間（Ｂ）を選択する価値を学習する、
ことを含む機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習装置、モータ制御装置、加工機、および機械学習方法に関し、特に、加工機のサイクル加工時間を最適化する機械学習装置、該機械学習装置を備えたモータ制御装置、加工機、および機械学習方法に関する。
【背景技術】
【０００２】
モータを作動するとモータの巻線の温度は上昇する。そして、モータを作動してから或る時間が経過すると巻線の温度は飽和して高温に維持されるようになる（以下、このときの温度を「飽和温度」と呼ぶ。）。そして、そのような飽和温度の巻線が耐熱温度を超過した状態で電流を印加し続けていると、モータの巻線が焼損する危険性がある。また、巻線の温度が飽和しない状態でも巻線が耐熱温度を超過すると、モータの巻線が損傷する危険性がある。
【０００３】
そのため、モータの駆動制御においては、従前より、巻線の温度を監視し、巻線の温度が予め設定された温度閾値を超えた場合には巻線への電流印加を中止して、巻線の焼損や損傷を防止している（例えば特許文献１参照）。なお、上記した温度閾値は、「オーバヒートアラームレベル」と呼ばれている。
【０００４】
また、加工機においては、工具を回転させる主軸部にモータが採用されているため、主軸部のモータの温度をオーバヒートアラームレベル未満に制御して、モータの故障を防止している。
【０００５】
特に、加工機においては、ある決まった加工パターンの加工動作が絶えず繰返されるとモータの巻線が耐熱温度を超過してしまうので、１サイクルの加工動作時間の後に加工休止時間が設定されている。つまり、加工休止時間においては、モータ制御装置はモータの巻線に電流を印加しないようにしている。なお、本明細書においては、前述した加工動作時間と加工休止時間との合計時間を「１サイクルの加工時間」と呼ぶこととする。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１４２８１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、前述したような加工休止時間をモータ制御装置に設定する場合、作業者が実際に加工機を動作させながら試行錯誤を重ねて、モータの巻線の温度がアラームレベルを超えないことを満たす最短の加工休止時間を求める必要があった。また、加工休止時間の設定が正確でないと、モータの巻線の焼損や、加工機の稼働率の低下を招くこととなる。そのため、作業者は多大な労力と時間をかけて前述の加工休止時間を正確に求めていた。
【０００８】
そこで本発明は、上述したような実情に鑑み、作業者によらずに前述の加工休止時間を求められる機械学習装置、モータ制御装置、加工機、および機械学習方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第一態様によれば、加工機の繰返しの加工動作を実施するモータの温度が予め定められる温度閾値を超えないように、加工機の１サイクルの加工動作時間と加工休止時間とからなる１サイクルの加工時間のうちの加工休止時間を定める機械学習装置であって、
加工休止時間と、加工機の実際の１サイクルの加工時間およびモータの温度のうちの少なくとも一つとを含む状態変数を繰返しの加工動作中に観測する状態観測部と、
状態変数と温度閾値とに基づいて、繰返しの加工動作を実施した際にモータの温度が温度閾値を超えないことを満たす最短の加工休止時間を選択する価値を学習する学習部と、
を備えた機械学習装置が提供される。
【００１０】
本発明の第二態様によれば、第一態様の機械学習装置であって、モータを制御するモータ制御装置に設定すべき加工休止時間を決定する意思決定部をさらに備える、機械学習装置が提供される。
【００１１】
本発明の第三態様によれば、第一態様または第二態様の機械学習装置であって、
学習部は、状態変数のうちの１サイクルの加工時間とモータの温度に基づいて報酬を計算する報酬計算部と、報酬に基づいて、最短の加工休止時間を選択する価値を表す価値関数を更新する関数更新部と、を備える、機械学習装置が提供される。
【００１２】
本発明の第四態様によれば、第三態様の機械学習装置であって、
関数更新部は、状態変数と価値関数とが対応付けられた行動価値テーブルを有し、報酬に基づいて行動価値テーブルを更新するようにした、機械学習装置が提供される。
【００１３】
本発明の第五態様によれば、第四態様の機械学習装置であって、
報酬計算部は、
行動価値テーブルの中で最も低い価値関数に対応する１サイクルの加工時間と比べて、状態観測部により観測された１サイクルの加工時間が減少した場合には、繰返しの加工動作を実施した際のモータの温度と温度閾値の差に基づいて報酬を増加し、
行動価値テーブルの中で最も低い価値関数に対応する１サイクルの加工時間と比べて、状態観測部により観測された１サイクルの加工時間が増加した場合、および、繰返しの加工動作を実施した際にモータの温度が温度閾値に達した場合には、報酬を減少させるようにした、機械学習装置が提供される。
【００１４】
本発明の第六態様によれば、第一態様から第五態様のいずれかの機械学習装置を具備するモータ制御装置が提供される。
【００１５】
本発明の第七態様によれば、第六態様のモータ制御装置を具備する加工機が提供される。
【００１６】
本発明の第八態様によれば、加工機の繰返しの加工動作を実施するモータの温度が予め定められる温度閾値を超えないように、加工機の１サイクルの加工動作時間と加工休止時間とからなる１サイクルの加工時間のうちの加工休止時間を定める機械学習方法であって、
加工休止時間と、加工機の実際の１サイクルの加工時間およびモータの温度のうちの少なくとも一つとを含む状態変数を繰返しの加工動作中に観測し、
状態変数と温度閾値とに基づいて、繰返しの加工動作を実施した際にモータの温度が温度閾値を超えないことを満たす最短の加工休止時間を選択する価値を学習する、
ことを含む機械学習方法が提供される。
【発明の効果】
【００１７】
本発明の第一態様から第八態様によれば、加工機に繰返しの加工動作を実施させる場合にモータの巻線の温度が所定の温度閾値を超えないことを満たす最短の加工休止時間を、作業者によらずにモータ制御装置に定められるようになる。これにより、加工休止時間をモータ制御装置に設定する際の作業者の労力や時間を削減することができる。
【００１８】
添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれらの目的、特徴および利点ならびに他の目的、特徴および利点がさらに明確になるであろう。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態の加工機の構成を示すブロック図である。
【図２】繰返しの加工動作を実施した際のモータの巻線の温度の経時変化と、加工動作時間Ａと加工休止時間Ｂとからなる１サイクルの加工時間Ｔとを示したグラフである。
【図３】本発明の一実施形態の機械学習装置による学習範囲を説明するための図である。
【図４】ニューロンのモデルを示す模式図である。
【図５】３層のニューラルネットワークモデルを示す模式図である。
【図６】Ｑ学習を適用したモータ制御装置（環境）と機械学習装置（エージェント）における状態と行動を説明するための図である。
【図７】図１に示された機械学習装置の動作手順を説明するためのフローチャートである。
【発明を実施するための形態】
【００２０】
次に、本発明の実施形態について図面を参照して説明する。以下の図面において、同様の部材には同様の参照符号が付けられている。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
【００２１】
図１は、本発明の一実施形態の加工機の構成を示すブロック図である。
図１に示される加工機１０は、加工機１０の主軸部に取付けられたドリル等の工具を回転させるモータ１１と、モータ１１を制御するモータ制御装置１２と、モータ１１の巻線の温度を測定する温度センサ１３と、モータ１１を流れる電流を測定する電流センサ１４と、モータ１１の回転速度を測定する速度センサ１５と、を備える。
【００２２】
前述した加工機１０は、ＮＣ工作機械や加工用ロボットであることが好ましい。モータ１１は、例えば加工機１０の主軸部に設置されたサーボモータである。温度センサ１３はサーミスタであることが好ましい。速度センサ１５はモータ１１の回転数に基づいてモータ１１の回転速度を測定するパルスエンコーダであることが好ましい。
【００２３】
モータ制御装置１２は、予め記憶された動作プログラムから動作指令値を読出し、動作指令値に従ってモータ１１を制御する。特に、本実施形態のモータ制御装置１２には、モータ１１により回転する工具を用いて繰返しの加工動作を実施するための動作プログラムが予め記憶されている。
【００２４】
なお、「繰返しの加工動作」とは、ある決まった加工パターンの加工動作を繰返す、例えば主軸部のドリルによってワークに一定深さの穴を掘削するといった加工を繰返すことを指す。したがって、前述した動作プログラムには、ある決まった加工パターンの加工動作でのドリル等の工具の回転数（回転速度）や加工位置データなどが書込まれている。
【００２５】
モータ１１が前述した動作プログラムに従って動作されたかを確認するため、電流センサ１４により測定されたモータ１１の電流値はモータ制御装置１２に送信される。速度センサ１５により測定されたモータ１１の回転速度値もまた、モータ制御装置１２に送信される。モータ制御装置１２は、電流センサ１４からモータ１１の電流値を取得することにより、加工動作中に工具にかかる負荷トルクを監視して制御することができる。さらに、モータ制御装置１２は、速度センサ１５からモータ１１の回転速度を取得することにより、加工動作中の工具の回転速度を監視して制御することができる。
【００２６】
しかし、前述のような繰返しの加工動作を実施した場合、モータ１１には絶えず電流を印加しているため、モータ１１の巻線が耐熱温度を超過してしまい、巻線の焼損や破損が生じるおそれがある。そのため、背景技術の欄に説明したように、１サイクルの加工動作時間の後に加工休止時間を設定して、モータ１１の巻線の温度がオーバヒートアラームレベルを超えないようにする必要がある。また、そのような加工休止時間を前述した繰返しの加工動作を実施するための動作プログラムに定めておく必要がある。
【００２７】
図２は、前述した繰返しの加工動作を実施した際に温度センサ１３により測定されるモータ１１の巻線の温度の経時変化と、加工動作時間Ａと加工休止時間Ｂとからなる１サイクルの加工時間Ｔとを示したグラフである。
【００２８】
図２に示されるように、１サイクルの加工時間Ｔが繰返されると、モータ１１の巻線の温度は上昇と低下を繰返す。また、加工休止時間Ｂを短くするほどモータ１１の巻線の温度低下量が減り、加工休止時間Ｂを長くするほどモータ１１の巻線の温度低下量が増える。そのため、加工休止時間Ｂが短すぎると、所定回数の繰返しの加工動作が完了する前にモータ１１の巻線の温度はオーバヒートアラームレベルＰに達してしまう場合がある。一方、加工休止時間Ｂが長いほど、加工機１０に所定回数の繰返しの加工動作を実施させてもモータ１１の巻線の温度はオーバヒートアラームレベルＰに達しにくい。しかし、加工休止時間Ｂを長くするほど、所定回数の繰返しの加工動作を実施したときの加工機１０の稼働時間は増えてしまう。なお、本実施形態においては加工機１０が同じ加工動作を繰返す場合を前提としているので、各加工動作時間Ａは殆ど変わらない。
【００２９】
以上の実情により、加工機１０に繰返しの加工動作を実施させた場合にモータ１１の巻線の温度がオーバヒートアラームレベルＰを超えないことを満たす最短の加工休止時間Ｂを求めることが必要となる。
【００３０】
本願発明は、そのような加工休止時間Ｂの最適値を機械学習法、例えば後述のＱ学習によって求めようとするものである。
そこで、本実施形態の加工機１０は、繰返しの加工動作を実施する場合の加工休止時間Ｂの最適値を機械学習によって求めてモータ制御装置１２に設定できる機械学習装置１６を備えている。
【００３１】
図３は本実施形態の機械学習装置１６による学習範囲を説明するための図である。図３中に直線Ｇにより示されるように、加工休止時間Ｂの長さに比例して１サイクルの加工時間Ｔは上昇する。一方、図３中の曲線Ｈにより示されるように、加工休止時間Ｂが長くなるに伴ってモータ１１の巻線の温度は低下する。繰返しの加工動作を実施する場合の加工休止時間Ｂの最適値が直線Ｇと曲線Ｈの交点に対応する。そして、本実施形態の機械学習装置１６は、図３中の曲線Ｉにより示されるように、加工休止時間Ｂの変更に対して与える報酬を変えている。
【００３２】
具体的には、本実施形態の機械学習装置１６は、図１に示されるように、状態観測部１７と、学習部１８と、意思決定部２２とを備えている。
【００３３】
状態観測部１７は、繰返しの加工動作を実施している間、意思決定部２２により決定された加工休止時間Ｂと、加工機１０の実際の１サイクルの加工時間Ｔおよびモータ１１の温度のうちの少なくとも一つとを含む状態変数を観測する。
【００３４】
前述した加工休止時間Ｂは意思決定部２２から状態観測部１７に出力される。実際の１サイクルの加工時間Ｔは、モータ制御装置１２から状態観測部１７に出力される。モータ１１の巻線の温度は、温度センサ１３から状態観測部１７に出力される。
【００３５】
なお、モータ制御装置１２から状態観測部１７に出力される「実際の１サイクルの加工時間Ｔ」は、図２に示されるような実際の１サイクルの加工動作時間Ａとこの加工動作時間Ａに続く実際の加工休止時間Ｂとの合計時間（Ｔ＝Ａ＋Ｂ）である。
加工動作時間Ａは、動作プログラムに従って工具が加工動作をした際に実際にかかった加工時間に相当する。さらに、加工休止時間Ｂは、モータ制御装置１２が、機械学習装置１６の意思決定部２２により指令された加工休止時間Ｂ通りにモータ１１への給電を休止させた時間に相当する。
【００３６】
そして、学習部１８は、前述の状態変数とオーバヒートアラームレベルＰとに基づいて、繰返しの加工動作を実施した際にモータ１１の巻線の温度がオーバヒートアラームレベルＰを超えないことを満たす最短の加工休止時間Ｂを選択する価値を学習する。
【００３７】
なお、前述した学習部１８にはオーバヒートアラームレベル入力部２１が接続されていることが好ましい。学習部１８に入力されるオーバヒートアラームレベルは、連続定格時の電流をモータ１１に印加し続けたときのモータ１１の巻線の飽和温度に対して余裕値を見積った温度閾値とする。ここでいう「連続定格時の電流」とは、モータ１１の巻線が過熱することなしに巻線に連続印加できる最大電流値を意味する。
【００３８】
さらに、意思決定部２２は、学習部１８による機械学習の終了後に、学習部１８により取得された複数の価値のうち最も高い価値に対応する加工休止時間Ｂを決定し、決定した加工休止時間Ｂをモータ制御装置１２に送信する。但し、意思決定部２２は、機械学習中は加工休止時間Ｂを無作為に決定してモータ制御装置１２に送信する。
【００３９】
また、本実施形態の学習部１８は、図１に示されるように、報酬計算部１９と関数更新部２０とを備えている。
【００４０】
報酬計算部１９は、上述した状態変数のうち、加工機１０の実際の１サイクルの加工時間Ｔとモータ１１の巻線の温度とに基づいて、報酬を計算する。図１においては、報酬計算部１９を学習部１８内に設けた態様を示しているが、報酬計算部１９は学習部１８外に在ってもよい。
【００４１】
関数更新部２０は、報酬に基づいて、前述した最短の加工休止時間Ｂを選択する価値を表す価値関数を更新する。
【００４２】
ここで、機械学習装置１６について詳細に説明する。機械学習装置１６は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。
【００４３】
「教師あり学習」とは、ある入力と結果（ラベル）のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、即ち、その関係性を帰納的に獲得することができる。これは後述のニューラルネットワークなどのアルゴリズムを用いて実現することができる。
【００４４】
「教師なし学習」とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。それらのデータセットにある特徴を似た者どうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。また「教師なし学習」と「教師あり学習」との中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。本実施形態においては、実際に加工機を動作させなくても取得することが出来るデータを教師なし学習で利用し、学習を効率的に行うことが出来る。
【００４５】
強化学習の問題を以下のように設定する。
・加工機は環境の状態を観測し、行動を決定する。
・環境は何らかの規則に従って変化し、さらに自分の行動が、環境に変化を与えることもある。
・行動するたびに報酬信号が帰ってくる。
・最大化したいのは将来にわたっての（割引）報酬の合計である。
・行動が引き起こす結果を全く知らない、または不完全にしか知らない状態から学習はスタートする。加工機は実際に動作して初めて、その結果をデータとして得ることが出来る。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように事前学習（前述の教師あり学習や、逆強化学習といった手法）した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００４６】
「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、即ち、将来的に得られる報酬を最大にするための学習する方法である。このことは、本実施形態において、未来に影響を及ぼすような行動を獲得できることを表している。例えばＱ学習の場合で説明を続けるが、それに限るものではない。
【００４７】
Ｑ学習は、或る環境状態ｓの下で、行動ａを選択する価値Ｑ（ｓ，ａ）を学習する方法である。つまり、或る状態ｓのとき、価値Ｑ（ｓ，ａ）の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は状態ｓと行動ａとの組合せについて、価値Ｑ（ｓ，ａ）の正しい値は全く分かっていない。そこで、エージェント（行動主体）は、或る状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して報酬が与えられる。それにより、エージェントはより良い行動の選択、すなわち正しい価値Ｑ（ｓ，ａ）を学習していく。
【００４８】
行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ（ｓ，ａ）＝Ｅ［Σγtｒt］となるようにすることを目指す（期待値は最適な行動に従って状態変化したときについてとる。もちろん、それは分かっていないので、探索しながら学習しなければならない）。そのような価値Ｑ（ｓ，ａ）の更新式は、例えば次式により表すことができる。
【００４９】
【数１】
2017068563.tif 000003
【００５０】
ここで、ｓtは時刻ｔにおける環境の状態を表し、ａtは時刻ｔにおける行動を表す。行動ａtにより、状態はｓt+1に変化する。ｒt+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〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の式により表現される出力ｙを出力する。なお、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。
【数２】
2017068563.tif 000004
ここで、θはバイアスであり、ｆkは活性化関数である。
【００５５】
次に、上述したニューロンを組み合わせた３層の重みを有するニューラルネットワークについて、図５を参照して説明する。図５は、Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【００５６】
図５に示すように、ニューラルネットワークの左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。
【００５７】
具体的には、入力ｘ１〜入力ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてｗ１と標記されている。
【００５８】
ニューロンＮ１１〜Ｎ１３は、それぞれ、ｚ１１〜ｚ１３を出力する。これらのｚ１１〜ｚ１３はまとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。
【００５９】
ｚ１１〜ｚ１３は、２つのニューロンＮ２１、Ｎ２２の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。
【００６０】
ニューロンＮ２１、Ｎ２２は、それぞれ、ｚ２１、ｚ２２を出力する。これらは、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。
【００６１】
特徴ベクトルｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
【００６２】
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜結果ｙ３を出力する。
【００６３】
ニューラルネットワークの動作には、学習モードと価値予測モードとがあり、学習モードにおいて学習データセットを用いて重みｗを学習し、そのパラメータを用いて予測モードにおいて加工機の行動判断を行う（便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能である）。
【００６４】
予測モードで実際に加工機を動かして得られたデータを即時学習し、次の行動に反映させる（オンライン学習）ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う（バッチ学習）こともできる。その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００６５】
重みｗ１〜ｗ３は、誤差逆伝搬法（バックプロパゲーション）により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ（教師）との差分を小さくするように、それぞれの重みを調整（学習）する手法である。
【００６６】
このようなニューラルネットワークは、３層以上にさらに層を増やすことも可能である（深層学習と称される）。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【００６７】
そこで、上述したような状態観測部１７や学習部１８などを備えた機械学習装置１６には、機械学習方法の一種である強化学習、例えばＱ学習が採用されている。勿論、本発明に適用可能な機械学習方法は、Ｑ学習に限定されるものではない。例えば教師あり学習を適用する場合、価値関数は学習モデル、報酬は誤差に対応する。
【００６８】
図６は、上述したＱ学習を適用したモータ制御装置１２（環境）と機械学習装置１６（エージェント）における状態と行動を説明するための図である。
【００６９】
図６に示されるように、機械学習装置１６（エージェント）の行動は、１サイクルの加工時間Ｔのうちの加工休止時間Ｂを決定することである。さらに、モータ制御装置１２（環状）における状態には、前述の行動により間接的に変化する状態と、前述の行動により直接的に変化する状態とがある。行動により間接的に変化する状態には、実際の１サイクルの加工時間Ｔとモータ１１の巻線の温度とが含まれる。行動により直接的に変化する状態は、モータ制御装置１２に設定すべき加工休止時間Ｂである。
【００７０】
なお、上述した式（１）に用いられる状態ｓは、意思決定部２２により決定された加工休止時間Ｂと、加工機１０の実際の１サイクルの加工時間Ｔおよびモータ１１の温度のうちの少なくとも一つとを含む状態変数が対応する。また、前述の報酬γt+1は報酬計算部１９により取得される。そして、関数更新部２０は、報酬γt+1に基づいて、価値Ｑ（ｓt，ａt）、すなわち価値関数を更新する。このとき、関数更新部２０は、価値関数の更新の際、価値Ｑ（ｓt，ａt）を状態ｓと行動ａの組ごとに対応付けて行動価値テーブルを作成することが好ましい。
【００７１】
さらに、意思決定部２２は、学習部１８による機械学習の終了後、前述した行動価値テーブルを参照して、最も高い価値に対応する加工休止時間Ｂを決定する。但し、意思決定部２２は、機械学習中は加工休止時間Ｂを無作為に決定してモータ制御装置１２に送信する。
【００７２】
なお、図１においては、機械学習装置１６がモータ制御装置１２外に設けられている態様を図示したが、機械学習装置１６はモータ制御装置１２内に設けられていてもよい。あるいは、機械学習装置１６はクラウドサーバ（図示せず）に存在してもよい。
【００７３】
次に、本実施形態の加工機１０に備わる機械学習装置１６の動作の一例を説明する。図７は、図１に示された機械学習装置１６の動作手順を説明するためのフローチャートである。
【００７４】
機械学習を開始する場合、まず、ステップＳ１１において、機械学習装置２０の意思決定部２２は、加工休止時間Ｂを無作為に決定してモータ制御装置１２に指令値として送信する。そして、指令値としての加工休止時間Ｂが、モータ制御装置１２内の、繰返しの加工動作を実施するための動作プログラムに書込まれる。
【００７５】
続いて、ステップＳ１２において、モータ制御装置１２は、前述の加工休止時間Ｂが設定された動作プログラムに従って繰返しの加工動作を実施するようにモータ１１を制御する。なお、本実施形態においては、所定回数の繰返しの加工動作が行われるものとする。
【００７６】
次いで、ステップＳ１３において、機械学習装置２０の状態観測部１７は、繰返しの加工動作を実施している間、意思決定部２２により決定された加工休止時間Ｂと加工機１０の実際の１サイクルの加工時間Ｔおよびモータ１１の温度とから少なくとも構成される状態変数を観測する。
【００７７】
その後、ステップＳ１４において、学習部１８は、関数更新部２０内の行動価値テーブルの中で最もＱ値の低い行動に対応する実際の１サイクルの加工時間Ｔに対し、状態観測部１７により観測された１サイクルの加工時間Ｔが増加したかどうかを判断する。
【００７８】
前述の関数更新部２０内の行動価値テーブルは、後述するステップＳ１８において作成されるが、機械学習を開始する前に、出来るだけ低いＱ値を初期値として行動価値テーブルに記憶させておくことが好ましい。なお、ここでいうＱ値は、上述した式（１）により得られる価値関数、すなわち価値Ｑ（ｓt，ａt）を指す。
【００７９】
上記のステップＳ１４において、状態観測部１７により観測された１サイクルの加工時間Ｔが、関数更新部２０内の行動価値テーブルの中で最もＱ値の低い行動に対応する実際の１サイクルの加工時間Ｔと比べて減少した場合は、ステップＳ１５に移行する。
【００８０】
ステップＳ１５においては、学習部１８は、繰返しの加工動作中にモータ１１の巻線の温度がオーバヒートアラームレベルＰに達したかどうかを判断する。
【００８１】
上記のステップＳ１５においてモータ１１の巻線の温度がオーバヒートアラームレベルＰに達していない場合は、ステップＳ１６に移行する。
【００８２】
そして、ステップＳ１６において、学習部１８の報酬計算部１９は、上記のステップＳ１１にて加工休止時間Ｂを決定した行動の価値に対して与える報酬を増額する。つまり、上述した式（１）における報酬γt+1の値が増加される。その後、ステップＳ１８において、関数更新部２０は、報酬γt+1に基づいて、価値関数（価値Ｑ（ｓt，ａt））とともに行動価値テーブルを更新する。
【００８３】
前述したステップＳ１６での報酬計算においては、所定回数の繰返しの加工動作が実施された際の最後の加工動作時間Ａの終了時に測定されたモータ１１の巻線の温度α（図２参照）と、オーバヒートアラームレベルＰとの差に応じて、報酬の増額値を減らすことが好ましい。つまり、前述の巻線の温度αとオーバヒートアラームレベルＰとの差が大きいほど、報酬計算部１９は報酬の増額値を小さくする。
【００８４】
一方、上記のステップＳ１４において、状態観測部１７により観測された１サイクルの加工時間Ｔが、関数更新部２０内の行動価値テーブルの中で最もＱ値の低い行動に対応する実際の１サイクルの加工時間Ｔと比べて増加した場合は、ステップＳ１７に移行する。さらに、上記のステップＳ１５においてモータ１１の巻線の温度がオーバヒートアラームレベルＰに達した場合もまた、ステップＳ１７に移行する。
【００８５】
そして、ステップＳ１７において、学習部１８の報酬計算部１９は、上記のステップＳ１１にて加工休止時間Ｂを決定した行動の価値に対して与える報酬を減額する。つまり、上述した式（１）における報酬γt+1の値が低減される。その後、ステップＳ１８において、関数更新部２０は、報酬γt+1に基づいて、価値関数（価値Ｑ（ｓt，ａt））とともに行動価値テーブルを更新する。
【００８６】
以上のステップＳ１１〜ステップＳ１８を繰返すことにより、学習部１８は行動価値テーブルを更新し続けることとなる。
【００８７】
なお、上述した機械学習の終了後、意思決定部２２は、前述した行動価値テーブルを参照して最も高い価値に対応する加工休止時間Ｂを決定し、モータ制御装置１２に出力することが好ましい。
【００８８】
また、上述したような機械学習装置１６を備えた加工機１０は、機械学習時に実際にドリル等の工具をモータ１１により回転させ、加工機１０の作業テーブル上に固定されたワークを加工している。このとき、切削液などのクーラントを工具およびワークに供給しながらモータ１１を駆動することが好ましい。つまり、上述の加工休止時間Ｂを正確に求めるためには、本実施形態のように加工機１０の加工状況を実際の状況に合致させて機械学習を行うことが好ましい。
【００８９】
以上に説明したように、本実施形態の機械学習装置１６を備えたモータ制御装置１２および加工機１０は、加工機１０に繰返しの加工動作を実施させる場合にモータ１１の巻線の温度がオーバヒートアラームレベルＰを超えないことを満たす最短の加工休止時間Ｂを、作業者によらずに求めることができる。これにより、加工休止時間Ｂをモータ制御装置１２に設定する際の作業者の労力や時間が削減される。
【００９０】
なお、本発明に適用される機械学習は、上述したＱ学習に限られない。たとえば、機械学習装置１６は、深層学習（ディープラーニング）によりニューラルネットワークを用いて多層化して最適な行動を設定しても構わない。前述した価値関数（価値Ｑ（ｓt，ａt））を含む行動価値テーブルを用いる代わりに、所定の状態ｓを与えたときのそれぞれの行動ａに対する行動価値変数を出力するニューラルネットワークを用いることができる。
【００９１】
また、上述した実施形態においては、図１に示されるように一つのモータ制御装置１２に対して一つの機械学習装置１６が設けられている。しかし、本発明においては、モータ制御装置１２および機械学習装置１６の各々の数は一つに限定されない。例えば、加工機１０が複数のモータ１１およびモータ制御装置１２を備えていて、一つ以上の機械学習装置１６が各々のモータ制御装置１２に対応して設けられていてもよい。そして、それぞれの機械学習装置１６にて学習した情報を通信ケーブルやネットワークなどを介して互いに送信できることが好ましい。これにより、或る機械学習装置１６の学習部１８により更新された行動価値テーブルを用いて別の機械学習装置１６の学習部１８内の行動価値テーブルを更新することができる。
【００９２】
以上では典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、上述の実施形態に変更および種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
【符号の説明】
【００９３】
１０    加工機
１１    モータ
１２    モータ制御装置
１３    温度センサ
１４    電流センサ
１５    速度センサ
１６    機械学習装置
１７    状態観測部
１８    学習部
１９    報酬計算部
２０    関数更新部
２１    オーバヒートアラームレベル入力部
２２    意思決定部
【図１】
2017068563.tif 000005
【図２】
2017068563.tif 000006
【図３】
2017068563.tif 000007
【図４】
2017068563.tif 000008
【図５】
2017068563.tif 000009
【図６】
2017068563.tif 000010
【図７】
2017068563.tif 000011
【手続補正書】
【提出日】平成29年2月1日(2017.2.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
【特許文献１】特開２０１３−７０４８５号公報
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明の第一態様によれば、加工機の繰返しの加工動作を実施するモータの温度が予め定められる温度閾値を超えないように、加工機の１サイクルの加工動作時間と加工休止時間とからなる１サイクルの加工時間のうちの加工休止時間を定める機械学習装置であって、
加工休止時間と、加工機の実際の１サイクルの加工時間およびモータの温度とを含む状態変数を繰返しの加工動作中に観測する状態観測部と、
状態変数と温度閾値とに基づいて、繰返しの加工動作を実施した際にモータの温度が温度閾値を超えないことを満たす最短の加工休止時間を選択する価値を学習する学習部と、
を備えた機械学習装置が提供される。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
加工機（１０）の繰返しの加工動作を実施するモータ（１１）の温度が予め定められる温度閾値（Ｐ）を超えないように、前記加工機（１０）の１サイクルの加工動作時間（Ａ）と加工休止時間（Ｂ）とからなる１サイクルの加工時間（Ｔ）のうちの前記加工休止時間（Ｂ）を定める機械学習装置（１６）であって、
前記加工休止時間（Ｂ）と、前記加工機（１０）の実際の１サイクルの加工時間（Ｔ）および前記モータ（１１）の温度とを含む状態変数を前記繰返しの加工動作中に観測する状態観測部（１７）と、
前記状態変数と前記温度閾値（Ｐ）とに基づいて、前記繰返しの加工動作を実施した際に前記モータ（１１）の温度が前記温度閾値（Ｐ）を超えないことを満たす最短の前記加工休止時間（Ｂ）を選択する価値を学習する学習部（１８）と、
前記状態変数のうちの、前記１サイクルの加工時間（Ｔ）と前記モータ（１１）の温度に基づいて報酬を計算する報酬計算部（１９）と、
前記報酬に基づいて、前記最短の加工休止時間（Ｂ）を選択する価値を表す価値関数を更新する関数更新部（２０）と、
を備えた機械学習装置。
【請求項２】
前記モータ（１１）を制御するモータ制御装置（１２）に設定すべき前記加工休止時間（Ｂ）を決定する意思決定部（２２）をさらに備える、請求項１に記載の機械学習装置。
【請求項３】
前記関数更新部（２０）は、前記状態変数と前記価値関数とが対応付けられた行動価値テーブルを有し、前記報酬に基づいて前記行動価値テーブルを更新するようにした、請求項２に記載の機械学習装置。
【請求項４】
前記報酬計算部（１９）は、
前記行動価値テーブルの中で最も低い価値関数に対応する前記１サイクルの加工時間（Ｔ）と比べて、前記状態観測部（１７）により観測された前記１サイクルの加工時間（Ｔ）が減少した場合には、前記繰返しの加工動作を実施した際の前記モータ（１１）の温度と前記温度閾値（Ｐ）との差に基づいて前記報酬を増加し、
前記行動価値テーブルの中で最も低い価値関数に対応する前記１サイクルの加工時間（Ｔ）と比べて、前記状態観測部（１７）により観測された前記１サイクルの加工時間（Ｔ）が増加した場合、および、前記繰返しの加工動作を実施した際に前記モータの温度が前記温度閾値に達した場合には、前記報酬を減少させるようにした、請求項３に記載の機械学習装置。
【請求項５】
請求項１から４のいずれか一項に記載の機械学習装置（１６）を具備するモータ制御装置。
【請求項６】
請求項５に記載のモータ制御装置（１２）を具備する加工機。
【請求項７】
加工機（１０）の繰返しの加工動作を実施するモータ（１１）の温度が予め定められる温度閾値（Ｐ）を超えないように、前記加工機（１０）の１サイクルの加工動作時間（Ａ）と加工休止時間（Ｂ）とからなる１サイクルの加工時間（Ｔ）のうちの前記加工休止時間（Ｂ）を定める機械学習方法であって、
前記加工休止時間（Ｂ）と、前記加工機（１０）の実際の１サイクルの加工時間（Ｔ）および前記モータ（１１）の温度とを含む状態変数を前記繰返しの加工動作中に観測し、
前記状態変数と前記温度閾値（Ｐ）とに基づいて、前記繰返しの加工動作を実施した際に前記モータ（１１）の温度が前記温度閾値（Ｐ）を超えないことを満たす最短の前記加工休止時間（Ｂ）を選択する価値を学習し、
該学習の間、前記状態変数のうちの、前記１サイクルの加工時間（Ｔ）と前記モータ（１１）の温度に基づいて報酬を計算し、前記報酬に基づいて、前記最短の加工休止時間（Ｂ）を選択する価値を表す価値関数を更新する、
ことを含む機械学習方法。