(57)【特許請求の範囲】
【請求項１】
工作機械において工具を補正する時間間隔である工具補正間隔の変更に関する行動価値を学習する機械学習装置であって、
前記工作機械の工具補正間隔、前記工作機械で加工されたワークの加工誤差量、及び前記工作機械の機械稼働率を状態変数として観測する状態観測部と、
前記状態観測部により観測された前記工具補正間隔、前記加工誤差量、及び前記機械稼働率と、前記工具補正間隔の変化量とを関連付けて学習する学習部と、を有する、機械学習装置。
【請求項２】
前記学習部は、前記工具補正間隔、前記加工誤差量、及び前記機械稼働率に基づいて報酬を計算する報酬計算部と、
前記工具補正間隔、前記加工誤差量、前記機械稼働率及び前記報酬に基づいて行動価値テーブルを作成又は更新する関数更新部と、を有する、請求項１に記載の機械学習装置。
【請求項３】
前記行動価値テーブルに基づいて前記工具補正間隔の変化量を決定する意思決定部をさらに有する、請求項２に記載の機械学習装置。
【請求項４】
前記報酬計算部は、前記加工誤差量が増大したとき、又は前記機械稼働率が低下したときに負の報酬を与え、前記加工誤差量が減少したとき、又は前記機械稼働率が上昇したときに正の報酬を与える、請求項２又は３に記載の機械学習装置。
【請求項５】
前記学習部は、前記状態観測部で観測された状態変数を多層構造で演算する、請求項１〜４のいずれか１項に記載の機械学習装置。
【請求項６】
前記関数更新部は、他の機械学習装置で更新された行動価値テーブルを用いて自己の前記行動価値テーブルを更新する、請求項２〜４のいずれか１項に記載の機械学習装置。
【請求項７】
請求項１〜６のいずれか１項に記載された機械学習装置を具備する工作機械。
【請求項８】
前記状態観測部は、前記工作機械の内部の温度をさらに観測し、
前記学習部は、前記状態観測部により観測された前記工具補正間隔、前記加工誤差量、前記機械稼働率、及び前記工作機械の内部の温度と、前記工具補正間隔の変化量とを関連付けて学習する、請求項７に記載の工作機械。
【請求項９】
工作機械において工具を補正する時間間隔である工具補正間隔の変更に関する行動価値を学習する機械学習方法であって、
前記工作機械の工具補正間隔、前記工作機械で加工されたワークの加工誤差量、及び前記工作機械の機械稼働率を状態変数として観測する工程と、
観測された前記工具補正間隔、前記加工誤差量、及び前記機械稼働率と、前記工具補正間隔の変化量とを関連付けて学習する工程と、を有する、機械学習方法。
【請求項１０】
前記学習する工程は、前記工具補正間隔、前記加工誤差量、及び前記機械稼働率に基づいて報酬を計算する工程と、
前記工具補正間隔、前記加工誤差量、前記機械稼働率及び前記報酬に基づいて行動価値テーブルを作成又は更新する工程と、を有する、請求項９に記載の機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械において工具を補正すべきタイミングを最適化する機械学習装置及び機械学習方法、並びに該機械学習装置を備えた工作機械に関する。
【背景技術】
【０００２】
近年、工作機械において高精度の加工が求められることが多くなっており、そのために、工作機械の工具の刃先の摩耗量や、工作機械の熱変位の影響を考慮して該工具の刃先位置を補正する、いわゆる工具補正が行われる。
【０００３】
従来の工作機械では、この工具補正を行う頻度は、オペレータが経験から定めている場合が多い。具体的には、工作機械で加工されたワークの寸法の抜き取り検査を行い、当該検査の結果に基づいてオペレータが工具補正を行うか否かを判断していた。
【０００４】
また、オペレータの手間を低減すべく、工具補正を自動的に行う技術も提案されている。例えば特許文献１には、工具補正を実行する毎にそれら補正データを履歴データとして記憶する補正データ記憶手段と、数値制御工作機械に指令される加工プログラムの工具データに対して自動的に工具補正を指令する工具補正指令手段と、を有する数値制御装置が記載されている。
【０００５】
さらに特許文献２には、工具の移動量を補正するための初期補正量を入力する初期補正量入力手段と、工具移動量の補正を実行する毎にその補正量を履歴データとして記憶する補正量記憶処理手段と、初期補正量入力手段に入力された補正量と履歴データに基づき補正量を決定する工具補正量決定手段と、決定された補正量により工具の移動量を補正する補正手段と、を備えた数値制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０７−１０４８１３号公報
【特許文献２】特開２００５−２０２８４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の工具補正は、主として加工精度の維持のために行われていた。すなわち、工具補正の頻度が低すぎると、ワークの加工精度が低下し、場合によっては加工不良品が発生する。しかし一方で、工具補正の頻度が高すぎると、工作機械の稼働率が低下するという問題が生じる。従って工具補正の頻度には最適値が存在するが、従来は加工精度と稼働率という２つの観点から、工具補正の頻度の最適値を求めるための有効な方法や手段に関する提案はなされていない。
【０００８】
そこで本発明は、工作機械の工具補正の頻度を最適化することができる機械学習装置及び機械学習方法、並びに該機械学習装置を備えた工作機械を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本願第１の発明は、工作機械において工具を補正する時間間隔である工具補正間隔の変更に関する行動価値を学習する機械学習装置であって、前記工作機械の工具補正間隔、前記工作機械で加工されたワークの加工誤差量、及び前記工作機械の機械稼働率を状態変数として観測する状態観測部と、前記状態観測部により観測された前記工具補正間隔、前記加工誤差量、及び前記機械稼働率と、前記工具補正間隔の変化量とを関連付けて学習する学習部と、を有する、機械学習装置を提供する。
【００１０】
第２の発明は、第１の発明において、前記学習部は、前記工具補正間隔、前記加工誤差量、及び前記機械稼働率に基づいて報酬を計算する報酬計算部と、前記工具補正間隔、前記ワーク加工誤差量、前記機械稼働率及び前記報酬に基づいて行動価値テーブルを作成又は更新する関数更新部と、を有する、機械学習装置を提供する。
【００１１】
第３の発明は、第２の発明において、前記行動価値テーブルに基づいて前記工具補正間隔の変化量を決定する意思決定部をさらに有する、機械学習装置を提供する。
【００１２】
第４の発明は、第２又は第３の発明において、前記報酬計算部は、前記ワーク加工誤差量が増大したとき、又は前記機械稼働率が低下したときに負の報酬を与え、前記ワーク加工誤差量が減少したとき、又は前記機械稼働率が上昇したときに正の報酬を与える、機械学習装置を提供する。
【００１３】
第５の発明は、第１〜第４のいずれか１つの発明において、前記学習部は、前記状態観測部で観測された状態変数を多層構造で演算する、機械学習装置を提供する。
【００１４】
第６の発明は、第２〜第４のいずれか１つの発明において、前記関数更新部は、他の機械学習装置で更新された行動価値テーブルを用いて自己の前記行動価値テーブルを更新する、機械学習装置を提供する。
【００１５】
第７の発明は、第１〜第６のいずれか１つに係る機械学習装置を具備する工作機械を提供する。
【００１６】
第８の発明は、第７の発明において、前記状態観測部は、前記工作機械の内部の温度をさらに観測し、前記学習部は、前記状態観測部により観測された前記工具補正間隔、前記加工誤差量、前記機械稼働率、及び前記工作機械の内部の温度と、前記工具補正間隔の変化量とを関連付けて学習する、工作機械を提供する。
【００１７】
第９の発明は、工作機械において工具を補正する時間間隔である工具補正間隔の変更に関する行動価値を学習する機械学習方法であって、前記工作機械の工具補正間隔、前記工作機械で加工されたワークの加工誤差量、及び前記工作機械の機械稼働率を状態変数として観測する工程と、前記状態観測部により観測された前記工具補正間隔、前記加工誤差量、及び前記機械稼働率と、前記工具補正間隔の変化量とを関連付けて学習する工程と、を有する、機械学習方法を提供する。
【００１８】
第１０の発明は、第９の発明において、前記学習する工程は、前記工具補正間隔、前記加工誤差量、及び前記機械稼働率に基づいて報酬を計算する工程と、前記工具補正間隔、前記ワーク加工誤差量、前記機械稼働率及び前記報酬に基づいて行動価値テーブルを作成又は更新する工程と、を有する、機械学習方法を提供する。
【発明の効果】
【００１９】
本発明によれば、ワークの加工誤差量と工作機械の稼働率の双方を状態変数として、工具補正間隔の変化量の行動価値を決定する機械学習を行うことができるので、工具補正の頻度を最適化し、加工誤差を所望の範囲内に抑えつつ工作機械の稼働率を高めることができるようになる。
【図面の簡単な説明】
【００２０】
【図１】本発明に係る学習制御装置を含む工作機械の概略構成を示す図である。
【図２】工具の補正過程の一例を説明する図である。
【図３】本発明における機械学習の基本的な考え方を説明する図である。
【図４】機械学習装置（エージェント）と工作機械のワーク加工部（環境）との関係を説明する図である。
【図５】図１の工作機械における強化学習の処理の一例を説明するフローチャートである。
【図６】機械学習によって作成・更新される行動価値テーブルの具体例を示す図である。
【図７】機械学習によって作成・更新される行動価値テーブルの具体例を示す図である。
【図８】機械学習によって作成・更新される行動価値テーブルの具体例を示す図である。
【図９】機械学習によって作成・更新される行動価値テーブルの具体例を示す図である。
【図１０】図１の工作機械における強化学習の処理の一例を説明するフローチャートである。
【図１１】図１の工作機械における強化学習において、工作機械内の温度をさらに使用する処理の一例を説明するフローチャートである。
【図１２】ニューロンのモデルを示す模式図である。
【図１３】３層の重みを有するニューラルネットワークを示す模式図である。
【発明を実施するための形態】
【００２１】
図１は、本発明の一実施形態に係る工作機械１０の概略構成を示す機能ブロック図である。図示例における工作機械１０は、例えばＮＣ旋盤等の数値制御工作機械であり、チャック１２を備えた主軸１４と、刃物台１６に保持された工具１８とを有し、チャック１２に把持された被加工物（例えば円筒状のワーク）２０の機械加工を行うように構成されている。
【００２２】
工作機械１０は、工作機械１０の動作を制御する数値制御装置等の制御装置２２と、後述する機械学習を行う機械学習器（機械学習装置）２４とを有する。なお機械学習器２４は、図示例のように制御装置２２内に組み込まれてもよいし、制御装置２２とは別の構成要素として構成されてもよい。
【００２３】
機械学習器２４は、工具１８を補正する時間間隔（以降、工具補正間隔と称する）、工作機械１０で加工されたワーク２０の加工誤差量、及び工作機械１０の機械稼働率を状態変数として観測する状態観測部２６と、状態観測部２６により観測された工具補正間隔、加工誤差量、及び機械稼働率と、工具補正間隔の変化量とを関連付けて学習する学習部２８とを有する。より具体的には、学習部２８は、状態観測部２６により観測された工具補正間隔、ワーク加工誤差量及び機械稼働率に基づいて、工具補正間隔の変更に関する行動価値の学習（後述する行動価値テーブルの作成又は更新）を行う。
【００２４】
なお、学習部２８は、後述するように教師あり学習、教師なし学習、半教師あり学習、強化学習、トランスダクション、マルチタスク学習等の種々の機械学習を行うことができるが、以降は、学習部２８は強化学習を行うものとして説明する。
【００２５】
学習部２８は、状態観測部２６により観測された状態（工具補正間隔、ワーク加工誤差量及び機械稼働率）に基づいて報酬を計算する報酬計算部３０と、報酬計算部３０により計算された報酬に基づいて、工具補正間隔の変更における行動価値関数（例えば後述する行動価値テーブル）を更新する関数更新部３２（人工知能）を有する。
【００２６】
また機械学習器２４は、学習部２８の学習結果に基づいて、工具補正間隔の変化量を決定して出力する意思決定部３４を有する。なお意思決定部３４は、機械学習器２４に含まれていなくともよく、例えば制御装置２２に含まれてもよい。
【００２７】
一方、制御装置２２は、意思決定部３４から出力された工具補正間隔の変化量に基づいて工具補正間隔を変更する補正間隔変更部３６と、変更された工具補正間隔に相当する時間の経過後に測定された加工済ワークの寸法に基づいて、ワークの加工誤差量を検出する加工誤差量検出部３８と、工作機械１０の稼働率を算出する稼働率算出部４０とを有する。なお、変更された工具補正間隔に相当する時間が経過したら、作業者に加工済ワークの寸法測定を促すアラームを出力するようにしてもよい。また加工済ワークの寸法測定の結果によっては、工具の補正ではなく工具の交換を行うべき場合もある（つまり工具の摩耗量が大きく、工具補正では対処できない場合）が、本願ではそのような場合も工具補正に含まれるものとする。
【００２８】
また制御装置２２は任意に、工作機械１０内の温度を検出する工作機械内温度検出部４２を有してもよい。なお補正間隔変更部３６、加工誤差量検出部３８、稼働率算出部４０及び工作機械内温度検出部４２の機能は制御装置２２以外の他の構成要素が担ってもよく、その場合は、当該他の構成要素からの検出データや算出データを、制御装置２２内のメモリ等の記憶部（図示せず）に記憶させることができる。
【００２９】
ここで、工具補正の具体例について図２を参照しつつ説明する。工具の補正間隔（補正頻度）は、工具の摩耗の進行状況に基づき決定することができるが、工具の摩耗状況は上述のワークの加工誤差量から推定することができる。
【００３０】
例えば、図２に示すように、工具１８の長さ（工具長）が、機械加工に伴う摩耗によってＬwだけ初期長Ｌ0から短くなったときに、工具１８の刃先をワーク２０に向けて長さＬcoだけ移動させる工具補正を行う場合、工具補正量Ｌcoは、加工されたワーク２０の径ｄがｄmin（ｄminはワーク径ｄの最小許容寸法）に等しくなるように設定される。従って、工具補正直後に加工されたワークの径はｄminとなり、以降、次回の工具補正が行われるまで、工具の摩耗が進むに従って徐々に加工済のワーク径は大きくなる。
【００３１】
そして加工済のワーク径がｄmax（ｄmaxはワーク径Ｄの最大許容寸法）に達したら工具補正を行うべきところ、設定された工具補正間隔に基づいて実際に工具補正を行う直前のワーク径がｄaであった場合、ｄmaxとｄaとの差分を求める。後述する報酬計算では、この差分（ワーク加工誤差量）が小さいほど、大きな報酬が与えられることになる。つまりこの例では、ワークの加工誤差が所定の公差を外れないぎりぎりのタイミングで工具補正が行われるように、工具補正間隔の変化量を求めている。
【００３２】
なお、工具の補正頻度は、上述の摩耗状況に加え、熱膨張度を考慮して決定してもよい。例えば、工具の切り込み深さによって切削抵抗が変化し、これに伴いワークの温度も変化するので、上述の工作機械内温度検出部４２を用いてワークの温度を測定、又はワーク近傍の工作機械内部の温度からワーク温度を推定することにより、ワークの熱膨張量を計算することができる。
【００３３】
以下、機械学習器２４による機械学習（強化学習）について説明する。図３は、本発明における機械学習の基本的な考え方を説明する図である。一般に、図３におけるグラフ４４に示すように、工作機械で加工されたワークの加工誤差量は、工具補正間隔が長いほど大きくなり、一方、グラフ４６に示すように、工作機械の機械稼働率は、工具補正間隔が長いほど高くなる。なおここでの機械稼働率とは、例えば、スケジュール上の稼働予定時間に対する、該稼働予定時間から工具補正に要した時間等を含むダウンタイムを差し引いて得られる実稼働時間の比で表される。
【００３４】
図３からわかるように、工具補正間隔を変数とした場合、ワーク加工誤差量と機械稼働率とはいわゆるトレードオフの関係にあるので、本発明では、最適な工具補正間隔を機械学習により求める。図３では、グラフ４８で示されるような、工具補正間隔をパラメータとした報酬計算を行い、より高い報酬が得られる工具補正間隔を学習する強化学習を例示しており、領域５０で囲まれた領域（報酬が高い領域）が学習目標部分となる。
【００３５】
次に、図１の工作機械１０における機械学習（強化学習）の一例を説明する。なお図４に示すように、本実施形態における機械学習器２４は、強化学習におけるエージェントに相当する。一方、補正間隔変更部３６、加工誤差量検出部３８、稼働率算出部４０及び工作機械内温度検出部４２は、環境の状態（ここでは工具補正間隔、ワーク加工誤差量、機械稼働率算及び工作機械内温度）を検出又は算出する機能を有する。
【００３６】
図５は、図１の工作機械１０における強化学習方法の一例を説明するフローチャートである。先ずステップＳ１において、後述する行動価値テーブルに基づいて、工具の補正間隔（補正頻度）を決定する。次に、決定された工具補正間隔における機械稼働率を計算し（ステップＳ２）、計算結果に応じた報酬を求める（ステップＳ３）。ここでは一例として、求められた機械稼働率を、適当な２つの閾値（すなわち第１の閾値と、第１の閾値より大きい第２の閾値）に基づいて分類し、第１の閾値より低い稼働率に対する報酬を０、第２の閾値より高い稼働率に対する報酬を＋１０、第１の閾値以上でかつ第２の閾値以下の稼働率に対する報酬を＋５としている。
【００３７】
次に、ステップＳ１で決定された工具補正間隔におけるワークの加工誤差量を求め（ステップＳ４）、計算結果に応じた報酬を求める（ステップＳ５）。ここでは一例として、求められた加工誤差量を、適当な２つの閾値（すなわち第３の閾値と、第３の閾値より大きい第４の閾値）に基づいて分類し、第３の閾値より低い誤差量に対する報酬を＋１０、第４の閾値より高い誤差量に対する報酬を−２０、第３の閾値以上でかつ第４の閾値以下の誤差量に対する報酬を−１０としている。
【００３８】
最後に、機械稼働率に関する報酬と加工誤差量に関する報酬とを積算し、積算された報酬をステップＳ１で決定された工具補正間隔に対する報酬として、行動価値テーブルを更新する（ステップＳ６）。ステップＳ１〜Ｓ６の処理は、工具補正間隔が変更される度に反復される。
【００３９】
図５の例では、上述の報酬計算部３０が、ワーク加工誤差量が増大したとき、又は機械稼働率が低下したときに負の報酬を与え、ワーク加工誤差量が減少したとき、又は機械稼働率が上昇したときに正の報酬を与えるようになっており、これにより工具補正の最適な間隔（頻度）を学習することができる。
【００４０】
図６−図９は、上述の機械学習によって作成・更新される行動価値テーブルの具体例を示す。ここでは、工具の補正間隔を５段階に設定しており、補正間隔が長い（補正頻度が低い）順に条件Ａ、Ｂ、Ｃ、Ｄ及びＥと表記している。ここで、条件Ｂ、Ｃ及びＤについては、次回の工具補正間隔の決定（行動）に際し２通りのやり方（補正間隔を延ばすか縮めるか）が考えられるので、行動価値テーブルは８つのパターンを含んでいる。
【００４１】
図６において矢印５２で示すように、先ず、工具補正間隔が条件Ｂに該当する場合に、次回の補正間隔を縮める行動（パターン）が選択されたとする。この選択の結果、工具補正間隔は条件Ｃに該当するものとなるので、図７において矢印５４又は５６で示すように、報酬は−５となる。従って図７に示すように、図６において矢印５２で示されたパターンの行動価値として、−５が設定される（つまり行動価値テーブルが更新される）。
【００４２】
図７において、工具補正間隔が条件Ｃに該当する場合に、次回の補正間隔をさらに縮める行動（すなわち矢印５６で示すパターン）が選択されたとする。この選択の結果、工具補正間隔は条件Ｄに該当するものとなるので、図８において矢印５８又は６０で示すように、報酬は＋１５となる。従って図８に示すように、図７において矢印５６で示されたパターンの行動価値として、＋１５が設定される（つまり行動価値テーブルが更新される）。
【００４３】
上述のような選択・更新を繰り返すことにより、図９に示すような、各パターンについて行動価値が設定された行動価値テーブルが得られ、最適な工具補正間隔を決定できるようになる。
【００４４】
図１０は、図１の工作機械１０における強化学習方法の他の例を説明するフローチャートである。図１０の例は、状態観測部で観測された状態変数を、多層ニューラルネット等の多層構造を用いて演算し、深層学習を行う場合を示しており、このような深層学習では、複数の報酬計算を同時に行うことができ、行動価値テーブルをリアルタイムで更新することができる。
【００４５】
詳細には、図１０に示す例では、図５で説明した機械稼働率に関する報酬計算（ステップＳ２、Ｓ３）と、ワーク加工誤差に関する報酬計算（ステップＳ４、Ｓ５）とが並列処理されており、それぞれの報酬を合算するステップＳ７が追加されている。図１０のフローチャートの他の部分については、図５のフローチャートと同様でよいので、詳細な説明は省略する。
【００４６】
図１１は、報酬計算に用いる変数として、上述の機械稼働率及びワーク加工誤差量に加え、さらに工作機械内温度を使用する例を説明するフローチャートである。上述したように、工作機械内の温度によってワークの熱膨張量は変化するので、工作機械内温度検出部４２等を用いて工作機械１０内の温度変化量を求め、計算結果に応じた報酬を求めることができる（ステップＳ８、Ｓ９）。ここでは一例として、求められた温度変化量を、適当な２つの閾値（すなわち第５の閾値と、第５の閾値より大きい第６の閾値）に基づいて分類し、第５の閾値より低い温度変化量に対する報酬を＋１０、第６の閾値より高い温度変化量に対する報酬を−２０、第５の閾値以上でかつ第６の閾値以下の誤差量に対する報酬を−１０としている。
【００４７】
なお図１１に示した処理（ステップＳ８−Ｓ９）は、図５のフローチャートにおいてステップＳ３とＳ４との間、若しくはステップＳ５とＳ６との間に挿入可能であり、又は、図１０のフローチャートにおいてステップＳ７とＳ６との間に挿入可能である。このように報酬計算に際し温度変化量も考慮する（より具体的には、温度変化量が小さいほど高い報酬を与える）ことにより、機械学習の精度・信頼性をさらに高めることができる。
【００４８】
なお上述の実施形態において、機械学習装置２４（関数更新部３２）で作成又は更新された行動価値テーブルは、他の同種の機械学習装置において使用することもできる。換言すれば、機械学習装置２４は、同種の他の機械学習装置で作成又は更新された行動価値テーブルを用いて自己の行動価値テーブルを作成又は更新することができる。このようにすれば、時間をかけて行動価値テーブルを更新しなくとも、十分に学習が進んだ行動価値テーブルを利用することができるようになる。
【００４９】
ここで、図１に示した機械学習装置２４について詳細に説明する。機械学習装置２４は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。
【００５０】
「教師あり学習」とは、ある入力と結果（ラベル）のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、即ち、その関係性を帰納的に獲得することができる。本実施形態においては、機械稼働率及びワーク加工誤差量から最適な工具補正間隔を推定する部分などに用いることができる。後述のニューラルネットワークなどのアルゴリズムを用いて実現することができる。
【００５１】
「教師なし学習」とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。それらのデータセットにある特徴を似た者どうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。また「教師なし学習」と「教師あり学習」との中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。本実施形態においては、実際に着磁器を動作させなくても取得することができるデータを教師なし学習で利用し、学習を効率的に行うことができる。
【００５２】
強化学習の問題を以下のように設定する。
・工作機械（制御装置）は環境の状態を観測し、行動を決定する。
・環境は何らかの規則に従って変化し、さらに自分の行動が、環境に変化を与えることもある。
・行動するたびに報酬信号が帰ってくる。
・最大化したいのは将来にわたっての報酬の合計である。
・行動が引き起こす結果を全く知らない、または不完全にしか知らない状態から学習はスタートする。工作機械（制御装置）は実際に動作して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・事前学習（前述の教師あり学習や、逆強化学習といった手法）した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００５３】
「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、即ち、将来的に得られる報酬を最大にするための学習をする方法である。このことは、本実施形態において、未来に影響を及ぼすような行動を獲得できることを表している。例えば、強化学習の１つであるＱ学習の場合で説明を続けるが、それに限るものではない。
【００５４】
Ｑ学習は、或る環境状態ｓの下で、行動ａを選択する価値Ｑ（ｓ，ａ）を学習する方法である。つまり、或る状態ｓのとき、価値Ｑ（ｓ，ａ）の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は状態ｓと行動ａとの組合せについて、価値Ｑ（ｓ，ａ）の正しい値は全く分かっていない。そこで、エージェント（行動主体）は、或る状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して報酬が与えられる。それにより、エージェントはより良い行動の選択、すなわち正しい価値Ｑ（ｓ，ａ）を学習していく。
【００５５】
行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ（ｓ，ａ）＝Ｅ［Σγtｒt］となるようにすることを目指す（期待値は最適な行動に従って状態変化したときについてとる。もちろん、それは分かっていないので、探索しながら学習しなければならない）。そのような価値Ｑ（ｓ，ａ）の更新式は、例えば次式により表すことができる。
【００５６】
【数１】
0005969676.tif 000002
【００５７】
ここで、ｓtは時刻ｔにおける環境の状態を表し、ａtは時刻ｔにおける行動を表す。行動ａtにより、状態はｓt+1に変化する。ｒt+1は、その状態の変化により貰える報酬を表している。また、ｍａｘの付いた項は、状態ｓt+1の下で、その時に分かっている最もＱ値の高い行動ａを選択した場合のＱ値にγを乗じたものになる。γは、０＜γ≦１のパラメータで、割引率と呼ばれる。αは学習係数で、０＜α≦１の範囲とする。
【００５８】
この式は、試行ａtの結果帰ってきた報酬ｒt+1を元に、状態ｓtにおける行動ａtの評価値Ｑ（ｓt，ａt）を更新する方法を表している。状態ｓにおける行動ａの評価値Ｑ（ｓt，ａt）よりも、報酬ｒt+1＋行動ａによる次の状態における最良の行動ｍａｘ ａの評価値Ｑ（ｓt+1，ｍａｘ ａt+1）の方が大きければ、Ｑ（ｓt，ａt）を大きくするし、反対に小さければ、Ｑ（ｓt，ａt）も小さくすることを示している。つまり、或る状態における或る行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近付けるようにしている。
【００５９】
Ｑ（ｓ，ａ）の計算機上での表現方法は、すべての状態行動ペア（ｓ，ａ）に対して、その値をテーブル（行動価値テーブル）として保持しておく方法と、Ｑ（ｓ，ａ）を近似するような関数を用意する方法とがある。後者の方法では、前述の更新式は、確率勾配降下法などの手法で近似関数のパラメータを調整していくことで実現することができる。近似関数としては、後述のニューラルネットワークを用いることができる。
【００６０】
教師あり学習、教師なし学習、及び強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。ニューラルネットワークは、例えば図１２に示すようなニューロンのモデルを模したニューラルネットワークを実現する演算装置及びメモリ等で構成される。
【００６１】
図１２に示すように、ニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する出力ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の式により表現される出力ｙを出力する。なお、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。
【００６２】
【数２】
0005969676.tif 000003
ここで、θはバイアスであり、ｆkは活性化関数である。
【００６３】
次に、上述したニューロンを組み合わせた３層の重みを有するニューラルネットワークについて、図１３を参照して説明する。図１３は、Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【００６４】
図１３に示すように、ニューラルネットワークの左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。
【００６５】
具体的には、入力ｘ１〜入力ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてｗ１と標記されている。
【００６６】
ニューロンＮ１１〜Ｎ１３は、それぞれ、ｚ１１〜ｚ１３を出力する。これらのｚ１１〜ｚ１３はまとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。
【００６７】
ｚ１１〜ｚ１３は、２つのニューロンＮ２１、Ｎ２２の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。
【００６８】
ニューロンＮ２１、Ｎ２２は、それぞれ、ｚ２１、ｚ２２を出力する。これらは、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。
【００６９】
特徴ベクトルｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
【００７０】
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜結果ｙ３を出力する。
【００７１】
ニューラルネットワークの動作には、学習モードと価値予測モードとがあり、学習モードにおいて学習データセットを用いて重みｗを学習し、そのパラメータを用いて予測モードにおいて行動判断を行う（便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能である）。
【００７２】
予測モードで実際に得られたデータを即時学習し、次の行動に反映させる（オンライン学習）ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う（バッチ学習）こともできる。その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００７３】
重みｗ１〜ｗ３は、誤差逆伝搬法（バックプロパゲーション）により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ（教師）との差分を小さくするように、それぞれの重みを調整（学習）する手法である。
【００７４】
このようなニューラルネットワークは、３層以上にさらに層を増やすことも可能である（深層学習と称される）。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【符号の説明】
【００７５】
１０    工作機械
１８    工具
２０    ワーク
２２    制御装置
２４    機械学習器
２６    状態観測部
２８    学習部
３０    報酬計算部
３２    関数更新部
３４    意思決定部
３６    補正間隔変更部
３８    加工誤差量検出部
４０    稼働率算出部
４２    工作機械内温度検出部
【要約】
【課題】工作機械の工具補正の頻度を最適化することができる機械学習装置及び機械学習方法、並びに該機械学習装置を備えた工作機械の提供。
【解決手段】機械学習器２４は、工具１８を補正する時間間隔、工作機械１０で加工されたワーク２０の加工誤差量、及び工作機械１０の機械稼働率を状態変数として観測する状態観測部２６と、状態観測部２６により観測された工具補正間隔、ワーク加工誤差量及び機械稼働率に基づいて、工具補正間隔の変更に関する行動価値を学習する学習部２８とを有する。
【選択図】図１【図１】
0005969676.tif 000004
【図２】
0005969676.tif 000005
【図３】
0005969676.tif 000006
【図４】
0005969676.tif 000007
【図５】
0005969676.tif 000008
【図６】
0005969676.tif 000009
【図７】
0005969676.tif 000010
【図８】
0005969676.tif 000011
【図９】
0005969676.tif 000012
【図１０】
0005969676.tif 000013
【図１１】
0005969676.tif 000014
【図１２】
0005969676.tif 000015
【図１３】
0005969676.tif 000016