(57)【要約】【課題】羽根車のアンバランス量が低減されるように、工作機械の加工プログラムの設定値を学習する機械学習装置を提供する。【解決手段】機械学習装置２は、羽根車を加工する工作機械１の加工プログラムの設定値を学習する。機械学習装置２は、ワークを加工している期間中の熱変位量を状態変数として取得する状態観測部２１と、加工後の羽根車のアンバランス量を判定データとして受信する判定データ取得部２２とを備える。機械学習装置２は、状態観測部２１の出力および判定データ取得部２２の出力に基づいて、加工プログラムの設定値を学習する学習部２３を備える。【選択図】図６
2018065211.tif 000002
【特許請求の範囲】
【請求項１】
羽根車を加工する工作機械の加工プログラムの設定値を学習する機械学習装置であって、
ワークを加工している期間中の熱変位量を状態変数として取得する状態観測部と、
加工後の羽根車のアンバランス量を判定データとして受信する判定データ取得部と、
前記状態観測部の出力および前記判定データ取得部の出力に基づいて、加工プログラムの設定値を学習する学習部と、を備えることを特徴とする、機械学習装置。
【請求項２】
加工プログラムの設定値は、ワーク座標系の原点の位置および２つの回転軸の交差オフセットベクトルのうち少なくとも一方を含む、請求項１に記載の機械学習装置。
【請求項３】
前記状態観測部は、状態変数として工作機械の周りの気温を取得する、請求項１または２に記載の機械学習装置。
【請求項４】
工作機械の予め定められた部材には、温度検出器が取り付けられており、
前記状態観測部は、前記温度検出器の出力に基づいて推定した熱変位量を取得する、請求項１から３のいずれか一項に記載の機械学習装置。
【請求項５】
複数台の工作機械に接続されている機械学習装置であって、
前記学習部は、それぞれの工作機械ごとに加工プログラムの設定値を学習するように形成されており、複数台の工作機械の加工プログラムの学習の内容を共有する、請求項１から４のいずれか一項に記載の機械学習装置。
【請求項６】
請求項１に記載の機械学習装置と、
ワークを加工して羽根車を生成する工作機械と、
羽根車のアンバランス量を測定するアンバランス測定機とを備える、加工システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習装置および機械学習装置を備える加工システムに関する。
【背景技術】
【０００２】
従来から、空気の流れを生成したり、空気の流れを回転力に変換したりするための羽根車が様々な装置に用いられている。羽根車は、回転軸を含む基部にブレード部が取り付けられた構造を有する。羽根車は、様々な方法にて製造される。
【０００３】
特開２０１０−１６９０３０号公報には、プロペラ羽根の製造方法が開示されている。この製造方法は、スパイダーに複数のブレードをレーザ溶接にて固定して平板状のプロペラ羽根を形成する工程と、プロペラ羽根を曲げ加工して立体的なプロペラ羽根を形成する工程とを含むことが開示されている。
【０００４】
また、近年では、所定の製品を製造する時に機械学習を行うことにより、製造方法を最適化することが知られている。
【０００５】
特表２０１３−５１８４４９号公報には、半導体の製造ツールにおいて、自己学習を行うことにより製造ツールの性能を最適化する学習システムが開示されている。
【０００６】
特開平７−１６４１９９号公報には、プレス加工機の圧力センサの圧着信号をニューラルネットワーク装置を備えたコンピュータに入力し、このコンピュータにてワークの良否を表示する品質管理装置が開示されている。また、この公報には、コンピュータに接続された制御装置でプレス加工機を運転制御することが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−１６９０３０号公報
【特許文献２】特表２０１３−５１８４４９号公報
【特許文献３】特開平７−１６４１９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
工作機械は、ワークに対して工具を相対的に移動しながらワークを切削して、ワークを所望の形状に加工することができる。羽根車の製造方法では、１つの基材を工作機械にて切削することにより羽根車を製造することが知られている。この場合には、１つの部材を切削することにより基部およびブレード部が生成される。
【０００９】
羽根車は、アンバランスを有すると回転した時に振動したり故障したりする。特に、自動車の内燃機関の過給機などに用いられる羽根車は、高速で回転する。高速で回転する羽根車のアンバランスの許容値は数ｍｇと非常に小さい。このために、工作機械における組み立て誤差、または工作機械の熱変位によって、加工精度は大きな影響を受ける。
【００１０】
工作機械の機械的な誤差および熱変位量を計測して、加工プログラムに含まれる設定値を調整することにより、製品のアンバランス量を低減することが考えられる。ところが、加工プログラムの設定が難しく、製品のアンバランス量が許容値を超える場合があった。
【課題を解決するための手段】
【００１１】
本発明の機械学習装置は、羽根車を加工する工作機械の加工プログラムの設定値を学習する。機械学習装置は、ワークを加工している期間中の熱変位量を状態変数として取得する状態観測部を備える。機械学習装置は、加工後の羽根車のアンバランス量を判定データとして受信する判定データ取得部を備える。機械学習装置は、状態観測部の出力および判定データ取得部の出力に基づいて、加工プログラムの設定値を学習する学習部を備える。
【００１２】
上記発明においては、加工プログラムの設定値は、ワーク座標系の原点の位置および２つの回転軸の交差オフセットベクトルのうち少なくとも一方を含むことができる。
【００１３】
上記発明においては、状態観測部は、状態変数として工作機械の周りの気温を取得することができる。
【００１４】
上記発明においては、工作機械の予め定められた部材には、温度検出器が取り付けられることができる。状態観測部は、温度検出器の出力に基づいて推定した熱変位量を取得することができる。
【００１５】
上記発明においては、機械学習装置は、複数台の工作機械に接続されることができる。学習部は、それぞれの工作機械ごとに加工プログラムの設定値を学習するように形成されており、複数台の工作機械の加工プログラムの学習の内容を共有することができる。
【００１６】
本発明の加工システムは、前述の機械学習装置と、ワークを加工して羽根車を生成する工作機械と、羽根車のアンバランス量を測定するアンバランス測定機とを備える。
【発明の効果】
【００１７】
本発明によれば、羽根車のアンバランス量が低減されるように、工作機械の加工プログラムの設定値を学習する機械学習装置および機械学習装置を備える加工システムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】実施の形態における機械学習装置の模式図である。
【図２】実施の形態において製造する羽根車の斜視図である。
【図３】実施の形態における工作機械の主要部の斜視図である。
【図４】実施の形態における工作機械の主要部の平面図である。
【図５】実施の形態における工作機械の主要部の側面図である。
【図６】実施の形態における加工システムのブロック図である。
【図７】ニューロンのモデルを模式的に示す図である。
【図８】単一のニューロンを組み合わせて構成した３層のニューラルネットワークを模式的に示す図である。
【図９】実施の形態における機械学習装置の制御のフローチャートである。
【発明を実施するための形態】
【００１９】
図１から図９を参照して、実施の形態における機械学習装置および機械学習装置を備える加工システムについて説明する。本実施の形態の機械学習装置は、工作機械の加工プログラムの設定値を学習する。機械学習装置により更新される設定値を用いることにより、工作機械はアンバランス量の小さなワークを形成することができる。
【００２０】
図１は、本実施の形態における機械学習装置の一つの実施の形態を模式的に示すブロック図である。機械学習装置２は、例えば、強化学習により工作機械の加工プログラムの学習を行って修正された加工プログラムを出力する。機械学習装置２は、人工知能部２０を含む。機械学習装置２は、例えば、それぞれの工作機械の制御装置(エッジ)に設けてもよいが、複数の工作機械を有する工場(加工システム)ごとに、フォグサーバ等を設けても構わない。或いは、機械学習装置２は、複数の工場とインターネット等の通信回線を介して接続されたクラウドサーバに設けることもできる。
【００２１】
それぞれの工作機械に対して機械学習装置が設けられる場合には、例えば、１つの機械学習装置と他の機械学習装置とを接続可能とすることができる。１つの機械学習装置は、他の機械学習装置と接続することができる。１つの機械学習装置は、他の機械学習装置との間で機械学習の内容を相互に交換または共有するようにしてもよい。
【００２２】
人工知能(ＡＩ：Artificial Intelligence)部２０は、例えば、後述するように、多層構造のニューラルネットワーク等により実現されることができる。人工知能部２０は、製造したワークのアンバランス量、ワークを加工しているときの工作機械の熱変位量、および工作機械の周囲の温度等を取得する。人工知能部２０は、取得した外部からのデータに基づいて学習(強化学習)を行う。人工知能部２０は、加工プログラムの予め定められた設定値を定める。人工知能部２０は、修正(学習)された加工プログラムを出力する。学習された加工プログラムにて工作機械を駆動することにより、例えば、アンバランス量が小さな羽根車を製造することができる。
【００２３】
図２に、本実施の形態において製造する羽根車の斜視図を示す。本実施の形態の羽根車４は、自動車の内燃機関に配置される過給機の部品である。本実施の形態の羽根車４は、吸気経路に配置されるコンプレッサに配置される。羽根車４は、曲線の形状を有する翼部４１と翼部４１を支持する基部４２とを有する。本実施の形態の羽根車４は、運転期間中に高速で回転する。たとえば、羽根車４は、１万ｒｐｍ以上２０万ｒｐｍ以下の回転数で回転する。本実施の形態では、１つの基材を工作機械にて切削することにより、羽根車４を製造する。
【００２４】
図３に、本実施の形態における工作機械の主要部の斜視図を示す。図４に、本実施の形態における工作機械の旋回台の平面図を示す。図５に、本実施の形態における工作機械の旋回台の側面図を示す。図３から図５を参照して、工作機械１は、テーブル１１と、テーブル１１に固定された旋回台１２とを備える。旋回台１２は、ワークを固定する固定治具として機能する。
【００２５】
旋回台１２は、ワークが固定される回転テーブル１７と、回転テーブル１７を支持する揺動部材１６とを含む。旋回台１２は、揺動部材１６を支持する支持部材１５を含む。支持部材１５は、側方から見た時にＵ字形状に形成されている。支持部材１５は、一対の支柱を含み、支柱により揺動部材１６の両側の端部を支持している。支持部材１５は、揺動部材１６を揺動可能に支持している。
【００２６】
工作機械１は、工具１３を支持する主軸ヘッド１４を備える。主軸ヘッド１４は、工具１３の中心軸の周りに工具を回転するように形成されている。主軸ヘッド１４は、工具１３の先端が回転テーブル１７に対向するように、工具１４を下向きに支持している。
【００２７】
工作機械１には、互いに直交するＸ軸、Ｙ軸およびＺ軸が設定されている。更に、工作機械１には、Ｘ軸に平行に延びる軸線６１の周りのＡ軸が設定されている。工作機械１には、Ｚ軸に平行に延びる軸線６２の周りのＣ軸が設定されている。
【００２８】
工作機械１は、それぞれの送り軸に沿って、ワークに対して工具を相対的に移動させる駆動装置を備える。駆動装置は、それぞれの送り軸に対して、部材を移動させるサーボモータを含む。本実施の形態の工作機械１では、駆動装置は、テーブル１１をＸ軸方向およびＹ軸方向に移動させる。駆動装置は、主軸ヘッド１４をＺ軸方向に移動させる。駆動装置は、Ｘ軸、Ｙ軸およびＺ軸方向に所定の部材をするために、ボールねじ機構を含む。ボールねじ機構は、外周にねじが形成されたねじ軸と、ねじ軸に係合するナットとを含む。ねじ軸が中心軸周りに回転することにより、ナットがねじ軸に沿って移動する。
【００２９】
駆動装置は、回転テーブル１７をＣ軸の方向に回転するモータを含む。本実施の形態の回転テーブル１７の駆動モータは、揺動部材１６の内部に配置されている。駆動装置は、支持部材１５に対して、揺動部材１６をＡ軸の方向に揺動するモータを含む。揺動部材１６を駆動するモータは、支持部材１５の内部に配置されている。回転テーブル１７は、揺動部材１６と一体的に移動する。
【００３０】
本実施の形態の工作機械１は、互いに直交する３つの直動軸と、Ａ軸の軸線及びＣ軸の軸線の周りに回転する回転送り軸とを有する。工作機械は、この形態に限られず、直動軸と回転送り軸とを有する任意の工作機械を採用することができる。たとえば、ワークを固定する回転テーブル１７は揺動せずに、主軸ヘッド１４が揺動可能に形成されていても構わない。
【００３１】
本実施の形態の工作機械１は、回転送り軸でワークに対する工具１３の傾きを変化させながら、羽根車４の翼部４１の形状にワークを切削することができる。工作機械１は、制御装置１８に入力される加工プログラム（ＮＣプログラム）に基づいて、加工を実施する。
【００３２】
図６に、本実施の形態における加工システムのブロック図を示す。加工システム８は、工作機械１および機械学習装置２を備える。本実施の形態の機械学習装置２は、バスを介して互いに接続されたＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、およびＲＯＭ（Read Only Memory）等を備える演算処理装置にて構成されている。本実施の形態の機械学習装置２は、学習の処理を行うためのコンピュータにて構成されている。機械学習装置２としては、この形態に限られない。例えば、工作機械１の制御装置１８が学習を行う機能を備えていても構わない。すなわち、工作機械１の動作を制御する制御装置１８が機械学習装置２の機能を有していても構わない。または、他の装置の制御装置が配置されている場合に、他の装置の制御装置が機械学習装置の機能を有していても構わない。
【００３３】
本実施の形態の機械学習装置２は、通信装置を介して工作機械１の制御装置１８に接続されている。制御装置１８は、ＣＰＵおよびＲＡＭ等を含む演算処理装置にて構成されている。機械学習装置２は、加工に関する情報を受信したり、工作機械１に加工プログラム等の加工に関する情報を送信したりできる。
【００３４】
本実施の形態では、工作機械にてワークを切削することにより羽根車を製造する。本実施の形態の羽根車は、高速で回転するために、羽根車のアンバランス量の許容値が厳しい。機械学習装置は、アンバランス量が小さくなるように加工プログラムに含まれる設定値を学習する。機械学習装置は、学習を継続することによりアンバランス量が小さくなる設定値を定めることができる。
【００３５】
本実施の形態において学習される加工プログラムの設定値は、ワーク座標系の原点の位置を含む。図４および図５を参照して、工作機械１には、機械座標系の原点６５が設定されている。機械座標系の原点６５は、主軸ヘッド１４、テーブル１１および回転テーブル１７が移動しても不動の点である。本実施の形態の工作機械１では、ワークが固定される回転テーブル１７の表面において、回転テーブル１７の回転中心に、ワーク座標系の原点６６が設定されている。ワーク座標系の原点６６は、ワークと共に移動したり回転したりする。機械座標系の原点６５に対するワーク座標系の原点６６の位置は、予め定められている。たとえば、予め定められた工作機械の基準の状態において、原点６５からＸ軸方向に距離Ｄｘ、Ｙ軸方向に距離Ｄｙ、およびＺ軸方向に距離Ｄｚ離れた位置に原点６６が設定されている。加工プログラムには、機械座標系におけるワーク座標系の原点６６の位置が設定されている。ワーク座標系の原点６６の位置は、工作機械１の組み立て時の誤差および加工期間中の熱変位により設計の位置からずれる。機械学習装置は、加工プログラムにおけるワーク座標系の原点の位置の設定値を変更する。
【００３６】
また、本実施の形態の加工プログラムの設定値は、２つの回転軸の交差オフセットベクトルを含む。図３および図４を参照して、本実施の形態の工作機械１は、２つの回転軸として、Ａ軸の軸線６１とＣ軸の軸線６２とを含む。工作機械の設計では、軸線６１と軸線６２とは互いに交差する。ところが、工作機械１の組み立て時の誤差および加工期間中の熱変位により、軸線６１と軸線６２とが交わらない場合がある。本実施の形態では、軸線６１上の予め定められた点から軸線６２上の予め定められた点までのベクトルを交差オフセットベクトルと称する。すなわち、交差オフセットベクトルは、２つの回転軸のずれの量とずれの方向を示す。機械学習装置２は、加工プログラムにおける交差オフセットベクトルの設定値を変更する。
【００３７】
図６を参照して、本実施の形態の機械学習装置２は、状態観測部２１、判定データ取得部２２、学習部２３および意思決定部２４を含む。機械学習装置２は、学習に関する任意の情報を記憶する記憶部２５を含む。学習部２３は、報酬計算部２９および価値関数更新部３０を含む。
【００３８】
状態観測部２１は、ワークを加工している期間中の工作機械１の熱変位量を状態変数として取得する。状態観測部２１は、予め定められた部材の熱変位量を取得する。本実施の形態では、状態観測部２１は、工具を保持する主軸の熱変位量および、それぞれの駆動軸に配置されているボールねじの熱変位量を取得する。
【００３９】
熱変位量の推定を行う部材には、温度検出器１９が取り付けられている。工作機械の主軸ヘッドには、主軸の温度を検出する温度検出器１９が取り付けられている。また、工作機械のそれぞれの駆動軸のボールねじ機構には、ねじ軸の温度を検出する温度検出器１９が取り付けられている。温度検出器１９にて検出された温度は、制御装置１８に入力される。
【００４０】
機械学習装置２は、熱変位量を算出する熱変位量推定部２７を含む。熱変位量推定部２７は、温度検出器１９にて検出した温度を制御装置１８から受信する。熱変位量推定部２７は、温度検出器１９にて検出した温度に基づいて、それぞれの部材の所定の方向における熱変位量を算出する。
【００４１】
たとえば、主軸は温度に依存して僅かに延びたり縮んだりする。熱変位量推定部２７は、主軸の温度に基づいて、主軸の延びる方向（Ｚ方向の）主軸の熱変位量を推定することができる。または、熱変位量推定部２７は、ボールねじ機構のねじ軸の温度に基づいて、ねじ軸の延びる方向における熱変位量を推定することができる。状態観測部２１は、熱変位量推定部２７で算出した熱変位量を受信する。
【００４２】
熱変位量の推定方法は、上記に限られず、例えば、工作機械にリニアスケールが配置されている場合には、加工期間中のリニアスケールの出力に基づいて、熱変位量を取得しても構わない。または、熱変位量推定部は、駆動モータの回転数などの駆動装置の状態に基づいて、熱変位量を推定しても構わない。たとえば、駆動モータに供給する電流値が大きいほど、所定の駆動軸の装置の温度は上昇する。この時に、熱変位量推定部は、大きな熱変位量を推定することができる。または、熱変位量推定部は、それぞれの駆動軸における移動量に基づいて熱変位量を推定しても構わない。たとえば、熱変位量推定部は、所定の軸における移動量が多い程、熱変位量を大きく推定することができる。
【００４３】
更に、本実施の形態の状態観測部２１は、工作機械１の周りの気温を状態変数として観測することができる。工作機械１の周りに気温検出器３５が配置されている。気温検出器３５の出力は、制御装置１８に入力される。状態観測部２１は、工作機械１の周りの気温を制御装置１８から取得する。
【００４４】
判定データ取得部２２は、加工後の羽根車のアンバランス量を判定データとして受信する。学習部２３は、状態観測部２１の出力および判定データ取得部２２の出力に基づいて、工作機械１の加工プログラムの設定値を学習する。本実施の形態の加工プログラムの設定値は、ワーク座標系の原点の位置および２つの回転軸の交差オフセットベクトルのうち少なくとも一方を含む。
【００４５】
学習部２３は、報酬計算部２９および価値関数更新部３０を含む。報酬計算部２９は、判定データ取得部２２の出力に基づいて報酬を計算する。また、報酬計算部２９は、状態観測部２１の出力に基づいて報酬を計算しても構わない。価値関数更新部３０は、状態観測部２１の出力、判定データ取得部２２の出力、および報酬計算部２９の出力に基づいて、加工プログラムの設定値の価値を定める価値関数を更新する。意思決定部２４は、価値関数更新部３０にて更新された価値関数に基づいて、次のワークの加工のための加工プログラムの設定値を定める。
【００４６】
機械学習装置２は、工作機械の加工プログラムを生成する加工プログラム生成部２８を含む。加工プログラム生成部２８は、意思決定部２４により設定された設定値に基づいて、加工プログラムを更新する。更新された加工プログラムは、工作機械１の制御装置１８に送信される。工作機械１は、更新された加工プログラムにて、次のワークの加工を行う。
【００４７】
本実施の形態の加工システム８は、動釣合試験機としてのアンバランス測定機３を備える。アンバランス測定機３は、羽根車のアンバランス量を測定することができる。本実施の形態のアンバランス測定機３は、縦型の２面動釣合試験機である。アンバランス量としては、羽根車の回転中心から重心位置までの距離、および重心位置の位相を採用することができる。
【００４８】
本実施の形態のアンバランス測定機３は、羽根車４を支持する固定ピンを含む。固定ピンに羽根車４を通すことにより、羽根車４は回転自在に支持される。下側から空気を供給されることにより羽根車４は浮上する。羽根車４が浮上した状態で、羽根車４の翼部４１に空気を当てることで羽根車４を回転させる。羽根車４の裏面には位相の基準としてのマークが記載されている。羽根車の回転数は、レーザセンサにてマークを検出することで計測することができる。また、レーザセンサにて測定した回転数をフィードバックすることで、翼部に衝突させる空気量を調節する。アンバランス量の計測中は、羽根車の回転数は一定に維持される。
【００４９】
作業者は、アンバランス量を測定するために、基準の羽根車を準備する。基準の羽根車は、アンバランス量が非常に小さくなるように形成されている。基準の羽根車の回転中心から半径方向の所定の位置に、所定の重さのおもりを固定する。次に、アンバランス測定機に基準の羽根車を配置する。アンバランス測定機にて、基準の羽根車が回転した時の基準の羽根車の振動波形を取得する。この振動波形が基準の振動波形になる。アンバランス測定機は、基準の振動波形を記憶する。
【００５０】
製造した羽根車のアンバランス量を測定する場合に、アンバランス測定機は、製造した羽根車の振動波形を測定する。アンバランス測定機は、基準の振動波形と製造した羽根車の振動波形とに基づいて、実際の羽根車のアンバランス量を算出することができる。
【００５１】
なお、アンバランス測定機は、上記の形態に限られず、ワークのアンバランス量を測定できる任意の測定機を採用することができる。
【００５２】
機械学習装置は、装置に入力されるデータの集合から、その中にある有用な規則、知識表現、および判断基準等を解析により抽出し、その判断結果を出力するとともに、知識の学習(機械学習)を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する「深層学習(ディープラーニング：Deep Learning)」と呼ばれる手法がある。
【００５３】
なお、図６に示す機械学習装置２は、「強化学習(Ｑ学習)」を適用したものである。この機械学習装置２は、汎用の計算機若しくはプロセッサを用いることができる。または、機械学習装置２は、例えば、ＧＰＧＰＵ(General-Purpose computing on Graphics Processing Units)や大規模ＰＣクラスター等を適用すると、より高速に処理することが可能になる。ここで、機械学習の全般に関して、概略を説明する。
【００５４】
まず、教師あり学習とは、教師データ、すなわち、ある入力と結果(ラベル)のデータの組を大量に機械学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(誤差モデル)、すなわち、その関係性を帰納的に獲得するものである。例えば、後述のニューラルネットワーク等のアルゴリズムを用いて実現することが可能である。
【００５５】
また、教師なし学習とは、入力データのみを大量に機械学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、および整形等を行う装置で学習する手法である。例えば、機械学習装置は、それらのデータセットにある特徴を、似た者どうしにクラスタリングすること等ができる。機械学習装置は、この結果を使って、何らかの基準を設けてそれを最適化するような出力の割り当てを行うことにより、出力の予測を実現することできる。
【００５６】
なお、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものもあり、これは、例えば、一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合が対応する。
【００５７】
次に、強化学習について、説明する。まず、強化学習の問題設定として、次のように考える。
・加工システム(例えば、工作機械の制御装置および機械学習装置を含む)は、環境の状態を観測し、行動を決定する。
・環境は、何らかの規則に従って変化し、さらに、自分の行動が、環境に変化を与えることもある。
・行動するたびに、報酬信号が帰ってくる。
・最大化したいのは、将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または、不完全にしか知らない状態から学習はスタートする。すなわち、機械学習装置は、実際に行動して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように、事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００５８】
ここで、強化学習（Ｑ学習）とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法を学ぶものである。以下に、例として、Ｑ学習の場合で説明を続けるが、Ｑ学習に限定されるものではない。
【００５９】
Ｑ学習は、或る環境状態ｓの下で、行動ａを選択する価値Ｑ(ｓ，ａ)を学習する方法である。つまり、或る状態ｓのとき、価値Ｑ(ｓ，ａ)の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は、状態ｓと行動ａとの組合せについて、価値Ｑ(ｓ，ａ)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して、報酬が与えられる。それにより、エージェントは、より良い行動の選択、すなわち、正しい価値Ｑ(ｓ，ａ)を学習していく。
【００６０】
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ(ｓ，ａ)＝Ｅ［Σ(γt)ｒt］となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、分かっていないので、探索しながら学習することになる。このような価値Ｑ(ｓ，ａ)の更新式は、例えば、次の式(１)により表すことができる。
【００６１】
【数１】
2018065211.tif 000003
【００６２】
上記の式(１)において、ｓtは、時刻ｔにおける環境の状態を表し、ａtは、時刻ｔにおける行動を表す。行動ａtにより、状態はｓt+1に変化する。rt+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，ｘ2，ｘ3)には、この入力ｘに対応する重みｗ(ｗ1，ｗ2，ｗ3)が乗算される。これにより、ニューロンは、次の式(２)により表現される結果ｙを出力する。なお、入力ｘ、結果ｙおよび重みｗは、すべてベクトルである。また、下記の式(２)において、θは、バイアスであり、ｆkは、活性化関数である。
【００６７】
【数２】
2018065211.tif 000004
【００６８】
図８を参照して、図７に示すニューロンを組み合わせて構成した三層のニューラルネットワークを説明する。図８に示されるように、ニューラルネットワークの左側から複数の入力ｘ(ここでは、一例として、入力ｘ1〜入力ｘ3)が入力され、右側から結果ｙ(ここでは、一例として、結果ｙ1〜結果ｙ3)が出力される。具体的に、入力ｘ1，ｘ2， ｘ3は、３つのニューロンＮ11〜Ｎ13の各々に対して、対応する重みが掛けられて入力される。これらの入力に掛けられる重みは、まとめてＷ１と標記されている。
【００６９】
ニューロンＮ11〜Ｎ13は、それぞれ、ｚ11〜ｚ13を出力する。図８において、これらｚ11〜ｚ13は、まとめて特徴ベクトルＺ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルＺ１は、重みＷ１と重みＷ２との間の特徴ベクトルである。ｚ11〜ｚ13は、２つのニューロンＮ21およびＮ22の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてＷ２と標記されている。
【００７０】
ニューロンＮ21，Ｎ22は、それぞれｚ21，ｚ22を出力する。図８において、これらｚ21，ｚ22は、まとめて特徴ベクトルＺ２と標記されている。この特徴ベクトルＺ２は、重みＷ２と重みＷ３との間の特徴ベクトルである。ｚ21，ｚ22は、３つのニューロンＮ31〜Ｎ33の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてＷ３と標記されている。
【００７１】
最後に、ニューロンＮ31〜Ｎ33は、それぞれ、結果ｙ１〜結果ｙ３を出力する。ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて、学習データセットを用いて重みＷを学習し、そのパラメータを用いて予測モードにおいて、制御装置の行動判断を行う。なお、便宜上、予測と書いたが、検出・分類・推論等多様なタスクが可能なのはいうまでもない。
【００７２】
ここで、予測モードで実際に工作機械の制御装置を動かして得られたデータを即時学習し、次の行動に反映させる(オンライン学習)ことができる。または、予め収集しておいたデータ群を用いてまとめた学習を行った後に、以降はずっとそのパラメータで検知モードを行う(バッチ学習)こともできる。或いは、その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００７３】
また、重みＷ１〜Ｗ３は、誤差逆伝搬法(誤差逆転伝播法：バックプロパゲーション：Backpropagation)により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である(深層学習と称される)。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。
【００７４】
図６を参照して、本実施の形態の機械学習装置２は、強化学習を実施するように、状態観測部２１、判定データ取得部２２、学習部２３、および、意思決定部２４を備えている。一つの設定値の加工プログラムにてワークの加工を行う行為が行動に相当する。なお、本発明に適用される機械学習方法は、強化学習に限定されるものではなく、また、機械学習装置２は、例えば、ＧＰＧＰＵや大規模ＰＣクラスター等を適用することで実現可能であることは、前述した通りである。
【００７５】
図９に、本実施の形態の機械学習装置における制御のフローチャートの例を示す。図９に示す制御は、例えば、１個のワークを加工するごとに実施することができる。機械学習装置は、前回のワークの加工の結果に基づいて学習を実施する。機械学習装置は、今回の加工のための加工プログラムを生成して、今回の加工を実施することができる。
【００７６】
図６および図９を参照して、ステップ８１においては、機械学習装置２にて生成した加工プログラムを用いて工作機械にてワークを加工する。１回目の加工の場合には、予め定められた設定値を含む加工プログラムを用いることができる。また、ステップ８１において、ワークを加工している期間中に、状態観測部２１は状態変数を取得する。本実施の形態の状態観測部２１は、工作機械における予め定められた部分の熱変位量を取得する。
【００７７】
熱変位量の取得は、加工期間中に連続的に行うことができる。加工期間中に熱変位量が変化する場合がある。本実施の形態では、加工期間中における熱変位量の平均値を用いている。採用する熱変位量は、この形態に限られず、任意の熱変位量を採用することができる。たとえば、熱変位量は、加工期間における最大値を採用しても構わない。
【００７８】
ステップ８２において、加工終了後にアンバランス測定機３にて製造後のワークのアンバランス量を測定する。判定データ取得部２２は、アンバランス測定機３からアンバランス量を取得する。
【００７９】
ステップ８３において、学習部２３の報酬計算部２９は、ワークのアンバランス量が予め定められた判定値よりも小さいか否かを判定する。ワークのアンバランス量が判定値よりも小さい場合には、制御はステップ８４に移行する。ステップ８４において、報酬計算部２９はプラスの報酬を設定する。
【００８０】
ステップ８３において、ワークのアンバランス量が判定値以上の場合には、制御はステップ８５に移行する。ステップ８５において、報酬計算部２９はマイナスの報酬を設定する。なお、報酬計算部２９は、アンバランス量が小さい時には、報酬の値が大きくなるように、任意の制御を実施することができる。たとえば、報酬計算部は、ゼロまたはプラスの値のいずれかの報酬を設定しても構わない。または、報酬計算部２９は、アンバランス量が小さい程、徐々に報酬の値を大きくする制御を実施しても構わない。
【００８１】
次に、ステップ８６において、学習部２３の価値関数更新部３０は、設定された報酬を用いて価値関数を更新する。ステップ８７において、意思決定部２４は、更新された価値関数に基づいて、加工プログラムの設定値を定める。次に、ステップ８８において、加工プログラム生成部２８は、新たに定められた設定値に基づいて、加工プログラムを更新する。機械学習装置２は、更新された加工プログラムを工作機械１の制御装置１８に送信する。この後に、制御は、ステップ８１に戻り、更新された加工プログラムにて新たなワークを加工する。
【００８２】
このように機械学習装置２は、工作機械１の加工プログラムの設定値を定めることができる。加工プログラムは、ワークを加工する度に更新される。
【００８３】
本実施の形態では、１つの機械制御装置が１つの工作機械に接続されているが、この形態に限られない。機械学習装置は、複数台の工作機械に接続されることができる。機械学習装置は、それぞれの工作機械に対して加工プログラムの設定値を学習するように形成することができる。すなわち、機械学習装置は、工作機械ごとに加工プログラムの設定値を設定することができる。そして、機械学習装置は、一つの工作機械の加工プログラムの学習の内容と他の工作機械の加工プログラムの学習の内容とを共有することができる。
【００８４】
例えば、学習部は、複数の工作機械において価値関数を共有することができる。意思決定部は、予め定められた期間において、アンバランス量の最も小さな加工プログラムの設定値を選定することができる。そして、複数の工作機械の加工プログラムの設定値を用いることができる。この制御により、複数の工作機械の情報を用いることができて、効率的にアンバランス量を小さくすることができる。
【００８５】
本実施の形態では、内燃機関の過給機のコンプレッサに配置される羽根車を製造する例を示したが、この形態に限られない。工作機械にて製造するワークとしては、高速で回転する任意の羽根車を採用することができる。たとえば、内燃機関の過給機の排気側のタービンに配置される羽根車を採用することができる。または、船や航空機用の内燃機関の過給機に配置される羽根車に採用することができる。または、遠心分離の作用を用いた掃除機には、高速で回転する羽根車が取り付けられる。本発明は、このような掃除機に取り付けられる羽根車の製造にも適用することができる。
【００８６】
上記の実施の形態は、適宜組み合わせることができる。上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、特許請求の範囲に示される実施の形態の変更が含まれている。
【符号の説明】
【００８７】
１    工作機械
２    機械学習装置
３    アンバランス測定機
４    羽根車
８    加工システム
１８    制御装置
１９    温度検出器
２０    人工知能
２１    状態観測部
２２    判定データ取得部
２３    学習部
２４    意思決定部
２７    熱変位量推定部
６１，６２    軸線
６５，６６    原点
【図１】
2018065211.tif 000005
【図２】
2018065211.tif 000006
【図３】
2018065211.tif 000007
【図４】
2018065211.tif 000008
【図５】
2018065211.tif 000009
【図６】
2018065211.tif 000010
【図７】
2018065211.tif 000011
【図８】
2018065211.tif 000012
【図９】
2018065211.tif 000013