(57)【要約】【課題】ノイズ等に基づく異常値の影響を抑えることを可能とする制御装置及び機械学習装置を提供する。【解決手段】本発明の制御装置１が備える機械学習装置１００は、制御装置１が制御する製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部１１０と、入力データにおける異常を検出し、安全な入力データを出力する入力安全回路１２０と、安全な入力データに基づいて、学習モデルの学習及び学習モデルを用いた推論を実行し、推論結果としての推論データを出力する機械学習部１３０と、推論データにおける異常を検出し、安全な推論データを出力する出力安全回路１４０と、安全な推論データに基づく出力データを出力する出力部１５０と、を備える。【選択図】図２
2019086928.tif 000002
【特許請求の範囲】
【請求項１】
製造機械を制御する制御装置において、
環境としての製造機械に係る状態を学習した機械学習装置を備え、
前記機械学習装置は、
前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、
前記入力データにおける異常を検出し、安全な入力データを出力する入力安全回路と、
前記安全な入力データに基づいて学習モデルを用いた推論を実行し、推論結果としての推論データを出力する機械学習部と、
前記推論データにおける異常を検出し、安全な推論データを出力する出力安全回路と、
前記安全な推論データに基づく出力データを出力する出力部と、
を備える、
制御装置。
【請求項２】
製造機械を制御する制御装置において、
環境としての製造機械に係る状態を学習した機械学習装置を備え、
前記機械学習装置は、
前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、
前記入力データにおける異常を検出し、安全な入力データを出力する入力安全回路と、
前記安全な入力データに基づいて学習モデルを用いた推論を実行し、推論結果としての推論データを出力する機械学習部と、
前記推論データに基づく出力データを出力する出力部と、
を備える、
制御装置。
【請求項３】
製造機械を制御する制御装置において、
環境としての製造機械に係る状態を学習した機械学習装置を備え、
前記機械学習装置は、
前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、
前記入力データに基づいて学習モデルを用いた推論を実行し、推論結果としての推論データを出力する機械学習部と、
前記推論データにおける異常を検出し、安全な推論データを出力する出力安全回路と、
前記安全な推論データに基づく出力データを出力する出力部と、
を備える、
制御装置。
【請求項４】
前記機械学習部は、前記安全な入力データに基づく前記学習モデルの学習を実行する、
請求項１又は２に記載の制御装置。
【請求項５】
前記機械学習部は、前記入力データに基づく前記学習モデルの学習を実行する、
請求項３に記載の制御装置。
【請求項６】
製造機械を制御する制御装置において、
環境としての製造機械に係る状態を学習する機械学習装置を備え、
前記機械学習装置は、
前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、
前記入力データにおける異常を検出し、安全な入力データを出力する入力安全回路と、
前記安全な入力データに基づいた学習モデルの学習を実行する機械学習部と、
を備える、
制御装置。
【請求項７】
前記入力安全回路は、異常値の検出に機械学習的手法を用いる、
請求項１，２，４，６のいずれか１つに記載の制御装置。
【請求項８】
前記出力安全回路は、異常値の検出に機械学習的手法を用いる、
請求項１，３，５のいずれか１つに記載の制御装置。
【請求項９】
環境としての製造機械に係る状態を学習した機械学習装置であって、
前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、
前記入力データにおける異常を検出し、安全な入力データを出力する入力安全回路と、
前記安全な入力データに基づいて学習モデルを用いた推論を実行し、推論結果としての推論データを出力する機械学習部と、
前記推論データにおける異常を検出し、安全な推論データを出力する出力安全回路と、
前記安全な推論データに基づく出力データを出力する出力部と、
を備える、
機械学習装置。
【請求項１０】
環境としての製造機械に係る状態を学習した機械学習装置であって、
前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、
前記入力データにおける異常を検出し、安全な入力データを出力する入力安全回路と、
前記安全な入力データに基づいて学習モデルを用いた推論を実行し、推論結果としての推論データを出力する機械学習部と、
前記推論データに基づく出力データを出力する出力部と、
を備える、
機械学習装置。
【請求項１１】
環境としての製造機械に係る状態を学習した機械学習装置であって、
前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、
前記入力データに基づいて学習モデルを用いた推論を実行し、推論結果としての推論データを出力する機械学習部と、
前記推論データにおける異常を検出し、安全な推論データを出力する出力安全回路と、
前記安全な推論データに基づく出力データを出力する出力部と、
を備える、
機械学習装置。
【請求項１２】
前記機械学習部は、前記安全な入力データに基づく前記学習モデルの学習を実行する、
請求項９又は１０に記載の機械学習装置。
【請求項１３】
前記機械学習部は、前記入力データに基づく前記学習モデルの学習を実行する、
請求項１１に記載の機械学習装置。
【請求項１４】
環境としての製造機械に係る状態を学習する機械学習装置であって、
前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、
前記入力データにおける異常を検出し、安全な入力データを出力する入力安全回路と、
前記安全な入力データに基づいた学習モデルの学習を実行する機械学習部と、
を備える、
機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及び機械学習装置に関する。
【背景技術】
【０００２】
工場環境に設置された工作機械や射出成形機、ロボット等の製造機械を制御する制御装置に対して、制御装置の内部データを含む測定データを用いて機械学習を行う機械学習器を組み込んで、制御装置の内部データを含む測定データに基づいた様々な推論により機械制御を行う機能が利用されつつある。制御装置に組み込まれた機械学習器では、制御装置により取得可能な様々なデータに基づく学習や推論等を行っている。
【０００３】
例えば、特許文献１には、工作機械の熱変位の影響を考慮して該工具の刃先位置を補正する制御装置において、ワークの加工誤差量と工作機械の稼働率の双方を状態データとして観測し、観測した状態データに基づいて工具補正の頻度を最適化する技術が開示されている。また、特許文献２には、工作機械に備えられた各センサによる検出値を状態データとして観測し、観測した状態データに基づいて該工作機械の加工条件をびびり、工具摩耗／工具折損の発生しない最適な加工条件へと調整する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−０６８５６６号公報
【特許文献２】特開２０１７−０４５３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
製造装置が動作する工場の環境は多くの製造機械が動作している苛酷な環境である為、これらのデータにはノイズ等の異常値が含まれる可能性がある。製造装置を制御する制御装置が備える機械学習器が学習を行っている際に、入力データにノイズ等の異常値が含まれていた場合、機械学習器による学習結果としての学習モデルに問題が生じ、推論時の入力データが正しくても、異常値を出力するものとなってしまう可能性が高い。
【０００６】
また、機械学習による学習では、入力データを使用して学習モデルのパラメータを決定するが、これは確率的に求められたものであり、理論的に保障されているものではない為、正常な入力データに基づいて推論された場合であっても異常な推論データが出力される可能性がある。
更に、製造装置を制御する制御装置が備える機械学習器が推論を行う際に、基となる入力データにノイズ等の異常値が含まれていることが原因で異常な推論データが出力されたり、出力される推論データそのものにノイズ等の異常値が混入する可能性もある。
【０００７】
そこで本発明の目的は、工場環境で発生したノイズ等に基づく異常値の影響を抑えることを可能とする制御装置及び機械学習装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明の制御装置は、入力側と出力側との少なくともいずれかで、異常値を検知、修正乃至再取得する安全回路を備えた機械学習装置を導入することにより、上記課題を解決する。
【０００９】
そして、本発明の一態様は、製造機械を制御する制御装置において、環境としての製造機械に係る状態を学習した機械学習装置を備え、前記機械学習装置は、前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、前記入力データにおける異常を検出し、安全な入力データを出力する入力安全回路と、前記安全な入力データに基づいた学習モデルの学習及び学習モデルを用いた推論を実行し、推論結果としての推論データを出力する機械学習部と、前記推論データにおける異常を検出し、安全な推論データを出力する出力安全回路と、前記安全な推論データに基づく出力データを出力する出力部とを備える、制御装置である。
【００１０】
本発明の他の態様は、製造機械を制御する制御装置において、環境としての製造機械に係る状態を学習した機械学習装置を備え、前記機械学習装置は、前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、前記入力データにおける異常を検出し、安全な入力データを出力する入力安全回路と、前記安全な入力データに基づいて学習モデルを用いた推論を実行し、推論結果としての推論データを出力する機械学習部と、前記推論データに基づく出力データを出力する出力部と、を備える、制御装置である。
【００１１】
本発明の他の態様は、製造機械を制御する制御装置において、環境としての製造機械に係る状態を学習した機械学習装置を備え、前記機械学習装置は、前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、前記入力データに基づいて学習モデルを用いた推論を実行し、推論結果としての推論データを出力する機械学習部と、前記推論データにおける異常を検出し、安全な推論データを出力する出力安全回路と、前記安全な推論データに基づく出力データを出力する出力部と、を備える、制御装置である。
【００１２】
本発明の他の態様は、製造機械を制御する制御装置において、環境としての製造機械に係る状態を学習する機械学習装置を備え、前記機械学習装置は、前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、前記入力データにおける異常を検出し、安全な入力データを出力する入力安全回路と、前記安全な入力データに基づいた学習モデルの学習を実行する機械学習部と、を備える、制御装置である。
【００１３】
本発明の他の態様は、環境としての製造機械に係る状態を学習した機械学習装置であって、前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、前記入力データにおける異常を検出し、安全な入力データを出力する入力安全回路と、前記安全な入力データに基づいた学習モデルの学習及び学習モデルを用いた推論を実行し、推論結果としての推論データを出力する機械学習部と、前記推論データにおける異常を検出し、安全な推論データを出力する出力安全回路と、前記安全な推論データに基づく出力データを出力する出力部とを備える、機械学習装置である。
【００１４】
本発明の他の態様は、環境としての製造機械に係る状態を学習した機械学習装置であって、前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、前記入力データにおける異常を検出し、安全な入力データを出力する入力安全回路と、前記安全な入力データに基づいて学習モデルを用いた推論を実行し、推論結果としての推論データを出力する機械学習部と、前記推論データに基づく出力データを出力する出力部と、を備える、機械学習装置である。
【００１５】
本発明の他の態様は、環境としての製造機械に係る状態を学習した機械学習装置であって、前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、前記入力データに基づいて学習モデルを用いた推論を実行し、推論結果としての推論データを出力する機械学習部と、前記推論データにおける異常を検出し、安全な推論データを出力する出力安全回路と、前記安全な推論データに基づく出力データを出力する出力部と、を備える、機械学習装置である。
【００１６】
本発明の他の態様は、環境としての製造機械に係る状態を学習する機械学習装置であって、前記製造機械の内的データ及び外的データの少なくとも一方を含む入力データを取得する状態観測部と、前記入力データにおける異常を検出し、安全な入力データを出力する入力安全回路と、前記安全な入力データに基づいた学習モデルの学習を実行する機械学習部と、を備える、機械学習装置である。
【発明の効果】
【００１７】
本発明により、機械学習器へのデータ入力時に異常値を検知/修正/再取得することで、正常なデータはそのまま使うことが可能となり、異常値の影響を最小限に抑えることができる。また、異常値を学習データから除外することで、高精度な学習結果が得られる。更に、出力時に異常値を検知／修正することで、明らかに意図にそぐわない出力を確実に防ぐことができ、学習が不十分や異常であったとしても、安全に機械学習の結果を使用することが可能となり、機械学習装置内など内部的に異常が発生しても異常値の出力を防止することができる。
【図面の簡単な説明】
【００１８】
【図１】一実施形態による制御装置の要部を示す概略的なハードウェア構成図である。
【図２】一実施形態による制御装置の概略的な機能ブロック図である。
【図３】一実施形態による制御装置が備える機械学習装置が実行する処理のフローチャートである。
【図４】制御装置の変形例を示す図である。
【図５】制御装置の他の変形例を示す図である。
【発明を実施するための形態】
【００１９】
以下に本発明を実現するための制御装置の構成例を示す。
図１は第１の実施形態による制御装置の要部を示す概略的なハードウェア構成図である。本実施形態では、機械学習装置１００を、ワークを加工する製造機械（図示せず）を制御する制御装置１に組み込んだ例を示しているが、機械学習装置１００は、例えばセルコンピュータ、ホストコンピュータ、クラウドサーバ等の工場に設置された製造システムが備えるコンピュータの一部として実装するようにしても良い。
【００２０】
本実施形態による制御装置１が備えるＣＰＵ１１は、制御装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って制御装置１全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【００２１】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、制御装置１の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ１４には、インタフェース１５を介して読み込まれたプログラムや後述する表示器／ＭＤＩユニット７０を介して入力されたプログラムなどが記憶されている。不揮発性メモリ１４に記憶されたプログラムは、利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、制御装置１の動作に必要な各種のシステム・プログラム（機械学習装置１００とのやりとりを制御するためのシステム・プログラムを含む）があらかじめ書き込まれている。
【００２２】
インタフェース１５は、制御装置１とアダプタ等の外部機器７２と接続するためのインタフェースである。外部機器７２側からはプログラムや各種パラメータ等が読み込まれる。また、制御装置１内で編集したプログラムや各種パラメータ等は、外部機器７２を介して外部記憶手段に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、制御装置１に内蔵されたシーケンス・プログラムで製造機械の周辺装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、製造機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００２３】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８は表示器／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インタフェース１９は各軸を手動で駆動させる際に用いる手動パルス発生器等を備えた操作盤７１に接続されている。
【００２４】
製造機械が備える軸を制御するための軸制御回路３０はＣＰＵ１１からの軸の移動指令量を受けて、軸の指令をサーボアンプ４０に出力する。サーボアンプ４０はこの指令を受けて、製造機械が備える軸を移動させるサーボモータ５０を駆動する。軸のサーボモータ５０は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１のハードウェア構成図では軸制御回路３０、サーボアンプ４０、サーボモータ５０は１つずつしか示されていないが、実際には制御対象となる製造機械に備えられた軸の数だけ用意される。
【００２５】
スピンドル制御回路６０は、製造機械への主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はこのスピンドル速度信号を受けて、製造機械のスピンドルモータ６２を指令された回転速度で回転させ、工具を駆動する。
スピンドルモータ６２にはポジションコーダ６３が結合され、ポジションコーダ６３が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはＣＰＵ１１によって読み取られる。
【００２６】
インタフェース２１は、制御装置１と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００は、機械学習装置１００全体を統御するプロセッサ１０１と、システム・プログラム等を記憶したＲＯＭ１０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ１０３、及び学習モデル等の記憶に用いられる不揮発性メモリ１０４を備える。機械学習装置１００は、インタフェース２１を介して制御装置１で取得可能な各情報（例えば、ＣＰＵ１１から軸制御回路３０へと出力される軸の移動指令量、位置指令値、サーボモータ５０から得られた位置・速度フィードバック値等）を観測することができる。また、制御装置１は、機械学習装置１００から出力される値に基づいて、例えば制御対象となる製造機械に係る熱変位補正等を行う。
【００２７】
図２は、本発明の一実施形態による制御装置の要部を示す概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した制御装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、制御装置１及び機械学習装置１００の各部の動作を制御することにより実現される。本実施形態の制御装置１を構成する制御装置１は、データ取得部２、制御部３を備える。
【００２８】
データ取得部２は、機械学習装置１００にとっての環境となる製造機械や工場から、該環境を示す内的データ及び外的データの少なくとも一方を含むデータを取得する機能手段である。データ取得部２は、例えば制御装置１により制御される製造機械の各部駆動するサーボモータ５０やスピンドルモータ６２の電流値や、製造機械の各部に備え付けら得たセンサ等により検出された温度や振動等の検出値等のデータを取得する。
【００２９】
制御部３は、制御装置１に設定されたパラメータや、不揮発性メモリ１４に記憶されたプログラム（図示せず）、機械学習装置１００から出力された推論値に基づいて、製造機械等の制御をする機能手段である。制御部３は、例えば軸制御回路３０やサーボアンプ４０によるサーボモータ５０の制御、スピンドル制御回路６０やスピンドルアンプ６１によるスピンドルモータ６２の制御、表示器／ＭＤＩユニット７０への表示制御等を行う。
【００３０】
一方、本実施形態の制御装置１を構成する機械学習装置１００は、状態観測部１１０、入力安全回路１２０、機械学習部１３０、出力安全回路１４０、出力部１５０を備え、また、機械学習部１３０は、学習部１３２、推論部１３４、学習モデル１３６を備える。
【００３１】
状態観測部１１０は、データ取得部２が取得したデータから、環境の状態を示す状態データ、ラベルデータ、判定データ等の入力データを観測する機能手段である。状態観測部１１０が観測する入力データは、学習部１３２による学習及び推論部１３４による推論において用いられるものであり、学習モデル１３６の構造によって異なる。例えば、学習モデル１３６が所謂教師なし学習の為の学習モデルである場合には、状態観測部１１０は、学習部１３２による学習及び推論部１３４による推論のための状態データを入力データとして観測する。また、例えば学習モデル１３６が所謂教師あり学習の為の学習モデルである場合には、状態観測部１１０は、学習部１３２による学習の為に状態データ及びラベルを入力データとして観測し、推論部１３４による推論の為に状態データを入力データとして観測する。また、例えば学習モデル１３６が所謂強化学習の為の学習モデルである場合には、状態観測部１１０は、学習部１３２による学習の為に状態データ及び判定データを入力データとして観測し、推論部１３４による推論の為に状態データを入力データとして観測する。
【００３２】
入力安全回路１２０は、状態観測部１１０が観測し、機械学習部１３０に入力される入力データの異常値を検出し、入力データの異常値を検出した際には異常値検出時の動作を実行し、一方で、入力データの異常値が検出されなかった場合に該入力データを安全計測データとして機械学習部１３０へと出力する機能手段である。入力安全回路１２０は、例えば取得した入力データの履歴を記録しておき、正規分布等の統計的手法や、マハラノビス距離等の距離を用いる手法、クラスタリングや密度比推定などの公知の手法を用いた外れ値検出を行うことで、入力データの異常値を検出するようにしても良い。また、入力安全回路１２０は、入力データのそれぞれのデータ項目が取り得る値の範囲を予め設定しておき、入力データのそれぞれのデータ項目の値が予め設定された範囲を逸脱した時に異常値を検出したと判定するようにしても良いし、過去の入力データを記録しておき、過去の入力データ乃至過去の入力データの系列から見た場合の値の変化量等に基づいて異常値の検出（有り得ない変化量を検出した場合に異常値とする等）をしても良いし、センサ自体の異常信号やバス通信路のエラー信号等を検出した時に異常値を検出したと判定するようにしても良い。更に、入力安全回路１２０を予め入力データの正常値／異常値を学習させた機械学習器として構成しておき、該機械学習器による入力データの検出結果に基づいて入力データの異常値を検出するようにしても良い。
【００３３】
入力安全回路１２０は、入力データの異常値を検出した際に、入力データの再取得、入力データの修正、または入力データの破棄等の予め定められた入力データに係る動作を実行する。入力安全回路１２０は、例えば予め定められた所定の条件が成立する場合に、予め定められた入力データに係る動作を実行するようにしても良い。一例として、入力安全回路１２０は、入力データの再取得をする時間的な余裕が有る場合、状態観測部１１０（更に、データ取得部２）に対して入力データの再取得を指令するようにしても良い。この場合において、入力データの再取得を行う際に例えば異常値が予め定めた所定回数連続して検出された時は、入力安全回路１２０は、入力データの再取得をあきらめるようにしても良い。他の例として、入力安全回路１２０は、今回の制御装置１の動作周期における安全計測データが必須である場合（今回の制御装置１の動作周期に、必ず機械学習装置１００が安全推論データを出力する必要がある場合等）に、過去に入力された入力データに基づいて異常値が検出された入力データのデータ項目の値を修正し、修正した入力データを安全計測データとして出力するようにしても良い。この場合、入力安全回路１２０は、前回の動作周期において入力された入力データに基づいて異常値が検出された入力データのデータ項目の値を修正する（データ項目の異常値を１周期前と同じ値にする）ようにしても良いし、過去に入力された入力データの過去に入力された入力データの各データ項目の変化傾向等に基づいて異常値が検出された入力データのデータ項目の値を修正するようにしても良い。更に他の例として、入力安全回路１２０は、今回の制御装置１の動作周期における安全計測データが必須ではない場合に、入力データを破棄するようにしても良い。なお、入力安全回路１２０は、入力データに異常値が検出された際に、学習部１３２による学習用の入力データと、推論部１３４による推論用の入力データとで、上記動作を異なるようにしても良い。例えば、推論部１３４に対しては異常値を修正した入力データを安全計測データとして引き渡し、学習部１３２に対しては異常値を検出した入力データを破棄する、とすることで、制御装置１の動作自体は継続させつつ、異常値による学習は行わないようにすることができる。
【００３４】
入力安全回路１２０は、入力データの異常値を検出した際に、該入力データが異常値であることを記録するようにしても良い。また、入力安全回路１２０は、入力データの異常値を検出した際に、表示器／ＭＤＩユニット７０等に対して異常値を検出した旨を通知するようにしても良い。
【００３５】
機械学習部１３０が備える学習部１３２は、入力安全回路１２０から出力された安全計測データに基づいて学習モデル１３６の学習を実行する機能手段である。学習部１３２は、安全計測データに基づいて学習モデル１３６のアルゴリズムに応じた学習をすることにより、学習モデル１３６を更新する。なお、学習部１３２は、メーカーの作業者やオペレータの操作等により学習処理のＯＮ／ＯＦＦを切り替えられるようにしても良い。また、学習部１３２は、学習モデル１３６の学習が完了した後には機械学習装置１００の必須の構成とする必要は無い。例えば制御装置１を顧客に対してメーカーが出荷する場合には、機械学習部１３０として推論部１３４と学習モデル１３６のみを組み込んで出荷することで、顧客の工場において余計な学習をさせることなく推論機能のみを利用した運用ができるようになる。
【００３６】
機械学習部１３０が備える推論部１３４は、入力安全回路１２０から出力された安全計測データに基づいて、学習モデル１３６を用いた推論処理を実行する学習を行う機能手段である。推論部１３４は、学習モデル１３６を用いた推論処理の結果を推論データとして出力安全回路１４０へと出力する。なお、推論部１３４は、メーカーの作業者やオペレータの操作等により推論処理のＯＮ／ＯＦＦを切り替えられるようにしても良い。また、推論部１３４は、学習モデル１３６の学習の段階では機械学習装置１００の必須の構成とする必要は無い。
【００３７】
出力安全回路１４０は、機械学習部１３０から出力された推論データの異常値を検出し、推論データの異常値を検出した際には異常値検出時の動作を実行し、一方で、推論データの異常値が検出されなかった場合に該推論データを安全推論データとして出力部１５０へと出力する機能手段である。出力安全回路１４０は、例えば取得した推論データの履歴を記録しておき、正規分布等の統計的手法や、マハラノビス距離等の距離を用いる手法、クラスタリングや密度比推定などの公知の手法を用いた外れ値検出を行うことで、推論データの異常値を検出するようにしても良い。また、出力安全回路１４０は、推論データのそれぞれのデータ項目が取り得る値の範囲を予め設定しておき、推論データのそれぞれのデータ項目の値が予め設定された範囲を逸脱した時に異常値を検出したと判定するようにしても良いし、過去の推論データを記録しておき、過去の推論データ乃至過去の推論データの系列から見た場合の値の変化量等に基づいて異常値の検出（有り得ない変化量を検出した場合に異常値とする等）をしても良い。更に、出力安全回路１４０を予め推論データの正常値／異常値を学習させた機械学習器として構成しておき、該機械学習器による推論データの検出結果に基づいて推論データの異常値を検出するようにしても良い。
【００３８】
出力安全回路１４０は、推論データの異常値を検出した際に、推論データの修正、または推論データの破棄等の予め定められた推論データに係る動作を実行する。出力安全回路１４０は、例えば予め定められた所定の条件が成立する場合に、予め定められた推論データに係る動作を実行するようにしても良い。一例として、出力安全回路１４０は、今回の制御装置１の動作周期における安全推論データが必須である場合（今回の制御装置１の動作周期に、必ず機械学習装置１００が安全推論データを出力する必要がある場合等）に、過去に推論された推論データに基づいて異常値が検出された推論データのデータ項目の値を修正し、修正した推論データを安全推論データとして出力するようにしても良い。この場合、出力安全回路１４０は、前回の動作周期において推論された推論データに基づいて異常値が検出された推論データのデータ項目の値を修正する（データ項目の異常値を１周期前と同じ値にする）ようにしても良いし、過去に推論された推論データの各データ項目の変化傾向等に基づいて異常値が検出された推論データのデータ項目の値を修正するようにしても良い。更に他の例として、出力安全回路１４０は、異常値が検出された推論データを破棄した上で出力部１５０を介して制御装置１に対してアラームを通知するようにしても良い。また、出力安全回路１４０は、推論データの異常値を検出した際に、該推論データが異常値であることを記録するようにしても良い。
【００３９】
出力部１５０は、出力安全回路１４０が出力した安全推論データを制御装置の制御部３へと出力する機能手段である。出力部１５０は、必要に応じて安全推論データを制御部３が解釈できる形式へと変換する等、機械学習装置１００から制御装置１への出力インタフェースとしての役割を持つ。
【００４０】
図３は、図１，２に示した機械学習装置１００の上で実行される処理の概略的なフローチャートである。図３に例示したフローチャートでは、入力安全回路１２０で異常値を検出した場合には入力データの再取得又は異常値の修正を行い、出力安全回路１４０で異常値を検出した場合には推論データの異常値を修正するように各回路の動作が定義されているものとしているが、例えば、入力安全回路１２０、出力安全回路１４０で異常値を検出した時にアラートを出力して制御装置１の動作を停止させるようにしても良い。
【００４１】
●［ステップＳＡ０１］状態観測部１１０は、制御装置１を介して環境の状態を示す入力データを観測する。
●［ステップＳＡ０２］入力安全回路１２０は、入力データに異常値が無いか検出する。異常値が有る場合であって入力データの再取得をする場合にはステップＳＡ０１へ処理を移行し、又、入力データに異常値が有る場合であって異常値の修正を行う場合にはステップＳＡ０３へ処理を移行する。また、入力データから異常値が検出されない場合にはステップＳＡ０４へ処理を移行する。
●［ステップＳＡ０３］入力安全回路１２０は、入力データの異常値を修正する。
【００４２】
●［ステップＳＡ０４］機械学習部１３０が備える推論部１３４は、入力安全回路１２０から出力された安全計測データに基づいて、学習モデル１３６を用いた推論を行い、推論データを計算する。
●［ステップＳＡ０５］出力安全回路１４０は、推論データに異常値が無いか検出する。異常値が有る場合にはステップＳＡ０６へ処理を移行する。また、推論データから異常値が検出されない場合にはステップＳＡ０７へ処理を移行する。
●［ステップＳＡ０６］出力安全回路１４０は、推論データの異常値を修正する。
●［ステップＳＡ０７］出力部１５０は、異常値の無い推論データを安全推論データに基づく出力データを機械学習装置１００から出力する。
【００４３】
本実施形態の制御装置の応用例として、機械学習装置１００を、制御装置１が制御する製造機械の熱変位量補正に用いることが考えられる。この場合、機械学習装置１００が学習する環境は製造機械（工作機械等）であり、入力データとしては、製造機械の温度、サーボモータ５０、スピンドルモータ６２の速度や電流値等を状態データとし、製造機械や加工後のワーク等から計測された熱変位量をラベルデータとして観測するようにし、機械学習装置１００は、これら入力データに基づく学習を行う。そして、学習部１３２による学習モデル１３６の学習が充分に為された後には、状態データとしての製造機械の温度、サーボモータ５０、スピンドルモータ６２の速度や電流値等を入力データとし、該入力データに基づく学習モデル１３６を用いた推論部１３４による推論結果を熱変位量の予測値として出力し、該熱変位量の予測値に基づいて、制御部３が熱変位補正を行う。
【００４４】
上記した応用例により、工場の環境に設置された製造機械から検出された検出値にノイズ等に基づく異常値が入力データに混入した場合であっても、該異常値は入力安全回路１２０により排除されて学習や推論に用いられることはなくなり、また、推論によって得られた熱変位量に異常値が混入した場合には、該出力安全回路１４０により排除され、誤った熱変位量に基づく熱変位補正により加工の失敗や工具の破損等を防ぐことができる。このように、上記した応用例では、異常値による加工不良を防ぎつつ補正による高精度な加工が可能となる。特に、熱変位量は熱により徐々に機械の各部の変位量が変化していく傾向にあるため、突然発生した外れ値を異常値として検出し易いため、入力安全回路１２０、出力安全回路１４０の効果的な応用例として期待できる。
【００４５】
本実施形態の制御装置の他の応用例として、機械学習装置１００を、制御装置１が制御する製造機械のびびり或いは工具摩耗／破損の抑制に用いることが考えられる。この場合、機械学習装置１００が学習する環境は製造機械（工作機械等）であり、入力データとしては、機械振動、びびり音、工具摩耗／破損状態、加工面の様子等を状態データとし、加工速度、びびり音の発生、工具摩耗／破損の発生、加工面の品質等を判定データとして観測するようにし、機械学習装置１００は、これら入力データに基づく学習を行う。そして、学習部１３２による学習モデル１３６の学習が充分に為された後には、状態データとしての機械振動、びびり音、工具摩耗／破損状態、加工面の様子等を入力データとし、該入力データに基づく学習モデル１３６を用いた推論部１３４による適切な加工条件調整行動の推論結果を出力し、該加工条件調整行動の推論結果に基づいて、制御部３が製造機械の加工条件の調整を行う。
【００４６】
上記した応用例により、工場の環境に設置された製造機械から検出された検出値にノイズ等に基づく異常値が入力データに混入した場合であっても、該異常値は入力安全回路１２０により排除されて学習や推論に用いられることはなくなり、また、推論によって得られた加工条件の調整に異常な値が混入した場合には、該出力安全回路１４０により排除され、誤った加工条件の調整による加工の失敗や工具の破損等を防ぐことができる。このように、上記した応用例では、異常値による加工不良を防ぎつつ補正による高精度な加工が可能となる。
【００４７】
本実施形態の制御装置の変形例として、図４に示すように出力安全回路１４０を省略した機械学習装置１００を用いたり、図５に示すように入力安全回路１２０を省略した機械学習装置１００を用いたりすることもできる。図４に例示される変形例では、出力側の推論データに混入する異常値の排除はできないが、入力データの異常値については適切な対応ができるため、安全な入力データによる学習モデル１３６の学習を遂行可能であり、推論部１３４による推論結果に異常値が入る可能性をある程度排除することができる。また、図５に例示される変形例では、入力側の入力データに混入する異常値の排除はできないが、出力側の推論データの異常値については適切な対応ができるため、異常値混入時における製造機械の誤動作を確実に抑えることが可能となる。
【００４８】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００４９】
例えば、機械学習装置１００が実行する学習アルゴリズム、機械学習装置１００が実行する演算アルゴリズム等は、一般的に知られるいずれのアルゴリズムを採用しても良い。
【００５０】
上記した実施形態では制御装置１と機械学習装置１００が異なるＣＰＵ（プロセッサ）を有する装置として説明しているが、機械学習装置１００は制御装置１が備えるＣＰＵ１１と、ＲＯＭ１２に記憶されるシステム・プログラムにより実現するようにしても良い。また、機械学習装置１００は制御装置１に内蔵されている必要は無く、制御装置１と機械学習装置１００との間が何らかの通信手段で接続されていれば、それぞれ分離して配置するようにしても良い。
【符号の説明】
【００５１】
１  制御装置
２  データ取得部
３  制御部
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１５，１８，１９  インタフェース
１６  ＰＭＣ
１７  Ｉ／Ｏユニット
２０  バス
２１  インタフェース
３０  軸制御回路
４０  サーボアンプ
５０  サーボモータ
６０  スピンドル制御回路
６１  スピンドルアンプ
６２  スピンドルモータ
６３  ポジションコーダ
７０  表示器／ＭＤＩユニット
７１  操作盤
１００  機械学習装置
１０１  プロセッサ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
１１０  状態観測部
１２０  入力安全回路
１３０  機械学習部
１３２  学習部
１３４  推論部
１３６  学習モデル
１４０  出力安全回路
１５０  出力部
【図１】
2019086928.tif 000003
【図２】
2019086928.tif 000004
【図３】
2019086928.tif 000005
【図４】
2019086928.tif 000006
【図５】
2019086928.tif 000007