(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がどのくらい良い状態であるのかを示す価値関数である。状態価値関数は、状態を引数とする関数として表現され、行動を繰り返す中での学習において、ある状態における行動に対して得られた報酬や、該行動により移行する未来の状態の価値などに基づいて更新される。状態価値関数の更新式は強化学習のアルゴリズムに応じて定義されており、例えば、強化学習アルゴリズムの１つであるＴＤ学習においては、状態価値関数は以下の数１式で更新される。なお、数１式においてαは学習係数、γは割引率と呼ばれ、０＜α≦１、０＜γ≦１の範囲で定義される。
【００２４】
【数１】
0006348098.tif 000002
【００２５】
また、行動価値関数は、ある状態ｓtにおいて行動ａtがどのくらい良い行動であるのかを示す価値関数である。行動価値関数は、状態と行動を引数とする関数として表現され、行動を繰り返す中での学習において、ある状態における行動に対して得られた報酬や、該行動により移行する未来の状態における行動の価値などに基づいて更新される。行動価値関数の更新式は強化学習のアルゴリズムに応じて定義されており、例えば、代表的な強化学習アルゴリズムの１つであるＱ学習においては、行動価値関数は以下の数２式で更新される。なお、数２式においてαは学習係数、γは割引率と呼ばれ、０＜α≦１、０＜γ≦１の範囲で定義される。
【００２６】
【数２】
0006348098.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は活性化関数である。
【００３１】
【数３】
0006348098.tif 000004
【００３２】
次に、上述したニューロンを組み合わせた３層の重みを有するニューラルネットワークについて、図３を参照して説明する。図３は、Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。図３に示すように、ニューラルネットワークの左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。
【００３３】
具体的には、入力ｘ１〜入力ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてｗ１と標記されている。ニューロンＮ１１〜Ｎ１３は、それぞれ、ｚ１１〜ｚ１３を出力する。これらのｚ１１〜ｚ１３はまとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。
【００３４】
ｚ１１〜ｚ１３は、２つのニューロンＮ２１、Ｎ２２の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。ニューロンＮ２１、Ｎ２２は、それぞれ、ｚ２１、ｚ２２を出力する。これらは、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。
【００３５】
特徴ベクトルｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜結果ｙ３を出力する。
【００３６】
ニューラルネットワークの動作には、学習モードと価値予測モードとがあり、学習モードにおいて学習データセットを用いて重みｗを学習し、そのパラメータを用いて予測モードにおいて加工機の行動判断を行う（便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能である）。
【００３７】
予測モードで実際に加工機を動かして得られたデータを即時学習し、次の行動に反映させる（オンライン学習）ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う（バッチ学習）こともできる。その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００３８】
重みｗ１〜ｗ３は、誤差逆伝搬法（バックプロパゲーション）により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ（教師）との差分を小さくするように、それぞれの重みを調整（学習）する手法である。
【００３９】
ニューラルネットワークは、３層以上にさらに層を増やすことも可能である（深層学習と称される）。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【００４０】
このようなニューラルネットワークを近似関数として用いることで、上記した強化学習の過程における（１）〜（５）を繰り返しつつ上記した価値関数（評価関数）をニューラルネットワークとして記憶して学習を進めることができる。
ある環境において学習が終了した後に、新たな環境におかれた場合でも追加の学習を行うことでその環境に適応するように学習を進めることができる。したがって、本発明のようにワイヤ放電加工機のシミュレーション装置における中子の各溶着区間の位置と長さの調整に適用することで、新しい加工の前提条件（加工対象となるワークの形状、ワーク厚さ、ワーク素材の密度、溶着区間最小距離、溶着単位長さあたりの耐力、中子を落とすときの力など）に適用したりする場合であっても、過去の中子の各溶着区間の位置と長さの調整の学習に、新たな加工の前提条件における追加の学習をすることで、中子の各溶着区間の位置と長さの調整の学習を短時間で行うことが可能となる。
【００４１】
また、強化学習においては、複数のエージェントをネットワークなどを介して接続したシステムとし、エージェント間で状態ｓ、行動ａ、報酬ｒなどの情報を共有してそれぞれの学習に利用することで、それぞれのエージェントが他のエージェントの環境も考慮して学習をする分散強化学習を行うことで効率的な学習を行うことができる。本発明においても、複数の環境（ワイヤ放電加工機のシミュレーション装置）に組み込まれた複数のエージェント（機械学習器）がネットワークなどを介して接続された状態で分散機械学習を行うことで、ワイヤ放電加工機のシミュレーション装置における中子の各溶着区間の位置と長さの調整の学習を効率的に行わせることができるようになる。
【００４２】
なお、強化学習のアルゴリズムとしては、Ｑ学習、ＳＡＲＳＡ法、ＴＤ学習、ＡＣ法など様々な手法が周知となっているが、本発明に適用する方法としていずれの強化学習アルゴリズムを採用してもよい。上記したそれぞれの強化学習アルゴリズムは周知なので、本明細書における各アルゴリズムの詳細な説明は省略する。
以下では、機械学習器を導入した本発明のワイヤ放電加工機のシミュレーション装置について、具体的な実施形態に基づいて説明する。
【００４３】
＜２．実施形態＞
図４は、本発明の一実施形態における機械学習器を導入したワイヤ放電加工機のシミュレーション装置おける中子の各溶着区間の位置と長さの調整の機械学習に関するイメージを示す図である。なお、図４には本実施形態におけるワイヤ放電加工機のシミュレーション装置での機械学習の説明に必要な構成のみを示している。
【００４４】
本実施形態において、機械学習器２０が環境（＜１．機械学習＞で説明した状態ｓt）を特定するための情報として、シミュレーション装置１によって決定された加工の前提条件に基づく中子の各溶着区間の位置と長さを状態情報として機械学習器２０に対して入力している。中子の各溶着区間の位置と長さの値は、溶着区間算出部１０により算出された結果として取得できる。
本実施形態では、機械学習器２０が環境に対して出力するもの（＜１．機械学習＞で説明した行動ａt）として、中子の各溶着区間の位置と長さの調整行動を出力する。
【００４５】
図５は、本実施形態によるシミュレーション装置１で扱われる各データの例を説明する図である。本実施形態によるシミュレーション装置１では、ワイヤ放電加工における加工経路上における被加工物３から中子３３を切り出す部分経路の内の最初に加工される位置を外周開始点、最後に加工される位置を外周終了位置とした時、該加工経路上に設けられる複数の溶着区間１〜ｎについて、溶着区間ｉ（ｉ＝１〜ｎ）の位置を外周開始点からの距離Ｄiにより定義する。この値と、溶着区間ｉの長さＬiとにより、加工経路上の中子の各溶着区間の位置と長さを特定することができる。
上記した状態情報は溶着区間算出部１０により算出された上記値により定義でき、また、上記した調整行動は機械学習器２０が出力する上記値の調整対象の選択とその調整量により定義できる。
【００４６】
また本実施形態では、機械学習器２０に対して与えられる報酬（＜１．機械学習＞で説明した報酬ｒ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に基づいて、溶着区間調整学習部２５が機械学習を進め、ステップＳＡ０２へ戻る。
【００６３】
図６に戻って、学習結果記憶部２６は、溶着区間調整学習部２５が学習した結果を記憶する。また、溶着区間調整学習部２５が学習結果を再使用する際には、記憶している学習結果を溶着区間調整学習部２５に出力する。学習結果の記憶には、上述したように、利用する機械学習アルゴリズムに応じた価値関数を、近似関数や、配列、又は多値出力のＳＶＭやニューラルネットワーク等の教師あり学習器などにより記憶するようにすれば良い。
なお、学習結果記憶部２６に、他のシミュレーション装置１や集中管理システム３０が記憶している学習結果を入力して記憶させたり、学習結果記憶部２６が記憶している学習結果を他のシミュレーション装置１や集中管理システム３０に対して出力したりすることも可能である。
【００６４】
溶着区間調整出力部２７は、溶着区間調整学習部２５が学習した結果と現在の状態に係るデータとに基づいて各溶着区間の位置および長さの調整対象とその調整量を決定する。ここでいう各溶着区間の位置および長さの調整対象とその調整量の決定が、機械学習に用いられる行動ａに相当する。各溶着区間の位置および長さの調整は、例えば、調整対象とする溶着区間と、該溶着区間の位置及び長さの変更量を組み合わせたものを選択可能な行動（例えば、行動１＝溶着区間１の長さを＋０．１ｍｍ、行動２＝溶着区間１の位置を＋０．５ｍｍ、溶着区間８の長さを０ｍｍとする（削除する）、…）として用意しておき、過去の学習結果に基づいて将来に得られる報酬が最も大きくなる行動を選択するようにしてもよい。選択可能な行動は、複数の溶着区間を同時に調整する行動（例えば、行動ｊ＝すべての溶着区間の長さを＋１ｍｍ、…）としてもよく、また、長さと位置を同時に調整する行動としてもよい。また、上記したεグリーディ法を採用し、所定の確率でランダムな行動を選択することで溶着区間調整学習部２５の学習の進展を図るようにしてもよい。なお、行動の選択結果として、調整対象となる溶着区間が存在しない場合には、当該行動は選択せずに、別の行動が選択される。
そして、溶着区間調整出力部２７は、行動の選択により決定された各溶着区間の位置および長さの調整を溶着区間算出部１０へと出力する。
【００６５】
その後、上記したように溶着区間算出部１０が、溶着区間調整出力部２７から出力された各溶着区間の位置および長さの調整に基づいて、新たに各溶着区間の位置および長さを算出し、動作評価部１１による評価値の算出、および状態観測部２１による状況に係るデータの取得が行われ、機械学習を繰り返すことにより、より優れた学習結果を得ることができる。
【００６６】
上記学習が完了した学習データを用いて実際にワイヤ放電加工機を運転する際には、機械学習器２０は新たな学習を行なわないようにしてワイヤ放電加工機に取り付けて、学習完了時の学習データをそのまま使用して運転をするようにしてもよい。
また、学習が完了した機械学習器２０（または、他の機械学習器２０の完了した学習データを学習結果記憶部２６に複写した機械学習器２０）を他のワイヤ放電加工機に取付けて、学習完了時の学習データをそのまま使用して運転をするようにしてもよい。
【００６７】
シミュレーション装置１の機械学習器２０は単独で機械学習をするようにしてもよいが、複数のシミュレーション装置１がそれぞれ外部との通信手段を更に備えると、それぞれの状態データ記憶部２２が記憶した状態データや学習結果記憶部２６が記憶した学習結果を送受信して共有することが可能となり、より効率良く機械学習を行うことができる。例えば、複数のシミュレーション装置１において異なる調整量を所定の範囲内でそれぞれ変動させながら、それぞれのシミュレーション装置１の間で状態に係るデータや学習データをやり取りすることにより並列して学習を進めるようにすることで効率的に学習させることができる。
このように複数のシミュレーション装置１の間でやり取りする際には、通信は集中管理システム３０等のホストコンピュータを経由しても、直接シミュレーション装置１同士が通信しても構わないし、クラウドを使用しても構わないが、大量のデータを取り扱う場合があるため、なるべく通信速度が速い通信手段が好ましい。
【００６８】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００６９】
１  シミュレーション装置
３  被加工物
１０  溶着区間算出部
１１  動作評価部
１２  加工の前提条件
１３  中間データ
１４  ＮＣプログラム生成部
２０  機械学習器
２１  状態観測部
２２  状態データ記憶部
２３  報酬条件設定部
２４  報酬計算部
２５  溶着区間調整学習部
２６  学習結果記憶部
２７  溶着区間調整出力部
３０  集中管理システム
３１  加工開始穴
３２  加工溝
３３  中子
３４  溶着区間
３５  溶着休止区間
【図１】
0006348098.tif 000005
【図２】
0006348098.tif 000006
【図３】
0006348098.tif 000007
【図４】
0006348098.tif 000008
【図５】
0006348098.tif 000009
【図６】
0006348098.tif 000010
【図７】
0006348098.tif 000011
【図８】
0006348098.tif 000012
【図９】
0006348098.tif 000013
【図１０】
0006348098.tif 000014