JP2019003271A - 機械学習装置、制御装置及び機械学習プログラム - Google Patents
機械学習装置、制御装置及び機械学習プログラム Download PDFInfo
- Publication number
- JP2019003271A JP2019003271A JP2017115221A JP2017115221A JP2019003271A JP 2019003271 A JP2019003271 A JP 2019003271A JP 2017115221 A JP2017115221 A JP 2017115221A JP 2017115221 A JP2017115221 A JP 2017115221A JP 2019003271 A JP2019003271 A JP 2019003271A
- Authority
- JP
- Japan
- Prior art keywords
- control device
- machine learning
- information
- core
- control
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
- G05B19/4142—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/408—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
- G05B19/4083—Adapting programme, configuration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/404—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33038—Real time online learning, training, dynamic network
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33056—Reinforcement learning, agent acts, receives reward, emotion, action selective
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34013—Servocontroller
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36456—Learning tool holding dynamics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Numerical Control (AREA)
- Feedback Control In General (AREA)
Abstract
【解決手段】工作機械を制御する複数のプロセスを複数の演算部にて並列に実行する制御装置に対して、強化学習を行う機械学習装置が、前記複数のプロセスを実行する演算部の割り当てを含んだ行動情報を、前記制御装置に対して出力する行動情報出力手段と、前記工作機械に設定した加工に関しての条件である加工条件と、前記行動情報に含まれる割り当てに基づいた前記複数の演算部による前記複数のプロセスの実行を監視することにより生成された判定情報と、を含む状態情報を取得する状態情報取得手段と、前記状態情報に含まれる前記判定情報に基づいて、強化学習における報酬の値を算出する報酬算出手段と、前記報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する価値関数更新手段と、を備える。
【選択図】図4
Description
更に、工作機械の制御装置は、軸の制御に限らず、通信機能や表示機能、信号の入出力機能などを備えており、これらの機能の全てを滞りなく実行する必要もある。
また、複数の演算部による並列処理を効率化させるための技術が、特許文献2から特許文献5に開示されている。
例えば、特許文献2には、OS(Operating System)間で負荷分散を行うことにより、各コアの稼働率を均等化する技術が開示されている。また、特許文献3には、キャッシュのヒット率を向上させるための技術が開示されている。更に、特許文献4及び特許文献5には、処理を分割して分散することで、単位時間あたりの処理量を増やすための技術が開示されている。
しかしながら、特許文献2に開示の技術では、各コアの稼働率は均等化できても、コア間の通信量や、各コアの消費電力量や発熱量を最適化することは難しい。また、特許文献3、特許文献4及び特許文献5に開示の技術では、単位時間あたりの処理量を増やすことはできても、加工条件に応じた最適な処理分散パターンを確立することはできない。
また、仮に各特許文献の技術を併用したとしても、トレードオフの関係にある項目間では、相互関係を数式化するのは難しく、膨大なデータから最適解を求めるのは非常に困難である。
<実施形態の全体構成>
図1は本実施形態である機械学習システム1の全体構成を示す機能ブロック図である。図1に示すように機械学習システム1は、機械学習装置100、制御装置シミュレータ200、制御装置300及び工作機械400を含んで構成される。
機械学習装置100は、パーソナルコンピュータやサーバ装置や数値制御装置等により実現できる。
制御装置シミュレータ200も、機械学習装置100と同様にパーソナルコンピュータやサーバ装置や数値制御装置等により実現できる。
制御装置300は、複数の演算部として、複数のコア(マルチコア)を含んだプロセッサ、あるいは複数のプロセッサ(マルチプロセッサ)を備えた数値制御装置により実現できる。
なお、図中では、制御装置300が仮想的に再現されたものではないことを示すために「(実機)」の文言を記載する。
なお、図中では、これら装置を1台ずつ図示するが、これら装置の台数に制限はなく、その接続も1対1のみならず、1対多や、多対多の接続であってもよい。
次に、制御装置シミュレータ200が備える機能ブロックについて図2を参照して説明をする。
図2に示すように、制御装置シミュレータ200は、第1制御プロセス群210、第2制御プロセス群220、オペレーティングシステム230及びプロセッサ240を含んで構成される。
また、前処理は、加工プログラムから、移動量を計算するための中間コードを生成する制御プロセスである。
また、通信制御は、イーサネット(登録商標)やシリアル通信による外部機器(パーソナルコンピュータやセンサ類等)との通信を制御する制御プロセスである。
また、表示操作は、制御装置の表示画面の作成、およびキー入力等を制御する制御プロセスである。また、工具管理は、加工に用いる工具情報を管理する制御プロセスである。
また、デバイス管理は、USB(Universal Serial Bus)メモリやSD(Secure Digital)カード等のデバイスを制御する制御プロセスである。
具体的には、第1マルチコア制御部232は、制御プロセスを実行するコアを固定したAMP(Asymmetrical multi−processing)型の制御を行う。第1マルチコア制御部232は、第1制御プロセス群210に含まれる制御プロセスを第1コア241に割り当てて、第1コア241に割り当てた制御プロセスを実行させる。
なお、説明を簡単にするために、制御プロセスを割り当てると表現しているが、実際には、制御プロセスに含まれる独立した1つ以上のタスクまたはスレッドを単位として割り当てる。この場合、タスクまたはスレッドを適切に実行するために、1つのタスクまたはスレッドの開始から終了までは、同一の各コア上で実行するようにする。つまり、タスク、またはスレッドの実行途中で、実行する各コアを変更しないようにする。
なお、制御装置シミュレータ200は、制御装置300を仮想的に再現する装置であり、プロセッサ240のコア数や動作周波数等は、制御装置300に含まれるプロセッサを仮想的に再現したものとなる。つまり、プロセッサ240は、制御装置シミュレータ200が実際にハードウェアとして備える演算処理装置のコア数や動作周波数に限定されない。
つまり、2つの制御形式を併用することにより、一定のリアルタイム性を保証した上で、効果的な処理分散の最適化を行うことが可能となる。
次に、図3を参照して、第1マルチコア制御部232と第2マルチコア制御部233にて各コアに割り当てられた制御プロセスの実行について説明をする。
各コアは、割り当てられた制御プロセスの実行を、所定の長さの周期で、所定回数に分けて行う。例えば、図3に実行状態T1〜実行状態T4として示すように、所定の長さの周期(例えば、数msec)で、4回に分けて行う。
なお、この例に示すように、各制御プロセスは、1周期で実行される場合もあるし、複数周期にまたがって実行される場合もある。
上述した、各制御プロセスの各コアへの割り当て、及び各コアによる制御プロセスの実行と並行して、機械学習装置100による機械学習が行われる。
この機械学習のために機械学習装置100と制御装置シミュレータ200の間では、図2に示すように所定の情報が送受信される。具体的には、ユーザが設定した加工条件が制御装置シミュレータ200から機械学習装置100に対して出力される。また、上述したようにして監視部231が生成した判定条件も制御装置シミュレータ200から機械学習装置100に対して出力される。更に、行動情報が機械学習装置100から制御装置シミュレータ200に対して出力される。
機械学習装置100は、これらの入力及び出力に基づいて機械学習の1つである強化学習を行う。
強化学習において、エージェント(本実施形態における機械学習装置100に相当)は、環境(本実施形態における制御装置シミュレータ200に相当)の状態を観測し、ある行動を選択し、当該行動に基づいて環境が変化する。環境の変化に伴って、何らかの報酬が与えられ、エージェントはより良い行動の選択(意思決定)を学習する。
教師あり学習が、完全な正解を示すのに対して、強化学習における報酬は、環境の一部の変化に基づく断片的な値であることが多い。このため、エージェントは、将来にわたっての報酬の合計を最大にするように行動を選択するように学習する。
Q学習では、或る状態sのとき、取り得る行動aのなかから、価値Q(s,a)の最も高い行動aを最適な行動として選択することを目的とする。
この更新式は、状態stにおける行動atの価値Q(st,at)よりも、行動atによる次の状態st+1における最良の行動の価値maxa Q(st+1,a)の方が大きければ、Q(st,at)を大きくし、逆に小さければ、Q(st,at)を小さくすることを示している。つまり、或る状態における或る行動の価値を、それによる次の状態における最良の行動の価値に近づける。ただし、その差は、割引率γと報酬rt+1のあり方により変わってくるが、基本的には、ある状態における最良の行動の価値が、それに至る一つ前の状態における行動の価値に伝播していく仕組みになっている。
「Human-level control through deep reinforcement learning」、Volodymyr Mnih1著[online]、[平成29年6月1日検索]、インターネット〈URL:http://files.davidqiu.com/research/nature14236.pdf〉
具体的には、機械学習装置100は、制御装置シミュレータ200から出力された加工条件と、制御装置シミュレータ200から出力された判定情報とにより特定される状態を環境状態sとして観測し、当該環境状態sにて制御プロセスを割り当てるコアと制御プロセスの実行順序との調整を行動aとして選択して価値Qを学習する。
機械学習装置100は、価値Qの学習のために、行動aをするたびに報酬を算出する。そして、機械学習装置100は、例えば、将来にわたっての報酬の合計が最大になるように最適な行動aを試行錯誤的に探索する。そうすることで、機械学習装置100は、環境状態sに対して、最適な行動aを選択することが可能となる。
次に、図4を参照して、上述した強化学習を行う機械学習装置100の機能ブロックについて説明をする。
図4に示すように、機械学習装置100は、状態情報取得部110、学習部120、行動情報出力部130、価値関数記憶部140、及び最適化行動情報出力部150を備える。また、学習部120は報酬算出部121、価値関数更新部122、及び行動情報生成部123を備える。
状態情報取得部110は、取得した状態情報sを学習部120に対して出力する。
報酬は状態情報sに含まれる判定情報を用いた判定により行われる。判定条件は任意のものを用いてよい。判定条件の例としては、以下の判定条件1〜判定条件5が挙げられる。
稼働率の差が大きい場合→報酬減とする
稼働率の差が小さい場合→報酬増とする
処理量が多い場合→報酬増とする
処理量が少い場合→報酬減とする
通信量が多い場合→報酬減とする
通信量が少い場合→報酬増とする
消費電力又は発熱量が多い場合→報酬減とする
消費電力又は発熱量が少い場合→報酬増とする
キャッシュヒット率が高い→報酬増とする
キャッシュヒット率が低い→報酬減とする
オンライン学習とは、或る行動aを現在の状態sに適用することにより、状態sが新たな状態s´に遷移する都度、即座に価値関数Qの更新を行うという学習方法である。また、バッチ学習とは、或る行動aを現在の状態sに適用することにより、状態sが新たな状態s´に遷移することを繰り返すことにより、学習用のデータを収集し、収集した全ての学習用データを用いて、価値関数Qの更新を行うという学習方法である。更に、ミニバッチ学習とは、オンライン学習と、バッチ学習の中間的な、ある程度学習用データが溜まるたびに価値関数Qの更新を行うという学習方法である。
以上のように、機械学習装置100を利用することで、制御装置300における、各制御プロセスを実行するコアの指定と、その実行順序とを最適化することが可能となる。
次に、図5を参照して、制御装置300の機能ブロックについて説明をする。ここで、上述した制御装置シミュレータ200は、制御装置300の機能を仮想的に再現したシミュレータである。従って、制御装置300は、制御装置シミュレータ200と同等の機能を有する。つまり、上述した制御装置シミュレータ200の説明における各機能ブロックの説明を、制御装置300における同名の機能ブロックの説明に読み替えれば、制御装置300の説明となる。そのため、ここでは、重複する説明は省略する。
また、制御装置300には、制御装置シミュレータ200と同等の加工条件が設定される。加工条件の詳細については、制御装置シミュレータ200の説明の際に上述しているので、ここでは、重複する説明は省略する。
これらの機能ブロックを実現するために、機械学習装置100、制御装置シミュレータ200及び制御装置300のそれぞれは、CPU等の演算処理装置を備える。また、機械学習装置100、制御装置シミュレータ200及び制御装置300のそれぞれは、アプリケーションソフトウェアやOS等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
次に、図6のフローチャートを参照して本実施形態におけるQ学習時の機械学習装置100の動作について説明をする。
従って、状態情報s´には、監視部231による監視結果に基づいて生成された判定情報が含まれておればよく、加工条件は含まれていなくともよい。この場合、状態情報取得部110は、ステップS11にて取得済みの加工条件を状態情報s´に含ませるようにすればよい。
取得した状態情報s´は、報酬算出部121に対して出力される。
報酬がゼロとなった場合は、ステップS15にて「ゼロ」となり、ステップS17に進む。そして、ステップS17にて報酬としてゼロを価値関数更新部122に対して出力する。
報酬が負の値となった場合は、ステップS15にて「負の値」となり、ステップS18に進む。そして、ステップS18にて報酬として負の値を価値関数更新部122に対して出力する。
ステップS16、ステップS17及びステップS18の何れかが終了すると、処理はステップS19に進む。
一方で、強化学習を終了する条件が満たされた場合には、ステップS20においてYesと判定され、処理は終了する。
まず、ステップS31において、状態情報取得部110が制御装置300から状態情報sを取得する。
以上のように、本発明に係る機械学習装置100を利用することで、複数の演算部を有する装置において、効果的な処理分散を行うことが可能となる。
次に、制御装置300にて、最適化行動情報に基づいて、各制御プロセスを実行するコアの指定と、その実行順序とを最適化した状態について図8を参照して説明をする。本説明では、制御装置300が、加工条件S1、加工条件S2及び加工条件S3の状態を繰り返し遷移する場合を想定する。
制御装置300は、加工条件Snを含んだ状態情報sを、機械学習装置100に入力する。これに応じて機械学習装置100は、加工条件Snにおける最適なコアの割り当てを指示した行動情報を制御装置300に対して提供する。
図中には、制御装置300から加工条件Sn、実行状態Tnにおける行動出力が下記のように提供された場合を示す。
実行状態T1:第2コア342で前処理、第3コア343で拡張軸制御、第4コア344で表示操作を実行
実行状態T2:第2コア342で前処理、第3コア343で通信制御、第4コア344で表示操作を実行
実行状態T3:第2コア342で前処理、第3コア343で通信制御、第4コア344で工具管理を実行
実行状態T4:第2コア342で前処理、第3コア343で通信制御、第4コア344でデバイス管理を実行
実行状態T1:第2コア342で前処理、第3コア343で拡張軸制御、第4コア344で表示操作を実行
実行状態T2:第2コア342で前処理、第3コア343で通信制御、第4コア344で表示操作を実行
実行状態T3:第2コア342で前処理、第3コア343で通信制御、第4コア344で工具管理を実行
実行状態T4:第2コア342でデバイス管理、第3コア343で通信制御、第4コア344で工具管理を実行
実行状態T1:第2コア342で拡張軸制御、第3コア343で通信制御、第4コア344で前処理を実行
実行状態T2:第2コア342で拡張軸制御、第3コア343でデバイス管理、第4コア344で前処理を実行
実行状態T3:第2コア342で拡張軸制御、第3コア343でデバイス管理、第4コア344で工具管理を実行
実行状態T4:第2コア342で表示操作、第3コア343でデバイス管理、第4コア344で工具管理を実行
このように、本実施形態によれば、制御プロセスを実行するコアと、その実行順序との割り当てを、複数の加工条件それぞれに応じて、最適化することが可能となる。
次に、本実施形態が奏する効果についてより詳細に説明する。
前提として、制御装置による工作機械の制御では、パラメータ設定や運転モード、運転する加工プログラムなどの加工条件により、リアルタイムに制御する対象軸や、実行する処理の優先度が大幅に変化する。これは、汎用のアプリケーションによる制御と異なり、工作機械の制御に特有の特徴である。
例えば、特許文献1から特許文献5に開示の技術のような一般的な技術ではこれらの問題を解決することは困難であった。
まず、コア間の稼働率の差を減らすことで、均等化された無駄のない稼動状態とすることができる。また、コア間通信量を減らすこと、および単位時間あたりの処理量を増やすことで、システム全体のスループットを向上することができる。更に、消費電力量や発熱量を小さくした省エネ運転、および発熱による故障の回避をすることができる。
このように、本実施形態によれば、従来に比してより有利な効果を奏することができる。
上述の実施形態では、強化学習装置機械学習装置100が強化学習を行うために、ユーザが強化学習の対象とする加工条件を制御装置シミュレータ200に設定していた。しかしながら、強化学習の対象としたい加工条件が多数存在するような場合には、ユーザが逐一加工条件を入力することは煩雑である。
これにより、ユーザの負担を軽減した上で、様々な加工条件について強化学習を行うことが可能となる。
運用フェーズにおいて、強化学習の対象としたことがない未知の加工条件が含まれた状態情報sが入力された場合には、この未知の加工条件について最適化された行動情報を出力することができない。
ここで、加工条件変更部600が既知の加工条件の中から、未知の加工条件に最も近似する加工条件を選択する方法について図11を参照して説明をする。
上述したように加工条件には様々な情報が含まれている。この様々な情報の内、運転モード、加工プログラム、及びコアの稼働状況については、加工条件Saに一致していることが望ましい。そのため、未知の加工条件Saとはコアの稼働状況が異なっている加工条件Scは、選択する候補から除外する。
なお、何れの項目を比較する対象の情報とするかはユーザの設定等に応じて任意に選択可能とする。
上述した実施形態では、機械学習装置100、制御装置シミュレータ200、制御装置300を、それぞれ別体の装置により構成したが、これら別体となっている装置の機能の一部又は全部を同一の装置により実現するようにしてもよい。
100 機械学習装置
110 状態情報取得部
120 学習部
121 報酬算出部
122 価値関数更新部
123 行動情報生成部
130 行動情報出力部
140 価値関数記憶部
150 最適化行動情報出力部
200 制御装置シミュレータ
210、310 第1制御プロセス群
220、320 第2制御プロセス群
230、330 オペレーティングシステム
231、331 監視部
232、332 第1マルチコア制御部
233、333 第2マルチコア制御部
240、340 プロセッサ
241、341 第1コア
242、342 第2コア
243、343 第3コア
244、344 第4コア
300 制御装置
400 工作機械
500 加工条件生成部
600 加工条件変更部
Claims (9)
- 工作機械を制御する複数のプロセスを複数の演算部にて並列に実行する制御装置に対して、強化学習を行う機械学習装置であって、
前記複数のプロセスを実行する演算部の割り当てを含んだ行動情報を、前記制御装置に対して出力する行動情報出力手段と、
前記工作機械に設定した加工に関しての条件である加工条件と、前記行動情報に含まれる割り当てに基づいた前記複数の演算部による前記複数のプロセスの実行を監視することにより生成された判定情報と、を含む状態情報を取得する状態情報取得手段と、
前記状態情報に含まれる前記判定情報に基づいて、強化学習における報酬の値を算出する報酬算出手段と、
前記報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する価値関数更新手段と、
を備える機械学習装置。 - 前記複数の演算部は、前記複数のプロセスを所定の周期で所定回数に分けて実行し、
前記価値関数更新手段は、前記複数の演算部において、前記複数のプロセスが終了する都度、前記行動価値関数を更新し、
前記行動情報出力手段は、前記複数の演算部において、前記複数のプロセスが終了する都度、割り当て内容を変更した行動情報を前記制御装置に対して出力する、
請求項1に記載の機械学習装置。 - 前記行動情報に含まれる前記割り当ては、前記複数の演算部のそれぞれが実行するプロセスの指定と、プロセスを実行する順序とを含み、
前記行動情報出力手段は、前記割り当て内容を変更した行動情報として、前記複数の演算部のそれぞれが実行するプロセスの指定と、プロセスを実行する順序の少なくとも何れかを変更した行動情報を、前記制御装置に対して出力する請求項2に記載の機械学習装置。 - 前記複数の演算部の内の一部の演算部については割り当てられるプロセスが固定されており、
前記行動情報出力手段は、前記割り当て内容を変更した行動情報として、割り当てられるプロセスが固定されていない演算部についての割り当て内容を変更した行動情報を出力する請求項2又は3に記載の機械学習装置。 - 当該機械学習装置により行われる強化学習は、シミュレータにより仮想的に再現された前記制御装置に対して行われ、
前記強化学習終了後、前記制御装置の実機から取得した状態情報と、前記強化学習により学習された行動価値関数と、に基づいて前記行動情報を生成し、生成した行動情報を前記制御装置の実機に対して出力する最適化行動情報出力部を更に備える請求項1から請求項4の何れか1項に記載の機械学習装置。 - 前記制御装置の実機から取得した状態情報に含まれる加工条件が、未だ強化学習の対象としていない加工条件であった場合に、当該加工条件を、加工条件の内容の一部が一致する加工条件であって機械学習の対象としたことのある他の加工条件に変更する加工条件変更手段を更に備え、
前記最適化行動情報出力部は、前記加工条件変更部により加工条件が変更された状態情報と、前記他の加工条件に応じた前記強化学習により学習された行動価値関数とに基づいて前記行動情報を生成し、生成した前記行動情報を前記制御装置の実機に対して出力する請求項5に記載の機械学習装置。 - 前記加工条件を生成し、生成した加工条件を前記制御装置に対して設定する加工条件生成手段を更に備える請求項1から請求項6の何れか1項に記載の機械学習装置。
- 前記制御装置であって、請求項1から請求項7の何れか1項に記載の強化学習装置を備える制御装置。
- 工作機械を制御する複数のプロセスを複数の演算部にて並列に実行する制御装置に対して、強化学習を行う機械学習装置としてコンピュータを機能させる機械学習プログラムであって、
前記複数のプロセスを実行する演算部の割り当てを含んだ行動情報を、前記制御装置に対して出力する行動情報出力手段と、
前記工作機械に設定した加工に関しての条件である加工条件と、前記行動情報に含まれる割り当てに基づいた前記複数の演算部による前記複数のプロセスの実行を監視することにより生成された判定情報と、を含む状態情報を取得する状態情報取得手段と、
前記状態情報に含まれる前記判定情報に基づいて、強化学習における報酬の値を算出する報酬算出手段と、
前記報酬の値と、前記状態情報と、前記行動情報とに基づいて行動価値関数を更新する価値関数更新手段と、
を備える機械学習装置として前記コンピュータを機能させる機械学習プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017115221A JP6530783B2 (ja) | 2017-06-12 | 2017-06-12 | 機械学習装置、制御装置及び機械学習プログラム |
US15/981,356 US10705506B2 (en) | 2017-06-12 | 2018-05-16 | Reinforcement learning to allocate processes to a machine tool controller |
CN201810588871.8A CN109032078B (zh) | 2017-06-12 | 2018-06-08 | 机器学习装置、控制装置以及计算机可读介质 |
DE102018209149.8A DE102018209149B4 (de) | 2017-06-12 | 2018-06-08 | Maschinenlernvorrichtung, Steuerung und Maschinenlernprogramm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017115221A JP6530783B2 (ja) | 2017-06-12 | 2017-06-12 | 機械学習装置、制御装置及び機械学習プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019003271A true JP2019003271A (ja) | 2019-01-10 |
JP6530783B2 JP6530783B2 (ja) | 2019-06-12 |
Family
ID=64332752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017115221A Active JP6530783B2 (ja) | 2017-06-12 | 2017-06-12 | 機械学習装置、制御装置及び機械学習プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US10705506B2 (ja) |
JP (1) | JP6530783B2 (ja) |
CN (1) | CN109032078B (ja) |
DE (1) | DE102018209149B4 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020035975A1 (ja) * | 2018-08-17 | 2020-02-20 | 三菱電機株式会社 | 数値制御装置 |
JP2020183816A (ja) * | 2019-04-26 | 2020-11-12 | ダイキン工業株式会社 | 熱源システム、目標運転容量推定方法、目標運転容量推定プログラム |
JP2021515352A (ja) * | 2019-01-30 | 2021-06-17 | モビイス カンパニー リミテッド | 人工神経網シミューレーターと強化学習制御器を使用した実時間加速器の制御システム |
WO2021152852A1 (ja) * | 2020-01-31 | 2021-08-05 | 三菱電機株式会社 | 制御装置、機械学習装置、および、制御方法 |
WO2022162787A1 (ja) * | 2021-01-27 | 2022-08-04 | 三菱電機株式会社 | 数値制御システム、タスク割り当て変更装置及び数値制御方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10386817B1 (en) * | 2015-09-11 | 2019-08-20 | Haas Automation, Inc. | Multi-core processing machine tool control system |
US10948883B2 (en) * | 2017-09-20 | 2021-03-16 | Rockwell Automation Technologies, Inc. | Machine logic characterization, modeling, and code generation |
US10417556B1 (en) * | 2017-12-07 | 2019-09-17 | HatchB Labs, Inc. | Simulation-based controls optimization using time series data forecast |
WO2020032947A1 (en) * | 2018-08-09 | 2020-02-13 | Siemens Aktiengesellschaft | Manufacturing process control using constrained reinforcement machine learning |
CN111505944B (zh) * | 2019-01-30 | 2021-06-11 | 珠海格力电器股份有限公司 | 节能控制策略学习方法、实现空调节能控制的方法及装置 |
JP2020131353A (ja) * | 2019-02-19 | 2020-08-31 | パナソニックIpマネジメント株式会社 | 研磨加工システム、学習装置、学習装置の学習方法 |
EP3936224A4 (en) * | 2019-03-08 | 2022-04-27 | FUJIFILM Corporation | DATA GENERATING DEVICE, DATA GENERATING METHOD, LEARNING DEVICE AND LEARNING METHOD |
CN110244626B (zh) * | 2019-06-21 | 2021-09-14 | 南京邮电大学 | 基于强化学习的多用户水产养殖自动调控系统及方法 |
EP4007942A1 (en) * | 2019-09-19 | 2022-06-08 | Siemens Aktiengesellschaft | Method for self-learning manufacturing scheduling for a flexible manufacturing system and device |
JP2022548836A (ja) * | 2019-09-19 | 2022-11-22 | シーメンス アクチエンゲゼルシヤフト | 状態行列を用いたフレキシブル生産システムおよび装置のための自己学習型製造スケジューリング方法 |
JP6966655B2 (ja) * | 2019-09-30 | 2021-11-17 | 株式会社日立情報通信エンジニアリング | 状態予測システム |
WO2021092490A1 (en) * | 2019-11-06 | 2021-05-14 | D.P. Technology Corp. | Systems and methods for virtual environment for reinforcement learning in manufacturing |
EP3825263A1 (de) * | 2019-11-20 | 2021-05-26 | Siemens Aktiengesellschaft | Verfahren zur computer-implementierten konfiguration einer geregelten antriebsapplikation eines logistiksystems |
US11429869B2 (en) * | 2019-11-21 | 2022-08-30 | International Business Machines Corporation | Artificially intelligent interaction agent |
DE102020107623A1 (de) | 2020-03-19 | 2021-09-23 | Trumpf Werkzeugmaschinen Gmbh + Co. Kg | Computerimplementiertes verfahren zum erstellen von steuerungsdatensätzen, cad-cam-system und fertigungsanlage |
KR102169876B1 (ko) * | 2020-05-22 | 2020-10-27 | 주식회사 애자일소다 | 조건부 에피소드 구성을 이용한 강화학습 장치 및 방법 |
CN111633469A (zh) * | 2020-06-11 | 2020-09-08 | 深圳市彼络科技有限公司 | 一种基于强化学习的自动刀具补偿方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000076087A (ja) * | 1998-08-28 | 2000-03-14 | Hitachi Ltd | マルチオペレーティングシステム制御方法 |
JP2009163527A (ja) * | 2008-01-08 | 2009-07-23 | Hitachi Ltd | Os間で負荷分散する情報処理システム |
JP2014035564A (ja) * | 2012-08-07 | 2014-02-24 | Fanuc Ltd | マルチコアプロセッサを有する数値制御装置 |
JP2015200947A (ja) * | 2014-04-04 | 2015-11-12 | ファナック株式会社 | マルチコアプロセッサを使用して逐次プログラムを実行する制御装置 |
JP2016012221A (ja) * | 2014-06-27 | 2016-01-21 | ファナック株式会社 | 加工プログラム指令内容に応じてcpu負荷を分散可能な数値制御装置 |
JP2016051258A (ja) * | 2014-08-29 | 2016-04-11 | ファナック株式会社 | 複数軸の軸制御処理を分散して実行可能な数値制御装置 |
JP6114421B1 (ja) * | 2016-02-19 | 2017-04-12 | ファナック株式会社 | 複数の産業機械の作業分担を学習する機械学習装置,産業機械セル,製造システムおよび機械学習方法 |
JP2017097664A (ja) * | 2015-11-25 | 2017-06-01 | ファナック株式会社 | 複数のcpuコアで最適な負荷配分を行う数値制御装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6016239A (ja) | 1984-06-07 | 1985-01-28 | Matsushita Electric Ind Co Ltd | 加熱調理器 |
US8429097B1 (en) * | 2009-08-12 | 2013-04-23 | Amazon Technologies, Inc. | Resource isolation using reinforcement learning and domain-specific constraints |
DE102011105141A1 (de) * | 2011-06-09 | 2012-12-13 | Dmg Electronics Gmbh | Verfahren und system zur simulation eines arbeitsprozesses an einer werkzeugmaschine |
US9430299B2 (en) * | 2014-08-06 | 2016-08-30 | International Business Machines Corporation | System, method and product for task allocation |
JP6063013B1 (ja) | 2015-08-27 | 2017-01-18 | ファナック株式会社 | びびり或いは工具摩耗/破損の発生を抑制する加工条件調整機能を有する数値制御装置 |
JP6438366B2 (ja) | 2015-08-28 | 2018-12-12 | ファナック株式会社 | 電動機に対する動作指令を学習する機械学習方法および機械学習装置並びに該機械学習装置を備えた制御装置および電動機装置 |
US9811389B2 (en) * | 2015-09-23 | 2017-11-07 | Intel Corporation | Task assignment for processor cores based on a statistical power and frequency model |
JP6110451B1 (ja) | 2015-09-30 | 2017-04-05 | ファナック株式会社 | 機械学習装置およびコイル製造装置 |
JP5969676B1 (ja) | 2015-09-30 | 2016-08-17 | ファナック株式会社 | 工作機械の工具補正の頻度を最適化する機械学習装置及び機械学習方法、並びに該機械学習装置を備えた工作機械 |
JP6193961B2 (ja) | 2015-11-30 | 2017-09-06 | ファナック株式会社 | 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置 |
US10146286B2 (en) * | 2016-01-14 | 2018-12-04 | Intel Corporation | Dynamically updating a power management policy of a processor |
US10140161B1 (en) * | 2017-04-28 | 2018-11-27 | EMC IP Holding Company LLC | Workload aware dynamic CPU processor core allocation |
-
2017
- 2017-06-12 JP JP2017115221A patent/JP6530783B2/ja active Active
-
2018
- 2018-05-16 US US15/981,356 patent/US10705506B2/en active Active
- 2018-06-08 CN CN201810588871.8A patent/CN109032078B/zh active Active
- 2018-06-08 DE DE102018209149.8A patent/DE102018209149B4/de active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000076087A (ja) * | 1998-08-28 | 2000-03-14 | Hitachi Ltd | マルチオペレーティングシステム制御方法 |
JP2009163527A (ja) * | 2008-01-08 | 2009-07-23 | Hitachi Ltd | Os間で負荷分散する情報処理システム |
JP2014035564A (ja) * | 2012-08-07 | 2014-02-24 | Fanuc Ltd | マルチコアプロセッサを有する数値制御装置 |
JP2015200947A (ja) * | 2014-04-04 | 2015-11-12 | ファナック株式会社 | マルチコアプロセッサを使用して逐次プログラムを実行する制御装置 |
JP2016012221A (ja) * | 2014-06-27 | 2016-01-21 | ファナック株式会社 | 加工プログラム指令内容に応じてcpu負荷を分散可能な数値制御装置 |
JP2016051258A (ja) * | 2014-08-29 | 2016-04-11 | ファナック株式会社 | 複数軸の軸制御処理を分散して実行可能な数値制御装置 |
JP2017097664A (ja) * | 2015-11-25 | 2017-06-01 | ファナック株式会社 | 複数のcpuコアで最適な負荷配分を行う数値制御装置 |
JP6114421B1 (ja) * | 2016-02-19 | 2017-04-12 | ファナック株式会社 | 複数の産業機械の作業分担を学習する機械学習装置,産業機械セル,製造システムおよび機械学習方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020035975A1 (ja) * | 2018-08-17 | 2020-02-20 | 三菱電機株式会社 | 数値制御装置 |
JP2021515352A (ja) * | 2019-01-30 | 2021-06-17 | モビイス カンパニー リミテッド | 人工神経網シミューレーターと強化学習制御器を使用した実時間加速器の制御システム |
JP2020183816A (ja) * | 2019-04-26 | 2020-11-12 | ダイキン工業株式会社 | 熱源システム、目標運転容量推定方法、目標運転容量推定プログラム |
WO2021152852A1 (ja) * | 2020-01-31 | 2021-08-05 | 三菱電機株式会社 | 制御装置、機械学習装置、および、制御方法 |
JPWO2021152852A1 (ja) * | 2020-01-31 | 2021-08-05 | ||
DE112020005842T5 (de) | 2020-01-31 | 2022-09-22 | Mitsubishi Electric Corporation | Steuervorrichtung, maschinenlernvorrichtung und steuerverfahren |
JP7282217B2 (ja) | 2020-01-31 | 2023-05-26 | 三菱電機株式会社 | 制御装置、機械学習装置、および、制御方法 |
WO2022162787A1 (ja) * | 2021-01-27 | 2022-08-04 | 三菱電機株式会社 | 数値制御システム、タスク割り当て変更装置及び数値制御方法 |
JP7455239B2 (ja) | 2021-01-27 | 2024-03-25 | 三菱電機株式会社 | 数値制御システム、タスク割り当て変更装置及び数値制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US10705506B2 (en) | 2020-07-07 |
CN109032078A (zh) | 2018-12-18 |
DE102018209149B4 (de) | 2021-10-07 |
DE102018209149A1 (de) | 2018-12-13 |
US20180356793A1 (en) | 2018-12-13 |
CN109032078B (zh) | 2020-04-14 |
JP6530783B2 (ja) | 2019-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6530783B2 (ja) | 機械学習装置、制御装置及び機械学習プログラム | |
Liu et al. | Adaptive asynchronous federated learning in resource-constrained edge computing | |
Bao et al. | Deep learning-based job placement in distributed machine learning clusters | |
US20200293838A1 (en) | Scheduling computation graphs using neural networks | |
Zhang et al. | A multi-agent reinforcement learning approach for efficient client selection in federated learning | |
TW201820165A (zh) | 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法 | |
Jayanetti et al. | Deep reinforcement learning for energy and time optimized scheduling of precedence-constrained tasks in edge–cloud computing environments | |
US20220329539A1 (en) | METHOD AND SERVER FOR ADJUSTING ALLOCATION OF COMPUTING RESOURCES TO PLURALITY OF VIRTUALIZED NETWORK FUNCTIONS (VNFs) | |
JP2022532890A (ja) | デジタルワークフォースの知的調整のためのシステムおよび方法 | |
Zhang et al. | MrHeter: improving MapReduce performance in heterogeneous environments | |
KR20210052412A (ko) | 강화 학습 모델 구축 방법, 장치, 전자 기기 및 매체 | |
Jiahao et al. | A multi-object optimization cloud workflow scheduling algorithm based on reinforcement learning | |
WO2019070467A2 (en) | DISAGGREGATION OF LATENT CAUSES FOR COMPUTER SYSTEM OPTIMIZATION | |
Han et al. | EdgeTuner: Fast scheduling algorithm tuning for dynamic edge-cloud workloads and resources | |
Limmer et al. | Comparison of common parallel architectures for the execution of the island model and the global parallelization of evolutionary algorithms | |
Singh et al. | To offload or not? an analysis of big data offloading strategies from edge to cloud | |
CN117331668A (zh) | 一种作业调度方法、装置、设备及存储介质 | |
Khanh et al. | Fuzzy-based mobile edge orchestrators in heterogeneous IoT environments: An online workload balancing approach | |
Tyagi et al. | Scavenger: A Cloud Service for Optimizing Cost and Performance of ML Training | |
Dai et al. | Offloading dependent tasks in edge computing with unknown system-side information | |
Hu et al. | GitFL: Uncertainty-Aware Real-Time Asynchronous Federated Learning Using Version Control | |
Tong et al. | Energy and performance-efficient dynamic consolidate VMs using deep-Q neural network | |
Li et al. | Toward optimal operator parallelism for stream processing topology with limited buffers | |
CN113283596A (zh) | 一种模型参数训练方法、服务器、系统及存储介质 | |
Zhang et al. | Deep reinforcement learning for dag-based concurrent requests scheduling in edge networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20181220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190131 |
|
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: 20190416 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190517 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6530783 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |