(58)【調査した分野】(Int.Cl.,DB名)
前記報酬計算部は、前記加工誤差量が増大したとき、又は前記機械稼働率が低下したときに負の報酬を与え、前記加工誤差量が減少したとき、又は前記機械稼働率が上昇したときに正の報酬を与える、請求項2又は3に記載の機械学習装置。
前記関数更新部は、他の機械学習装置で更新された行動価値テーブルを用いて自己の前記行動価値テーブルを更新する、請求項2〜4のいずれか1項に記載の機械学習装置。
【発明の概要】
【発明が解決しようとする課題】
【0007】
従来の工具補正は、主として加工精度の維持のために行われていた。すなわち、工具補正の頻度が低すぎると、ワークの加工精度が低下し、場合によっては加工不良品が発生する。しかし一方で、工具補正の頻度が高すぎると、工作機械の稼働率が低下するという問題が生じる。従って工具補正の頻度には最適値が存在するが、従来は加工精度と稼働率という2つの観点から、工具補正の頻度の最適値を求めるための有効な方法や手段に関する提案はなされていない。
【0008】
そこで本発明は、工作機械の工具補正の頻度を最適化することができる機械学習装置及び機械学習方法、並びに該機械学習装置を備えた工作機械を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本願第1の発明は、工作機械において工具を補正する時間間隔である工具補正間隔の変更に関する行動価値を学習する機械学習装置であって、前記工作機械の工具補正間隔、前記工作機械で加工されたワークの加工誤差量、及び前記工作機械の機械稼働率を状態変数として観測する状態観測部と、前記状態観測部により観測された前記工具補正間隔、前記加工誤差量、及び前記機械稼働率と、前記工具補正間隔の変化量とを関連付けて学習する学習部と、を有する、機械学習装置を提供する。
【0010】
第2の発明は、第1の発明において、前記学習部は、前記工具補正間隔、前記加工誤差量、及び前記機械稼働率に基づいて報酬を計算する報酬計算部と、前記工具補正間隔、前記ワーク加工誤差量、前記機械稼働率及び前記報酬に基づいて行動価値テーブルを作成又は更新する関数更新部と、を有する、機械学習装置を提供する。
【0011】
第3の発明は、第2の発明において、前記行動価値テーブルに基づいて前記工具補正間隔の変化量を決定する意思決定部をさらに有する、機械学習装置を提供する。
【0012】
第4の発明は、第2又は第3の発明において、前記報酬計算部は、前記ワーク加工誤差量が増大したとき、又は前記機械稼働率が低下したときに負の報酬を与え、前記ワーク加工誤差量が減少したとき、又は前記機械稼働率が上昇したときに正の報酬を与える、機械学習装置を提供する。
【0013】
第5の発明は、第1〜第4のいずれか1つの発明において、前記学習部は、前記状態観測部で観測された状態変数を多層構造で演算する、機械学習装置を提供する。
【0014】
第6の発明は、第2〜第4のいずれか1つの発明において、前記関数更新部は、他の機械学習装置で更新された行動価値テーブルを用いて自己の前記行動価値テーブルを更新する、機械学習装置を提供する。
【0015】
第7の発明は、第1〜第6のいずれか1つに係る機械学習装置を具備する工作機械を提供する。
【0016】
第8の発明は、第7の発明において、前記状態観測部は、前記工作機械の内部の温度をさらに観測し、前記学習部は、前記状態観測部により観測された前記工具補正間隔、前記加工誤差量、前記機械稼働率、及び前記工作機械の内部の温度と、前記工具補正間隔の変化量とを関連付けて学習する、工作機械を提供する。
【0017】
第9の発明は、工作機械において工具を補正する時間間隔である工具補正間隔の変更に関する行動価値を学習する機械学習方法であって、前記工作機械の工具補正間隔、前記工作機械で加工されたワークの加工誤差量、及び前記工作機械の機械稼働率を状態変数として観測する工程と、前記状態観測部により観測された前記工具補正間隔、前記加工誤差量、及び前記機械稼働率と、前記工具補正間隔の変化量とを関連付けて学習する工程と、を有する、機械学習方法を提供する。
【0018】
第10の発明は、第9の発明において、前記学習する工程は、前記工具補正間隔、前記加工誤差量、及び前記機械稼働率に基づいて報酬を計算する工程と、前記工具補正間隔、前記ワーク加工誤差量、前記機械稼働率及び前記報酬に基づいて行動価値テーブルを作成又は更新する工程と、を有する、機械学習方法を提供する。
【発明の効果】
【0019】
本発明によれば、ワークの加工誤差量と工作機械の稼働率の双方を状態変数として、工具補正間隔の変化量の行動価値を決定する機械学習を行うことができるので、工具補正の頻度を最適化し、加工誤差を所望の範囲内に抑えつつ工作機械の稼働率を高めることができるようになる。
【発明を実施するための形態】
【0021】
図1は、本発明の一実施形態に係る工作機械10の概略構成を示す機能ブロック図である。図示例における工作機械10は、例えばNC旋盤等の数値制御工作機械であり、チャック12を備えた主軸14と、刃物台16に保持された工具18とを有し、チャック12に把持された被加工物(例えば円筒状のワーク)20の機械加工を行うように構成されている。
【0022】
工作機械10は、工作機械10の動作を制御する数値制御装置等の制御装置22と、後述する機械学習を行う機械学習器(機械学習装置)24とを有する。なお機械学習器24は、図示例のように制御装置22内に組み込まれてもよいし、制御装置22とは別の構成要素として構成されてもよい。
【0023】
機械学習器24は、工具18を補正する時間間隔(以降、工具補正間隔と称する)、工作機械10で加工されたワーク20の加工誤差量、及び工作機械10の機械稼働率を状態変数として観測する状態観測部26と、状態観測部26により観測された工具補正間隔、加工誤差量、及び機械稼働率と、工具補正間隔の変化量とを関連付けて学習する学習部28とを有する。より具体的には、学習部28は、状態観測部26により観測された工具補正間隔、ワーク加工誤差量及び機械稼働率に基づいて、工具補正間隔の変更に関する行動価値の学習(後述する行動価値テーブルの作成又は更新)を行う。
【0024】
なお、学習部28は、後述するように教師あり学習、教師なし学習、半教師あり学習、強化学習、トランスダクション、マルチタスク学習等の種々の機械学習を行うことができるが、以降は、学習部28は強化学習を行うものとして説明する。
【0025】
学習部28は、状態観測部26により観測された状態(工具補正間隔、ワーク加工誤差量及び機械稼働率)に基づいて報酬を計算する報酬計算部30と、報酬計算部30により計算された報酬に基づいて、工具補正間隔の変更における行動価値関数(例えば後述する行動価値テーブル)を更新する関数更新部32(人工知能)を有する。
【0026】
また機械学習器24は、学習部28の学習結果に基づいて、工具補正間隔の変化量を決定して出力する意思決定部34を有する。なお意思決定部34は、機械学習器24に含まれていなくともよく、例えば制御装置22に含まれてもよい。
【0027】
一方、制御装置22は、意思決定部34から出力された工具補正間隔の変化量に基づいて工具補正間隔を変更する補正間隔変更部36と、変更された工具補正間隔に相当する時間の経過後に測定された加工済ワークの寸法に基づいて、ワークの加工誤差量を検出する加工誤差量検出部38と、工作機械10の稼働率を算出する稼働率算出部40とを有する。なお、変更された工具補正間隔に相当する時間が経過したら、作業者に加工済ワークの寸法測定を促すアラームを出力するようにしてもよい。また加工済ワークの寸法測定の結果によっては、工具の補正ではなく工具の交換を行うべき場合もある(つまり工具の摩耗量が大きく、工具補正では対処できない場合)が、本願ではそのような場合も工具補正に含まれるものとする。
【0028】
また制御装置22は任意に、工作機械10内の温度を検出する工作機械内温度検出部42を有してもよい。なお補正間隔変更部36、加工誤差量検出部38、稼働率算出部40及び工作機械内温度検出部42の機能は制御装置22以外の他の構成要素が担ってもよく、その場合は、当該他の構成要素からの検出データや算出データを、制御装置22内のメモリ等の記憶部(図示せず)に記憶させることができる。
【0029】
ここで、工具補正の具体例について
図2を参照しつつ説明する。工具の補正間隔(補正頻度)は、工具の摩耗の進行状況に基づき決定することができるが、工具の摩耗状況は上述のワークの加工誤差量から推定することができる。
【0030】
例えば、
図2に示すように、工具18の長さ(工具長)が、機械加工に伴う摩耗によってLwだけ初期長L
0から短くなったときに、工具18の刃先をワーク20に向けて長さLcoだけ移動させる工具補正を行う場合、工具補正量Lcoは、加工されたワーク20の径dがdmin(dminはワーク径dの最小許容寸法)に等しくなるように設定される。従って、工具補正直後に加工されたワークの径はdminとなり、以降、次回の工具補正が行われるまで、工具の摩耗が進むに従って徐々に加工済のワーク径は大きくなる。
【0031】
そして加工済のワーク径がdmax(dmaxはワーク径Dの最大許容寸法)に達したら工具補正を行うべきところ、設定された工具補正間隔に基づいて実際に工具補正を行う直前のワーク径がdaであった場合、dmaxとdaとの差分を求める。後述する報酬計算では、この差分(ワーク加工誤差量)が小さいほど、大きな報酬が与えられることになる。つまりこの例では、ワークの加工誤差が所定の公差を外れないぎりぎりのタイミングで工具補正が行われるように、工具補正間隔の変化量を求めている。
【0032】
なお、工具の補正頻度は、上述の摩耗状況に加え、熱膨張度を考慮して決定してもよい。例えば、工具の切り込み深さによって切削抵抗が変化し、これに伴いワークの温度も変化するので、上述の工作機械内温度検出部42を用いてワークの温度を測定、又はワーク近傍の工作機械内部の温度からワーク温度を推定することにより、ワークの熱膨張量を計算することができる。
【0033】
以下、機械学習器24による機械学習(強化学習)について説明する。
図3は、本発明における機械学習の基本的な考え方を説明する図である。一般に、
図3におけるグラフ44に示すように、工作機械で加工されたワークの加工誤差量は、工具補正間隔が長いほど大きくなり、一方、グラフ46に示すように、工作機械の機械稼働率は、工具補正間隔が長いほど高くなる。なおここでの機械稼働率とは、例えば、スケジュール上の稼働予定時間に対する、該稼働予定時間から工具補正に要した時間等を含むダウンタイムを差し引いて得られる実稼働時間の比で表される。
【0034】
図3からわかるように、工具補正間隔を変数とした場合、ワーク加工誤差量と機械稼働率とはいわゆるトレードオフの関係にあるので、本発明では、最適な工具補正間隔を機械学習により求める。
図3では、グラフ48で示されるような、工具補正間隔をパラメータとした報酬計算を行い、より高い報酬が得られる工具補正間隔を学習する強化学習を例示しており、領域50で囲まれた領域(報酬が高い領域)が学習目標部分となる。
【0035】
次に、
図1の工作機械10における機械学習(強化学習)の一例を説明する。なお
図4に示すように、本実施形態における機械学習器24は、強化学習におけるエージェントに相当する。一方、補正間隔変更部36、加工誤差量検出部38、稼働率算出部40及び工作機械内温度検出部42は、環境の状態(ここでは工具補正間隔、ワーク加工誤差量、機械稼働率算及び工作機械内温度)を検出又は算出する機能を有する。
【0036】
図5は、
図1の工作機械10における強化学習方法の一例を説明するフローチャートである。先ずステップS1において、後述する行動価値テーブルに基づいて、工具の補正間隔(補正頻度)を決定する。次に、決定された工具補正間隔における機械稼働率を計算し(ステップS2)、計算結果に応じた報酬を求める(ステップS3)。ここでは一例として、求められた機械稼働率を、適当な2つの閾値(すなわち第1の閾値と、第1の閾値より大きい第2の閾値)に基づいて分類し、第1の閾値より低い稼働率に対する報酬を0、第2の閾値より高い稼働率に対する報酬を+10、第1の閾値以上でかつ第2の閾値以下の稼働率に対する報酬を+5としている。
【0037】
次に、ステップS1で決定された工具補正間隔におけるワークの加工誤差量を求め(ステップS4)、計算結果に応じた報酬を求める(ステップS5)。ここでは一例として、求められた加工誤差量を、適当な2つの閾値(すなわち第3の閾値と、第3の閾値より大きい第4の閾値)に基づいて分類し、第3の閾値より低い誤差量に対する報酬を+10、第4の閾値より高い誤差量に対する報酬を−20、第3の閾値以上でかつ第4の閾値以下の誤差量に対する報酬を−10としている。
【0038】
最後に、機械稼働率に関する報酬と加工誤差量に関する報酬とを積算し、積算された報酬をステップS1で決定された工具補正間隔に対する報酬として、行動価値テーブルを更新する(ステップS6)。ステップS1〜S6の処理は、工具補正間隔が変更される度に反復される。
【0039】
図5の例では、上述の報酬計算部30が、ワーク加工誤差量が増大したとき、又は機械稼働率が低下したときに負の報酬を与え、ワーク加工誤差量が減少したとき、又は機械稼働率が上昇したときに正の報酬を与えるようになっており、これにより工具補正の最適な間隔(頻度)を学習することができる。
【0040】
図6−
図9は、上述の機械学習によって作成・更新される行動価値テーブルの具体例を示す。ここでは、工具の補正間隔を5段階に設定しており、補正間隔が長い(補正頻度が低い)順に条件A、B、C、D及びEと表記している。ここで、条件B、C及びDについては、次回の工具補正間隔の決定(行動)に際し2通りのやり方(補正間隔を延ばすか縮めるか)が考えられるので、行動価値テーブルは8つのパターンを含んでいる。
【0041】
図6において矢印52で示すように、先ず、工具補正間隔が条件Bに該当する場合に、次回の補正間隔を縮める行動(パターン)が選択されたとする。この選択の結果、工具補正間隔は条件Cに該当するものとなるので、
図7において矢印54又は56で示すように、報酬は−5となる。従って
図7に示すように、
図6において矢印52で示されたパターンの行動価値として、−5が設定される(つまり行動価値テーブルが更新される)。
【0042】
図7において、工具補正間隔が条件Cに該当する場合に、次回の補正間隔をさらに縮める行動(すなわち矢印56で示すパターン)が選択されたとする。この選択の結果、工具補正間隔は条件Dに該当するものとなるので、
図8において矢印58又は60で示すように、報酬は+15となる。従って
図8に示すように、
図7において矢印56で示されたパターンの行動価値として、+15が設定される(つまり行動価値テーブルが更新される)。
【0043】
上述のような選択・更新を繰り返すことにより、
図9に示すような、各パターンについて行動価値が設定された行動価値テーブルが得られ、最適な工具補正間隔を決定できるようになる。
【0044】
図10は、
図1の工作機械10における強化学習方法の他の例を説明するフローチャートである。
図10の例は、状態観測部で観測された状態変数を、多層ニューラルネット等の多層構造を用いて演算し、深層学習を行う場合を示しており、このような深層学習では、複数の報酬計算を同時に行うことができ、行動価値テーブルをリアルタイムで更新することができる。
【0045】
詳細には、
図10に示す例では、
図5で説明した機械稼働率に関する報酬計算(ステップS2、S3)と、ワーク加工誤差に関する報酬計算(ステップS4、S5)とが並列処理されており、それぞれの報酬を合算するステップS7が追加されている。
図10のフローチャートの他の部分については、
図5のフローチャートと同様でよいので、詳細な説明は省略する。
【0046】
図11は、報酬計算に用いる変数として、上述の機械稼働率及びワーク加工誤差量に加え、さらに工作機械内温度を使用する例を説明するフローチャートである。上述したように、工作機械内の温度によってワークの熱膨張量は変化するので、工作機械内温度検出部42等を用いて工作機械10内の温度変化量を求め、計算結果に応じた報酬を求めることができる(ステップS8、S9)。ここでは一例として、求められた温度変化量を、適当な2つの閾値(すなわち第5の閾値と、第5の閾値より大きい第6の閾値)に基づいて分類し、第5の閾値より低い温度変化量に対する報酬を+10、第6の閾値より高い温度変化量に対する報酬を−20、第5の閾値以上でかつ第6の閾値以下の誤差量に対する報酬を−10としている。
【0047】
なお
図11に示した処理(ステップS8−S9)は、
図5のフローチャートにおいてステップS3とS4との間、若しくはステップS5とS6との間に挿入可能であり、又は、
図10のフローチャートにおいてステップS7とS6との間に挿入可能である。このように報酬計算に際し温度変化量も考慮する(より具体的には、温度変化量が小さいほど高い報酬を与える)ことにより、機械学習の精度・信頼性をさらに高めることができる。
【0048】
なお上述の実施形態において、機械学習装置24(関数更新部32)で作成又は更新された行動価値テーブルは、他の同種の機械学習装置において使用することもできる。換言すれば、機械学習装置24は、同種の他の機械学習装置で作成又は更新された行動価値テーブルを用いて自己の行動価値テーブルを作成又は更新することができる。このようにすれば、時間をかけて行動価値テーブルを更新しなくとも、十分に学習が進んだ行動価値テーブルを利用することができるようになる。
【0049】
ここで、
図1に示した機械学習装置24について詳細に説明する。機械学習装置24は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。
【0050】
「教師あり学習」とは、ある入力と結果(ラベル)のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、即ち、その関係性を帰納的に獲得することができる。本実施形態においては、機械稼働率及びワーク加工誤差量から最適な工具補正間隔を推定する部分などに用いることができる。後述のニューラルネットワークなどのアルゴリズムを用いて実現することができる。
【0051】
「教師なし学習」とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。それらのデータセットにある特徴を似た者どうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。また「教師なし学習」と「教師あり学習」との中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。本実施形態においては、実際に着磁器を動作させなくても取得することができるデータを教師なし学習で利用し、学習を効率的に行うことができる。
【0052】
強化学習の問題を以下のように設定する。
・工作機械(制御装置)は環境の状態を観測し、行動を決定する。
・環境は何らかの規則に従って変化し、さらに自分の行動が、環境に変化を与えることもある。
・行動するたびに報酬信号が帰ってくる。
・最大化したいのは将来にわたっての報酬の合計である。
・行動が引き起こす結果を全く知らない、または不完全にしか知らない状態から学習はスタートする。工作機械(制御装置)は実際に動作して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【0053】
「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、即ち、将来的に得られる報酬を最大にするための学習をする方法である。このことは、本実施形態において、未来に影響を及ぼすような行動を獲得できることを表している。例えば、強化学習の1つであるQ学習の場合で説明を続けるが、それに限るものではない。
【0054】
Q学習は、或る環境状態sの下で、行動aを選択する価値Q(s,a)を学習する方法である。つまり、或る状態sのとき、価値Q(s,a)の最も高い行動aを最適な行動として選択すればよい。しかし、最初は状態sと行動aとの組合せについて、価値Q(s,a)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態sの下で様々な行動aを選択し、その時の行動aに対して報酬が与えられる。それにより、エージェントはより良い行動の選択、すなわち正しい価値Q(s,a)を学習していく。
【0055】
行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(s,a)=E[Σγ
tr
t]となるようにすることを目指す(期待値は最適な行動に従って状態変化したときについてとる。もちろん、それは分かっていないので、探索しながら学習しなければならない)。そのような価値Q(s,a)の更新式は、例えば次式により表すことができる。
【0057】
ここで、s
tは時刻tにおける環境の状態を表し、a
tは時刻tにおける行動を表す。行動a
tにより、状態はs
t+1に変化する。r
t+1は、その状態の変化により貰える報酬を表している。また、maxの付いた項は、状態s
t+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。γは、0<γ≦1のパラメータで、割引率と呼ばれる。αは学習係数で、0<α≦1の範囲とする。
【0058】
この式は、試行a
tの結果帰ってきた報酬r
t+1を元に、状態s
tにおける行動a
tの評価値Q(s
t,a
t)を更新する方法を表している。状態sにおける行動aの評価値Q(s
t,a
t)よりも、報酬r
t+1+行動aによる次の状態における最良の行動max aの評価値Q(s
t+1,max a
t+1)の方が大きければ、Q(s
t,a
t)を大きくするし、反対に小さければ、Q(s
t,a
t)も小さくすることを示している。つまり、或る状態における或る行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近付けるようにしている。
【0059】
Q(s,a)の計算機上での表現方法は、すべての状態行動ペア(s,a)に対して、その値をテーブル(行動価値テーブル)として保持しておく方法と、Q(s,a)を近似するような関数を用意する方法とがある。後者の方法では、前述の更新式は、確率勾配降下法などの手法で近似関数のパラメータを調整していくことで実現することができる。近似関数としては、後述のニューラルネットワークを用いることができる。
【0060】
教師あり学習、教師なし学習、及び強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。ニューラルネットワークは、例えば
図12に示すようなニューロンのモデルを模したニューラルネットワークを実現する演算装置及びメモリ等で構成される。
【0061】
図12に示すように、ニューロンは、複数の入力x(ここでは一例として、入力x
1〜入力x
3)に対する出力yを出力するものである。各入力x
1〜x
3には、この入力xに対応する重みw(w
1〜w
3)が掛けられる。これにより、ニューロンは、次の式により表現される出力yを出力する。なお、入力x、出力y及び重みwは、すべてベクトルである。
【0062】
【数2】
ここで、θはバイアスであり、f
kは活性化関数である。
【0063】
次に、上述したニューロンを組み合わせた3層の重みを有するニューラルネットワークについて、
図13を参照して説明する。
図13は、D1〜D3の3層の重みを有するニューラルネットワークを示す模式図である。
【0064】
図13に示すように、ニューラルネットワークの左側から複数の入力x(ここでは一例として、入力x1〜入力x3)が入力され、右側から結果y(ここでは一例として、結果y1〜結果y3)が出力される。
【0065】
具体的には、入力x1〜入力x3は、3つのニューロンN11〜N13の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてw1と標記されている。
【0066】
ニューロンN11〜N13は、それぞれ、z11〜z13を出力する。これらのz11〜z13はまとめて特徴ベクトルz1と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルz1は、重みw1と重みw2との間の特徴ベクトルである。
【0067】
z11〜z13は、2つのニューロンN21、N22の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてw2と標記されている。
【0068】
ニューロンN21、N22は、それぞれ、z21、z22を出力する。これらは、まとめて特徴ベクトルz2と標記されている。この特徴ベクトルz2は、重みw2と重みw3との間の特徴ベクトルである。
【0069】
特徴ベクトルz21、z22は、3つのニューロンN31〜N33の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてw3と標記されている。
【0070】
最後に、ニューロンN31〜N33は、それぞれ、結果y1〜結果y3を出力する。
【0071】
ニューラルネットワークの動作には、学習モードと価値予測モードとがあり、学習モードにおいて学習データセットを用いて重みwを学習し、そのパラメータを用いて予測モードにおいて行動判断を行う(便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能である)。
【0072】
予測モードで実際に得られたデータを即時学習し、次の行動に反映させる(オンライン学習)ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う(バッチ学習)こともできる。その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【0073】
重みw1〜w3は、誤差逆伝搬法(バックプロパゲーション)により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力xが入力されたときの出力yと真の出力y(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。
【0074】
このようなニューラルネットワークは、3層以上にさらに層を増やすことも可能である(深層学習と称される)。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【解決手段】機械学習器24は、工具18を補正する時間間隔、工作機械10で加工されたワーク20の加工誤差量、及び工作機械10の機械稼働率を状態変数として観測する状態観測部26と、状態観測部26により観測された工具補正間隔、ワーク加工誤差量及び機械稼働率に基づいて、工具補正間隔の変更に関する行動価値を学習する学習部28とを有する。