(57)【特許請求の範囲】
【請求項１】
プログラムまたは作業者の操作による軸送り指令に従って軸を移動するワイヤ放電加工機において、
前記軸の移動における軸送り指令の調整対象パラメータと該調整対象パラメータの調整量を機械学習する機械学習器と、
を備え、
前記機械学習器は、
前記軸の移動における該軸の移動状態を示す情報である状態データを取得する状態観測部と、
報酬条件を設定する報酬条件設定部と、
前記状態データと前記報酬条件に基づいて報酬を計算する報酬計算部と、
軸送り指令調整を機械学習する軸送り指令調整学習部と、
前記軸送り指令調整学習部による軸送り指令調整の機械学習結果と、前記状態データに基づいて、前記軸送り指令の調整対象パラメータと調整量を調整行動として決定し、該調整行動に基づいて前記軸送り指令を調整して出力する軸送り指令出力部と、
を有し、
前記軸送り指令調整学習部は、前記調整行動と、出力された調整後の前記軸送り指令に基づく前記軸の移動後の前記状態観測部により取得された前記状態データと、前記報酬計算部が計算した前記報酬と、に基づいて前記軸送り指令調整を機械学習し、
前記報酬条件は、
前記軸の速度が前記軸の指令速度に早く達する場合、または前記軸の移動中に前記軸の負荷が該軸の異常負荷レベルを超えなかった場合、または移動軸が衝突した際に前記移動軸の機構部に破損が発生しなかった場合にプラスの報酬を与え、前記軸の速度が前記軸の指令速度に遅く達する場合、または前記軸の移動中に前記軸の負荷が該軸の異常負荷レベルを超えた場合、または移動軸が衝突した際に前記移動軸の機構部に破損が発生した場合にマイナスの報酬を与える、
ことを特徴とするワイヤ放電加工機。
【請求項２】
前記状態データは、前記軸の負荷、前記軸の指令速度、前記軸の速度、前記軸の指令加速度、前記軸の加速度、前記軸の異常負荷レベル、前記軸の機構部の破損、周囲の室温、湿度の少なくともいずれかを含む、
ことを特徴とする請求項１に記載のワイヤ放電加工機。
【請求項３】
前記軸送り指令の調整対象パラメータは、前記軸の速度、前記軸の加速度、前記軸の異常負荷レベルの少なくともいずれかを含む、
ことを特徴とする請求項１または２に記載のワイヤ放電加工機。
【請求項４】
前記軸送り指令調整学習部が学習した結果を記憶する学習結果記憶部をさらに備え、
前記軸送り指令調整学習部が学習結果を再使用する際には、記憶している学習結果を前記軸送り指令調整学習部に出力する、
ことを特徴とする請求項１〜３のいずれか１つに記載のワイヤ放電加工機。
【請求項５】
少なくとも１つの他のワイヤ放電加工機と接続されており、
前記他のワイヤ放電加工機との間で機械学習の結果を相互に交換または共有する、
ことを特徴とする請求項１〜４のいずれか１つに記載のワイヤ放電加工機。
【請求項６】
ワイヤ放電加工機における軸の移動における軸送り指令の調整を機械学習する機械学習器であって、
前記軸の移動における該軸の移動状態を示す情報である状態データを取得する状態観測部と、
報酬条件を設定する報酬条件設定部と、
前記状態データと前記報酬条件に基づいて報酬を計算する報酬計算部と、
軸送り指令調整を機械学習する軸送り指令調整学習部と、
前記軸送り指令調整学習部による軸送り指令調整の機械学習結果と、前記状態データに基づいて、前記軸送り指令の調整対象パラメータと調整量を調整行動として決定し、該調整行動に基づいて前記軸送り指令を調整して出力する軸送り指令出力部と、
を有し、
前記軸送り指令調整学習部は、前記調整行動と、出力された調整後の前記軸送り指令に基づく前記軸の移動後の前記状態観測部により取得された前記状態データと、前記報酬計算部が計算した前記報酬と、に基づいて前記軸送り指令調整を機械学習し、
前記報酬条件は、
前記軸の速度が前記軸の指令速度に早く達する場合、または前記軸の移動中に前記軸の負荷が該軸の異常負荷レベルを超えなかった場合、または移動軸が衝突した際に前記移動軸の機構部に破損が発生しなかった場合にプラスの報酬を与え、前記軸の速度が前記軸の指令速度に遅く達する場合、または前記軸の移動中に前記軸の負荷が該軸の異常負荷レベルを超えた場合、または移動軸が衝突した際に前記移動軸の機構部に破損が発生した場合にマイナスの報酬を与える、
ことを特徴とする機械学習器。
【請求項７】
前記軸送り指令調整学習部が学習した結果を記憶する学習結果記憶部をさらに備え、前記軸送り指令調整学習部が学習結果を再使用する際には、記憶している学習結果を前記軸送り指令調整学習部に出力する、
ことを特徴とする請求項６に記載の機械学習器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はワイヤ放電加工機に関し、特に移動軸の状態や機械が置かれた環境状態に応じて移動軸の移動指令や異常負荷レベルの閾値を調整する機能を有するワイヤ放電加工機に関する。
【背景技術】
【０００２】
ワイヤ放電加工機を使用する際、作業者の誤操作でワイヤガイド部をワークやワークを固定する治具に衝突させてしまうことがある。このようなとき、図８に示すように、移動軸の負荷量を監視して、これが設定された閾値に達した場合にはアラーム停止（異常負荷アラーム）させて、ワイヤガイド部などの移動軸の機構部の破損を防止する技術が特許文献１などに開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４１０９２８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、一般にワイヤ放電加工機のワイヤガイド部はプラスチックなどの比較的破損しやすい材料でできているため、特許文献１に開示される技術を用いたとしても、前記閾値を高く設定してしまうと、図９に示すように、アラーム停止する前に破損することがある。一方で、前記閾値を低く設定して破損する前にアラーム停止にしようとすると、通常操作の些細な負荷変動でアラーム停止となり、使い勝手が悪くなる。
【０００５】
一般に、低温状態で潤滑剤の粘度が高い場合には軸負荷も高くなり、高温状態で潤滑剤の粘度が低い場合には軸負荷も低くなる。また、軸移動を低速で行う場合には軸負荷も低くなり、高速で行う場合には軸負荷も高くなるが、これは特に、軸移動開始時に顕著である。低温状態で軸移動させる場合でも、図１０に示すように最初から高速で移動させると突発的に軸負荷が増大してアラームが発生するが、図１１に示すように、最初に低速で軸移動を開始し、潤滑剤を馴染ませて軟化させれば、その後高速で移動させても突発的に軸負荷が増大することはなくアラームにならない。しかしながら、この馴染ませる操作は、段取り作業中の作業者からすれば手間が掛かり、やはり使い勝手が悪い。
【０００６】
上記の通り、異常負荷アラームによる移動軸の停止を行う場合には、環境の状態に応じてアラーム停止の閾値を適切な値に設定したり、移動軸の移動指令を調整したりする必要があるが、このような作業は作業者にとって大きな負担となるという課題があった。
【０００７】
そこで本発明の目的は、移動軸の状態や機械が置かれた環境状態に応じて移動軸の移動指令や異常負荷レベルの閾値を調整する機能を備えたワイヤ放電加工機を提供することである。
【課題を解決するための手段】
【０００８】
本発明では、移動軸の状態や機械が置かれた環境状態を監視し、機械学習を行って移動軸の移動指令や異常負荷レベルの閾値の調整を行う。
【０００９】
そして、本願の請求項１に係る発明は、プログラム指令または作業者の操作による軸送り指令に従って軸を移動するワイヤ放電加工機において、前記軸の移動における軸送り指令の調整対象パラメータと該調整対象パラメータの調整量を機械学習する機械学習器と、を備え、前記機械学習器は、前記軸の移動における該軸の移動状態を示す情報である状態データを取得する状態観測部と、報酬条件を設定する報酬条件設定部と、前記状態データと前記報酬条件に基づいて報酬を計算する報酬計算部と、軸送り指令調整を機械学習する軸送り指令調整学習部と、前記軸送り指令調整学習部による軸送り指令調整の機械学習結果と、前記状態データに基づいて、前記軸送り指令の調整対象パラメータと調整量を調整行動として決定し、該調整行動に基づいて前記軸送り指令を調整して出力する軸送り指令出力部と、を有し、前記軸送り指令調整学習部は、前記調整行動と、出力された調整後の前記軸送り指令に基づく前記軸の移動後の前記状態観測部により取得された前記状態データと、前記報酬計算部が計算した前記報酬と、に基づいて前記軸送り指令調整を機械学習し、前記報酬条件は、前記軸の速度が前記軸の指令速度に早く達する場合、または前記軸の移動中に前記軸の負荷が該軸の異常負荷レベルを超えなかった場合、または移動軸が衝突した際に前記移動軸の機構部に破損が発生しなかった場合にプラスの報酬を与え、前記軸の速度が前記軸の指令速度に遅く達する場合、または前記軸の移動中に前記軸の負荷が該軸の異常負荷レベルを超えた場合、または移動軸が衝突した際に前記移動軸の機構部に破損が発生した場合にマイナスの報酬を与える、ことを特徴とするワイヤ放電加工機である。
【００１０】
本願の請求項２に係る発明は、前記状態データは、前記軸の負荷、前記軸の指令速度、前記軸の速度、前記軸の指令加速度、前記軸の加速度、前記軸の異常負荷レベル、前記軸の機構部の破損、周囲の室温、湿度の少なくともいずれかを含む、ことを特徴とする請求項１に記載のワイヤ放電加工機である。
【００１１】
本願の請求項３に係る発明は、前記軸送り指令の調整対象パラメータは、前記軸の速度、前記軸の加速度、前記軸の異常負荷レベルの少なくともいずれかを含む、ことを特徴とする請求項１または２に記載のワイヤ放電加工機である。
【００１２】
本願の請求項４に係る発明は、前記軸送り指令調整学習部が学習した結果を記憶する学習結果記憶部をさらに備え、前記軸送り指令調整学習部が学習結果を再使用する際には、記憶している学習結果を前記軸送り指令調整学習部に出力する、ことを特徴とする請求項１〜３のいずれか１つに記載のワイヤ放電加工機である。
【００１４】
本願の請求項５に係る発明は、少なくとも１つの他のワイヤ放電加工機と接続されており、前記他のワイヤ放電加工機との間で機械学習の結果を相互に交換または共有する、ことを特徴とする請求項１〜４のいずれか１つに記載のワイヤ放電加工機である。
【００１６】
本願の請求項６に係る発明は、ワイヤ放電加工機における軸の移動における軸送り指令の調整を機械学習する機械学習器であって、前記軸の移動における該軸の移動状態を示す情報である状態データを取得する状態観測部と、報酬条件を設定する報酬条件設定部と、前記状態データと前記報酬条件に基づいて報酬を計算する報酬計算部と、軸送り指令調整を機械学習する軸送り指令調整学習部と、前記軸送り指令調整学習部による軸送り指令調整の機械学習結果と、前記状態データに基づいて、前記軸送り指令の調整対象パラメータと調整量を調整行動として決定し、該調整行動に基づいて前記軸送り指令を調整して出力する軸送り指令出力部と、を有し、前記軸送り指令調整学習部は、前記調整行動と、出力された調整後の前記軸送り指令に基づく前記軸の移動後の前記状態観測部により取得された前記状態データと、前記報酬計算部が計算した前記報酬と、に基づいて前記軸送り指令調整を機械学習し、前記報酬条件は、前記軸の速度が前記軸の指令速度に早く達する場合、または前記軸の移動中に前記軸の負荷が該軸の異常負荷レベルを超えなかった場合、または移動軸が衝突した際に前記移動軸の機構部に破損が発生しなかった場合にプラスの報酬を与え、前記軸の速度が前記軸の指令速度に遅く達する場合、または前記軸の移動中に前記軸の負荷が該軸の異常負荷レベルを超えた場合、または移動軸が衝突した際に前記移動軸の機構部に破損が発生した場合にマイナスの報酬を与える、ことを特徴とする機械学習器である。
【００１７】
本願の請求項７に係る発明は、前記軸送り指令調整学習部が学習した結果を記憶する学習結果記憶部をさらに備え、前記軸送り指令調整学習部が学習結果を再使用する際には、記憶している学習結果を前記軸送り指令調整学習部に出力する、ことを特徴とする請求項６に記載の機械学習器である。
【発明の効果】
【００１８】
本発明では、機械学習によって移動軸の移動指令や異常負荷レベルの閾値の調整を行うことによって、誤操作による機構部の破損を回避し、通常操作時の使い勝手を改善することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】強化学習アルゴリズムの基本的な概念を説明する図である。
【図２】ニューロンのモデルを示す模式図である。
【図３】３層の重みを有するニューラルネットワークを示す模式図である。
【図４】本発明の実施形態におけるワイヤ放電加工機の機械学習に関するイメージ図である。
【図５】本発明の実施形態におけるワイヤ放電加工機の軸送り調整の概要を説明する図である。
【図６】本発明の実施形態におけるワイヤ放電加工機の機能ブロック図である。
【図７】本発明の実施形態における機械学習の流れを示すフローチャートである。
【図８】移動軸の負荷に基づくアラーム停止について説明する図である。
【図９】移動軸の機構部がアラーム停止する前に破損する例を説明する図である。
【図１０】移動軸を高速で移動開始させることによるアラーム発生を説明する図である。
【図１１】移動軸を低速で移動開始させることによるアラーム発生の回避について説明する図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態を図面と共に説明する。
本発明では、ワークを加工するワイヤ放電加工機に対して人工知能となる機械学習器を導入し、ワイヤ放電加工機から移動軸の負荷、移動軸の速度、移動軸の加速度、移動軸の動作時間、移動軸の異常負荷レベル、移動軸の機構部の破損、および室温、湿度などの移動軸の移動状態に係るデータを取得し、該移動軸の移動状態に係るデータに対する移動軸の速度や加速度、移動軸の異常負荷レベルなどの軸送り指令の調整に関する機械学習を行うことで、移動軸の状態に応じて軸送り指令が最適なものになるように調整を行うようにする。
以下では、本発明で導入する機械学習について簡単に説明する。
【００２１】
＜１．機械学習＞
ここで、機械学習について簡単に説明する。機械学習は、機械学習を行う装置（以下、機械学習器）に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力すると共に、知識の学習を行うことで実現される。機械学習の手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。さらに、これらの手法を実現する上で、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。
【００２２】
「教師あり学習」とは、ある入力と結果（ラベル）のデータの組を大量に機械学習器に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、即ち、その関係性を帰納的に獲得することができる。これは後述のニューラルネットワークなどのアルゴリズムを用いて実現することができる。
【００２３】
「教師なし学習」とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。それらのデータセットにある特徴を似た者どうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。また「教師なし学習」と「教師あり学習」との中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。本実施形態においては、実際に加工機を動作させなくても取得することが出来るデータを教師なし学習で利用し、学習を効率的に行うことが出来る。
【００２４】
「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、即ち、将来的に得られる報酬を最大にするための学習する方法である。強化学習においては、機械学習器は行動が引き起こす結果を全く知らない状態から、または不完全にしか知らない状態から学習はスタートすることができる。また、人間の動作を真似るように事前学習（前述の教師あり学習や、逆強化学習といった手法）した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
なお、加工機に対して機械学習を適用する場合、加工機が実際に動作して初めて、その結果をデータとして得ることが出来ること、即ち、試行錯誤しながら最適な行動を探索する必要があることを考慮する必要がある。そこで、本発明では、機械学習器の主たる学習アルゴリズムとして報酬を与えることで機械学習器が目標到達のための行動を自動的に学習する強化学習のアルゴリズムを採用している。
【００２５】
図１は、強化学習アルゴリズムの基本的な概念を説明する図である。強化学習においては、学習する主体となるエージェント（機械学習器）と、制御対象となる環境（制御対象システム）とのやりとりにより、エージェントの学習と行動が進められる。より具体的には、（１）エージェントはある時点における環境の状態ｓ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がどのくらい良い状態であるのかを示す価値関数である。状態価値関数は、状態を引数とする関数として表現され、行動を繰り返す中での学習において、ある状態における行動に対して得られた報酬や、該行動により移行する未来の状態の価値などに基づいて更新される。状態価値関数の更新式は強化学習のアルゴリズムに応じて定義されており、例えば、強化学習アルゴリズムの１つであるＴＤ学習においては、状態価値関数は以下の数１式で更新される。なお、数１式においてαは学習係数、γは割引率と呼ばれ、０＜α≦１、０＜γ≦１の範囲で定義される。
【００２９】
【数１】
0006619192.tif 000002
【００３０】
また、行動価値関数は、ある状態ｓtにおいて行動ａtがどのくらい良い行動であるのかを示す価値関数である。行動価値関数は、状態と行動を引数とする関数として表現され、行動を繰り返す中での学習において、ある状態における行動に対して得られた報酬や、該行動により移行する未来の状態における行動の価値などに基づいて更新される。行動価値関数の更新式は強化学習のアルゴリズムに応じて定義されており、例えば、代表的な強化学習アルゴリズムの１つであるＱ学習においては、行動価値関数は以下の数２式で更新される。なお、数２式においてαは学習係数、γは割引率と呼ばれ、０＜α≦１、０＜γ≦１の範囲で定義される。
【００３１】
【数２】
0006619192.tif 000003
【００３２】
この式は、行動ａ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は活性化関数である。
【００３６】
【数３】
0006619192.tif 000004
【００３７】
次に、上述したニューロンを組み合わせた３層の重みを有するニューラルネットワークについて、図３を参照して説明する。図３は、Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。図３に示すように、ニューラルネットワークの左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。
【００３８】
具体的には、入力ｘ１〜入力ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてｗ１と標記されている。ニューロンＮ１１〜Ｎ１３は、それぞれ、ｚ１１〜ｚ１３を出力する。これらのｚ１１〜ｚ１３はまとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。
【００３９】
ｚ１１〜ｚ１３は、２つのニューロンＮ２１、Ｎ２２の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。ニューロンＮ２１、Ｎ２２は、それぞれ、ｚ２１、ｚ２２を出力する。これらは、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。
【００４０】
特徴ベクトルｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜結果ｙ３を出力する。
【００４１】
ニューラルネットワークの動作には、学習モードと価値予測モードとがあり、学習モードにおいて学習データセットを用いて重みｗを学習し、そのパラメータを用いて予測モードにおいて加工機の行動判断を行う（便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能である）。
【００４２】
予測モードで実際に加工機を動かして得られたデータを即時学習し、次の行動に反映させる（オンライン学習）ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う（バッチ学習）こともできる。その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００４３】
重みｗ１〜ｗ３は、誤差逆伝搬法（バックプロパゲーション）により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ（教師）との差分を小さくするように、それぞれの重みを調整（学習）する手法である。
【００４４】
ニューラルネットワークは、３層以上にさらに層を増やすことも可能である（深層学習と称される）。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【００４５】
このようなニューラルネットワークを近似関数として用いることで、上記した強化学習の過程における（１）〜（５）を繰り返しながら上記した価値関数（評価関数）を記憶して学習を進めることができる。
ある環境において学習が終了した後に、新たな環境におかれた場合でも追加の学習を行うことでその環境に適応するように学習を進めることができる。したがって、本発明のようにワイヤ放電加工機における移動軸の速度、加速度、移動軸の異常負荷レベルなどの軸送り指令の調整に適用することで、新しいワイヤ放電加工機の制御に適用したりした場合であっても、過去の軸送り指令の調整の学習に、新たな環境における追加の学習をすることで、軸送り指令の調整の学習を短時間で行うことが可能となる。
【００４６】
また、強化学習においては、複数のエージェントをネットワークなどを介して接続したシステムとし、エージェント間で状態ｓ、行動ａ、報酬ｒなどの情報を共有してそれぞれの学習に利用することで、それぞれのエージェントが他のエージェントの環境も考慮して学習をする分散強化学習を行うことで効率的な学習を行うことができる。本発明においても、複数の環境（ワイヤ放電加工機）を制御する複数のエージェント（機械学習器）がネットワークなどを介して接続された状態で分散機械学習を行うことで、ワイヤ放電加工機における軸送り指令の調整の学習を効率的に行わせることができるようになる。
【００４７】
なお、強化学習のアルゴリズムとしては、Ｑ学習、ＳＡＲＳＡ法、ＴＤ学習、ＡＣ法など様々な手法が周知となっているが、本発明に適用する方法としていずれの強化学習アルゴリズムを採用してもよい。上記したそれぞれの強化学習アルゴリズムは周知なので、本明細書における各アルゴリズムの詳細な説明は省略する。
以下では、機械学習器を導入した本発明のワイヤ放電加工機について、具体的な実施形態に基づいて説明する。
【００４８】
＜２．実施形態＞
図４は、本発明の一実施形態における機械学習器を導入したワイヤ放電加工機における移動軸の速度、加速度、移動軸の異常負荷レベルなどの軸送り指令の調整の機械学習に関するイメージを示す図である。なお、図４には本実施形態におけるワイヤ放電加工機での機械学習の説明に必要な構成のみを示している。
【００４９】
本実施形態において、機械学習器２０が環境（＜１．機械学習＞で説明した状態ｓt）を特定するための情報として、ワイヤ放電加工機１の軸の移動時における移動軸の負荷、移動軸の指令速度、移動軸の速度、移動軸の指令加速度、移動軸の加速度、移動軸の異常負荷レベル、移動軸の機構部の破損、およびワイヤ放電加工機１の周りの室温、湿度などの状態情報を機械学習器２０に対して入力している。これら各値は、ワイヤ放電加工機１の各部（制御部１０や環境測定部１１、サーボモータなどの駆動部や各種センサ類）から取得されたデータである。
【００５０】
本実施形態では、機械学習器２０が環境に対して出力するもの（＜１．機械学習＞で説明した行動ａt）として、ワイヤ放電加工機１での軸の移動時における移動軸の速度、移動軸の加速度、移動軸の異常負荷レベルなどの軸送り指令の調整を出力データとしている。
図５は、本実施形態におけるワイヤ放電加工機１の軸の移動に係る各データについて説明する図である。通常のワイヤ放電加工機１は、軸の移動が指令されると該軸について設定されている時定数から求まる加速度で、該移動指令により指示された移動速度まで加速し、その後に該移動指令により指示された移動速度で軸を移動させる。これに対して、本実施形態のワイヤ放電加工機１に対して軸の移動が指令されると、機械学習器２０の動作周期毎に、機械学習器２０がワイヤ放電加工機１の状態情報を取得し、取得した状態情報に基づいて当該時刻における移動軸の速度、加速度、および異常負荷レベルの調整を決定し、該調整によって決定された移動軸の速度、加速度、および異常負荷レベルをワイヤ放電加工機１へと出力する（例えば、図５に示すように、時刻ｔにおいては移動軸の速度はｖt、加速度はａｃ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に基づいて、軸送り指令調整学習部２５が機械学習を進め、ステップＳＡ０２へ戻る。
【００６５】
図６に戻って、学習結果記憶部２６は、軸送り指令調整学習部２５が学習した結果を記憶する。また、軸送り指令調整学習部２５が学習結果を再使用する際には、記憶している学習結果を軸送り指令調整学習部２５に出力する。学習結果の記憶には、上述したように、利用する機械学習アルゴリズムに応じた価値関数を、近似関数や、配列、又は多値出力のＳＶＭやニューラルネットワーク等の教師あり学習器などにより記憶するようにすれば良い。
なお、学習結果記憶部２６に、他のワイヤ放電加工機１や集中管理システム３０が記憶している学習結果を入力して記憶させたり、学習結果記憶部２６が記憶している学習結果を他のワイヤ放電加工機１や集中管理システム３０に対して出力したりすることも可能である。
【００６６】
軸送り指令出力部２７は、軸送り指令調整学習部２５が学習した結果と現在の移動軸の移動状態に係るデータとに基づいて軸送り指令の調整量を決定する。ここでいう軸送り指令の調整量の決定が、機械学習に用いられる行動ａに相当する。軸送り指令の調整は、例えば、軸送り指令を構成する各パラメータの変更量を組み合わせたものを選択可能な行動（例えば、行動１＝移動軸の速度に本来の軸送り指令速度の１０％を加算、行動２＝移動軸の速度を本来の軸送り指令速度へ、行動３＝移動軸の加速度も時定数により定まる加速度の１０％を減算、…）として用意しておき、過去の学習結果に基づいて将来に得られる報酬が最も大きくなる行動を選択するようにしてもよい。選択可能な行動は、複数の軸送り指令の項目（移動軸の速度、移動軸の加速度、異常負荷レベル）を同時に調整する行動としてもよい。また、上記したεグリーディ法を採用し、所定の確率でランダムな行動を選択することで軸送り指令調整学習部２５の学習の進展を図るようにしてもよい。なお、行動の選択結果として、軸の移動速度が本来の移動指令により指令速度を超える速度となる場合、また、軸の加速度が当該軸に設定されている時定数から算出される加速度を超える場合、移動速度が０以下になる場合、加速度が０未満になる場合には、当該行動は選択せずに、別の行動が選択される。
その後、軸送り指令出力部２７は、行動の選択により決定された軸送り指令の調整量に基づいて軸送り指令を調整し、そして、軸送り指令出力部２７が調整した軸送り指令に基づいて制御部１０によるワイヤ放電加工機１の軸移動の制御が行われる。
【００６７】
その後、再び現在のワイヤ放電加工機１の状況の取得が機械学習器２０により行われ、入力された移動軸の移動状態に係るデータを使用して学習を繰り返すことにより、より優れた学習結果を得ることができる。
このようにして機械学習器２０が学習した結果として、制御部１０によるワイヤ放電加工機１での軸の移動状態に応じた軸送り指令の調整が適切に行われるようになった段階で機械学習器２０による学習が完了する。
【００６８】
上記学習が完了した学習データを用いて実際にワイヤ放電加工機を運転する際には、機械学習器２０は新たな学習を行なわないようにして学習完了時の学習データをそのまま使用して繰り返し運転をするようにしてもよい。
また、学習が完了した機械学習器２０（または、他の機械学習器２０の完了した学習データを学習結果記憶部２６に複写した機械学習器２０）を他のワイヤ放電加工機１に取付けて、学習完了時の学習データをそのまま使用して繰り返し運転をするようにしてもよい。
更に、学習が完了した機械学習器２０の学習機能を有効にしたままで他のワイヤ放電加工機に取付けて運転し続けることで、ワイヤ放電加工機毎に異なる個体差や経年変化などを更に学習させ、当該ワイヤ放電加工機にとってより良い軸送り指令の調整を探索しながら運転することも可能である。
【００６９】
ワイヤ放電加工機１の機械学習器２０は単独で機械学習をするようにしてもよいが、複数のワイヤ放電加工機１がそれぞれ外部との通信手段を更に備えると、それぞれの状態データ記憶部２２が記憶した移動軸の移動状態に係るデータや学習結果記憶部２６が記憶した学習結果を送受信して共有することが可能となり、より効率良く機械学習を行うことができる。例えば、所定の範囲内で軸送り指令を変動させて学習する際に、複数のワイヤ放電加工機１において異なる調整量を所定の範囲内でそれぞれ変動させて軸移動させながら、それぞれのワイヤ放電加工機１の間で移動軸の移動状態に係るデータや学習データをやり取りすることにより並列して学習を進めるようにすることで効率的に学習させることができる。
このように複数のワイヤ放電加工機１の間でやり取りする際には、通信は集中管理システム３０等のホストコンピュータを経由しても、直接ワイヤ放電加工機１同士が通信しても構わないし、クラウドを使用しても構わないが、大量のデータを取り扱う場合があるため、なるべく通信速度が速い通信手段が好ましい。
【００７０】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００７１】
１  ワイヤ放電加工機
１０  制御部
１１  環境測定部
２０  機械学習器
２１  状態観測部
２２  状態データ記憶部
２３  報酬条件設定部
２４  報酬計算部
２５  軸送り指令調整学習部
２６  学習結果記憶部
２７  軸送り指令出力部
３０  集中管理システム
【図１】
0006619192.tif 000005
【図２】
0006619192.tif 000006
【図３】
0006619192.tif 000007
【図４】
0006619192.tif 000008
【図５】
0006619192.tif 000009
【図６】
0006619192.tif 000010
【図７】
0006619192.tif 000011
【図８】
0006619192.tif 000012
【図９】
0006619192.tif 000013
【図１０】
0006619192.tif 000014
【図１１】
0006619192.tif 000015