JP6457382B2 - キャッシュロックを学習する機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラム - Google Patents

キャッシュロックを学習する機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラム Download PDF

Info

Publication number
JP6457382B2
JP6457382B2 JP2015257438A JP2015257438A JP6457382B2 JP 6457382 B2 JP6457382 B2 JP 6457382B2 JP 2015257438 A JP2015257438 A JP 2015257438A JP 2015257438 A JP2015257438 A JP 2015257438A JP 6457382 B2 JP6457382 B2 JP 6457382B2
Authority
JP
Japan
Prior art keywords
machine
machine learning
data
unit
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015257438A
Other languages
English (en)
Other versions
JP2017120587A (ja
Inventor
健一郎 栗原
健一郎 栗原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FANUC Corp
Original Assignee
FANUC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FANUC Corp filed Critical FANUC Corp
Priority to JP2015257438A priority Critical patent/JP6457382B2/ja
Publication of JP2017120587A publication Critical patent/JP2017120587A/ja
Application granted granted Critical
Publication of JP6457382B2 publication Critical patent/JP6457382B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、キャッシュロックを学習する機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラムに関する。
近年、産業機械は、例えば、制御装置に設けられたCPU(Central Processing Unit:(中央)演算処理装置)でプログラムを実行することにより、所定の動作が行われるようになっている。ここで、CPUによりプログラムを実行する際、使われる頻度の高いデータは、レイテンシの低いキャッシュメモリ(キャッシュ:上位のキャッシュメモリ)に格納することで、CPUの動作効率を向上させることができる。
制御装置に設けられたCPU(CPUコア)の動作として、キャッシュ(上位のキャッシュメモリ)に格納されていなかったデータを使用した場合、例えば、不要と思われるデータをメモリ(メインメモリまたは下位のキャッシュメモリ)に書き出した後、新しく使用したデータをキャッシュ(上位のキャッシュ)に格納する手法が用いられることが多い。
なお、本明細書において、「産業機械」の文言は、産業用ロボットやコンピュータ数値制御(CNC:Computerized Numerical Control)装置で制御される工作機械だけでなく、サービス用ロボットや鍛圧機械および射出成形機といった様々な機械を含むものとして使用される。また、「産業機械システム」の文言は、工作機械やロボットなどの産業機械と、それら産業機械を制御する制御装置(CNC装置やロボット制御装置(および、機械学習器)など)を含むものとして使用される。
ところで、従来、マルチコアプロセッサを用いてキャッシュミスを起こさずに逐次プログラムを実行する制御装置が提案されている(例えば、特許文献1参照)。
特開2015−200947号公報
前述したように、キャッシュに格納されていないデータを使用した場合、不要と思われるデータをメモリに書き出した後、新しく使用したデータをキャッシュに格納する手法が知られている。しかしながら、この手法は、プログラムによってはキャッシュが有効に活用されないことがある。
例えば、逐次実行するプログラムのサイズが、キャッシュ(キャッシュメモリ)のサイズ(メモリ容量)よりも大きい場合、キャッシュに格納されたすべてのデータは、再度使用されることなく、そのままメモリ(メインメモリ)に書き戻されることがある。
そのため、使用頻度が多いとはっきりと分かっているデータは、予めキャッシュメモリにロック(以下、キャッシュロックとも称する)し、キャッシュから掃き出されないようにすることにより、キャッシュを効率よく使用することが可能になると考えられている。
しかしながら、どのデータをどのようなタイミングでキャッシュロック(キャッシュメモリにロック(格納保持))するかを判断するのは難しく、この手法によりキャッシュの効率を向上させるのは困難なものとなっている。
本発明の目的は、上述した従来技術の課題に鑑み、キャッシュロックを適切に行ってキャッシュを効率よく使用することができる機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラムの提供にある。
本発明に係る第1実施形態によれば、キャッシュメモリを使用する演算処理装置を含む制御装置により産業機械の処理を制御し、前記キャッシュメモリにロックするデータを学習する機械学習器であって、前記産業機械の状態を観測する状態観測部と、前記状態観測部により観測された状態に基づいて、前記キャッシュメモリにロックするデータを規定する操作を学習する学習部と、を備える機械学習器が提供される。
前記状態観測部は、前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量を観測し、前記学習部は、前記状態観測部により観測された前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量に基づいて、前記キャッシュメモリにロックするデータを決定する操作量を更新するのが好ましい。前記産業機械は、前記制御装置により制御される所定の処理に要する時間を計測し、前記状態観測部は、前記所定の処理に要する時間を観測することができる。また、前記産業機械は、前記制御装置により制御される所定の加工による精度を計測し、前記状態観測部は、前記所定の加工による精度を観測することもできる。
前記機械学習器は、さらに、前記学習部が学習した操作量を参照して、前記キャッシュメモリにロックするデータを決定する意思決定部を備えてもよい。前記学習部は、前記状態観測部の出力に基づいて報酬を計算する報酬計算部と、前記状態観測部および前記報酬計算部の出力に基づいて、前記キャッシュメモリにロックするデータの価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備えることができる。あるいは、前記学習部は、前記状態観測部の出力、および、入力された教師データに基づいて誤差を計算する誤差計算部と、前記状態観測部および前記誤差計算部の出力に基づいて、前記キャッシュメモリにロックするデータの誤差を定める誤差モデルを更新する誤差モデル更新部と、を備えることもできる。前記機械学習器は、ニューラルネットワークを備えることができる。前記キャッシュメモリにロックするデータは、前記演算処理装置が実行するプログラムにおける機能命令であってもよい。
本発明に係る第2実施形態によれば、制御装置と、産業機械と、第1実施形態の機械学習器と、を備える産業機械システムであって、前記制御装置は、キャッシュメモリを使用する演算処理装置を含み、前記産業機械は、前記演算処理装置が実行するプログラムに基づいて処理が制御される産業機械システムが提供される。
本発明に係る第3実施形態によれば、第2実施形態の産業機械システムを複数備える製造システムであって、前記機械学習器は、それぞれの前記産業機械システムに設けられ、複数の前記産業機械システムに設けられた複数の前記機械学習器は、通信媒体を介して相互にデータを共有または交換するようになっている製造システムが提供される。前記機械学習器は、クラウドサーバ上に存在してもよい。
本発明に係る第4実施形態によれば、キャッシュメモリを使用する演算処理装置を含む制御装置により産業機械の処理を制御し、前記キャッシュメモリにロックするデータを学習する機械学習方法であって、前記産業機械の状態を観測し、前記観測された状態に基づいて、前記キャッシュメモリにロックするデータを規定する操作を更新する機械学習方法が提供される。前記産業機械の状態を観測するのは、前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量を観測し、前記キャッシュメモリにロックするデータを規定する操作を更新するのは、観測された前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量に基づいて、前記キャッシュメモリにロックするデータを決定する操作量を更新するのが好ましい。
本発明に係る第5実施形態によれば、キャッシュメモリを使用する演算処理装置を含む制御装置により産業機械の処理を制御し、前記キャッシュメモリにロックするデータを学習する機械学習プログラムであって、前記演算処理装置に、前記産業機械の状態を観測し、前記観測された状態に基づいて、前記キャッシュメモリにロックするデータを規定する操作を更新する、処理を実行させる、機械学習プログラムが提供される。
本発明に係る機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラムによれば、キャッシュロックを適切に行ってキャッシュを効率よく使用することができるという効果を奏する。また、本発明に係る機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラムによれば、産業機械システムによる処理時間の短縮および処理精度の向上を図ることが可能になる。
図1は、本発明に係る産業機械システムの一実施形態を概略的に示すブロック図である。 図2は、ニューロンのモデルを模式的に示す図である。 図3は、図2に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。 図4は、図1に示す産業機械システムにおける機械学習器の動作の一例を示すフローチャートである。 図5は、図1に示す産業機械システムにおける制御装置のキャッシュロック処理の一例を説明するための図である。 図6は、本発明に係る産業機械システムの他の実施形態を概略的に示すブロック図である。 図7は、産業機械システムにおける制御装置のキャッシュ動作の例を説明するための図である。
まず、本発明に係る機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラムの実施形態を詳述する前に、産業機械システムにおける制御装置のキャッシュ動作およびその課題を、図7を参照して説明する。図7は、産業機械システムにおける制御装置のキャッシュ動作の例を説明するための図である。
図7(a)〜図7(d)において、参照符号3はCPU(演算処理装置,プロセッサ),30はCPUコア,31は一次キャッシュメモリ(L1キャッシュ),32は二次キャッシュメモリ(L2キャッシュ),33は外部メモリ(メインメモリ),そして,34は内部バス(バス)を示す。
ここで、図7(a)は、産業機械システム(1)における制御装置(12)に設けられ、バス34で繋がれたCPU3および外部メモリ33を抜き出して示す図であり、図7(b)は、CPUコア30により要求されたデータがL1キャッシュ31に格納されていた場合の動作を説明するための図である。また、図7(c)は、CPUコア30により要求されたデータがL2キャッシュ32に格納されていた場合の動作を説明するための図であり、図7(d)は、CPUコア30により要求されたデータがL1キャッシュ31およびL2キャッシュ32に格納されていない場合の動作を説明するための図である。
なお、産業機械(11)は、例えば、産業用およびサービス用のロボット、あるいは、工作機械などの様々な機械であり、制御装置(12)は、ロボット制御装置、あるいは、CNC(NC)制御装置などである。また、L1キャッシュ31は、L2キャッシュ32よりもレイテンシが低く、さらに、L2キャッシュ32は、外部メモリ33よりもレイテンシが低い。
図7(b)に示されるように、例えば、CPUコア30により要求されたデータがL1キャッシュ31に格納されていた場合、CPUコア30は、L1キャッシュ31から所望のデータを読み出す。すなわち、所望のデータがL1キャッシュ31でヒットした場合、CPUコア30は、その所望のデータを、例えば、1サイクルタイムでL1キャッシュ31から読み出すことになる。
また、図7(c)に示されるように、例えば、CPUコア30により要求されたデータがL1キャッシュ31に格納されていない場合、CPUコア30は、そのデータがL2キャッシュ32に格納されているかどうかを見に行き、L2キャッシュ32に格納されていれば、L2キャッシュ32から所望のデータを読み出す。すなわち、所望のデータがL1キャッシュ31に格納されておらず、L2キャッシュ32でヒットした場合、CPUコア30は、その所望のデータを、例えば、数サイクルタイム〜十数サイクルタイムでL2キャッシュ32から読み出すことになる。
そして、図7(d)に示されるように、例えば、CPUコア30により要求されたデータがL1キャッシュ31およびL2キャッシュ32に格納されていない場合、CPUコア30は、バス34を介して繋がれた外部メモリ33から所望のデータを読み出す。このとき、CPUコア30は、その所望のデータを、例えば、数十サイクルタイムを費やして外部メモリ33から読み出すことになる。
このように、例えば、CPU3によりプログラムを実行する際、使われる頻度の高いデータを、レイテンシの低いキャッシュメモリ(例えば、L1キャッシュ31)に格納することにより、CPU3の動作効率の向上が可能なことが知られている。なお、例えば、L1キャッシュ31に格納されていないデータを使用した場合には、例えば、不要と思われるデータを外部メモリ33(または、L2キャッシュ32)に書き出した後、新しく使用したデータをL1キャッシュ31に格納する手法が用いられる。
しかしながら、上述した手法は、プログラムによってはキャッシュが有効に活用されないことがある。例えば、逐次実行するプログラムのサイズが、キャッシュのメモリ容量より大きい場合、キャッシュに格納されたすべてのデータは、再度使用されることなく、そのまま外部メモリ33に書き戻されることがある。
具体的に、一般的なシーケンスプログラム(ラダーなど)を考え、プログラムの実行を行うCPU(3)のキャッシュ(例えば、L1キャッシュ31)が有効であるものとする。まず、シーケンスプログラムでは、先頭から順々にプログラムを実行していくことになるが、例えば、CPUのキャッシュのサイズ(メモリ容量)と、シーケンスプログラムのデータサイズを比較し、キャッシュのサイズが大きい場合には、シーケンスプログラムはすべてキャッシュに格納することが可能であるため、CPUがプログラムを外部メモリ(33)から読み出す必要がなくなる。なお、現実的には、CPUのキャッシュのサイズよりも、シーケンスプログラムのサイズが大きい場合が多い。
次に、CPUのキャッシュへの読み出しと、キャッシュからの掃出しの機構を考える。一般的なキャッシュの機構として、典型的な例としては、キャッシュが更新(キャッシュの読み出しや、CPUによる書き込みなど)された時期が最も古いデータを外部メモリに書き戻し、その代わりに最も新しく読み出されたデータを格納することが考えられる。ここで、シーケンスプログラムは、先頭から順々にプログラムを読み出して実行を行うため、シーケンスプログラムの先頭に戻ってきた時点では、既に、シーケンスのプログラムはキャッシュから掃き出されていることが多い。典型的な例としては、シーケンスプログラムのすべての領域を外部メモリから読み出すことになり、キャッシュを有効に使用できていないことになる。
ところで、近年、CPUによっては、キャッシュをロックする機能を持っているものがあり、この機能を活用することが考えられる。ロックされたキャッシュ(キャッシュに格納保持されたデータ)は、キャッシュの更新時の掃き出しの対象とならないため、常にキャッシュに格納されていることになる。例えば、シーケンスプログラムにおいては、頻繁に使用される機能命令のブロックをロックすることで、機能命令に相当するプログラムの読み出しにかかる時間(サイクルタイム:処理時間)を短縮することが考えられる。
しかしながら、シーケンスプログラムにおいて、どのブロックをキャッシュロック(キャッシュメモリにロック)することが最適であるかを判断するのは、容易ではない。すなわち、どのメモリ領域をどのようなタイミングでキャッシュロックするかを判断するのは難しく、この手法によりキャッシュ効率を向上させるのは困難なものとなっている。
以下、本発明に係る機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラムの実施形態を、添付図面を参照して詳述する。ここで、各図面において、同じ部材には同じ参照符号が付されている。また、異なる図面において同じ参照符号が付されたものは同じ機能を有する構成要素であることを意味するものとする。なお、理解を容易にするために、これらの図面は縮尺を適宜変更している。
図1は、本発明に係る産業機械システムの一実施形態を概略的に示すブロック図である。図1に示されるように、本実施形態の産業機械システム1は、工作機械やロボットなどの産業機械11,CNC装置(CNC制御装置)やロボット制御装置などの制御装置12および機械学習器2を含む。なお、機械学習器2は、制御装置12の一部として構成することができるのはもちろんである。
制御装置12は、例えば、図7を参照して説明したような、内部バス(バス)34で繋がれたCPU(演算処理装置)3および外部メモリ(メインメモリ)33を含み、CPU3は、与えられたプログラムに従って処理を行い、産業機械11に所定の処理(動作)を実行させる。また、CPU3は、図7を参照して説明したのと同様に、CPUコア30,L1キャッシュ(一次キャッシュメモリ)31,L2キャッシュ(二次キャッシュメモリ)32を含む。ここで、制御装置12には、入出力装置(I/O装置)や操作スイッチおよび表示装置などの様々な構成(図示しない)が設けられているのはいうまでもない。
機械学習器2は、例えば、制御装置12(CPU3)が実行するプログラムにおけるキャッシュロック処理を学習するためのものであり、このキャッシュロック処理が学習されたプログラムに基づいて、産業機械11の動作が制御される。機械学習器2は、状態観測部21、学習部22、および、意思決定部25を含む。状態観測部21は、例えば、産業機械11が処理を行う時間(サイクルタイム:処理時間)、ならびに、ワークを加工(処理)する精度(加工精度:処理精度)といった状態量(状態)を観測する。
学習部22は、状態観測部21により観測された状態量に基づいて、例えば、L1キャッシュ31にロックしておくメモリ領域を制御する操作量、例えば、どのメモリ領域をどのタイミングでL1キャッシュ31にロックするか決める操作コマンドを更新する。ここで、学習部22は、状態観測部21の出力に基づいて報酬を計算する報酬計算部23、ならびに、状態観測部21および報酬計算部23の出力に基づいて、キャッシュロックするメモリ領域を決める動作(操作)の価値を定める価値関数を、報酬に応じて更新する価値関数更新部24を含む。
なお、報酬計算部23は、例えば、産業機械11による処理時間(加工時間)を短縮できれば、プラス報酬を与え、処理時間を短縮できなければ、マイナス報酬を与える。さらに、報酬計算部23は、例えば、産業機械11による処理精度(加工精度)が向上すれば、プラス報酬を与え、処理精度が向上しなければ、報酬なしとする。ここで、産業機械11による処理精度が問題となるのは、例えば、予め定められた時間内に所定の処理を完了するように設定されたプログラムを実行するとき、キャッシュミスなどによる処理時間の増大を、その産業機械11を高速動作させ、あるいは、他の処理を省略することにより吸収する場合などである。このとき、産業機械11の処理精度は、例えば、産業機械11を高速動作させることにより、あるいは、他の処理を省略することにより、低下することになる。また、状態観測部21が観測する状態量としては、産業機械11による処理時間および処理精度に限定されるものではなく、あるいは、処理時間および処理精度の一方であってもよい。
すなわち、状態観測部21が観測する状態量が産業機械11による処理時間だけの場合、報酬計算部23は、例えば、産業機械11による処理時間を短縮できれば、プラス報酬を与え、処理時間を短縮できなければ、マイナス報酬を与える。なお、報酬計算部23において、マイナス報酬を与える代わりに、報酬なしとしてもよく、また、報酬なしの代わりに、マイナス報酬を与えてもよい。
ここで、産業機械11による処理時間は、例えば、産業機械11に設けられたタイマ(図示しない)により計測することができる。あるいは、プログラムを実行する制御装置12から産業機械11による処理時間を取得することも可能である。また、産業機械11の処理精度は、例えば、産業機械11に設けられたカメラおよび画像処理装置(図示しない)により、あるいは、産業機械11の近傍に設けられた測定器のプローブ(図示しない)などを使用して計測することができる。すなわち、産業機械11による処理時間および処理精度の計測は、知られている様々な手法を適用して取得し、状態観測部21に出力することができる。
価値関数更新部24は、報酬計算部23からの報酬に基づいて価値関数(例えば、キャッシュロックする機能命令を規定する行動価値テーブル)の更新を行う。なお、価値関数は、例えば、機械学習器2に設けられたメモリに格納され、或いは、通信回線等を介して他の機械学習器2に伝送することもできる。また、産業機械システム1(1a〜1z)は、それぞれが産業機械11(11a〜11z),制御装置12(12a〜12z)および機械学習器2(2a〜2z)を有していてもよい。ここで、各参照符号の後に付したa〜zは、その構成要素が複数であることを意味するものとする。このように、製造システム(製造設備)が複数の産業機械システム1a〜1z、すなわち、複数の産業機械11a〜11z,制御装置12a〜12zおよび機械学習器2a〜2zを有している場合、例えば、1つの機械学習器2aの価値関数更新部24aにより更新された関数を用いて、他の機械学習器2b〜2zの価値関数更新部24b〜24zの関数を更新することが可能である。これは、図6を参照して説明する産業機械システムの他の実施形態に関しても同様である。
意思決定部25は、学習部22が学習した操作量を参照して、例えば、L1キャッシュ31に対して、どのメモリ領域をどのタイミングでL1キャッシュ31にロックしておくかを決める操作コマンドを決定して、制御装置12に出力する。制御装置12では、例えば、CPU3におけるL1キャッシュ31が、意思決定部25からの出力に基づく所定の命令を格納して保持しておく(キャッシュロックする)ことになる。そして、産業機械11(工作機械やロボット)は、例えば、所定の命令がキャッシュロックされたL1キャッシュ31を使用してプログラムに基づいた動作を実行する。
以上において、キャッシュロック処理を行うキャッシュメモリは、L1キャッシュ31に限定されるものではなく、例えば、L2キャッシュ32、あるいは、L2キャッシュ32と外部メモリ33の間に設けられた三次キャッシュメモリ(L3キャッシュ:図示しない)などであってもよい。また、本実施形態の適用は、キャッシュロック機能を有するCPUに限定されるものではない。
次に、一般的なシーケンスプログラム(ラダーなど)を例として詳述する。上述した本発明に係る機械学習器(産業機械システム)の実施方法としては、例えば、シーケンスプログラムの実行開始前に、ある特定のブロックをキャッシュロック(キャッシュにロック)する。また、プログラムの途中でロックする命令を追加して、動的にキャッシュロック(キャッシュのロック)を行うことも可能である。ただし、この場合、必要に応じてキャッシュロックを解除する。すなわち、キャッシュロックするブロックの位置や、ロックするタイミングを入力として、例えば、報酬であるプログラムの実行時間(サイクルタイム)の短縮を図るのが好ましい。
このプログラムの実行時間の短縮によって、シーケンスプログラムに対する応答性の向上、あるいは、単位時間あたりに実行可能な命令数の拡大を図ることが可能になる。なお、上記記載では、例として、シーケンスプログラムの実行を説明したが、他の一般的なプログラムにおいても、同様に、プログラムの実行時間の短縮を図ることが可能である。
具体的に、制御装置12から状態観測部21に対して、例えば、L1キャッシュ31にロックするメモリ領域を入力し、産業機械11から状態観測部21に対して、例えば、プログラムの実行時間を入力する。学習部22では、例えば、乱拓アルゴリズム(確率的アルゴリズム)などを用いて、価値関数を生成し、任意のプログラムに対する最適なキャッシュロックを求める。ただし、このキャッシュロックは、プログラムごとに最適なものが異なるため、多数のプログラムの最適化を行うことで、どのようなバイナリ列を含むメモリ領域をロックするべきかといった操作量の学習を行うのが好ましい。
例えば、それぞれの機能命令に対して、キャッシュロックすることによる影響の重み付けを行う。この重み付けについては、例えば、最適化を行う際にロックするメモリ領域を機能命令の含まれるメモリ領域に限定して、プログラム実行時間の増減(状態量)に基づいて学習を行う。あるいは、予め機能命令のキャッシュロックの影響を評価するための評価プログラムを作成し、機能命令ごとに評価値(価値)を求めておき、評価プログラムにより、機能命令のバイナリデータを入力として、機能命令がキャッシュロックされることによる影響の価値関数を、報酬計算部23の出力(報酬)に基づいて、価値関数更新部24が更新する。これにより、例えば、新たな機能命令が追加された場合でも、再度評価を行うことなく、キャッシュロックすることの影響を見積もることができる。なお、報酬計算部23は、例えば、プログラムの実行時間による状態観測部21の出力に基づいて報酬を計算し、価値関数更新部24に出力する。また、状態観測部21の入力としては、プログラムの実行時間だけでなく、例えば、産業機械11により加工されるワーク(製品)の加工精度といった状態量であってもよい。
ところで、機能命令自体がコールされるかどうかは、全体のプログラムに依存するため、機能命令がコールされる回数の把握を行う。すなわち、機能命令がコールされる回数は、入力や状態に依存しない場合は、全体のプログラムに対して一意に決まるが、入力や状態に依存する場合には、実際に実行して統計を取るか、想定される入力や状態から期待値を与える。例えば、条件分岐などがない関数においては、一意にすべて実行されるが、入力や状態によって条件分岐する場合には、実行されるかどうかが条件によって異なるため、上述のように期待値を求めるのが好ましい。
例えば、機能命令がコールされる回数の期待値と前述した重み付けから、機能命令をロック(キャッシュロック)するかが判定される。基本的な適用としては、前述の期待値と重み付けを積算し、最も値の大きいものから順にロックする機能命令を選別することが考えられる。これは、例えば、後述する教師あり学習の教師データ、あるいは、半教師あり学習のデータなどとして使用することもできる。なお、動的にキャッシュロックするメモリ領域を変更する場合は、例えば、プログラムの改変が必要になるが、静的にキャッシュロックするメモリ領域を決定しておく場合は、例えば、プログラムの実行開始前にキャッシュロックを行っておくことにより、プログラム自体には変更を加えないことも可能である。
次に、機械学習器について、説明する。機械学習器は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習(機械学習)を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習(ディープラーニング:Deep Learning)」と呼ばれる手法がある。
なお、図1に示す機械学習器2は、「強化学習」を適用したものであり、また、図6を参照して後述する機械学習器4は、「教師あり学習」を適用したものである。これらの機械学習(機械学習器2,4)は、汎用の計算機若しくはプロセッサを用いることもできるが、例えば、GPGPU(General-Purpose computing on Graphics Processing Units)や大規模PCクラスターなどを適用すると、より高速処理が可能になる。
まず、教師あり学習とは、教師データ、すなわち、ある入力と結果(ラベル)のデータの組を大量に機械学習器2に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(誤差モデル)、すなわち、その関係性を帰納的に獲得するものである。例えば、後述のニューラルネットワークなどのアルゴリズムを用いて実現することが可能である。
また、教師なし学習とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮・分類・整形などを行う装置で学習する手法である。例えば、それらのデータセットにある特徴を、似た者どうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適化するような出力の割り当てを行うことにより、出力の予測を実現することできる。
なお、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものもあり、これは、例えば、一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合が対応する。本実施形態においては、実際にロボットを動かさなくても取得することができるデータ(画像データやシミュレーションのデータなど)を教師なし学習で利用することにより、学習を効率的に行うことが可能になる。
次に、強化学習について、説明する。まず、強化学習の問題設定として、次のように考える。
・ロボットは、環境の状態を観測し、行動を決定する。
・環境は、何らかの規則に従って変化し、さらに、自分の行動が、環境に変化を与えることもある。
・行動するたびに、報酬信号が帰ってくる。
・最大化したいのは、将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または、不完全にしか知らない状態から学習はスタートする。すなわち、ロボットは、実際に行動して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように、事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
ここで、強化学習とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法を学ぶものである。以下に、例として、Q学習の場合で説明を続けるが、Q学習に限定されるものではない。
Q学習は、或る環境状態sの下で、行動aを選択する価値Q(s,a)を学習する方法である。つまり、或る状態sのとき、価値Q(s,a)の最も高い行動aを最適な行動として選択すればよい。しかし、最初は、状態sと行動aとの組合せについて、価値Q(s,a)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態sの下で様々な行動aを選択し、その時の行動aに対して、報酬が与えられる。それにより、エージェントは、より良い行動の選択、すなわち、正しい価値Q(s,a)を学習していく。
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(s,a)=E[Σ(γt)rt]となるようにすることを目指す。ここでE[]は期待値を表し、tは時刻、γは後述する割引率と呼ばれるパラメータ、rtは時刻tにおける報酬、Σは時刻tによる合計である。この式における期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、分かっていないので、探索しながら学習することになる。このような価値Q(s,a)の更新式は、例えば、次の式(1)により表すことができる。
Figure 0006457382
上記の式(1)において、stは、時刻tにおける環境の状態を表し、atは、時刻tにおける行動を表す。行動atにより、状態はst+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、maxの付いた項は、状態st+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、学習係数で、0<α≦1の範囲とする。
上述した式(1)は、試行atの結果、帰ってきた報酬rt+1を元に、状態stにおける行動atの評価値Q(st,at)を更新する方法を表している。すなわち、状態sにおける行動aの評価値Q(st,at)よりも、報酬rt+1と行動aによる次の状態における最良の行動max aの評価値Q(st+1,max at+1)の合計の方が大きければ、Q(st,at)を大きくし、反対に小さければ、Q(st,at)を小さくすることを示している。つまり、或る状態における或る行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近付けるようにしている。
ここで、Q(s,a)の計算機上での表現方法は、すべての状態行動ペア(s,a)に対して、その値をテーブルとして保持しておく方法と、Q(s,a)を近似するような関数を用意する方法がある。後者の方法では、前述の式(1)は、確率勾配降下法などの手法で近似関数のパラメータを調整していくことにより、実現することができる。なお、近似関数としては、後述のニューラルネットワークを用いることができる。
また、教師あり学習、教師なし学習の誤差モデル、あるいは、強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。図2は、ニューロンのモデルを模式的に示す図であり、図3は、図2に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。すなわち、ニューラルネットワークは、例えば、図2に示すようなニューロンのモデルを模した演算装置およびメモリなどで構成される。
図2に示されるように、ニューロンは、複数の入力x(図2では、一例として入力x1〜入力x3)に対する出力(結果)yを出力するものである。各入力x(x1,x2,x3)には、この入力xに対応する重みw(w1,w2,w3)が掛けられる。これにより、ニューロンは、次の式(2)により表現される結果yを出力する。なお、入力x、結果yおよび重みwは、すべてベクトルである。また、下記の式(2)において、θは、バイアスであり、fkは、活性化関数である。
Figure 0006457382
図3を参照して、図2に示すニューロンを組み合わせて構成した三層のニューラルネットワークを説明する。図3に示されるように、ニューラルネットワークの左側から複数の入力x(ここでは、一例として、入力x1〜入力x3)が入力され、右側から結果y(ここでは、一例として、結果y1〜入力y3)が出力される。具体的に、入力x1,x2, x3は、3つのニューロンN11〜N13の各々に対して、対応する重みが掛けられて入力される。これらの入力に掛けられる重みは、まとめてw1と表記されている。
ニューロンN11〜N13は、それぞれ、z11〜z13を出力する。図3において、これらz11〜z13は、まとめて特徴ベクトルz1と表記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルz1は、重みw1と重みw2との間の特徴ベクトルである。z11〜z13は、2つのニューロンN21およびN22の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてw2と表記されている。
ニューロンN21,N22は、それぞれz21,z22を出力する。図3において、これらz21,z22は、まとめて特徴ベクトルz2と表記されている。この特徴ベクトルz2は、重みw2と重みw3との間の特徴ベクトルである。z21,z22は、3つのニューロンN31〜N33の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてw3と表記されている。
最後に、ニューロンN31〜N33は、それぞれ、結果y1〜結果y3を出力する。ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて、学習データセットを用いて重みWを学習し、そのパラメータを用いて予測モードにおいて、ロボットの行動判断を行う。なお、便宜上、予測と書いたが、検出・分類・推論など多様なタスクが可能なのはいうまでもない。
ここで、予測モードで実際にロボットを動かして得られたデータを即時学習し、次の行動に反映させる(オンライン学習)ことも、予め収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う(バッチ学習)こともできる。あるいは、その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
また、重みw1〜w3は、誤差逆伝搬法(誤差逆転伝播法:バックプロパゲーション:Backpropagation)により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力xが入力されたときの出力yと真の出力y(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。
このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である(深層学習と称される)。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。そこで、本実施形態の機械学習器2は、上述のQ学習を実施すべく、図1に示されるように、状態観測部21、学習部22、および、意思決定部25を備えている。ただし、本発明に適用される機械学習方法は、Q学習に限定されないのは前述した通りである。すなわち、機械学習器で用いることができる手法である「教師あり学習」、「教師なし学習」、「半教師あり学習」および「強化学習」などの様々な手法が適用可能である。
次に、本実施形態の産業機械における機械学習器2の動作の一例を説明する。図4は、図1に示す産業機械システムにおける機械学習器の動作の一例を示すフローチャートであり、図5は、図1に示す産業機械システムにおける制御装置のキャッシュロック処理の一例を説明するための図である。
図4に示されるように、機械学習が開始(学習スタート)すると、行動価値テーブルに基づいて機能命令を選択する(ステップST1)。すなわち、制御装置12は、行動価値テーブル(価値関数)によるアドレスおよびタイミングを取得して、選択された命令をキャッシュメモリ(L1キャッシュ31)にロックする(ステップST1)。図5は、制御装置12(CPU3)により実行されるシーケンスプログラムにおける機能命令Aに相当するメモリ領域が、L1キャッシュ31にロックされ、すなわち、L1キャッシュ31に格納保持される様子を示すものである。
ここで、図5に示すシーケンスプログラムでは、例えば、基本命令1および基本命令2が実行された後、機能命令Aを実行する場合、既にL1キャッシュ31に格納保持(ロック)された機能命令Aブロックに相当するメモリ領域を、L1キャッシュ31から読み出して(call)実行する。このとき、機能命令Aブロックに相当するメモリ領域は、L1キャッシュ31からそのまま(例えば、1サイクルタイムで)読み出すことができるため、機能命令Aを直ちに実行することが可能になる。
なお、機能命令Aの処理が終了すると、次の基本命令3に戻り(return)、さらに、基本命令4,基本命令5,…を実行する。そして、再び機能命令Aを実行する場合、基本命令2の後における機能命令Aの実行と同様に、L1キャッシュ31からそのまま読み出して実行することができる。
これに対して、例えば、機能命令Aブロックをキャッシュに格納しておらず、かつ、基本命令5から機能命令Aを再度実行するまでの間に挟まれる命令に相当するメモリ領域がL1キャッシュ31よりも大きい場合を考えると、一般的なキャッシュ管理機構を用いたとき、機能命令ブロックAは、L1キャッシュ31からL2キャッシュ32あるいは外部メモリ33に書き出されていることが多く、その場合、機能命令Aを実行するためには、L2キャッシュ32あるいは外部メモリ33にアクセスする必要がある。
このようにキャッシュのロックを適切に行うことにより、シーケンスプログラムを短時間で実行、すなわち、産業機械11による処理時間を短縮することができる。これは、例えば、予め定められた時間内に所定の処理を完了するように設定されたプログラムを実行するときでも、産業機械11を通常の速度で動作させることができ、あるいは、他の処理を省略することなく所定の処理を行うことができるため、処理精度(加工精度)を向上させることも可能になる。
再び、図4のフローチャートに戻り、加工時間(産業機械11による処理時間)を短縮できたかどうかを判定し(ステップST3)、加工時間を短縮できたと判定する(ステップST3:YES)と、加工精度(産業機械11による処理精度)が向上したかどうかを判定する(ステップST4)。ステップST3において、加工時間を短縮できなかったと判定する(NO)と、マイナス報酬を設定する(ステップST7)。また、ステップST4において、加工精度が向上したと判定する(YES)と、プラス報酬を設定し(ステップST5)、加工精度が向上しなかったと判定する(NO)と、報酬なし(零報酬)を設定する(ステップST6)。
そして、ステップST8において、ステップST5〜ST7における「プラス報酬」,「報酬なし」および「マイナス報酬」による報酬計算を行い、行動価値テーブルを更新し(ステップST9)、ステップST1に戻り、同様の処理を繰り返す。これにより、キャッシュロックする(L1キャッシュ31に格納保持する)機能命令を最適なものとして、産業機械11による加工時間の短縮および加工精度の向上を図ることができる。以上において、キャッシュメモリにロックするデータとして、機能命令を例として説明したが、本実施形態の適用は、機能命令に限定されるものではない。
図6は、本発明に係る産業機械システムの他の実施形態を概略的に示すブロック図であり、教師あり学習を適用したものを示す。図6と、前述した図1の比較から明らかなように、図6に示す教師あり学習を適用した産業機械システム1’は、図1に示すQ学習(強化学習)を適用した産業機械システム1において、教師データ(結果(ラベル)付きデータ)が提供されるようになっている。
図6に示されるように、教師あり学習を適用した産業機械システム1’における機械学習器4は、状態観測部41と、学習部42と、意思決定部45と、を備える。学習部42は、誤差計算部43と、誤差モデル更新部44と、を含む。ここで、誤差計算部43および誤差モデル更新部44は、それぞれ、図1に示すQ学習を適用した産業機械11における報酬計算部23および価値関数更新部24に相当する。なお、他の構成、例えば、産業機械11,制御装置12の構成は、前述した図1と同様であり、その説明は省略する。また、状態観測部41および意思決定部45も、図1のものと同様であり、その説明は省略する。
誤差計算部43は、状態観測部41の出力および教師データを受け取って、結果(ラベル)付きデータと学習部42に実装されている誤差モデルの出力との誤差を計算する。ここで、教師データは、例えば、制御装置12に入力するプログラム(産業機械1が処理する動作)が同一の場合、産業機械1に処理を行わせる所定日の前日までに得られた結果(ラベル)付きデータを保持し、その所定日に、結果(ラベル)付きデータを誤差計算部43に提供することができる。
あるいは、産業機械システム1’の外部で行われたシミュレーションなどにより得られたデータ、または、他の産業機械システムの結果(ラベル)付きデータを、メモリカードや通信回線により、その産業機械システム1’の誤差計算部43に提供することも可能である。さらに、結果(ラベル)付きデータ(教師データ)を、例えば、学習部42に内蔵したフラッシュメモリ(Flash Memory)などの不揮発性メモリに保持し、その不揮発性メモリに保持された結果(ラベル)付きデータを、そのまま学習部42で使用することもできる。
以上において、産業機械システム1を複数備えた製造システム(製造設備)を考えた場合、例えば、機械学習器2(4)は、産業機械システム1(1’)毎にそれぞれ設けられ、複数の産業機械システム1(1’)に設けられた複数の機械学習器2(4)は、例えば、通信媒体を介して相互にデータを共有または交換することが可能である。また、機械学習器2(4)は、クラウドサーバ上に存在させることも可能である。
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
1 産業機械システム
2,4 機械学習器
11 産業機械(工作機械,ロボットなど)
12 制御装置(CNC装置,ロボット制御装置など)
21,41 状態観測部
22,42 学習部
23 報酬計算部
24 価値関数更新部
25,45 意思決定部
43 誤差計算部
44 誤差モデル更新部

Claims (15)

  1. キャッシュメモリを使用する演算処理装置を含む制御装置により産業機械の処理を制御し、前記キャッシュメモリにロックするデータを学習する機械学習器であって、
    前記産業機械の状態を観測する状態観測部と、
    前記状態観測部により観測された状態に基づいて、前記キャッシュメモリにロックするデータを規定する操作を学習する学習部と、を備える、
    ことを特徴とする機械学習器。
  2. 前記状態観測部は、
    前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量を観測し、
    前記学習部は、
    前記状態観測部により観測された前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量に基づいて、前記キャッシュメモリにロックするデータを決定する操作量を更新する、
    ことを特徴とする請求項1に記載の機械学習器。
  3. 前記産業機械は、
    前記制御装置により制御される所定の処理に要する時間を計測し、
    前記状態観測部は、
    前記所定の処理に要する時間を観測する、
    ことを特徴とする請求項2に記載の機械学習器。
  4. 前記産業機械は、
    前記制御装置により制御される所定の加工による精度を計測し、
    前記状態観測部は、
    前記所定の加工による精度を観測する、
    ことを特徴とする請求項2または請求項3に記載の機械学習器。
  5. さらに、
    前記学習部が学習した操作量を参照して、前記キャッシュメモリにロックするデータを決定する意思決定部を備える、
    ことを特徴とする請求項2乃至請求項4のいずれか1項に記載の機械学習器。
  6. 前記学習部は、
    前記状態観測部の出力に基づいて報酬を計算する報酬計算部と、
    前記状態観測部および前記報酬計算部の出力に基づいて、前記キャッシュメモリにロックするデータの価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備える、
    ことを特徴とする請求項2乃至請求項5のいずれか1項に記載の機械学習器。
  7. 前記学習部は、
    前記状態観測部の出力、および、入力された教師データに基づいて誤差を計算する誤差計算部と、
    前記状態観測部および前記誤差計算部の出力に基づいて、前記キャッシュメモリにロックするデータの誤差を定める誤差モデルを更新する誤差モデル更新部と、を備える、
    ことを特徴とする請求項2乃至請求項5のいずれか1項に記載の機械学習器。
  8. 前記機械学習器は、ニューラルネットワークを備える、
    ことを特徴とする請求項1乃至請求項7のいずれか1項に記載の機械学習器。
  9. 前記キャッシュメモリにロックするデータは、前記演算処理装置が実行するプログラムにおける機能命令である、
    ことを特徴とする請求項1乃至請求項8のいずれか1項に記載の機械学習器。
  10. 制御装置と、産業機械と、請求項1乃至請求項9のいずれか1項に記載の機械学習器と、を備える産業機械システムであって、
    前記制御装置は、キャッシュメモリを使用する演算処理装置を含み、
    前記産業機械は、前記演算処理装置が実行するプログラムに基づいて処理が制御される、
    ことを特徴とする産業機械システム。
  11. 請求項10に記載の産業機械システムを複数備える製造システムであって、
    前記機械学習器は、それぞれの前記産業機械システムに設けられ、
    複数の前記産業機械システムに設けられた複数の前記機械学習器は、通信媒体を介して相互にデータを共有または交換するようになっている、
    ことを特徴とする製造システム。
  12. 前記機械学習器は、クラウドサーバ上に存在する、
    ことを特徴とする請求項11に記載の製造システム。
  13. キャッシュメモリを使用する演算処理装置を含む制御装置により産業機械の処理を制御し、前記キャッシュメモリにロックするデータを学習する機械学習方法であって、
    前記産業機械の状態を観測し、
    前記観測された状態に基づいて、前記キャッシュメモリにロックするデータを規定する操作を更新する、
    ことを特徴とする機械学習方法。
  14. 前記産業機械の状態を観測するのは、
    前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量を観測し、
    前記キャッシュメモリにロックするデータを規定する操作を更新するのは、
    観測された前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量に基づいて、前記キャッシュメモリにロックするデータを決定する操作量を更新する、
    ことを特徴とする請求項13に記載の機械学習方法。
  15. キャッシュメモリを使用する演算処理装置を含む制御装置により産業機械の処理を制御し、前記キャッシュメモリにロックするデータを学習する機械学習プログラムであって、
    前記演算処理装置に、
    前記産業機械の状態を観測し、
    前記観測された状態に基づいて、前記キャッシュメモリにロックするデータを規定する操作を更新する、処理を実行させる、
    ことを特徴とする機械学習プログラム。
JP2015257438A 2015-12-28 2015-12-28 キャッシュロックを学習する機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラム Active JP6457382B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015257438A JP6457382B2 (ja) 2015-12-28 2015-12-28 キャッシュロックを学習する機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015257438A JP6457382B2 (ja) 2015-12-28 2015-12-28 キャッシュロックを学習する機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラム

Publications (2)

Publication Number Publication Date
JP2017120587A JP2017120587A (ja) 2017-07-06
JP6457382B2 true JP6457382B2 (ja) 2019-01-23

Family

ID=59272293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015257438A Active JP6457382B2 (ja) 2015-12-28 2015-12-28 キャッシュロックを学習する機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラム

Country Status (1)

Country Link
JP (1) JP6457382B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019141869A (ja) * 2018-02-19 2019-08-29 ファナック株式会社 制御装置及び機械学習装置
JP6781191B2 (ja) 2018-05-24 2020-11-04 ファナック株式会社 プログラマブルコントローラ及び機械学習装置
JP6893750B2 (ja) * 2018-09-14 2021-06-23 株式会社日本製鋼所 射出成形機、射出成形機の状態報知システム、射出成形機の状態報知方法
JP7436192B2 (ja) * 2019-12-05 2024-02-21 ファナック株式会社 制御装置及び産業機械
KR20210101982A (ko) * 2020-02-11 2021-08-19 삼성전자주식회사 스토리지 장치 및 메모리 컨트롤러의 동작 방법
CN114228008B (zh) * 2021-12-20 2023-08-11 深圳市友联精诚塑胶制品有限公司 一种塑胶成型方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05225167A (ja) * 1991-11-25 1993-09-03 Hitachi Ltd データ処理装置
US8965819B2 (en) * 2010-08-16 2015-02-24 Oracle International Corporation System and method for effective caching using neural networks
JP5808450B1 (ja) * 2014-04-04 2015-11-10 ファナック株式会社 マルチコアプロセッサを使用して逐次プログラムを実行する制御装置

Also Published As

Publication number Publication date
JP2017120587A (ja) 2017-07-06

Similar Documents

Publication Publication Date Title
JP6457382B2 (ja) キャッシュロックを学習する機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラム
US11836625B2 (en) Training action selection neural networks using look-ahead search
JP6616170B2 (ja) コアシートの積層動作を学習する機械学習器、積層コア製造装置、積層コア製造システムおよび機械学習方法
JP6963627B2 (ja) 畳み込みニューラルネットワークのためのニューラルアーキテクチャ検索
CN106560751B (zh) 机器学习装置、机器学习方法及具备机器学习装置的机床
JP7258965B2 (ja) ニューラルネットワークを使用する強化学習のための行動選択
JP6438450B2 (ja) レーザ加工ロボットの加工順序を学習する機械学習装置、ロボットシステムおよび機械学習方法
US9256823B2 (en) Apparatus and methods for efficient updates in spiking neuron network
CN110315505A (zh) 机器学习装置及方法、机器人控制装置、机器人视觉系统
JP2017138881A (ja) 操作メニューの表示を学習する機械学習器,数値制御装置,工作機械システム,製造システムおよび機械学習方法
CN109032078A (zh) 机器学习装置、控制装置以及计算机可读介质
CN109690576A (zh) 在多个机器学习任务上训练机器学习模型
JP2018004473A (ja) 軸受の予測寿命を学習する機械学習装置、寿命予測装置および機械学習方法
US20200372342A1 (en) Systems and methods for predictive early stopping in neural network training
JP6659652B2 (ja) 加工条件調整装置及び機械学習装置
CN110531705A (zh) 可编程控制器以及机器学习装置
JPWO2016047118A1 (ja) モデル評価装置、モデル評価方法、及び、プログラム記録媒体
US11897066B2 (en) Simulation apparatus
Cremanns et al. Deep Gaussian covariance network
Duell et al. Solving partially observable reinforcement learning problems with recurrent neural networks
CN109725597A (zh) 测试装置以及机器学习装置
US20190188581A1 (en) Switching from calendar-based to predictive maintenance: a leaner and faster software-based solution orchestrating data-driven forecasting models
JP2021501433A (ja) ターゲットシステム用制御システムの生成
CN113614743A (zh) 用于操控机器人的方法和设备
CN117250914A (zh) 制造过程捕获的测量数据训练机器学习模型的方法和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181220

R150 Certificate of patent or registration of utility model

Ref document number: 6457382

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150