(57)【要約】【課題】電動機に対する動作指令を学習する機械学習装置を提供する。【解決手段】機械学習装置４は、電動機２に対する動作指令を学習するように構成される。機械学習装置４は、電動機２に対する電力供給量、電動機２の温度、電動機２の負荷、および電動機２の振動を状態変数として観測する状態観測部４１と、状態変数に基づいて作成される訓練データセットに従って、電動機２に対する動作指令を学習する学習部４３と、を備えている。【選択図】図１
2017064837.tif 000002
【特許請求の範囲】
【請求項１】
電動機に対する動作指令を学習する機械学習装置であって、
電動機に対する電力供給量、前記電動機の温度、前記電動機の負荷、および前記電動機の振動を状態変数として観測する状態観測部と、
前記状態変数に基づいて作成される訓練データセットに従って、前記電動機に対する動作指令を学習する学習部と、
を備える機械学習装置。
【請求項２】
前記学習部が、
前記電力供給量、前記温度、前記負荷および前記振動に応じて報酬を計算する報酬計算部と、
前記報酬に基づいて、前記動作指令を決定するための関数を更新する関数更新部と、
を備える、請求項１に記載の機械学習装置。
【請求項３】
前記報酬計算部が、前記電力供給量と予め定められる電力供給量との差、前記温度と予め定められる温度との差、前記負荷と予め定められる負荷との差、および前記振動と予め定められる振動との差に基づいて、前記報酬を計算するように構成される、請求項２に記載の機械学習装置。
【請求項４】
前記関数更新部が、前記報酬に基づいて行動価値テーブルを更新するように構成される、請求項２または３に記載の機械学習装置。
【請求項５】
前記学習部が、複数の電動機に対して作成される訓練データセットに従って、前記動作指令を学習するように構成される、請求項１から４のいずれか１項に記載の機械学習装置。
【請求項６】
請求項１から５のいずれか１項に記載の機械学習装置と、
少なくとも１つの第１の電動機によって駆動される移動軸または回転軸と、
少なくとも１つの第２の電動機によって駆動される主軸と、を備えた工作機械であって、
前記機械学習装置は、前記学習部が学習した結果に基づいて、送り速度補正、主軸回転数補正、加減速時定数補正および位置補正のうちの少なくともいずれか１つを実行する意思決定部をさらに備えており、
前記工作機械は、前記意思決定部によって補正された動作指令に従って前記第１の電動機および前記第２の電動機を制御するように構成される、工作機械。
【請求項７】
前記状態観測部が、主軸頭の温度および振動を追加の状態変数として観測するように構成されており、
前記報酬計算部が、前記主軸頭の温度と予め定められる温度との差、および前記主軸頭の振動と予め定められる振動との差に基づいて、前記報酬を計算するように構成される、請求項６に記載の工作機械。
【請求項８】
電動機に対する動作指令を学習する機械学習方法であって、
電動機に対する電力供給量、前記電動機の温度、前記電動機の負荷、および前記電動機の振動を状態変数として観測し、
前記状態変数に基づいて作成される訓練データセットに従って、前記電動機に対する動作指令を学習すること、
を含む、機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動機に対する動作指令を学習する機械学習方法および機械学習装置並びに該機械学習装置を備えた工作機械に関する。
【背景技術】
【０００２】
工作機械を用いて加工を行う場合、加工精度を向上させるために、過負荷、オーバーヒートおよびビビリ振動を防止することが求められる。従来、オペレータは、自身の経験に基づいて、工具の送り速度または主軸の回転数を変更したり、或いは温度補正を行ったりすることによって、加工精度の向上を図っている。
【０００３】
特許文献１には、ビビリ振動が検出されたときに、主軸の回転数を補正したり、または切込み量を変更するように構成される工作機械が開示されている。特許文献２には、ワークのイナーシャ、電動機にかかる負荷等に応じて、電動機の加速度を動作中に変更するようにした数値制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１４／１１５３９５号
【特許文献２】国際公開第２０１５／０８７４５５号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、前述した公知技術によれば、特定の条件に応じて所定の補正処理が実行されるので、高い加工精度を常時実現することは困難であった。そこで、オペレータの補正操作を必要とすることなく、高い加工精度を常時実現できるように工作機械を制御することが求められている。
【課題を解決するための手段】
【０００６】
本願の１番目の発明によれば、電動機に対する動作指令を学習する機械学習装置であって、電動機に対する電力供給量、前記電動機の温度、前記電動機の負荷、および前記電動機の振動を状態変数として観測する状態観測部と、前記状態変数に基づいて作成される訓練データセットに従って、前記電動機に対する動作指令を学習する学習部と、を備える機械学習装置が提供される。
本願の２番目の発明によれば、１番目の発明に係る機械学習装置において、前記学習部が、前記電力供給量、前記温度、前記負荷および前記振動に応じて報酬を計算する報酬計算部と、前記報酬に基づいて、前記動作指令を決定するための関数を更新する関数更新部と、を備える。
本願の３番目の発明によれば、２番目の発明に係る機械学習装置において、前記報酬計算部が、前記電力供給量と予め定められる電力供給量との差、前記温度と予め定められる温度との差、前記負荷と予め定められる負荷との差、および前記振動と予め定められる振動との差に基づいて、前記報酬を計算するように構成される。
本願の４番目の発明によれば、２番目または３番目の発明に係る機械学習装置において、前記関数更新部が、前記報酬に基づいて行動価値テーブルを更新するように構成される。
本願の５番目の発明によれば、１番目から４番目のいずれかの発明に係る機械学習装置において、前記学習部が、複数の電動機に対して作成される訓練データセットに従って、前記動作指令を学習するように構成される。
本願の６番目の発明によれば、１番目から５番目のいずれかの発明に係る機械学習装置と、少なくとも１つの第１の電動機によって駆動される移動軸または回転軸と、少なくとも１つの第２の電動機によって駆動される主軸と、を備えた工作機械であって、前記機械学習装置は、前記学習部が学習した結果に基づいて、送り速度補正、主軸回転数補正、加減速時定数補正および位置補正のうちの少なくともいずれか１つを実行する意思決定部をさらに備えており、前記工作機械は、前記意思決定部によって補正された動作指令に従って前記第１の電動機および前記第２の電動機を制御するように構成される、工作機械が提供される。
本願の７番目の発明によれば、６番目の発明に係る工作機械において、前記状態観測部が、主軸頭の温度および振動を追加の状態変数として観測するように構成されており、前記報酬計算部が、前記主軸頭の温度と予め定められる温度との差、および前記主軸頭の振動と予め定められる振動との差に基づいて、前記報酬を計算するように構成される。
本願の８番目の発明によれば、電動機に対する動作指令を学習する機械学習方法であって、電動機に対する電力供給量、前記電動機の温度、前記電動機の負荷、および前記電動機の振動を状態変数として観測し、前記状態変数に基づいて作成される訓練データセットに従って、前記電動機に対する動作指令を学習すること、を含む、機械学習方法が提供される。
【０００７】
これら並びに他の本発明の目的、特徴および利点は、添付図面に示される本発明の例示的な実施形態に係る詳細な説明を参照することによって、より明らかになるであろう。
【発明の効果】
【０００８】
本発明に係る機械学習装置および機械学習方法によれば、状態変数に基づいて作成される訓練データセットに従って、電動機に対する動作指令を学習する。それにより、オペレータによる補正操作を必要とすることなく、状況に応じて電動機を適切に制御できる。また、本発明に係る工作機械によれば、主軸および移動軸を駆動する電動機が、状況に応じて適切に制御されるので、高い加工精度を常時実現できるようになる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る工作機械の構成例を示すブロック図である。
【図２】機械学習装置における学習過程の流れを示すフローチャートである。
【図３】ニューロンのモデルを示す模式図である。
【図４】３層のニューラルネットワークモデルを示す模式図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明の実施形態を説明する。図１は、一実施形態に係る工作機械の構成例を示すブロック図である。工作機械１は、電動機２と、電動機２を制御する制御装置３と、電動機２に対する動作指令を学習する機械学習装置４と、を備えている。
【００１１】
電動機２は、工作機械１の軸に対応してそれぞれ設けられる。電動機２は、工具が取付けられる主軸頭５を駆動するために使用される。また、電動機２は、作業空間に固定された座標系の各軸方向において、主軸頭５を移動させるための移動軸または回転させるための回転軸を駆動するために使用されてもよい。或いは、電動機２は、ワークが載置されたテーブルを作業空間において移動させるための移動軸または回転させるための回転軸を駆動するために使用されてもよい。本明細書において使用される「電動機」の用語は、工作機械１において使用される複数の電動機２、すなわち主軸用電動機および送り軸用電動機の両方を含んでいる。
【００１２】
制御装置３は、ＣＰＵと、メモリと、インタフェイスと、を備えている。ＣＰＵは、制御装置３の種々の機能を実行するための演算処理を実行する。メモリは、ＲＯＭ、ＲＡＭおよび不揮発性メモリを備えている。ＲＯＭには、制御装置３の機能を制御するシステムプログラムが格納されている。ＲＡＭは、種々のセンサの出力値およびＣＰＵの演算結果などが一時的に記憶するために使用される。不揮発性メモリには、電動機２に対する指令を作成するための制御プログラムおよび種々のパラメータなどが格納されている。
【００１３】
図１に示されるように、制御装置３は、温度測定部３１と、振動測定部３２と、負荷測定部３３と、電力測定部３４と、判定部３５と、指令作成部３６と、を備えている。
【００１４】
温度測定部３１は、電動機２の温度を測定する。温度測定部３１は、電動機２の温度変化を検出できる任意の位置、例えば電動機２の筐体に設けられた温度センサ（図示せず）の出力値に基づいて、電動機２の温度を測定する。一実施形態において、温度測定部３１は、別個設けられる温度センサによって、主軸頭５の温度をさらに測定するように構成されていてもよい。
【００１５】
振動測定部３２は、任意の振動センサの出力値に基づいて、電動機２の振動を測定する。一実施形態において、振動測定部３２は、別個設けられる振動センサによって、主軸頭５の振動をさらに測定するように構成されていてもよい。
【００１６】
負荷測定部３３は、電動機２の負荷を測定する。例えば、負荷測定部３３は、電動機２が所定の動作をする際に電動機２に供給される電流量から負荷を計算することができる。
【００１７】
電力測定部３４は、制御装置３のアンプ（図示せず）から電動機２に対する電力供給量を測定する。
【００１８】
判定部３５は、制御装置３によって取得される複数の測定値と、各々の測定値に対応する比較値との差を計算し、判定データとして出力する。判定される測定値には、温度測定部３１によって測定される電動機２の温度と、振動測定部３２によって測定される電動機２の振動と、負荷測定部３３によって測定される電動機２の負荷と、電力測定部３４によって測定される電力と、が含まれる。
【００１９】
電動機２の温度に対応する比較値は、電動機２がオーバーヒートしたとみなせる温度を表すように設定される。電動機２の振動に対応する比較値は、ビビリ振動が発生したとみなせる振動を表すように設定される。電動機２の負荷に対応する比較値は、電動機２が過負荷の状態にあるとみなせる負荷を表すように設定される。電動機２に対する電力供給量に対応する比較値は、電力供給容量の限界に対応する電力を表すように設定される。
【００２０】
このように、判定部３５によって作成される判定データは、電動機２のオーバーヒート、過負荷、電力供給容量オーバーおよびビビリ振動の発生の有無を判定可能なデータである。
【００２１】
温度測定部３１が主軸頭５の温度を測定するように構成された実施形態の場合、判定部３５は、主軸頭５の温度と、それに対応する温度との差を計算するようにさらに構成される。温度測定部３１が主軸頭５の振動を測定するように構成された実施形態の場合、判定部３５は、主軸頭５の振動と、それに対応する値との差を計算するようにさらに構成される。
【００２２】
指令作成部３６は、電動機２に対する動作指令を作成する。指令作成部３６は、不揮発性メモリに記憶されている動作プログラムおよびパラメータに従って作成される。指令作成部３６によって作成される動作指令は、後述する機械学習装置４の意思決定部４６によって決定される補正処理に応じて補正されることがある。
【００２３】
機械学習装置４は、工作機械１の状態に応じて電動機２に対する動作指令を学習するために使用される。図１に示されるように、機械学習装置４は、状態観測部４１と、判定データ取得部４２と、学習部４３と、意思決定部４６、を備えている。
【００２４】
状態観測部４１は、電動機２に対する電力供給量、電動機２の温度、電動機２の負荷、および電動機２の振動を状態変数として観測する。一実施形態において、状態観測部４１は、主軸頭５の温度および振動を追加の状態変数として観測するように構成されてもよい。
【００２５】
判定データ取得部４２は、判定部３５から、状態観測部４１によって観測される状態変数（各測定値）に対応する判定データを取得する。
【００２６】
学習部４３は、状態変数に基づいて作成される訓練データセットに従って、電動機２に対する動作指令を学習する。
【００２７】
意思決定部４６は、学習部４３の学習結果に基づいて、電動機２に対する動作指令を補正する。意思決定部４６は、送り速度補正、主軸回転数補正、加減速時定数補正および位置補正のうちの少なくともいずれか１つを実行するように構成される。
【００２８】
機械学習装置４は、制御装置３とは別個のデジタルコンピュータであってもよいし、または制御装置３に内蔵されていてもよい。後者の場合、機械学習装置４は、制御装置３のＣＰＵおよびメモリを使用して機械学習を実行する。
【００２９】
一実施形態において、機械学習装置４は、電動機２および制御装置３から離隔された場所に設けられていてもよい。その場合、機械学習装置４は、ネットワークを介して制御装置３に接続される。或いは、機械学習装置４は、クラウドサーバに存在していてもよい。
【００３０】
図１に示されるように、学習部４３は、報酬計算部４４と、関数更新部４５と、を備えている。
【００３１】
報酬計算部４４は、判定データ取得部４２によって取得される各測定値の判定データに基づいて、報酬を計算する。
【００３２】
関数更新部４５は、報酬計算部４４によって計算される報酬に基づいて、電動機２に対する動作指令を決定するための関数を更新する。一実施形態において、関数更新部４４は、前述した報酬に基づいて、行動価値テーブを更新するように構成されていてもよい。行動価値テーブルは、参照テーブルの形態を有していて、状態変数と、それに対応する行動価値とを関連付けたデータである。
【００３３】
図２を参照して、一実施形態に係る機械学習装置４によって実行される機械学習方法について説明する。
【００３４】
ステップＳ２０１では、行動価値テーブルを更新する。ステップＳ２０１が初めて実行される場合、行動価値テーブルには、任意の初期値が入力される。ステップＳ２０２では、意思決定部４６が、状態変数に応じて動作指令の補正量を決定する。機械学習の初期段階では、意思決定部４６が、ランダムに動作指令の補正量を決定してもよい。
【００３５】
ステップＳ２０３では、工作機械１において異常が発生したか否かを判定する。ここで、工作機械１における「異常」とは、電動機２に対する電力供給量が許容値を超えたとき、電動機２に対する負荷が過度に大きいとき、電動機の温度が過度に高いとき、工作機械１においてビビリ振動が発生しているとき、および主軸頭５の温度が過度に高いとき、のうちの少なくとも１つに該当している状態を意味する。なお、ステップＳ２０３での判定は、制御装置３の判定部３５によって作成される判定データに基づいて実行される。
【００３６】
異常が発生していない場合（ステップＳ２０３での判定結果が否定の場合）、ステップＳ２０４に進み、報酬計算部４４が、当該行動（動作指令に対する補正処理）に対する報酬を増大させる。他方、異常が発生している場合（ステップＳ２０３での判定結果が肯定の場合）、ステップＳ２０５に進み、報酬計算部４４が、当該行動に対する報酬を減少させる。
【００３７】
ステップＳ２０４またはＳ２０５における報酬計算の後、ステップＳ２０１に戻り、行動価値テーブルを更新する。ステップＳ２０１からＳ２０５までの処理は、機械学習による学習効果が十分に得られるまで繰返し実行される。
【００３８】
ここで、機械学習装置４について詳細に説明する。機械学習装置４は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。
【００３９】
「教師あり学習」とは、ある入力と結果（ラベル）のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、即ち、その関係性を帰納的に獲得することができる。本実施形態においては、電動機に対する電力供給量、電動機の温度、負荷および振動などから電動機に対する指令を補正する部分などに用いることができる。後述のニューラルネットワークなどのアルゴリズムを用いて実現することができる。
【００４０】
「教師なし学習」とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。それらのデータセットにある特徴を似た者どうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。また「教師なし学習」と「教師あり学習」との中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。本実施形態においては、実際に電動機２を動作させなくても取得することができるデータを教師なし学習で利用し、学習を効率的に行うことができる。
【００４１】
強化学習の問題を以下のように設定する。
・電動機２の制御装置３は、環境の状態を観測し、行動を決定する。
・環境は何らかの規則に従って変化し、さらに自分の行動が、環境に変化を与えることもある。
・行動するたびに報酬信号が帰ってくる。
・最大化したいのは将来にわたっての（割引）報酬の合計である。
・行動が引き起こす結果を全く知らない、または不完全にしか知らない状態から学習はスタートする。制御装置３は、電動機２が実際に動作して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように事前学習（前述の教師あり学習や、逆強化学習といった手法）した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００４２】
「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、即ち、将来的に得られる報酬を最大にするための学習する方法である。このことは、本実施形態において、未来に影響を及ぼすような行動を獲得できることを表している。例えばＱ学習の場合で説明を続けるが、それに限るものではない。
【００４３】
Ｑ学習は、或る環境状態ｓの下で、行動ａを選択する価値Ｑ（ｓ，ａ）を学習する方法である。つまり、或る状態ｓのとき、価値Ｑ（ｓ，ａ）の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は状態ｓと行動ａとの組合せについて、価値Ｑ（ｓ，ａ）の正しい値は全く分かっていない。そこで、エージェント（行動主体）は、或る状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して報酬が与えられる。それにより、エージェントはより良い行動の選択、すなわち正しい価値Ｑ（ｓ，ａ）を学習していく。
【００４４】
行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ（ｓ，ａ）＝Ｅ［Σγtｒt］となるようにすることを目指す（期待値は最適な行動に従って状態変化したときについてとる。もちろん、それは分かっていないので、探索しながら学習しなければならない）。そのような価値Ｑ（ｓ，ａ）の更新式は、例えば次式により表すことができる。
【００４５】
【数１】
2017064837.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）が掛けられる。これにより、ニューロンは、次の式により表現される出力ｙを出力する。なお、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。
【数２】
2017064837.tif 000004
ここで、θはバイアスであり、ｆkは活性化関数である。
【００５１】
次に、上述したニューロンを組み合わせた３層の重みを有するニューラルネットワークについて、図４を参照して説明する。図４は、Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【００５２】
図４に示すように、ニューラルネットワークの左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。
【００５３】
具体的には、入力ｘ１〜入力ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてｗ１と標記されている。
【００５４】
ニューロンＮ１１〜Ｎ１３は、それぞれ、ｚ１１〜ｚ１３を出力する。これらのｚ１１〜ｚ１３はまとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。
【００５５】
ｚ１１〜ｚ１３は、２つのニューロンＮ２１、Ｎ２２の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。
【００５６】
ニューロンＮ２１、Ｎ２２は、それぞれ、ｚ２１、ｚ２２を出力する。これらは、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。
【００５７】
特徴ベクトルｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
【００５８】
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜結果ｙ３を出力する。
【００５９】
ニューラルネットワークの動作には、学習モードと価値予測モードとがあり、学習モードにおいて学習データセットを用いて重みｗを学習し、そのパラメータを用いて予測モードにおいて電動機に対する指令の補正を行う（便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能である）。
【００６０】
予測モードで実際に電動機を動かして得られたデータを即時学習し、次の行動に反映させる（オンライン学習）ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う（バッチ学習）こともできる。その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００６１】
重みｗ１〜ｗ３は、誤差逆伝搬法（バックプロパゲーション）により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ（教師）との差分を小さくするように、それぞれの重みを調整（学習）する手法である。
【００６２】
このようなニューラルネットワークは、３層以上にさらに層を増やすことも可能である（深層学習と称される）。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【００６３】
そこで、本実施形態の機械学習装置４は、上述のＱ学習を実施すべく、図１に示されるように状態観測部４１、学習部４３、および意思決定部４６を備えている。ただし、本発明に適用される機械学習方法は、Ｑ学習に限定されるものではない。たとえば教師あり学習を適用する場合、価値関数は学習モデル、報酬は誤差に対応する。
【００６４】
本実施形態において観測される複数の状態変数の間には、複雑な相関関係が存在する。例えば、工作機械の送り速度が増大すれば、電動機２の負荷が増大し、ビビリ振動が発生しやすくなる。電動機２の振動が増大すれば、主軸頭５の位置決め精度が低下する。さらに、主軸頭５の温度が増大すれば、熱変位の影響で位置決め精度が低下する。このように、状態変数は、互いに複雑に影響しあって加工精度の低下を引き起こしうる。
【００６５】
それに対し、前述した実施形態に係る機械学習装置および機械学習方法によれば、機械学習装置４が、状態変数に応じて、電動機２に対する適切な動作指令を学習することができるので、任意の状況下で適切な補正処理をすることができる。このように、本実施形態によれば、オペレータによる補正操作を実行する必要がなくなり、適切な補正処理が自動的に実行されるようになるので、高い加工精度を常時実現できるようになる。
【００６６】
一実施形態において、学習部が、複数の電動機に対して作成される訓練データセットに従って、動作指令を学習するように構成されてもよい。学習部は、同一の現場で使用される複数の工作機械から訓練データセットを取得してもよいし、或いは、異なる現場で独立して稼働する複数の工作機械から収集される訓練データセットを利用して、電動機に対する動作指令を学習してもよい。
【００６７】
強化学習及びニューラルネットワークを利用して機械学習する実施形態について説明したものの、他の公知の方法、例えば遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
【００６８】
以上、本発明の種々の実施形態について説明したが、当業者であれば、他の実施形態によっても本発明の意図する作用効果を実現できることを認識するであろう。特に、本発明の範囲を逸脱することなく、前述した実施形態の構成要素を削除または置換することができるし、或いは公知の手段をさらに付加することができる。また、本明細書において明示的または暗示的に開示される複数の実施形態の特徴を任意に組合せることによっても本発明を実施できることは当業者に自明である。
【符号の説明】
【００６９】
１    工作機械
２    電動機
３    制御装置
４    機械学習装置
５    主軸頭
３１    温度測定部
３２    振動測定部
３３    負荷測定部
３４    電力測定部
３５    判定部
３６    指令作成部
４１    状態観測部
４２    判定データ取得部
４３    学習部
４４    報酬計算部
４５    関数更新部
４６    意思決定部
【図１】
2017064837.tif 000005
【図２】
2017064837.tif 000006
【図３】
2017064837.tif 000007
【図４】
2017064837.tif 000008
【手続補正書】
【提出日】平成28年9月29日(2016.9.29)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本願の１番目の発明によれば、工作機械で使用される電動機に対する動作指令を学習する機械学習装置であって、前記電動機に対する電力供給量、前記電動機の温度、前記電動機の負荷、および前記電動機の振動を状態変数として観測する状態観測部と、前記状態変数と、前記状態変数に基づき、前記工作機械に異常が発生したか否かを判定した結果とに従って、前記電動機に対する前記動作指令が補正を必要とするか否かを学習する学習部と、を備える機械学習装置が提供される。
本願の２番目の発明によれば、１番目の発明に係る機械学習装置において、前記学習部が、前記電力供給量、前記温度、前記負荷および前記振動に応じて報酬を計算する報酬計算部と、前記報酬に基づいて、前記動作指令を決定するための関数を更新する関数更新部と、を備える。
本願の３番目の発明によれば、２番目の発明に係る機械学習装置において、前記報酬計算部が、前記電力供給量と予め定められる電力供給量との差、前記温度と予め定められる温度との差、前記負荷と予め定められる負荷との差、および前記振動と予め定められる振動との差に基づいて、前記報酬を計算するように構成される。
本願の４番目の発明によれば、２番目または３番目の発明に係る機械学習装置において、前記関数更新部が、前記報酬に基づいて行動価値テーブルを更新するように構成される。
本願の５番目の発明によれば、１番目から４番目のいずれかの発明に係る機械学習装置において、前記学習部が、複数の電動機に対して作成される訓練データセットに従って、前記動作指令を学習するように構成される。
本願の６番目の発明によれば、１番目から５番目のいずれかの発明に係る機械学習装置と、少なくとも１つの第１の電動機によって駆動される移動軸または回転軸と、少なくとも１つの第２の電動機によって駆動される主軸と、を備えた工作機械であって、前記機械学習装置は、前記学習部が学習した結果に基づいて、送り速度補正、主軸回転数補正、加減速時定数補正および位置補正のうちの少なくともいずれか１つを実行する意思決定部をさらに備えており、前記工作機械は、前記意思決定部によって補正された動作指令に従って前記第１の電動機および前記第２の電動機を制御するように構成される、工作機械が提供される。
本願の７番目の発明によれば、６番目の発明に係る工作機械において、前記状態観測部が、主軸頭の温度および振動を追加の状態変数として観測するように構成されており、前記報酬計算部が、前記主軸頭の温度と予め定められる温度との差、および前記主軸頭の振動と予め定められる振動との差に基づいて、前記報酬を計算するように構成される。
本願の８番目の発明によれば、工作機械で使用される電動機に対する動作指令を学習する機械学習方法であって、前記電動機に対する電力供給量、前記電動機の温度、前記電動機の負荷、および前記電動機の振動を状態変数として観測し、前記状態変数と、前記状態変数に基づき、前記工作機械に異常が発生したか否かを判定した結果とに従って、前記電動機に対する前記動作指令が補正を必要とするか否かを学習すること、を含む、機械学習方法が提供される。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
工作機械で使用される電動機に対する動作指令を学習する機械学習装置であって、
電動機に対する電力供給量、前記電動機の温度、前記電動機の負荷、および前記電動機の振動を状態変数として観測する状態観測部と、
前記状態変数と、前記状態変数に基づき、工作機械に異常が発生したか否かを判定した結果とに従って、前記電動機に対する前記動作指令が補正を必要とするか否かを学習する学習部と、
を備える機械学習装置。
【請求項２】
前記学習部が、
前記電力供給量、前記温度、前記負荷および前記振動に応じて報酬を計算する報酬計算部と、
前記報酬に基づいて、前記動作指令を決定するための関数を更新する関数更新部と、
を備える、請求項１に記載の機械学習装置。
【請求項３】
前記報酬計算部が、前記電力供給量と予め定められる電力供給量との差、前記温度と予め定められる温度との差、前記負荷と予め定められる負荷との差、および前記振動と予め定められる振動との差に基づいて、前記報酬を計算するように構成される、請求項２に記載の機械学習装置。
【請求項４】
前記関数更新部が、前記報酬に基づいて行動価値テーブルを更新するように構成される、請求項２または３に記載の機械学習装置。
【請求項５】
前記学習部が、複数の電動機に対して作成される訓練データセットに従って、前記動作指令を学習するように構成される、請求項１から４のいずれか１項に記載の機械学習装置。
【請求項６】
請求項１から５のいずれか１項に記載の機械学習装置と、
少なくとも１つの第１の電動機によって駆動される移動軸または回転軸と、
少なくとも１つの第２の電動機によって駆動される主軸と、を備えた工作機械であって、
前記機械学習装置は、前記学習部が学習した結果に基づいて、送り速度補正、主軸回転数補正、加減速時定数補正および位置補正のうちの少なくともいずれか１つを実行する意思決定部をさらに備えており、
前記工作機械は、前記意思決定部によって補正された動作指令に従って前記第１の電動機および前記第２の電動機を制御するように構成される、工作機械。
【請求項７】
前記状態観測部が、主軸頭の温度および振動を追加の状態変数として観測するように構成されており、
前記報酬計算部が、前記主軸頭の温度と予め定められる温度との差、および前記主軸頭の振動と予め定められる振動との差に基づいて、前記報酬を計算するように構成される、請求項６に記載の工作機械。
【請求項８】
工作機械で使用される電動機に対する動作指令を学習する機械学習方法であって、
前記電動機に対する電力供給量、前記電動機の温度、前記電動機の負荷、および前記電動機の振動を状態変数として観測し、
前記状態変数と、前記状態変数に基づき、前記工作機械に異常が発生したか否かを判定した結果とに従って、前記電動機に対する前記動作指令が補正を必要とするか否かを学習すること、
を含む、機械学習方法。