(58)【調査した分野】(Int.Cl.,DB名)
前記判定データ取得部は、更にシミュレーションのワークの結果の内で加工において前記工作機械に発生した衝撃を判定する衝撃判定データを、加工経路の変更の適否判定結果を示す判定データとして取得する、
請求項1に記載のシミュレーション装置。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を図面と共に説明する。
図1は第1の実施形態によるシミュレーション装置の要部を示す概略的なハードウェア構成図である。シミュレーション装置1は、例えば工作機械を制御する制御装置に併設されたパソコンや、制御装置に有線/無線のネットワークを介して接続されたセルコンピュータ、ホストコンピュータ、エッジサーバ、クラウドサーバ等のコンピュータとして実装することができる。また、シミュレーション装置1は、工作機械を制御する制御装置として実装することができる
。本実施形態では、シミュレーション装置1を、工作機械2を制御する制御装置にネットワークを介して接続されたコンピュータとして実装した場合の例を示す。
【0012】
本実施形態によるシミュレーション装置1が備えるCPU11は、シミュレーション装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス20を介して読み出し、該システム・プログラムに従ってシミュレーション装置1の全体を制御する。RAM13には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【0013】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされるなどして、シミュレーション装置1の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ14には、入力装置71から入力されたプログラムや図示しない外部記憶装置から読み込まれたプログラム、ネットワークを介して工作機械2やCAD/CAM等から取得された各種データ(例えば、工具の種類、ワークの加工経路、加工速度、加工形状、治具形状等のCAMデータ等)が記憶されている。不揮発性メモリ14に記憶されたプログラムや各種データは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種のシステム・プログラム(後述する機械学習装置100とのやりとりを制御するためのシステム・プログラムを含む)があらかじめ書き込まれている。
【0014】
表示装置70には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ、後述する機械学習装置100から出力されたデータ等がインタフェース17を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、オペレータによる操作に基づく指令,データ等を受けてCPU11に渡す。
【0015】
インタフェース21は、シミュレーション装置1と機械学習装置100とを接続するためのインタフェースである。機械学習装置100は、機械学習装置100全体を統御するプロセッサ101と、システム・プログラム等を記憶したROM102、機械学習に係る各処理における一時的な記憶を行うためのRAM103、及び学習モデル等の記憶に用いられる不揮発性メモリ104を備える。機械学習装置100は、インタフェース21を介してシミュレーション装置1で取得可能な各情報(例えば、工具の種類、ワークの加工経路、加工速度、加工形状、治具形状等のCAMデータ等)を観測することができる。また、シミュレーション装置1は、機械学習装置100から出力される、加工経路の変更指令を受けて、変更した加工経路に基づくシミュレーション処理を実行する。
【0016】
図2は、一実施形態によるシミュレーション装置1と機械学習装置100の概略的な機能ブロック図である。
図2に示した各機能ブロックは、
図1に示したシミュレーション装置1が備えるCPU11、及び機械学習装置100のプロセッサ101が、それぞれのシステム・プログラムを実行し、シミュレーション装置1及び機械学習装置100の各部の動作を制御することにより実現される。
【0017】
本実施形態のシミュレーション装置1は、工作機械2や図示しないCAD/CAMから取得したCAMデータ、及び機械学習装置100から出力された加工経路の変更指令に基づいて工作機械2によるワークの加工をシミュレーションするシミュレーション部34を備える。シミュレーション部34は、例えばCAMデータに含まれる工具の種類、ワークの加工経路、加工速度、加工形状、治具形状等のデータを用いて工作機械2による加工動作をシミュレーションし、その結果として、加工時に工具に掛かる負荷や加工におけるサイクルタイム等、一般的なシミュレーション処理の結果としてのデータを出力する。なお、シミュレーション部34が実行するシミュレーション処理については、公知のシミュレーションの手法を適宜採用して良い。
【0018】
また、シミュレーション部34は、機械学習装置100から加工経路の変更指令が出力されている場合、CAMデータに含まれる加工経路のデータを機械学習装置100から出力された加工経路の変更指令に従って変更し、変更した加工経路のデータを用いたシミュレーションを実行する。シミュレーション部34は、機械学習装置100の学習動作時に、該機械学習装置100の出力に従って変更された加工経路のデータを用いた工作機械2によるワークの加工のシミュレーションが行われた後に、該ワークのシミュレーションの結果を表示装置へと表示すると共に、機械学習装置100から観察可能な状態とする。その後、オペレータが
シミ
ュレーションの結果に満足すると、変更された加工指令のデータを含むCAMデータは、例えばネットワークを介して工作機械2に送信され、該工作機械2による実際に加工に用いられる。また、オペレータがシミュレーションの結果に満足しない場合には、機械学習装置100において、シミュレーションの結果に対する評価と、該評価に基づく機械学習が行われ、その機械学習の結果に基づく新たな加工経路の変更指令が出力される。
【0019】
一方、シミュレーション装置1が備える機械学習装置100は、ワークの加工条件に対する加工経路の変更を、いわゆる機械学習により自ら学習するためのソフトウェア(学習アルゴリズム等)及びハードウェア(プロセッサ101等)を含む。シミュレーション装置1が備える機械学習装置100が学習するものは、ワークの加工条件と、加工経路の変更との、相関性を表すモデル構造に相当する。
【0020】
図2に機能ブロックで示すように、シミュレーション装置1が備える機械学習装置100は、前回変更された加工経路を示す変更後加工経路データS1、及びワークの加工条件を示す加工条件データS2を含む環境の現在状態を表す状態変数Sとして観測する状態観測部106と、変更された加工経路に基づいて行われたシミュレーションにおける加工のサイクルタイムを判定するためのサイクルタイム判定データD1を含む判定データDを取得する判定データ取得部108と、状態変数Sと判定データDとを用いて、ワークの加工条件と、加工経路の変更を関連付けて学習する学習部110とを備える。
【0021】
状態観測部106が観測する状態変数Sのうち、変更後加工経路データS1は、機械学習装置100が出力した加工経路の変更指令に基づいて変更された加工経路として取得することができる。加工経路そのものは、加工経路を構成する複数の工具の指令単位(GコードにおけるG00,G01等の1つのコードで指令される移動)の組として表わすことができる。
【0022】
図3は、本発明における加工経路と、該加工経路の変更について説明する図である。
図3に例示されるように、加工経路は複数の工具の指令単位で構成され、工具の各指令単位は非切削経路と切削経路に分けることができる。本発明における加工経路の変更とは、加工経路を構成する複数の工具の指令単位の内のいくつかについて、方向と長さ又は座標値を変更する処理として示すことができる。一般に、加工経路を構成する各指令単位はベクトルの形で表現できるので、このベクトルの内のいくつかについて方向と長さ又は座標値を変更するようにすれば良い。本発明における加工経路の変更は、基本的に加工経路を構成する複数の工具の指令単位の内、非切削経路に対して為され、複数の連続する非切削経路に対して経路の変更を行う際には、最後の非切削経路の移動後の位置が変更前と一致するように調整される。また、本発明における加工経路の変更は、CAMデータに含まれるワークの加工形状を考慮して、該加工形状と工具とが接触しない範囲で行われる。各々の指令単位の方向と長さ又は座標値の変更は、該指令単位を示すベクトルの方向と長さの変量又は座標値の変量で示すことができるので、加工経路の変更については加工経路を構成する各指令単位の方向と長さの変量又は座標値の変量の組として表現することができる。
なお、本発明のおける加工経路の変更には、更に指令単位の直線経路を円弧経路(GコードにおけるG02,G03等のコードにより指令される移動)へと変更することを加えても良い。
【0023】
変更後加工経路データS1は、機械学習装置100が学習部110の学習結果に基づいて1つ前の学習周期における加工経路に対して、当該学習周期において変更された後の加工経路をそのまま用いることができる。このような手法を取る場合には、機械学習装置100は前回変更された加工経路を学習周期毎にRAM103に一時的に記憶しておき、状態観測部106は、RAM103から1つ前の学習周期で変更された加工経路を今回の学習周期の変更後加工経路データS1として取得するようにしても良い。
【0024】
状態観測部106が観測する状態変数Sのうち、加工条件データS2は、CAMデータに含まれる工具の種類、加工速度、加工形状、治具形状等として取得することができる。
【0025】
判定データ取得部108は、サイクルタイム判定データD1として、変更された加工経路に基づいてシミュレーション部34が実行した工作機械2によるワークの加工のシミュレーション処理で求められたサイクルタイムに対する判定結果を用いることができる。判定データ取得部108が用いるサイクルタイム判定データD1としては、例えば、加工経路を変更していない状態で工作機械2によるワークの加工のシミュレーション処理で求められたサイクルタイムに対して、加工経路が変更された状態で求められたサイクルタイムがどれだけ小さいか(適)、又は大きいか(否)といったものを使用すれば良い。
【0026】
なお、判定データ取得部108は、学習部110による学習の段階では必須の構成となるが、学習部110によるワークの加工条件と加工経路の変更とを関連付けた学習が完了した後には必ずしも必須の構成ではない。
【0027】
学習部110に対して同時に入力される状態変数Sは、学習部110による学習周期で考えた場合、判定データDが取得された1学習周期前のデータに基づくものとなる。このように、シミュレーション装置1が備える機械学習装置100が学習を進める間、環境においては、加工条件データS2の取得、取得した各データに基づいて変更された加工経路データS1に基づいたシミュレーション部34による加工シミュレーションの実行、判定データDの取得が繰り返し実施される。
【0028】
学習部110は、機械学習と総称される任意の学習アルゴリズムに従い、ワークの加工条件に対する、加工経路の変更を学習する。学習部110は、前述した状態変数Sと判定データDとを含むデータ集合に基づく学習を反復実行することができる。ワークの加工条件に対する、加工経路の変更の学習サイクルの反復中、状態変数Sは、上記したように1学習周期前におけるワークの加工条件、及び1学習周期前において変更された加工経路を取得し、また判定データDは、変更された加工経路に基づいて行われたシミュレーション処理の適否判定結果とする。
【0029】
このような学習サイクルを繰り返すことにより、学習部110は、ワークの加工条件と、加工経路の変更との相関性を暗示する特徴を識別することができるようになる。学習アルゴリズムの開始時にはワークの加工条件と、加工経路の変更の相関性は実質的に未知であるが、学習部110は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。ワークの加工条件と、加工経路の変更との相関性が、ある程度信頼できる水準まで解釈されると、学習部110が反復出力する学習結果は、現在状態(つまりワークの加工条件)に対して、加工経路をどう変更するべきかという行動の選択(つまり意思決定)を行うために使用できるものとなる。つまり学習部110は、学習アルゴリズムの進行に伴い、ワークの加工条件に対して加工経路をどのように変更するべきかという行動との、相関性を最適解に徐々に近づけることができる。
【0030】
意思決定部122は、状態変数Sと学習部110が学習した結果に基づいて、加工経路の変更を決定し、決定した加工経路の変更を行うための加工経路の変更指令をシミュレーション部34へと出力する。
【0031】
上記したように、シミュレーション装置1が備える機械学習装置100は、状態観測部106が観測した状態変数Sと判定データ取得部108が取得した判定データDとを用いて、学習部110が機械学習アルゴリズムに従い、ワークの加工条件に対する加工経路の変更を学習するものである。状態変数Sは、変更後加工経路データS1、及び加工条件データS2といったデータで構成され、また判定データDは、シミュレーション処理の結果として取得された情報から一義的に求められる。したがって、シミュレーション装置1が備える機械学習装置100によれば、学習部110の学習結果を用いることで、ワークの加工条件に応じた、
よりサイクルタイムを短縮可能な加工経路
への変更を、自動的かつ正確に行うことが可能となる。
【0032】
そして、
よりサイクルタイムを短縮可能な加工経路の変更を、自動的に行うことができれば、CAMデータ等の加工に係るデータを把握するだけで、加工経路を適切な状態へと迅速に変更することができる。
【0033】
シミュレーション装置1が備える機械学習装置100の一変形例として、判定データ取得部108は、サイクルタイム判定データD1に加えて、変更された加工経路に基づいて行われるワークの加工で工作機械2に発
生する衝撃を判定するための衝撃判定データD2を判定データDとして用いるようにしても良い。判定データ取得部108が用いる衝撃判定データD2としては、例えば変更された加工経路に基づいて行われるシミュレーション処理において求められた工具の加速度(加速度が大きい場合には機械に衝撃が発生する)が、予め定めた所定の閾値よりも小さいか(適)、大きいか(否)といったような、適宜設定された判定基準により判定された結果を用いればよい。衝撃判定データD2を判定データDとして用いることにより、工作機械2に大きな衝撃が発生しない範囲で、ワークの加工時間を短くする加工経路へと変更することができるようになる。
【0034】
上記構成を有する機械学習装置100では、学習部110が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図
4は、
図2に示すシミュレーション装置1の一形態であって、学習アルゴリズムの一例として強化学習を実行する学習部110を備えた構成を示す。強化学習は、学習対象が存在する環境の現在状態(つまり入力)を観測するとともに現在状態で所定の行動(つまり出力)を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような方策(本願の機械学習装置では加工経路の変更)を最適解として学習する手法である。
【0035】
図4に示すシミュレーション装置1が備える機械学習装置100において、学習部110は、状態変数Sに基づいて加工経路の変更がされ、変更された加工経路に基づくシミュレーションの結果の適否判定結果(状態変数Sが取得された次の学習周期で用いられる判定データDに相当)に関連する報酬Rを求める報酬計算部112と、報酬Rを用いて、前回変更された加工経路の価値を表す関数Qを更新する価値関数更新部114とを備える。学習部110は、価値関数更新部114が関数Qの更新を繰り返すことによってワークの加工条件に対する加工経路の変更を学習する。
【0036】
学習部110が実行する強化学習のアルゴリズムの一例を説明する。この例によるアルゴリズムは、Q学習(Q−learning)として知られるものであって、行動主体の状態sと、その状態sで行動主体が選択し得る行動aとを独立変数として、状態sで行動aを選択した場合の行動の価値を表す関数Q(s,a)を学習する手法である。状態sで価値関数Qが最も高くなる行動aを選択することが最適解となる。状態sと行動aとの相関性が未知の状態でQ学習を開始し、任意の状態sで種々の行動aを選択する試行錯誤を繰り返すことで、価値関数Qを反復して更新し、最適解に近付ける。ここで、状態sで行動aを選択した結果として環境(つまり状態s)が変化したときに、その変化に応じた報酬(つまり行動aの重み付け)rが得られるように構成し、より高い報酬rが得られる行動aを選択するように学習を誘導することで、価値関数Qを比較的短時間で最適解に近付けることができる。
【0037】
価値関数Qの更新式は、一般に下記の数1式のように表すことができる。数1式において、s
t及びa
tはそれぞれ時刻tにおける状態及び行動であり、行動a
tにより状態はs
t+1に変化する。r
t+1は、状態がs
tからs
t+1に変化したことで得られる報酬である。maxQの項は、時刻t+1で最大の価値Qになる(と時刻tで考えられている)行動aを行ったときのQを意味する。α及びγはそれぞれ学習係数及び割引率であり、0<α≦1、0<γ≦1で任意設定される。
【0039】
学習部110がQ学習を実行する場合、状態観測部106が観測した状態変数S及び判定データ取得部108が取得した判定データDは、更新式の状態sに該当し、現在状態(つまり、ワークの加工条件)に対して加工経路をどのように変更するべきかという行動は、更新式の行動aに該当し、報酬計算部112が求める報酬Rは、更新式の報酬rに該当する。よって価値関数更新部114は、現在状態に対する前回変更された加工経路の価値を表す関数Qを、報酬Rを用いたQ学習により繰り返し更新する。
【0040】
報酬計算部112が求める報酬Rは、例えば、加工経路を変更した後に行われる、変更された加工経路に基づくシミュレーションの結果の適否判定結果が「適」と判定される場合(例えば、ワークの加工のサイクルタイムが短くなった場合や所定の閾値以下である場合、ワークの加工時に発生する衝撃が予め定めた閾値よりも小さかった場合等)に正(プラス)の報酬Rとし、加工経路を変更した後に行われる、変更された加工経路に基づくシミュレーションの結果の適否判定結果が「否」と判定される場合(例えば、ワークの加工のサイクルタイムが長くなった場合や所定の閾値以上である場合、ワークの加工時に発生する衝撃が予め定めた閾値よりも大きかった場合等)に負(マイナス)の報酬Rとすることができる。正負の報酬Rの絶対値は、互いに同一であってもよいし異なっていてもよい。また、判定の条件として、判定データDに含まれる複数の値を組み合わせて判定するようにしても良い。
【0041】
また、調整された前回変更された加工経路に基づくワークの加工の適否判定結果を、「適」及び「否」の二通りだけでなく複数段階に設定することができる。例として、シミュレーションで求められたワークの加工のサイクルタイムの閾値がT
maxである場合、ワークの加工に掛かるサイクルタイムTが、0≦T<T
max/5のときは報酬R=5を与え、T
max/5≦T<T
max/2のときは報酬R=3を与え、T
max/2≦T<T
maxのときは報酬R=1を、T
max≦Tのときは報酬R=−3(マイナスの報酬)を与えるような構成とすることができる。
【0042】
また、複数の判定データを用いる場合には、それぞれの判定データごとに報酬の値を変化させる(重み付けをつける)ことにより、学習における目標とする状態を変更することもできる。例えば、サイクルタイム判定データD1による判定結果に基づいて与える報酬を高くすることで加工時間を重視した加工経路の変更を学習させることもできるし、一方で、衝撃判定データD2による判定結果に基づいて与える報酬を高くすることで加工の安定性や工具や工作機械2の寿命を重視した加工経路の変更を学習させることもできる。更に、学習の初期段階は判定に用いる閾値を比較的大きく設定し、学習が進行するにつれて判定に用いる閾値を縮小する構成とすることもできる。
【0043】
価値関数更新部114は、状態変数Sと判定データDと報酬Rとを、関数Qで表される行動価値(例えば数値)と関連付けて整理した行動価値テーブルを持つことができる。この場合、価値関数更新部114が関数Qを更新するという行為は、価値関数更新部114が行動価値テーブルを更新するという行為と同義である。Q学習の開始時には環境の現在状態と加工経路の変更との相関性は未知であるから、行動価値テーブルにおいては、種々の状態変数Sと判定データDと報酬Rとが、無作為に定めた行動価値の値(関数Q)と関連付けた形態で用意されている。なお報酬計算部112は、判定データDが分かれば、これに対応する報酬Rを直ちに算出でき、算出した値Rが行動価値テーブルに書き込まれる。
【0044】
シミュレーションの結果の適否判定結果に応じた報酬Rを用いてQ学習を進めると、より高い報酬Rが得られる行動を選択する方向へ学習が誘導され、選択した行動を現在状態で実行した結果として変化する環境の状態(つまり状態変数S及び判定データD)に応じて、現在状態で行う行動についての行動価値の値(関数Q)が書き換えられて行動価値テーブルが更新される。この更新を繰り返すことにより、行動価値テーブルに表示される行動価値の値(関数Q)は、適正な行動(本発明の場合、工作機械2に大きな衝撃が発生しない範囲で、ワークの加工に係るサイクルタイムが短くなるように加工経路を変更する行動)であるほど大きな値となるように書き換えられる。このようにして、未知であった環境の現在状態(ワークの加工条件)とそれに対する行動(加工経路の変更)との相関性が徐々に明らかになる。つまり行動価値テーブルの更新により、ワークの加工条件と、加工経路の変更との関係が最適解に徐々に近づけられる。
【0045】
図5を参照して、学習部110が実行する上記したQ学習のフロー(つまり機械学習方法の一形態)をさらに説明する。まずステップSA01で、価値関数更新部114は、その時点での行動価値テーブルを参照しながら、状態観測部106が観測した状態変数Sが示す現在状態で行う行動として加工経路の変更行動を無作為に選択する。次に価値関数更新部114は、ステップSA02で、状態観測部106が観測している現在状態の状態変数Sを取り込み、ステップSA03で、判定データ取得部108が取得している現在状態の判定データDを取り込む。次に価値関数更新部114は、ステップSA04で、判定データDに基づき、変更された加工経路によるシミュレーションの結果が適当であったか否かを判断し、適当であった場合、ステップSA05で、報酬計算部112が求めた正の報酬Rを関数Qの更新式に適用し、次いでステップSA06で、現在状態における状態変数S及び判定データDと報酬Rと行動価値の値(更新後の関数Q)とを用いて行動価値テーブルを更新する。ステップSA04で、変更された加工経路によるシミュレーションの結果が適当でなかったと判断した場合、ステップSA07で、報酬計算部112が求めた負の報酬Rを関数Qの更新式に適用し、次いでステップSA06で、現在状態における状態変数S及び判定データDと報酬Rと行動価値の値(更新後の関数Q)とを用いて行動価値テーブルを更新する。学習部110は、ステップSA01〜SA07を繰り返すことで行動価値テーブルを反復して更新し、加工経路の変更の学習を進行させる。なお、ステップSA04からステップSA07までの報酬Rを求める処理及び価値関数の更新処理は、判定データDに含まれるそれぞれのデータについて実行される。
【0046】
前述した強化学習を進める際に、例えばニューラルネットワークを応用することができる。
図6Aは、ニューロンのモデルを模式的に示す。
図6Bは、
図6Aに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【0047】
図6Aに示すニューロンは、複数の入力x(ここでは一例として、入力x
1〜入力x
3)に対する結果yを出力するものである。各入力x
1〜x
3には、この入力xに対応する重みw(w
1〜w
3)が掛けられる。これにより、ニューロンは、次の数2式により表現される出力yを出力する。なお、数2式において、入力x、出力y及び重みwは、すべてベクトルである。また、θはバイアスであり、f
kは活性化関数である。
【0049】
図6Bに示す三層のニューラルネットワークは、左側から複数の入力x(ここでは一例として、入力x1〜入力x3)が入力され、右側から結果y(ここでは一例として、結果y1〜結果y3)が出力される。図示の例では、入力x1、x2、x3のそれぞれに対応の重み(総称してw1で表す)が乗算されて、個々の入力x1、x2、x3がいずれも3つのニューロンN11、N12、N13に入力されている。
【0050】
図6Bでは、ニューロンN11〜N13の各々の出力を、総称してz1で表す。z1は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルz1のそれぞれに対応の重み(総称してw2で表す)が乗算されて、個々の特徴ベクトルz1がいずれも2つのニューロンN21、N22に入力されている。特徴ベクトルz1は、重み
w1と重み
w2との間の特徴を表す。
【0051】
図6Bでは、ニューロンN21〜N22の各々の出力を、総称してz2で表す。z2は、特徴ベクトルz1の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルz2のそれぞれに対応の重み(総称してw3で表す)が乗算されて、個々の特徴ベクトルz2がいずれも3つのニューロンN31、N32、N33に入力されている。特徴ベクトルz2は、重み
w2と重み
w3との間の特徴を表す。最後にニューロンN31〜N33は、それぞれ結果y1〜y3を出力する。
なお、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることも可能である。
【0052】
シミュレーション装置1が備える機械学習装置100においては、ニューラルネットワークをQ学習における価値関数として用い、状態変数Sと行動aとを入力xとして、学習部110が上記したニューラルネットワークに従う多層構造の演算を行うことで、当該状態における当該行動の価値(結果y)を出力することもできる。なお、ニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みwを学習し、学習した重みwを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
【0053】
上記したシミュレーション装置1の構成は、プロセッサ101が実行する機械学習方法(或いはソフトウェア)として記述できる。この機械学習方法は、加工経路の変更を学習する機械学習方法であって、コンピュータのCPUが、変更後加工経路データS1、及び加工条件データS2を、工作機械2が動作する環境の現在状態を表す状態変数Sとして観測するステップと、変更された加工経路に基づくシミュレーション処理の結果の適否判定結果を示す判定データDを取得するステップと、状態変数Sと判定データDとを用いて、加工条件データS2と、加工経路の変更とを関連付けて学習するステップとを有する。
【0054】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【0055】
例えば、機械学習装置100が実行する学習アルゴリズムや演算アルゴリズム、シミュレーション装置1が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【0056】
また、上記した実施形態ではシミュレーション装置1と機械学習装置100が異なるCPUを有する装置として説明しているが、機械学習装置100はシミュレーション装置1が備えるCPU11と、ROM12に記憶されるシステム・プログラムにより実現するようにしても良い。