(57)【要約】【課題】機械学習により機械の動作条件や動作環境、優先ファクタに応じて設備内機械のサーボゲインを最適化する制御装置及び機械学習装置を提供すること。【解決手段】本発明の制御システム１は、機械３の機械に係る情報を状態データとして観測する状態観測部２１と、機械３による加工に係る情報を判定データとして取得する判定データ取得部２２と、判定データと報酬条件とに基づいて報酬を計算する報酬計算部２６と、機械のサーボゲインの調整を機械学習する学習部２３と、機械のサーボゲインの調整の機械学習結果と、状態データと基づいて、機械３のサーボゲインの調整行動を決定する意思決定部２７と、決定されたサーボゲインの調整行動に基づいて機械３のサーボゲインを変更するゲイン変更部２８と、を備える。【選択図】図５
2018097680.tif 000002
【特許請求の範囲】
【請求項１】
ワークを加工する少なくとも１つの機械と、該機械による加工で用いられるサーボゲインを調整する上位装置を備えた制御システムであって、
前記機械のサーボゲインの調整を機械学習する機械学習装置を備え、
前記機械学習装置は、
前記機械の機械に係る情報を状態データとして観測する状態観測部と、
前記機械による加工に係る情報を判定データとして取得する判定データ取得部と、
前記判定データとあらかじめ設定された報酬条件とに基づいて報酬を計算する報酬計算部と、
前記機械のサーボゲインの調整を機械学習する学習部と、
前記学習部による前記機械のサーボゲインの調整の機械学習結果と、前記状態データと基づいて、前記機械のサーボゲインの調整行動を決定する意思決定部と、
前記意思決定部により決定されたサーボゲインの調整行動に基づいて前記機械のサーボゲインを変更するゲイン変更部と、
を備え、
前記学習部は、前記状態データと、前記調整行動と、前記調整行動の後に計算された報酬と、に基づいて前記機械のサーボゲインの調整を機械学習する、
制御システム。
【請求項２】
前記機械に対してあらかじめ設定された優先ファクタに基づいて、前記機械学習及び前記調整行動の決定に用いられる価値関数を切換える価値関数切換え判定部を更に備える、
請求項１に記載の制御システム。
【請求項３】
前記報酬条件は、
前記優先ファクタ毎に設定される報酬条件に基づいてプラスまたはマイナスの報酬を計算する、
請求項１または２に記載の制御システム。
【請求項４】
少なくとも１つの他の数値制御装置と接続されており、
前記他の上位装置との間で機械学習の結果を相互に交換または共有する、
請求項１〜３のいずれか１つに記載の制御システム。
【請求項５】
ワークを加工する少なくとも１つの機械による加工で用いられるサーボゲインの調整を機械学習する機械学習装置であって、
前記機械の機械に係る情報を状態データとして観測する状態観測部と、
前記機械による加工に係る情報を判定データとして取得する判定データ取得部と、
前記判定データとあらかじめ設定された報酬条件とに基づいて報酬を計算する報酬計算部と、
前記機械のサーボゲインの調整を機械学習する学習部と、
前記学習部による前記機械のサーボゲインの調整の機械学習結果と、前記状態データと基づいて、前記機械のサーボゲインの調整行動を決定する意思決定部と、
前記意思決定部により決定されたサーボゲインの調整行動に基づいて前記機械のサーボゲインを変更するゲイン変更部と、
を有し、
前記学習部は、前記状態データと、前記調整行動と、前記調整行動の後に計算された報酬と、に基づいて前記機械のサーボゲインの調整を機械学習する、
機械学習装置。
【請求項６】
前記機械に対してあらかじめ設定された優先ファクタに基づいて、前記機械学習及び前記調整行動の決定に用いられる価値関数を切換える価値関数切換え判定部を更に備える、
請求項５に記載の機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システム及び機械学習装置に関し、特に機械学習により設備内機械制御におけるサーボゲインを最適化する制御装置及び機械学習装置に関する。
【背景技術】
【０００２】
制御装置のサーボゲインの設定は、制御対象となる機械の動作に大きな影響を与え、加工品の品質や生産性に対して直接的な影響を与える。サーボゲインの設定は、機械毎に、ワークやツール、精度やサイクルタイム、金型の重量や樹脂の粘度などの加工条件のもと、調整用ツールを使用し、必要に応じてその都度設定・調整されることが多く、最適化するのに時間を要する。また、運転状態に応じて、その都度運転中に最適なゲインに切換えたい状況もある。
【０００３】
制御装置のサーボゲインには、電流ループゲイン、速度ループゲイン、ポジションループゲイン、圧力制御比例・積分ゲインなど、様々な種類が存在する。従来は、機械の剛性、負荷イナーシャやツールの種類、動作の仕方など、様々な条件により、調整用ツールを使用するなどして、個々に最適な値を設定する必要があった。また、加工精度優先や速度優先など優先するファクタによっても、最適なゲインを再調整する必要がある。
【０００４】
サーボゲインの調整に係る従来技術としては、例えば特許文献１には、ニューラルネットワークを用いて機械動作の制御における調整を行うシステムが開示されている。また、特許文献２には、個々のロボットの性能データを取得し、ユーザの性能目標に応じて、制御利得を含めて制御プログラムを最適化する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２８５１９０１号公報
【特許文献２】特開２００６−３０２２８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
サーボゲインを調整する際には、例えば、機械の剛性、対象ワーク、ツールや治具、金型の重量、射出成形時の樹脂の粘度の影響などのような、制御対象となる機械の動作条件や動作環境などにより、運転前に最適なゲインを推定するのは困難である場合が多い。また、形状誤差、生産性、消費電力、機械への負荷など、どのようなファクタを優先してゲインを設定するのかがその都度異なるため、やはり運転前に最適なゲインを推定するのは困難である場合が多い。そして、このような課題を特許文献１，２に開示される技術は解決することができない。
【０００７】
そこで本発明の目的は、機械学習により機械の動作条件や動作環境、優先ファクタに応じて設備内機械のサーボゲインを最適化する制御装置及び機械学習装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明は、複数の制御装置の上位の制御装置またはフィールドコンピュータに機械学習器を導入し、各機械の制御装置から収集した、各軸の情報（位置偏差、サイクルタイム、モータ負荷、消費電力、速度変動率など）、各機械の稼動条件に関する情報（モータの特性、機械の剛性、ワークの種類、樹脂の粘度、使用するツール、治具、金型の重量や形状、樹脂の種類や粘度など）に基づいて、優先ファクタを最適化するような機械学習を行う。本発明の制御システムでは、各機械の稼動条件と、価値関数の最新データにより最適なゲインの推定初期値を制御装置に設定し、制御装置から得られる各軸の情報に基づく報酬を算定して機械学習器の学習に用いる。本発明の制御システムでは、少なくとも優先ファクタに応じて複数の機械学習に用いる価値関数を記憶しておき、状況に応じて最適な価値関数をデータベースから選択して使い分けるようにしてもよい。
【０００９】
そして、本願の請求項１に係る発明は、ワークを加工する少なくとも１つの機械と、該機械による加工で用いられるサーボゲインを調整する上位装置を備えた制御システムであって、前記機械のサーボゲインの調整を機械学習する機械学習装置を備え、前記機械学習装置は、前記機械の機械に係る情報を状態データとして観測する状態観測部と、前記機械による加工に係る情報を判定データとして取得する判定データ取得部と、前記判定データとあらかじめ設定された報酬条件とに基づいて報酬を計算する報酬計算部と、前記機械のサーボゲインの調整を機械学習する学習部と、前記学習部による前記機械のサーボゲインの調整の機械学習結果と、前記状態データと基づいて、前記機械のサーボゲインの調整行動を決定する意思決定部と、前記意思決定部により決定されたサーボゲインの調整行動に基づいて前記機械のサーボゲインを変更するゲイン変更部と、を備え、前記学習部は、前記状態データと、前記調整行動と、前記調整行動の後に計算された報酬と、に基づいて前記機械のサーボゲインの調整を機械学習する、制御システムである。
【００１０】
本願の請求項２に係る発明は、前記機械に対してあらかじめ設定された優先ファクタに基づいて、前記機械学習及び前記調整行動の決定に用いられる価値関数を切換える価値関数切換え判定部を更に備える、請求項１に記載の制御システムである。
【００１１】
本願の請求項３に係る発明は、前記報酬条件は、前記優先ファクタ毎に設定される報酬条件に基づいてプラスまたはマイナスの報酬を計算する、請求項１または２に記載の制御システムである。
【００１２】
本願の請求項４に係る発明は、少なくとも１つの他の数値制御装置と接続されており、前記他の上位装置との間で機械学習の結果を相互に交換または共有する、請求項１〜３のいずれか１つに記載の制御システムである。
【００１３】
本願の請求項５に係る発明は、ワークを加工する少なくとも１つの機械による加工で用いられるサーボゲインの調整を機械学習する機械学習装置であって、前記機械の機械に係る情報を状態データとして観測する状態観測部と、前記機械による加工に係る情報を判定データとして取得する判定データ取得部と、前記判定データとあらかじめ設定された報酬条件とに基づいて報酬を計算する報酬計算部と、前記機械のサーボゲインの調整を機械学習する学習部と、前記学習部による前記機械のサーボゲインの調整の機械学習結果と、前記状態データと基づいて、前記機械のサーボゲインの調整行動を決定する意思決定部と、前記意思決定部により決定されたサーボゲインの調整行動に基づいて前記機械のサーボゲインを変更するゲイン変更部と、を有し、前記学習部は、前記状態データと、前記調整行動と、前記調整行動の後に計算された報酬と、に基づいて前記機械のサーボゲインの調整を機械学習する、機械学習装置である。
【００１４】
本願の請求項６に係る発明は、前記機械に対してあらかじめ設定された優先ファクタに基づいて、前記機械学習及び前記調整行動の決定に用いられる価値関数を切換える価値関数切換え判定部を更に備える、請求項５に記載の機械学習装置である。
【発明の効果】
【００１５】
本発明により、制御対象の各機械について、優先ファクタを向上させるゲインの組合せを推定でき、推定結果を制御装置による機械制御に適用することで、リアルタイムにかつ自動的に各機械での優先ファクタを向上させることができる。また、機械毎に作業者がゲインを調整する必要がなく、エッジ環境で統一的に全機械のゲインの最適化を自動に行えるようになり、ゲイン調整にかかる手間と時間を削減できる。更に、個々の機械の稼動条件と最適ゲインの推定結果で価値関数を更新し、共有された価値関数を別の機械の学習時に利用することができ、その結果、自動的かつ効率的に最適ゲインを推定、設定できる。
【図面の簡単な説明】
【００１６】
【図１】強化学習アルゴリズムの基本的な概念を説明する図である。
【図２】ニューロンのモデルを示す模式図である。
【図３】３層の重みを有するニューラルネットワークを示す模式図である。
【図４】本発明の実施形態による制御システムの機械学習に関するイメージ図である。
【図５】本発明の実施形態による制御システムの概略的な機能ブロック図である。
【図６】本発明の実施形態における機械学習の流れを示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面と共に説明する。
本発明では、各機械を制御する少なくとも１以上の制御装置の上位に位置する上位装置（制御装置やフィールドコンピュータなど）に対して人工知能となる機械学習装置を導入し、各軸の情報や機械の稼動条件、優先ファクタに対する、各制御装置による機械の制御に用いられるサーボゲインの調整を機械学習することで、優先ファクタを向上させるゲインの組合せを自動的に求めることができるようにする。
以下では、本発明で導入する機械学習について簡単に説明する。
【００１８】
＜１．機械学習＞
ここで、機械学習について簡単に説明する。機械学習は、機械学習を行う装置（以下、機械学習装置）に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力すると共に、知識の学習を行うことで実現される。機械学習の手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。さらに、これらの手法を実現する上で、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。
【００１９】
「教師あり学習」とは、ある入力と結果（ラベル）のデータの組を大量に機械学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、即ち、その関係性を帰納的に獲得することができる。これは後述のニューラルネットワークなどのアルゴリズムを用いて実現することができる。
【００２０】
「教師なし学習」とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。それらのデータセットにある特徴を似た者どうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することができる。また「教師なし学習」と「教師あり学習」との中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。本実施形態においては、実際に加工機を動作させなくても取得することが出来るデータを教師なし学習で利用し、学習を効率的に行うことが出来る。
【００２１】
「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、即ち、将来的に得られる報酬を最大にするための学習する方法である。強化学習においては、機械学習装置は行動が引き起こす結果を全く知らない状態から、または不完全にしか知らない状態から学習はスタートすることができる。また、人間の動作を真似るように事前学習（前述の教師あり学習や、逆強化学習といった手法）した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
なお、加工機に対して機械学習を適用する場合、加工機が実際に動作して初めて、その結果をデータとして得ることが出来ること、即ち、試行錯誤しながら最適な行動を探索する必要があることを考慮する必要がある。本発明では、機械学習装置の主たる学習アルゴリズムとして報酬を与えることで機械学習装置が目標到達のための行動を自動的に学習する強化学習のアルゴリズムを採用している。
【００２２】
図１は、強化学習アルゴリズムの基本的な概念を説明する図である。強化学習においては、学習する主体となるエージェント（機械学習装置）と、制御対象となる環境（制御対象システム）とのやりとりにより、エージェントの学習と行動が進められる。より具体的には、（１）エージェントはある時点における環境の状態ｓtを観測し、（２）観測結果と過去の学習に基づいて自分が取れる行動ａtを選択して行動ａtを実行し、（３）何らかの規則および行動ａtの実行に基づいて環境の状態ｓtが次の状態ｓt+1へと変化し、（４）行動ａtの結果としての状態の変化に基づいてエージェントが報酬ｒt+1を受け取り、（５）エージェントが状態ｓt、行動ａt、報酬ｒt+1および過去の学習の結果に基づいて学習を進める、といったやりとりがエージェントと環境の間で行われる。
【００２３】
強化学習の初期の段階では、エージェントは（２）の行動選択において環境の状態ｓtに対する最適な行動ａtを選択するための価値判断の基準が全く分かっていない。そこで、エージェントは或る状態ｓtの元で様々な行動ａtを選択し、その時の行動ａtに対して与えられた報酬ｒt+1に基づいて、より良い行動の選択、すなわち正しい価値判断の基準を学習していく。
【００２４】
上記した（５）における学習においては、エ−ジェントは将来取得できる報酬の量を判断するための基準となる情報として、観測された状態ｓt，行動ａt，報酬ｒt+1のマッピングを獲得する。例えば、各時刻において取り得る状態の個数がｍ、取り得る行動の個数がｎとすると、行動を繰り返すことによって状態ｓtと行動ａtの組に対する報酬ｒt+1を記憶するｍ×ｎの２次元配列が得られる。
そして、上記得られたマッピングに基づいて選択した状態や行動がどのくらい良いのかを示す関数である価値関数（評価関数）を用い、行動を繰り返す中で価値関数（評価関数）を更新していくことにより状態に対する最適な行動を学習していく。
【００２５】
状態価値関数は、ある状態ｓtがどのくらい良い状態であるのかを示す価値関数である。状態価値関数は、状態を引数とする関数として表現され、行動を繰り返す中での学習において、ある状態における行動に対して得られた報酬や、該行動により移行する未来の状態の価値などに基づいて更新される。状態価値関数の更新式は強化学習のアルゴリズムに応じて定義されており、例えば、強化学習アルゴリズムの１つであるＴＤ学習においては、状態価値関数は以下の数１式で更新される。なお、数１式においてαは学習係数、γは割引率と呼ばれ、０＜α≦１、０＜γ≦１の範囲で定義される。
【００２６】
【数１】
2018097680.tif 000003
【００２７】
また、行動価値関数は、ある状態ｓtにおいて行動ａtがどのくらい良い行動であるのかを示す価値関数である。行動価値関数は、状態と行動を引数とする関数として表現され、行動を繰り返す中での学習において、ある状態における行動に対して得られた報酬や、該行動により移行する未来の状態における行動の価値などに基づいて更新される。行動価値関数の更新式は強化学習のアルゴリズムに応じて定義されており、例えば、代表的な強化学習アルゴリズムの１つであるＱ学習においては、行動価値関数は以下の数２式で更新される。なお、数２式においてαは学習係数、γは割引率と呼ばれ、０＜α≦１、０＜γ≦１の範囲で定義される。
【００２８】
【数２】
2018097680.tif 000004
【００２９】
数２式は、行動ａtの結果帰ってきた報酬ｒt+1を元に、状態ｓtにおける行動ａtの評価値Ｑ（ｓt，ａt）を更新する方法を表している。状態ｓtにおける行動ａtの評価値Ｑ（ｓt，ａt）よりも、報酬ｒt+1＋行動ａtによる次の状態における最良の行動ｍａｘ（ａ）の評価値Ｑ（ｓt+1，ｍａｘ（ａ））の方が大きければ、Ｑ（ｓt，ａt）を大きくするし、反対に小さければ、Ｑ（ｓt，ａt）も小さくする事を示している。つまり、ある状態におけるある行動の価値を、結果として即時返ってくる報酬と、その行動による次の状態における最良の行動の価値に近付けるようにしている。
Ｑ学習においては、このような更新を繰り返すことで、最終的にＱ（ｓt，ａt）が期待値Ｅ［Σγtｒt］となるようにすることを目指す（期待値は最適な行動に従って状態変化した時についてとる。もちろん、それは分かっていないので、探索しながら学習しなければならない）。
【００３０】
そして、上記した（２）における行動の選択においては、過去の学習によって作成された価値関数（評価関数）を用いて現在の状態ｓtにおいて将来にわたっての報酬（ｒt+1＋ｒt+2＋…）が最大となる行動ａt（状態価値関数を用いている場合には、もっとも価値の高い状態へ移るための行動、行動価値関数を用いている場合には該状態において最も価値の高い行動）を選択する。なお、エージェントの学習中には学習の進展を目的として（２）における行動の選択において一定の確率でランダムな行動を選択することもある（εグリーディ法）。
【００３１】
なお、学習結果としての価値関数（評価関数）を記憶する方法としては、すべての状態行動ペア（ｓ，ａ）に対して、その値をテーブル（行動価値テーブル）として保持しておく方法や、上記価値関数を近似するような関数を用意する方法がある。後者の方法では、前述の更新式は、確率勾配降下法などの手法で近似関数のパラメータを調整していくことで実現することが出来る。近似関数としては、ニューラルネットワークなどの教師あり学習器を用いることが出来る。
【００３２】
ニューラルネットワークは、たとえば図２に示すようなニューロンのモデルを模したニューラルネットワークを実現する演算装置及びメモリ等で構成される。図２は、ニューロンのモデルを示す模式図である。
図２に示すように、ニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する出力ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の数３式により表現される出力ｙを出力する。なお、数３式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆkは活性化関数である。
【００３３】
【数３】
2018097680.tif 000005
【００３４】
次に、上述したニューロンを組み合わせた３層の重みを有するニューラルネットワークについて、図３を参照して説明する。図３は、Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。図３に示すように、ニューラルネットワークの左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。
【００３５】
具体的には、入力ｘ１〜入力ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてｗ１と標記されている。ニューロンＮ１１〜Ｎ１３は、それぞれ、ｚ１１〜ｚ１３を出力する。これらのｚ１１〜ｚ１３はまとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。
【００３６】
ｚ１１〜ｚ１３は、２つのニューロンＮ２１、Ｎ２２の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。ニューロンＮ２１、Ｎ２２は、それぞれ、ｚ２１、ｚ２２を出力する。これらは、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。
【００３７】
特徴ベクトルｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜結果ｙ３を出力する。
【００３８】
ニューラルネットワークの動作には、学習モードと予測モードとがあり、学習モードにおいて学習データセットを用いて重みｗを学習し、そのパラメータを用いて予測モードにおいて加工機の行動判断を行う（便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能である）。
【００３９】
予測モードで実際に制御装置により機械を制御して得られたデータを即時学習し、次の行動に反映させる（オンライン学習）ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う（バッチ学習）こともできる。その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００４０】
重みｗ１〜ｗ３は、誤差逆伝搬法（バックプロパゲーション）により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ（教師）との差分を小さくするように、それぞれの重みを調整（学習）する手法である。
【００４１】
ニューラルネットワークは、３層以上にさらに層を増やすことも可能である（深層学習と称される）。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【００４２】
このようなニューラルネットワークを近似関数として用いることで、上記した強化学習の過程における（１）〜（５）を繰り返しつつ上記した価値関数（評価関数）をニューラルネットワークとして記憶して学習を進めることができる。
一般的に機械学習装置は、ある環境において学習が終了した後に、新たな環境におかれた場合でも追加の学習を行うことでその環境に適応するように学習を進めることができる。したがって、本発明のように各制御装置による機械の制御に用いられるサーボゲインの調整に適用することで、新しい機械制御の前提条件に適用したりする場合であっても、過去のサーボゲインの調整の学習を基にして、新たな加工の前提条件における追加の学習をすることで、サーボゲインの調整の学習を短時間で行うことが可能となる。
【００４３】
また、強化学習においては、複数のエージェントをネットワークなどを介して接続したシステムとし、エージェント間で状態ｓ、行動ａ、報酬ｒなどの情報を共有してそれぞれの学習に利用することで、それぞれのエージェントが他のエージェントの環境も考慮して学習をする分散強化学習を行うことで効率的な学習を行うことができる。本発明においても、複数の環境（旋盤加工機の数値制御装置）に組み込まれた複数のエージェント（機械学習装置）がネットワークなどを介して接続された状態で分散機械学習を行うことで、旋盤加工機の数値制御装置における旋削サイクル指令の加工経路と加工条件の調整の学習を効率的に行わせることができるようになる。
【００４４】
なお、強化学習のアルゴリズムとしては、Ｑ学習、ＳＡＲＳＡ法、ＴＤ学習、ＡＣ法など様々な手法が周知となっているが、本発明に適用する方法としていずれの強化学習アルゴリズムを採用してもよい。上記したそれぞれの強化学習アルゴリズムは周知なので、本明細書における各アルゴリズムの詳細な説明は省略する。
以下では、機械学習装置を導入した本発明の制御システムについて、具体的な実施形態に基づいて説明する。
【００４５】
＜２．実施形態＞
図４は、本発明の一実施形態における機械学習装置を導入した制御システムにおける各制御装置による機械の制御に用いられるサーボゲインの調整に調整の機械学習に関するイメージを示す図である。なお、図４には本実施形態における制御システムでの機械学習の説明に必要な構成のみを示している。
【００４６】
本実施形態において、機械学習装置２０が環境（＜１．機械学習＞で説明した状態ｓt）を特定するための情報として、機械３から取得された各軸の情報や機械の稼動条件を状態情報として機械学習装置２０に対して入力している。
本実施形態では、機械学習装置２０が環境に対して出力するもの（＜１．機械学習＞で説明した行動ａt）として、各制御装置による機械の制御に用いられるサーボゲインの調整行動を出力する。
【００４７】
本実施形態による制御システム１では、上記した状態情報を、機械３から取得された各軸の情報や機械の稼動条件により状態を定義する。そして、上記した調整行動は機械学習装置２０が出力する機械の制御に用いられるサーボゲインの調整量により定義できる。
【００４８】
また本実施形態では、機械学習装置２０に対して与えられる報酬（＜１．機械学習＞で説明した報酬ｒt）として、優先ファクタと機械３の稼動結果により定まる条件（プラス・マイナス報酬）を採用する。なお、いずれのデータに基づいて報酬を決定するのかについては、作業者が適宜設定するようにしてもよい。
【００４９】
更に、本実施形態では、機械学習装置２０は上記した状態情報（入力データ）、調整行動（出力データ）、報酬に基づいて機械学習を行う。機械学習においては、ある時刻ｔにおいて、入力データの組み合わせにより状態ｓtが定義され、定義された状態ｓtに対して行われるサーボゲインの調整が行動ａtとなり、そして、行動ａtによりサーボゲインの調整が行われた結果として新たに得られた機械の稼動結果のデータに基づいて評価計算された値が報酬ｒt+1となり、これを＜１．機械学習＞で説明したように、機械学習のアルゴリズムに応じた価値関数（評価関数）の更新式に当てはめることにより学習を進める。
【００５０】
以下では、制御システムの機能ブロック図に基づいて説明する。
図５は、本実施形態による制御システムの機能ブロック図である。図６に示した構成を、図１に示した強化学習における要素と対比すると、機械学習装置２０がエージェントに対応し、機械学習装置２０を除く機械３などの構成が環境に対応する。
本実施形態による制御システム１は、機械学習装置２０を備えた上位装置２と、少なくとも１つの機械３とから構成される。また、上位装置は２、機械３を制御する制御装置に対して上位に位置する装置であり、制御装置やフィールドコンピュータ、ホストコンピュータなどである。
【００５１】
本実施形態による工場内設備としての機械３は、機械３の温度や剛性、加工対象のワークの種類、加工に用いられる工具や治具、金型の種類、加工に用いられる樹脂の種類や粘土の種類など、機械３に係る情報を取得して上位装置２へと出力する機械情報出力部３０、軸の位置偏差率や変動率、加工に係るサイクルタイム、最大モータ負荷値、消費電力、モータの速度と変動率など、加工に係る情報を取得して上位装置２へと出力する加工情報出力部３１、電流ループゲイン、速度ループゲイン、ポジションループゲイン、圧力制御比例・積分ゲインなどのサーボゲインを設定するサーボゲイン設定部３２を備える。
【００５２】
機械情報出力部３０は機械３に係る情報を、機械３の図示しない設定用メモリ等や、機械３の各部に備え付けられた図示しないセンサなどから取得して、上位装置２からの要求に応じて機械３に係る情報を出力する。
加工情報出力部３１は、加工が行われる際に、機械３の各部に備え付けられた図示しないセンサやサーボモータの出力などを監視し、例えば１サイクルの加工が完了したタイミングで監視したデータに基づいて加工に係る情報を作成し、作成した加工に係る情報を上位装置２へと出力する。
【００５３】
サーボゲイン設定部３２は、上位装置２からの要求に応じて機械３が備えるサーボモータのサーボゲインを設定する。サーボゲインの設定は、電流ループゲイン、速度ループゲイン、ポジションループゲイン、圧力制御比例・積分ゲインなどで設定することができる。
【００５４】
機械学習を行う機械学習装置２０は、機械３で加工が開始される際に機械３のサーボゲインの調整動作を行い、また、該調整動作により調整されたサーボゲインによる機械３での加工が終了した際に該調整動作の学習を行う。
【００５５】
機械学習を行う機械学習装置２０は、状態観測部２１、判定データ取得部２２、学習部２３、価値関数切換え判定部２４、価値関数更新部２５、報酬計算部２６、意思決定部２７、ゲイン変更部２８を備える。機械学習装置２０は、図に示すように上位装置２内に組み込んで構成してもよいし、上位装置２に接続されているパソコン等で構成するようにしても良い。
【００５６】
状態観測部２１は、機械３が備える機械情報出力部３０が出力する機械に係る情報を状態に係るデータとして観測して機械学習装置２０内に取得する機能手段である。状態観測部２１は、観測した状態にかかるデータを学習部２３へと出力する。状態観測部２１は、観測した状態に係るデータを図示しないメモリ上に一時的に記憶して管理するようにしても良い。状態観測部２１が観測する状態に係るデータは、機械３による最新の加工運転により取得したデータでも、過去の加工運転から取得したデータでも構わない。
【００５７】
判定データ取得部２２は、機械３が備える加工情報出力部３１が出力する加工に係る情報を判定データとして機械学習装置２０内に取得する機能手段である。判定データ取得部２２は、取得した判定データを学習部２３へと出力する。判定データ取得部２２は、取得した判定データを図示しないメモリ上に一時的に記憶して状態観測部２１が取得した状態に係るデータと併せて管理するようにしても良い。判定データ取得部２２が取得する判定データは、機械３による最新の加工運転により取得したデータでも、過去の加工運転から取得したデータでも構わない。
【００５８】
学習部２３は、状態観測部２１が観測した状態にかかるデータと、判定データ取得部２２が取得した判定データと、後述する報酬計算部２６が計算した報酬と基づいて、優先ファクタ毎の機械に係る情報、加工に係る情報に対するサーボゲインの調整行動の機械学習（強化学習）を行う。学習部２３が行う機械学習においては、ある時刻ｔにおける状態に係るデータの組み合わせにより状態ｓtが定義され、定義された状態ｓtに応じて後述する意思決定部２７が機械３のサーボゲインの調整動作を決定して後述するゲイン変更部２８が機械３のサーボゲインを調整することが行動ａtとなり、機械３のサーボゲインの調整が為され、機械３による加工が行われ、その結果として判定データ取得部２２が取得した判定データに基づいて後述する報酬計算部２６で計算された値が報酬ｒt+1となる。学習に用いられる価値関数については、適用する学習アルゴリズムに応じて決定する。例えば、Ｑ学習を用いる場合には、上記した数２式に従って行動価値関数Ｑ（ｓt，ａt）を更新することにより学習を進めるようにすれば良い。
【００５９】
価値関数切換え判定部２４は、ユーザにより設定された各機械３の優先ファクタに基づいて、機械３に対するサーボゲインの調整行動の決定や、機械３に対するサーボゲインの調整行動の結果に基づく機械学習に用いる価値関数の切換えを行う。機械学習装置２０の図示しないメモリ上に設けられた価値関数記憶部４０には、あらかじめ機械の優先ファクタ毎に異なる複数の価値関数が記憶されており、価値関数切換え判定部２４は、サーボゲインの調整行動を行う機械３（または、サーボゲインの調整行動を機械学習する機械３）に設定されている優先ファクタに応じて、学習部２３、価値関数更新部２５、意思決定部２７が用いる価値関数を選択して切換える。このような、価値関数切換え判定部２４による優先ファクタ毎の価値関数の切換えにより、機械学習効率の向上を図ることができる。
【００６０】
価値関数更新部２５は、学習部２３が行った機械学習の結果を価値関数切換え判定部２４が選択した価値関数に対して適用した上で価値関数記憶部４０に記憶する。価値関数更新部２５が価値関数記憶部４０に記憶した学習結果としての価値関数は、次回以降の機械学習やサーボゲインの調整行動の決定に利用される。学習結果の記憶には、上述したように、利用する機械学習アルゴリズムに応じた価値関数を、近似関数や、配列、又は多値出力のＳＶＭやニューラルネットワーク等の教師あり学習器などにより記憶するようにすれば良い。
【００６１】
報酬計算部２６は、あらかじめ図示しないメモリ上に設定されている報酬条件と、判定データ取得部２２が取得した判定データとに基づいて、機械学習に用いる報酬の計算を行う。
【００６２】
以下に、本実施形態において設定される報酬条件の例を示す。なお、以下に示す報酬条件は一例であり、それぞれ設計的に変更してもよく、また、他の様々な報酬条件を設定できるようにしても良い。
●［報酬１：加工品質の向上（プラス・マイナス報酬）］
機械３の優先ファクタが加工品質の向上に設定されている場合、加工されたワークの加工精度があらかじめ設定されている適正範囲に収まっている場合にはプラスの報酬を与え、また、加工精度があらかじめ設定されている適性範囲にから外れている場合（加工精度が悪過ぎる場合、または、加工精度が必要以上に良すぎる場合）には、その度合いに応じてマイナス報酬を与える。なお、マイナスの報酬を与える場合には、加工精度が悪過ぎる場合に大きなマイナス報酬を、加工精度が必要以上に良すぎる場合には小さなマイナス報酬を与えるようにしても良い。
●［報酬２：生産性の向上（プラス・マイナス報酬）］
機械３の優先ファクタが生産性の向上に設定されている場合、あらかじめ設定された所定の基準値と比較してサイクルタイムに大きく違いがない場合には、小さなプラス報酬を与え、あらかじめ設定された所定の基準値と比較してサイクルタイムが短い場合には、その度合いに応じたプラス報酬を与える。また、あらかじめ設定された所定の基準値と比較してサイクルタイムが長い場合には、その度合いに応じてマイナス報酬を与える。
●［報酬３：省エネ性（プラス・マイナス報酬）］
機械３の優先ファクタが省エネ性に設定されている場合、あらかじめ設定された所定の基準値と比較して消費電力に大きく違いがない場合には、小さなプラス報酬を与え、あらかじめ設定された所定の基準値と比較して消費電力が短い場合には、その度合いに応じたプラス報酬を与える。また、あらかじめ設定された所定の基準値と比較して消費電力が長い場合には、その度合いに応じてマイナス報酬を与える。
【００６３】
上記した報酬条件は、単体で用いるよりも、複数の報酬条件を優先ファクタに応じて組み合わせて用いることが望ましい。例えば、優先ファクタが加工品質の向上に設定されている場合には、加工品質の向上に関する報酬条件のみを設定すればよいというわけではなく、生産性の工場や省エネ性に関する報酬条件も同時に設定し、加工品質の向上の報酬条件を満たしたときに得られる報酬の量を、生産性の工場や省エネ性の報酬条件を満たしたときに得られる報酬の量と比べて大きな値に設定すると、加工品質を優先しながら、最低限の生産性と省エネ性を維持するような調整行動を選択するように学習させることができる。優先ファクタが生産性の向上または省エネ性に設定されている場合も同様である。
【００６４】
意思決定部２７は、学習部２３により学習した（そして、価値関数記憶部４０に記憶されている）学習結果と状態観測部２１が観測した状態に係るデータとに基づいて機械３のサーボゲインの調整行動を決定する。ここでいうサーボゲインの調整行動の決定が、機械学習に用いられる行動ａに相当する。サーボゲインの調整行動は、調整対象となるゲインの種類（電流ループゲイン、速度ループゲイン、ポジションループゲイン、圧力制御比例・積分ゲイン）の選択と、選択されたゲインの種類に対してどの程度に調整するかを組にして、それぞれの組を選択可能な行動（例えば、行動１＝電流ループゲインをＸＸに設定、行動２＝速度ループゲインを＋ＹＹ、…）として行動パターン記憶部４１に記憶して用意しておき、過去の学習結果に基づいて将来に得られる報酬が最も大きくなるように行動を選択するようにしてもよい。選択可能な行動は、複数種類のサーボゲインを同時に調整する行動としてもよく、また、機械３が備える複数のサーボモータのサーボゲインを同時に調整する行動としても良い。また、上記したεグリーディ法を採用し、所定の確率でランダムな行動を選択することで後の学習部２３による学習の進展を図るようにしてもよい。
そして、ゲイン変更部２８は、意思決定部２７により決定された機械３のサーボゲインの調整行動に基づいて機械３のサーボゲイン設定部３２に対してサーボゲインの調整を行うように指令する。
【００６５】
図６のフローチャートを用いて、学習部２３が行う機械学習の流れを説明する。
●［ステップＳＡ０１］機械学習が開始されると、状態観測部２１が機械３が出力する機械に係るデータを状態にかかるデータとして観測する。
●［ステップＳＡ０２］学習部２３は、状態観測部２１が観測した状態に係るデータに基づいて現在の状態ｓtを特定する。
【００６６】
●［ステップＳＡ０３］意思決定部２７は、過去の学習結果とステップＳＡ０２で特定した状態ｓtに基づいて行動ａt（機械３のサーボゲインの調整行動）を選択する。
●［ステップＳＡ０４］ゲイン変更部２８は、ステップＳＡ０３で選択された行動ａtを実行する。
【００６７】
●［ステップＳＡ０５］状態観測部２１が、機械３の機械に係る情報を状態に係る情報として観測すると共に、判定データ取得部２２が機械３の加工に係る情報を判定データとして取得する。この段階においては、機械３の状態は時刻ｔから時刻ｔ＋１への時間的推移と共にステップＳＡ０４で実行された行動ａtによって変化している。
●［ステップＳＡ０６］ステップＳＡ０５で取得された判定データに基づいて、報酬計算部２６が報酬ｒt+1を算出する。
●［ステップＳＡ０７］ステップＳＡ０２で特定された状態ｓt、ステップＳＡ０３で選択された行動ａt、ステップＳＡ０６で算出された報酬ｒt+1に基づいて、学習部２３が機械学習を進め、ステップＳＡ０２へ戻る。
【００６８】
上記したように、意思決定部２７による意思決定に基づいたゲイン変更部２８による機械３のサーボゲインが調整され、調整されたサーボゲインにより機械３が制御されてワークが加工され、状態観測部２１による状態データの観測と判定データ取得部２２による判定データの取得が行われ、機械学習を繰り返すことにより、より優れた学習結果を得ることができる。
【００６９】
上記した機械学習が十分に行われた学習データを用いて実際に機械３のサーボゲインを調整する際には、機械学習装置２０が新たな学習を行なわないようにしておいて、機械学習が十分に行われた学習データをそのまま使用して運転をするようにしてもよい。
また、機械学習が完了した機械学習装置２０（または、他の機械学習装置２０の機械学習が完了した学習データを複写した機械学習装置２０）を他の上位装置２に取付けて、機械学習が十分に行われた時の学習データをそのまま使用して運転をするようにしてもよい。
【００７０】
上位装置２の機械学習装置２０は単独で機械学習をするようにしてもよいが、複数の制御システム１がそれぞれ備える上位装置２がそれぞれ外部との通信手段を更に備えると、それぞれの価値関数記憶部４０に記憶された価値関数を互いに送受信して共有することが可能となり、より効率良く機械学習を行うことができる。例えば、複数の上位装置２において異なる調整対象と異なる調整量を所定の範囲内でそれぞれ変動させながら、それぞれの上位装置２の間で状態に係るデータや判定データ、学習結果としての価値関数をやり取りすることにより並列して学習を進めるようにすることで効率的に学習させることができる。
このように複数の上位装置２の間でやり取りする際には、通信は図示しない管理装置等を経由しても良いし、直接上位装置２同士が直接通信しても構わないし、クラウドを使用しても構わないが、大量のデータを取り扱う場合があるため、なるべく通信速度が速い通信手段が好ましい。
【００７１】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００７２】
例えば、上記実施形態で示した上位装置２が備える各機能手段の関係は図５の機能ブロック図に示したものに限定されるものではなく、各機能手段の機能に相当する構成を備えているのであれば、どのような機能単位に分割しても、また、機能間にどのような上下関係を持たせても良い。
【００７３】
また、上記実施形態では同時に１台の機械３が備えるサーボモータのサーボゲインの調整について示したが、例えば、工場に配置される複数の機械３に対して同時にサーボゲインの調整を行うことで、全体的な工場での省エネ性の向上を図るような学習をするように構成しても良い。このような場合、行動パターン記憶部４１には複数の機械３に対するサーボゲインの調整の組合せを１つの行動とし、調整量などの組合せが異なる複数の行動を登録しておく。そして、複数の機械３から得られた消費電力が小さくなるように意思決定部２７が行動を決定し、これを学習部２３が学習していくことで、上記目的を達成する機械学習を行うことができる。
【００７４】
更に、上記実施形態では、価値関数切換え判定部２４により優先ファクタ毎に価値関数を切換える構成を示したが、優先ファクタを学習部２３の入力データに追加し、価値関数切換え部２４を省略する構成としても良い。このようにすることで、優先ファクタごとの機械学習の効率は低下するものの、より長い期間を掛けて機械学習を行われることで同様の効果を得ることができる。
【符号の説明】
【００７５】
１  制御システム
２  上位装置
３  機械
２０  機械学習装置
２１  状態観測部
２２  判定データ取得部
２３  学習部
２４  価値関数切換え判定部
２５  価値関数更新部
２６  報酬計算部
２７  意思決定部
２８  ゲイン変更部
３０  機械情報出力部
３１  加工情報出力部
３２  サーボゲイン設定部
４０  価値関数記憶部
４１  行動パターン記憶部
【図１】
2018097680.tif 000006
【図２】
2018097680.tif 000007
【図３】
2018097680.tif 000008
【図４】
2018097680.tif 000009
【図５】
2018097680.tif 000010
【図６】
2018097680.tif 000011