(57)【要約】【課題】ユーザ認証機能を備えた工作機械の数値制御装置の利用者の成りすましを検出することができる成りすまし検出装置、機械学習装置、数値制御装置、生産システム及び機械学習方法を実現する。【解決手段】工作機械の数値制御装置の正当な利用権者であるか否かの判定に用いられる、数値制御装置の操作端末に対する入力操作の特徴を学習する機械学習装置１は、操作端末に対する入力操作に関連する状態変数を観測する状態観測部１１と、状態観測部１１の出力に基づいて、数値制御装置の正当な利用権者による操作端末に対する入力操作の特徴を学習する学習部１２とを備える。【選択図】図２
2018101357.tif 000002
【特許請求の範囲】
【請求項１】
工作機械の数値制御装置の正当な利用権者であるか否かの判定に用いられる、前記数値制御装置の操作端末に対する入力操作の特徴を学習する機械学習装置であって、
前記操作端末に対する入力操作に関連する状態変数を観測する状態観測部と、
前記状態観測部の出力に基づいて、前記数値制御装置の前記正当な利用権者による前記操作端末に対する入力操作の特徴を学習する学習部と、
を備える、機械学習装置。
【請求項２】
前記状態変数は、前記操作端末の１つのキーに対する押下継続時間、前記操作端末の複数回のキーの押下における押下時間間隔、前記操作端末のＤｅｌｅｔｅキーとＢａｃｋｓｐａｃｅキーとの利用頻度の割合、文字列を削除する際の削除キーの押し方、前記操作端末の上下左右の各カーソルキーの押下順、及び、前記操作端末であるタッチパネルに対する１回の押下における前記タッチパネル上の押下面積、のうちの少なくとも１つを含む、請求項１に記載の機械学習装置。
【請求項３】
前記正当な利用権者は、前記数値制御装置に対して操作権限を有すると認証された者である、請求項１または２に記載の機械学習装置。
【請求項４】
前記学習部は、前記正当な利用権者が複数の前記数値制御装置の操作端末に対して入力操作を行った場合における前記状態観測部の出力に従って、当該正当な利用権者による前記数値制御装置の操作端末に対する入力操作の特徴を学習する、請求項１〜３のいずれか一項に記載の機械学習装置。
【請求項５】
前記学習部は、前記状態観測部の出力及び前記正当な利用権者の識別情報に基づいて、複数の前記正当な利用権者のそれぞれについての、前記数値制御装置の操作端末に対する入力操作の特徴を学習する、請求項１〜４のいずれか一項に記載の機械学習装置。
【請求項６】
前記学習部は、前記数値制御装置の前記正当な利用権者による前記操作端末に対する入力操作の特徴を、ニューラルネットワークにより学習する、請求項１〜５のいずれか一項に記載の機械学習装置。
【請求項７】
前記学習部は、
前記状態観測部の出力に基づいて、前記数値制御装置の前記正当な利用権者による前記操作端末に対する入力操作の特徴の分布及び規則性を表す学習モデルを生成する学習モデル生成部と、
前記学習モデルに基づいて、前記数値制御装置の操作端末に対する前記正当な利用権者の入力操作の特徴を示す正常時スコア、及び、前記数値制御装置の操作端末に対する検査対象利用者の入力操作の特徴を示す検査対象スコア、を出力するスコア生成部と、
を備える、請求項１〜６のいずれか一項に記載の機械学習装置。
【請求項８】
請求項７に記載の機械学習装置と、
前記検査対象スコアが、前記正常時スコアの範囲に含まれるときは前記検査対象利用者は前記正当な利用権者であると判定し、前記正常時スコアの範囲に含まれないときは前記検査対象利用者は前記正当な利用権者ではないと判定するスコア判定部と、
を備える、成りすまし検出装置。
【請求項９】
前記機械学習装置は、通信ネットワークを介して前記数値制御装置に通信可能に接続され、
前記状態観測部は、前記通信ネットワークを介して前記状態変数を観測する、
請求項８に記載の成りすまし検出装置。
【請求項１０】
請求項８に記載の成りすまし検出装置を備える数値制御装置。
【請求項１１】
工作機械と前記工作機械に対応して設けられる請求項１０に記載の数値制御装置とからなる組を複数含んで構成される製造セルと、
前記製造セルと通信ネットワークを介して通信可能に接続され、各前記数値制御装置を制御するセルコントローラと、
を備える生産システム。
【請求項１２】
工作機械と前記工作機械に対応して設けられる数値制御装置とからなる組を複数含んで構成される製造セルと、
前記製造セルと通信ネットワークを介して通信可能に接続され、各前記数値制御装置を制御するセルコントローラと、
を備え、
前記セルコントローラは、請求項８に記載の成りすまし検出装置を有する、生産システム。
【請求項１３】
前記セルコントローラと通信ネットワークを介して通信可能に接続され、前記セルコントローラに生産計画を指示する生産管理装置をさらに備える、請求項１１または１２に記載の生産システム。
【請求項１４】
工作機械と前記工作機械に対応して設けられる数値制御装置とからなる組を複数含んで構成される製造セルと、
前記製造セルと通信ネットワークを介して通信可能に接続され、各前記数値制御装置を制御するセルコントローラと、
前記セルコントローラと通信ネットワークを介して通信可能に接続され、前記セルコントローラに生産計画を指示する生産管理装置と、
を備え、
前記生産管理装置は、請求項８に記載の成りすまし検出装置を有する、生産システム。
【請求項１５】
工作機械の数値制御装置の正当な利用権者であるか否かの判定に用いられる、前記数値制御装置の操作端末に対する入力操作の特徴を学習する機械学習方法であって、
前記操作端末に対する入力操作に関連する状態変数を観測するステップと、
前記状態変数に基づいて、前記数値制御装置の前記正当な利用権者による前記操作端末に対する入力操作の特徴を学習するステップと、
を備える、機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者の成りすまし検出装置、機械学習装置、数値制御装置、生産システム、及び機械学習方法に関する。
【背景技術】
【０００２】
利用者（オペレータ）に応じて操作実行のレベルを制限するために、操作端末に対するキー操作を用いたユーザ認証機能を備えた工作機械の数値制御（Ｎｕｍｅｒｉｃａｌ Ｃｏｎｔｒｏｌ：ＮＣ）装置がある。なお、本明細書において、数値制御装置(ＮＣ装置)には、コンピュータ数値制御（Ｃｏｍｐｕｔｅｒｉｚｅｄ  Ｎｕｍｅｒｉｃａｌ Ｃｏｎｔｒｏｌ：ＣＮＣ）装置やロボットコントローラも含まれる。
【０００３】
例えば、ユーザ認証の方法において、キーボードやポインティングデバイス等の入力装置から入力履歴情報を取得する手段と、取得した入力履歴情報をユーザ認証のデータとして判別する手段を有する認証装置が知られている。（例えば、特許文献１参照。）。
【０００４】
例えば、特定ワードで、対象装置の利用者の認証を行う利用者認証方法において、予め、前記対象装置の真の利用者が前記特定ワードを入力するタイミングパターンを基準パラメータとして用意し、任意の利用者から特定ワードの入力があった場合、当該特定ワードのタイミングパターンと、当該特定ワードに対応した基準パラメータとを照合し、その結果に基づき、前記特定ワードを入力した利用者が真の利用者であるかを認証することを特徴とする利用者認証方法が知られている。（例えば、特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１８２７７３号公報
【特許文献２】特開平１０−２６９１８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
工作機械の数値制御装置の操作端末に対するキー操作を用いたユーザ認証では、認証に必要なパスワード情報が流失してしまうと、数値制御装置に対して操作権限が与えられていない利用者が、パスワード情報を入手して、操作権限が与えられている正当な利用権者に成りすまして数値制御装置にログインできてしまう問題がある。例えば、操作権限が与えられていない成りすましの利用者が、ログインできた数値制御装置の操作端末を悪意を持って操作し、工作機械及びこれを含む生産ラインを故意に誤動作させたり停止させる可能性がある。この結果、工作機械により製造した製品に不良が発生したり、深刻な事故が発生することもある。このため、ユーザ認証機能を備えた工作機械の数値制御装置において、操作権限が与えられた正当な利用権者であるか操作権限が与えられていない成りすましの利用者であるかを的確かつ容易に判定できるようにすることが望まれている。
【課題を解決するための手段】
【０００７】
本開示の一態様は、工作機械の数値制御装置の正当な利用権者であるか否かの判定に用いられる、数値制御装置の操作端末に対する入力操作の特徴を学習する機械学習装置であって、操作端末に対する入力操作に関連する状態変数を観測する状態観測部と、状態観測部の出力に基づいて、数値制御装置の正当な利用権者による操作端末に対する入力操作の特徴を学習する学習部と、を備える機械学習装置である。
【０００８】
また、本開示の一態様は、工作機械の数値制御装置の正当な利用権者であるか否かの判定に用いられる、数値制御装置の操作端末に対する入力操作の特徴を学習する機械学習方法であって、操作端末に対する入力操作に関連する状態変数を観測するステップと、状態変数に基づいて、数値制御装置の正当な利用権者による操作端末に対する入力操作の特徴を学習するステップと、を備える機械学習方法である。
【発明の効果】
【０００９】
本開示の一態様によれば、ユーザ認証機能を備えた工作機械の数値制御装置において、操作権限が与えられた正当な利用権者であるか操作権限が与えられていない成りすましの利用者であるかを的確かつ容易に判定することができる。
【図面の簡単な説明】
【００１０】
【図１】工作機械を制御する数値制御装置の一例を概略的に示すブロック図である。
【図２】一実施形態による機械学習装置を示すブロック図である。
【図３】一実施形態による機械学習方法の動作フローを示すフローチャートである。
【図４】ニューロンのモデルを示す模式図である。
【図５】Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【図６】一実施形態による機械学習装置において入力データから正常時スコアを得るまでの一例を説明する図である。
【図７】自己符号化器(オートエンコーダ)を示す図である。
【図８】一実施形態による成りすまし検出装置を示すブロック図である。
【図９】一実施形態による、通信ネットワークに接続された成りすまし検出装置を示すブロック図である。
【図１０】一実施形態による、成りすまし検出装置を備える数値制御装置を示すブロック図である。
【図１１】成りすまし検出装置を有する生産システムの第１の実施形態を示すブロック図である。
【図１２】成りすまし検出装置を有する生産システムの第２の実施形態を示すブロック図である。
【図１３】成りすまし検出装置を有する生産システムの第３の実施形態を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下図面を参照して、機械学習装置、成りすまし検出装置、数値制御装置、生産システム、及び機械学習方法について説明する。各図面において、同様の部材には同様の参照符号が付けられている。また、異なる図面において同じ参照符号が付されたものは同じ機能を有する構成要素であることを意味するものとする。なお、理解を容易にするために、これらの図面は縮尺を適宜変更している。
【００１２】
図１は、工作機械を制御する数値制御装置の一例を概略的に示すブロック図である。
【００１３】
図１に示すように、数値制御装置４０は、例えば、バス１００９により繋がれたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１００２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１００３、Ｉ／Ｏ（Ｉｎｐｕｔ/Ｏｕｔｐｕｔ）１００４、不揮発性メモリ１００５、軸制御回路１００６、ＰＭＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｍａｃｈｉｎｅ  Ｃｏｎｔｒｏｌｌｅｒ）１００７、及び表示装置／ＭＤＩ（Ｍａｎｕａｌ  Ｄａｔａ  Ｉｎｐｕｔ）パネル１００８などを含む。表示装置／ＭＤＩ１００８は、操作端末１０１１、グラフィック制御回路１０１２、及び表示装置１０１３などを含む。操作端末１１１は、例えば、キーボードやタッチパネルからなる。キーボードには、数字キー、文字キー、カーソルキー、Ｂａｃｋｓｐａｃｅキー、Ｄｅｌｅｔｅキー、ファンクションキーなどが配列されている。
【００１４】
例えば、ＣＰＵ１００１は、ＲＯＭ１００２に格納されたシステムプログラムに従って数値制御装置４０全体を制御する。ＲＡＭ１００３には、各種データまたは入出力信号が格納され、また、不揮発性メモリ１００５には、例えば、位置情報、速度情報、加速度情報、位置偏差、トルク指令、及び負荷電流値などの各情報が格納される。グラフィック制御回路１０１２は、ディジタル信号を表示用の信号に変換して表示装置１０１３に与える。ＰＭＣ１００７は、例えば、工作機械５０から状態信号を受け取って、ＣＰＵ１００１に対して所定の入力信号を転送する。軸制御回路１００６は、ＣＰＵ１００１から各軸の移動指令を受け取って、軸の指令をサーボアンプ１５２に出力し、サーボアンプ１５２は、軸制御回路１００６からの移動指令に基づいて、工作機械５０に設けられたサーボモータ１５１を駆動する。
【００１５】
数値制御装置４０には、コンピュータ数値制御装置も含まれる。また、数値制御装置４０が制御する工作機械５０の例としては、例えば、旋盤、ボール盤、中ぐり盤、フライス盤、研削盤、歯切り盤・歯車仕上げ機械、マシニングセンタ、放電加工機、パンチプレス、レーザ加工機、搬送機及び射出成形機などといった様々なものが含まれるが、これら以外のものを工作機械に含めてもよい。
【００１６】
図２は、一実施形態による機械学習装置を示すブロック図である。機械学習装置１は、入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力すると共に、知識の学習を行う機能を有する。本開示の一実施形態では、機械学習装置１は、教師なし学習を適用したものである。教師なし学習とは、入力データのみを大量に機械学習装置１に与えることで、入力データがどのような分布をしているか学習し、対応する教師データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。例えば、それらのデータセットにある特徴を似たものどうしにクラスタリング（ｃｌｕｓｔｅｒｉｎｇ）することなどができる。この結果を使って、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(学習モデル)、すなわち、その関係性を帰納的に獲得するものである。
【００１７】
本開示の一実施形態では、機械学習装置１は、工作機械の数値制御装置の正当な利用権者であるか否かの判定に用いられる、数値制御装置の操作端末に対する入力操作の特徴を学習する。ここで、「正当な利用権者」とは、工作機械の数値制御装置に対して操作権限を有すると認証された者を意味する。利用者が数値制御装置の操作端末を用いて入力操作する際、利用者ごとに、例えば、数値制御装置の操作端末の１つのキーに対する押下継続時間、数値制御装置の操作端末の複数回のキーの押下における押下時間間隔、数値制御装置の操作端末のＤｅｌｅｔｅキーとＢａｃｋｓｐａｃｅキーとの利用頻度の割合、表示された文字列を削除する際の削除キーの押し方、数値制御装置の操作端末の上下左右の各カーソルキーの押下順、及び、数値制御装置の操作端末であるタッチパネルに対する１回の押下におけるタッチパネル上の押下面積、などに特徴的な相違（換言すれば、入力操作の癖）が現れる。
【００１８】
例えば、数値制御装置の操作端末の１つのキーの押下時間は、利用者ごとに長短の時間的な違いが現われ易い。また、数値制御装置の操作端末の複数回のキーの押下における押下時間間隔は、利用者のキー入力操作の速さや熟練度によって、利用者ごとに違う。また、数値制御装置の操作端末のＤｅｌｅｔｅキーとＢａｃｋｓｐａｃｅキーとの利用頻度の割合については、表示装置１０１３に表示された文字を削除する場合、操作端末のＤｅｌｅｔｅキーを使う傾向が多いかＢａｃｋｓｐａｃｅキーを使う傾向が多いか、利用者ごとに違う。また、表示された文字列を削除する際の削除キーの押し方については、表示装置１０１３に表示された文字列を削除する場合、長押しをする傾向が多いか細かく分けて押下する傾向が多いか、利用者ごとに違う。また、数値制御装置の操作端末の上下左右の各カーソルキーの押下順については、表示装置１０１３に表示されたカーソルを右斜め上方向に移動させる場合、操作端末のカーソルキーを「右、上」の順に押下するか「上、右」の順に押下するか、利用者ごとに違う。また、数値制御装置の操作端末であるタッチパネルに対する１回の押下におけるタッチパネル上の押下面積については、利用者の指自体の大きさや指の力の入れ方によっても異なり、利用者によっては、指ではなくスタイラスや汎用筆記具によって押下することもある。このように、数値制御装置の操作端末に対する入力操作の特徴は、利用者ごとに異なるものである。同一人物であれば毎回の入力操作に同様の特徴が現われる傾向が強く、異なる人物であれば入力操作の特徴が異なる傾向が強い。
【００１９】
一実施形態によれば、機械学習装置１では、工作機械の数値制御装置の操作端末に対する正当な利用権者の入力操作の特徴について、分布及び規則性を表す学習モデルを生成する。機械学習装置１ではさらに、学習モデルに基づいて、数値制御装置の操作端末に対する正当な利用権者の入力操作の特徴を示す正常時スコア、及び、数値制御装置の操作端末に対する検査対象利用者の入力操作の特徴を示す検査対象スコア、を出力する。そして、機械学習装置１により得られた正常時スコアと検査対象スコアとを比較し、検査対象スコアが、正常時スコアの範囲に含まれるときは検査対象利用者は正当な利用権者であると判定し、正常時スコアの範囲に含まれないときは検査対象利用者は正当な利用権者ではないと判定する。ユーザ認証機能を備えた工作機械の数値制御装置に対して操作権限が与えられていない利用者が、パスワード情報を不正に入手して、当該数値制御装置にログインできたとしても、数値制御装置の操作端末の入力操作について得られる検査対象スコアが正常時スコアの範囲に含まれないと判定されることで、当該利用者は、操作権限が与えられている正当な利用権者に成りすました「成りすましの利用者」であることが判明する。
【００２０】
図２に示すように、機械学習装置１は、状態観測部１１及び学習部１２を備える。
【００２１】
状態観測部１１は、工作機械の数値制御装置の操作端末に対する入力操作に関連する状態変数を観測する。状態変数は、操作端末の１つのキーに対する押下継続時間、操作端末の複数回のキーの押下における押下時間間隔、操作端末のＤｅｌｅｔｅキーとＢａｃｋｓｐａｃｅキーとの利用頻度の割合、文字列を削除する際の削除キーの押し方、操作端末の上下左右の各カーソルキーの押下順、及び、操作端末であるタッチパネルに対する１回の押下におけるタッチパネル上の押下面積、のうちの少なくとも１つを含む。これら各状態変数は、状態観測部１１が数値制御装置から取得するものであるが、数値制御装置の動作として、これら状態変数を状態観測部１１に対して送るよう予めプログラムされていてもよい。また、状態観測部１１が観測する状態変数は、上記のものを必ずしも全て含んでいる必要はなく、少なくとも１つ含んでいればよい。また、上記した状態変数以外にも、数値制御装置の操作端末に対する入力操作の特徴が現われるものを状態変数として含んでいてもよい。また、観測される状態変数（もしくはこれらの組み合せ）は、状況に応じて適宜設定すればよい。例えば、数値制御装置の動作環境に応じて設定してもよく、数値制御装置を利用する利用者の人選に応じて設定してもよく、数値制御装置が制御する工作機械に応じて設定してもよく、数値制御装置（もしくは工作機械）の動作時期（例えば繁盛期、閑散期、展示会期間中、外部業者による保守期間中などの違い）に応じて設定してもよい。
【００２２】
学習部１２は、状態観測部１１の出力に基づいて、数値制御装置の正当な利用権者による操作端末に対する入力操作の特徴を学習する。学習部１２は、学習モデル生成部２１及びスコア生成部２２を備える。
【００２３】
学習モデル生成部２１は、状態観測部１１の出力に基づいて、数値制御装置の正当な利用権者による操作端末に対する入力操作の特徴の分布及び規則性を表す学習モデルを生成する。学習モデル生成部２１による学習モデルの生成に用いられる学習アルゴリズムとしては、教師なし学習が適用される。教師なし学習の詳細については後述する。
【００２４】
スコア生成部２２は、学習モデル生成部２１により生成された学習モデルに基づいて、数値制御装置の操作端末に対する正当な利用権者の入力操作の特徴を示す正常時スコア、及び、数値制御装置の操作端末に対する検査対象利用者の入力操作の特徴を示す検査対象スコア、を出力する。
【００２５】
機械学習装置１は、例えば、数値制御装置内に設けることができる。また、機械学習装置１を、例えば、通信ネットワークを介したクラウドサーバ上に設けてもよく、複数の数値制御装置を制御するセルコントローラ上に設けてもよく、あるいは、セルコントローラのさらに上位の生産管理装置上に設けてもよい。
【００２６】
図３は、一実施形態による機械学習方法の動作フローを示すフローチャートである。
【００２７】
まず、ステップＳ１０１において、状態観測部１１は、工作機械の数値制御装置の操作端末に対する入力操作に関連する状態変数を観測する。状態変数は、操作端末の１つのキーに対する押下継続時間、操作端末の複数回のキーの押下における押下時間間隔、操作端末のＤｅｌｅｔｅキーとＢａｃｋｓｐａｃｅキーとの利用頻度の割合、文字列を削除する際の削除キーの押し方、操作端末の上下左右の各カーソルキーの押下順、及び、操作端末であるタッチパネルに対する１回の押下におけるタッチパネル上の押下面積、のうちの少なくとも１つを含む。
【００２８】
次いで、ステップＳ１０２において、学習モデル生成部２１は、状態観測部１１の出力に基づいて、数値制御装置の正当な利用権者による操作端末に対する入力操作の特徴の分布及び規則性を表す学習モデルを生成する。
【００２９】
ステップＳ１０３では、スコア生成部２２は、学習モデル生成部２１により生成された学習モデルに基づいて、数値制御装置の操作端末に対する正当な利用権者の入力操作の特徴を示す正常時スコアを出力する。
【００３０】
ステップＳ１０４では、スコア生成部２２は、機械学習装置１が検査モードにあるか学習モードにあるかを判定する。
【００３１】
ステップＳ１０４において機械学習装置１が検査モードにあると判定された場合は、ステップＳ１０５において、スコア生成部２２は、学習モデル生成部２１により生成された学習モデルに基づいて、数値制御装置の操作端末に対する検査対象利用者の入力操作の特徴を示す検査対象スコアを出力する。
【００３２】
教師なし学習が適用される機械学習装置１は、例えば、ニューラルネットワークやサポートベクターマシン（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ：ＳＶＭ）などのアルゴリズムを用いて実現する。また、教師なし学習が適用される機械学習装置１は、ＧＰＧＰＵ（Ｇｅｎｅｒａｌ−Ｐｕｒｐｏｓｅ ｃｏｍｐｕｔｉｎｇ ｏｎ Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔｓ）や大規模ＰＣクラスター等を適用すると、より高速な処理を実現することができる。
【００３３】
ここで、ニューラルネットワークについて説明する。ニューラルネットワークは、たとえば図４に示すようなニューロンのモデルを模したニューラルネットワークを実現する演算装置及びメモリ等で構成される。図４は、ニューロンのモデルを示す模式図である。
【００３４】
図４に示すように、ニューロンは、複数の入力ｘ（図４では、一例として、入力ｘ1〜入力ｘ3）に対する出力ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、式１により表現される出力ｙを出力する。なお、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、下記の式１において、θはバイアスであり、ｆkは活性化関数である。
【００３５】
【数１】
2018101357.tif 000003
【００３６】
次に、上述したニューロンを組み合わせた３層の重みを有するニューラルネットワークについて、図５を参照して説明する。図５は、Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【００３７】
図５に示すように、ニューラルネットワークの左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。
【００３８】
具体的には、入力ｘ１〜入力ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてｗ１と標記されている。
【００３９】
ニューロンＮ１１〜Ｎ１３は、それぞれ、ｚ１１〜ｚ１３を出力する。図５において、これらｚ１１〜ｚ１３はまとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。ｚ１１〜ｚ１３は、２つのニューロンＮ２１、Ｎ２２の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。
【００４０】
ニューロンＮ２１、Ｎ２２は、それぞれ、ｚ２１、ｚ２２を出力する。図５において、これらｚ２１、ｚ２２は、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。特徴ベクトルｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
【００４１】
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜結果ｙ３を出力する。
【００４２】
一実施形態による機械学習装置１におけるニューラルネットワークの動作には、学習モードと検査モードとがある。例えば、学習モードにおいて、学習モデル生成部２１は、状態変数を用いて重みｗを学習して学習モデルを生成し、スコア生成部２２は、その学習モデルを用いて数値制御装置の操作端末に対する正当な利用権者の入力操作の特徴を示す正常時スコアを出力する。また、検査モードにおいて、学習モードにおいて学習モデル生成部２１が生成した学習モデルを用いて、数値制御装置の操作端末に対する検査対象利用者の入力操作の特徴を示す検査対象スコアを出力する。学習モードと検査モードとの切替えは、例えば、数値制御装置へのログイン前を検査モードとしログイン後を学習モードとしたときのログイン前後での自動切替え、数値制御装置の操作端末に対する特定のキー操作、数値制御装置の上位にあるセルコントローラからの切替え指示、セルコントローラの上位にある生産管理装置からの切替え指示により行われる。
【００４３】
このようなニューラルネットワークは、３層以上にさらに層を増やすことも可能である。
【００４４】
ここで、教師なし学習について説明する。教師なし学習の適用例では、「全てのデータを選り好みなく入力し、学習器に入力データを分類させる」というような例が多いが、一実施形態による機械学習装置１では「正当な利用権者（正常時）のデータ」のみを入力して学習を行う。すなわち、入力データに基づいて「正当な利用権者である/ない」の２通りを判別するため、どちらか一方のデータのみを用いてその特徴を学習すれば、自ずと他方の判別も可能になる。また、全てのデータを選り好みなく入力して分類させる場合には、当然、入力データとして「正当な利用権者でないデータ」を加えなければ十分な学習を行えないが、判定を学習するのに十分な量の「正当な利用権者でないデータ」を収集するのは困難であり、現実的ではない。そこで、一実施形態では、「正当な利用権者（正常時）のデータ」のみを入力として用いて、その特徴量を学習させるという教師なし学習を適用し、正当な利用権者についての正常時スコアを生成する。
【００４５】
以下、入力データから出力(正常時スコア)を得るまでを説明する。図６は、一実施形態による機械学習装置において入力データから正常時スコアを得るまでの一例を説明する図である。ここでは、「ニューラルネットワーク」を機械学習装置１として用いるが、ニューラルネットワークのモデルは、一般的なものを適用することができる。
【００４６】
ニューラルネットワークは、入力部、中間層及び出力部を含み、中間層は、複数層で構成される。ニューラルネットワークの入力部に入力Ｘを与えると、ニューラルネットワークの出力部からは特徴量であるスコアＺが出力される。よって、工作機械の数値制御装置に対して操作権限を有すると認証された者である「正当な利用権者」の、数値制御装置の操作端末に対する入力操作の特徴である「正常時の入力データＸn」を入力Ｘとして、ニューラルネットワークの入力部に与えると、正常なスコア（正常時スコア）の集合が得られることになる。ここで、ニューラルネットワークにおける正常時の入力データＸnは、状態観測部１１によって観測された状態変数が対応する。すなわち、正当な利用権者の入力データＸnは、正当な利用権者による操作端末の１つのキーに対する押下継続時間、正当な利用権者による操作端末の複数回のキーの押下における押下時間間隔、正当な利用権者による操作端末のＤｅｌｅｔｅキーとＢａｃｋｓｐａｃｅキーとの利用頻度の割合、文字列を削除する際の削除キーの押し方、正当な利用権者による操作端末の上下左右の各カーソルキーの押下順、及び、操作端末であるタッチパネルに対する１回の押下におけるタッチパネル上の押下面積、のうちの少なくとも１つを含む。
【００４７】
図７は、自己符号化器(オートエンコーダ)を示す図である。図７に示すように、自己符号化器は、ニューラルネットワークの入力部、中間層及び出力部からなる学習モデルに、この学習モデルのうちの入力部及び中間層を反転したものを追加した構成を有する。自己符号化器において、正当な利用権者の入力データＸnを入力Ｘとしてニューラルネットワークの入力部に与えると、追加した中間層及び入力部（すなわち学習モデルのうちの入力部及び中間層を反転したもの）を経由して出力Ｙが出力される。これにより、正当な利用権者の入力データＸn（入力Ｘ）と出力データＹn（出力Ｙ）の誤差を、||Ｘ2n−Ｙｎ||2として求めることができる。一実施形態によれば、学習モデル生成部２１は、教師なし学習において、正当な利用権者の入力データＸnをそのまま正解ラベルとして使用して誤差||Ｘ2n−Ｙｎ||2を計算し、この誤差が最小となるような学習モデルを生成することで、学習モデルの精度を高める。
【００４８】
スコア生成部２２は、学習モードにおいては、学習モデル生成部２１により生成された学習モデルに基づいて、工作機械の数値制御装置に対して操作権限を有すると認証された者である「正当な利用権者」の、数値制御装置の操作端末に対する入力操作の特徴である「正当な利用権者の入力データＸn」に対して、正常時スコアを出力する。一方、検査モードにおいては、状態観測部１１は、工作機械の数値制御装置に対する検査対象利用者の入力操作の特徴を状態変数として観測し、スコア生成部２２は、学習モデル生成部２１により生成された学習モデルと状態観測部１１が観測した状態変数に基づいて、工作機械の数値制御装置に対する検査対象利用者の入力操作の特徴を示す検査対象スコアを出力する。学習モードと検査モードとの切替えは、例えば、数値制御装置へのログイン前を検査モードとしログイン後を学習モードとしたときのログイン前後での自動切替え、数値制御装置の操作端末に対する特定のキー操作、数値制御装置の上位にあるセルコントローラからの切替え指示、セルコントローラの上位にある生産管理装置からの切替え指示により行われる。
【００４９】
なお、機械学習装置１にューラルネットワークを適用する場合、汎用の計算機若しくはプロセッサを用いることもできるが、例えば、ＧＰＧＰＵや大規模ＰＣクラスター等を適用すると、より高速に処理することが可能になる。また、教師なし学習の手法としては、上述したものに限定されず、例えば、ｋ平均(k-means)法による非階層型クラスタリング、あるいは、階層型クラスタリングにおける次元圧縮等の様々な手法を適用することができるのはいうまでもない。
【００５０】
上述の一実施形態の機械学習装置１及び機械学習方法によれば、ユーザ認証機能を備えた工作機械の数値制御装置において、操作権限が与えられた正当な利用権者であるか操作権限が与えられていない成りすましの利用者であるかを的確かつ容易に判定することができる。
【００５１】
なお、機械学習装置１内の学習部１２は、正当な利用権者が複数の数値制御装置の操作端末に対して入力操作を行った場合における状態観測部１１の出力に従って、当該正当な利用権者による数値制御装置の操作端末に対する入力操作の特徴を学習するように構成されてもよい。この場合、状態観測部１１は、正当な利用権者が複数の数値制御装置の操作端末に対して入力操作を行った場合における状態変数を、効率よくかつ大量に観測することができ、結果として、学習モデル生成部２１は、大量の状態変数に基づいて学習モデルを生成することができるので、機械学習装置１の学習効果が向上する。機械学習装置１の学習効果が向上すると、後述する成りすまし検出装置の成りすまし検出精度が向上する。
【００５２】
また、機械学習装置１内の学習部１２は、状態観測部１１の出力及び正当な利用権者の識別情報に基づいて、複数の正当な利用権者のそれぞれについての、数値制御装置の操作端末に対する入力操作の特徴を学習するように構成されてもよい。この場合、学習モデル生成部２１は、複数の正当な利用権者のそれぞれについての学習モデルを生成する。
【００５３】
なお、機械学習装置１は、少なくとも１つの他の機械学習装置と接続可能であり、少なくとも１つの他の機械学習装置との間で機械学習の結果を相互に交換または共有するようにしてもよい。複数の機械学習装置１を接続する実施形態の詳細については後述する。
【００５４】
上述の機械学習装置１を用いて、ユーザ認証機能を備えた工作機械の数値制御装置において操作権限が与えられた正当な利用権者であるか操作権限が与えられていない成りすましの利用者であるかを判定する成りすまし検出装置を構成することができる。図８は、一実施形態による成りすまし検出装置を示すブロック図である。
【００５５】
一実施形態による成りすまし検出装置３０は、機械学習装置１と、スコア判定部１３と、出力部１４とを備える。
【００５６】
状態観測部１１は、操作端末の１つのキーに対する押下継続時間、操作端末の複数回のキーの押下における押下時間間隔、操作端末のＤｅｌｅｔｅキーとＢａｃｋｓｐａｃｅキーとの利用頻度の割合、文字列を削除する際の削除キーの押し方、操作端末の上下左右の各カーソルキーの押下順、及び、操作端末であるタッチパネルに対する１回の押下におけるタッチパネル上の押下面積、のうちの少なくとも１つを含む状態変数を観測する。ここで、状態観測部１１は、学習モードにおいては、工作機械の数値制御装置に対して操作権限を有すると認証された者である正当な利用権者に関する状態変数を観測し、検査モードにおいては、数値制御装置の操作端末に対する検査対象利用者に関する状態変数を観測する。
【００５７】
学習モデル生成部２１は、状態観測部１１の出力に基づいて、数値制御装置の正当な利用権者による操作端末に対する入力操作の特徴の分布及び規則性を表す学習モデルを生成する。なお、学習モデル生成部２１が学習モデルを生成するのは学習モード時である。
【００５８】
スコア生成部２２は、学習モードにおいて、学習モデル生成部２１が生成した学習モデルを用いて、数値制御装置の操作端末に対する正当な利用権者の入力操作の特徴を示す正常時スコアを出力する。一方、スコア生成部２２は、検査モードにおいて、学習モードにおいて学習モデル生成部２１が生成した学習モデルを用いて、数値制御装置の操作端末に対する検査対象利用者の入力操作の特徴を示す検査対象スコアを出力する。学習モードと検査モードとの切替えは、例えば、数値制御装置へのログイン前を検査モードとしログイン後を学習モードとしたときのログイン前後での自動切替え、数値制御装置の操作端末に対する特定のキー操作、数値制御装置の上位にあるセルコントローラからの切替え指示、セルコントローラの上位にある生産管理装置からの切替え指示により行われる。
【００５９】
スコア判定部１３は、検査モードにおいて、検査対象スコアが、正常時スコアの範囲に含まれるときは検査対象利用者は正当な利用権者であると判定し、正常時スコアの範囲に含まれないときは検査対象利用者は正当な利用権者ではないと判定する。
【００６０】
ここで、判定方法の一例を説明する。仮に、機械学習装置１内の学習部２２内のスコア生成部２２の出力スコアがＡ、Ｂ及びＣの３要素ある場合を考える。
【００６１】
学習モデル生成部２１による学習モデル生成後、数値制御装置の正当な利用権者による操作端末に対する入力操作の特徴以外の特徴が現われたデータを用意し、機械学習装置１のスコア生成部２２に入力する。「正当な利用権者による操作端末に対する入力操作の特徴以外の特徴が現われたデータ」は、当該正当な利用権者が普段の自身の入力操作とは意識的に違った入力操作を行うことで取得してもよく、あるいは、当該正当な利用権者以外の第三者に操作端末を操作させて取得してもよい。スコア生成部２２は、正当な利用権者による操作端末に対する入力操作の特徴以外の特徴が現われたデータに基づいてスコア（以下、調整用スコア）を出力する。そして、調整用スコアと正常時スコアとを比較し、正常時のスコア範囲を決める。仮に、正常時スコアにおける各特徴をＡt、Ｂt及びＣtとしたとき、スコア判定部１３により「正当な利用権者である」と判定されるときの条件１を下記のように決めた場合を考える。なお、Ａt、Ｂt及びＣtは、正当な利用権者についての、操作端末の１つのキーに対する押下継続時間、操作端末の複数回のキーの押下における押下時間間隔、操作端末のＤｅｌｅｔｅキーとＢａｃｋｓｐａｃｅキーとの利用頻度の割合、文字列を削除する際の削除キーの押し方、操作端末の上下左右の各カーソルキーの押下順、あるいは、操作端末であるタッチパネルに対する１回の押下におけるタッチパネル上の押下面積のいずれかに関するものである。
【００６２】
Ａ1＜Ａt＜Ａ2、Ｂ1＜Ｂt＜Ｂ2、Ｃ1＜Ｃt＜Ｃ2  ・・・  (条件１)
【００６３】
正常時スコアの特徴ＡtについてはＡ1及びＡ2、特徴ＢtについてはＢ1及びＢ2、特徴ＣtについてはＣ1及びＣ2を適宜設定すれば、スコア判定部１３による「正当な利用権者である／ではない」の判定結果は異なってくるので、要求される成りすまし検出精度に応じてこれらマージンを適宜設定し、正常時のスコア範囲を調整してもよい。スコア判定部１３は、検査対象スコアが上述の条件１の範囲に入らないスコアになったとき、「現在の利用者は正当な利用権者ではない」との判定結果を出力する。
【００６４】
なお、「正当な利用権者による操作端末に対する入力操作の特徴以外の特徴が現われたデータ」の一例を挙げると、操作端末の１つのキーに対する押下継続時間についていえば、例えば、正当な利用権者による操作端末の１つのキーに対する押下継続時間よりも、長くもしくは短く設定した押下継続時間である。操作端末の複数回のキーの押下における押下時間間隔についていえば、例えば、正当な利用権者による複数回のキーの押下における押下時間間隔よりも、長くもしくは短く設定した押下時間間隔である。操作端末のＤｅｌｅｔｅキーとＢａｃｋｓｐａｃｅキーとの利用頻度の割合についていえば、例えば、文字を消去する際に正当な利用権者が多用するキーがＤｅｌｅｔｅキーであるところを、Ｂａｃｋｓｐａｃｅキーを多めに利用することである（あるいはその逆もある）。文字列を削除する際の削除キーの押し方についていえば、例えば、正当な利用権者が長押しを頻繁に使うところを、細かく分けて押下する削除の仕方を多めに使うことである（あるいはその逆もある）。操作端末の上下左右の各カーソルキーの押下順についていえば、カーソルを移動させる際に正当な利用権者が利用する上下左右のカーソルキーの押下順を、普段とは異なる押下順にすることである。操作端末であるタッチパネルに対する１回の押下におけるタッチパネル上の押下面積についていえば、例えば、正当な利用権者がタッチパネルを指（またはスタイラスや汎用筆記具）で押下する際の力を普段よりも強くもしくは弱くすることである。タッチパネルに対する押下力の強弱により、タッチパネル上の押下面積が変わる。
【００６５】
出力部１４は、スコア判定部１３の判定結果に関するデータを出力する。出力部１４により出力された判定結果に関するデータに基づいて、ユーザに対し、現在の利用者は正当な利用権者であるか否かを報知することができる。出力部１４にはこのための報知部（図示せず）を接続してもよい。報知部の例としては、パソコン、携帯端末、タッチパネルなどのディスプレイや数値制御装置に付属のディスプレイ（図１の表示装置１０１３）などがあり、例えば「正当な利用権者である／ではない」を文字や絵柄でディスプレイに表示することができる。また例えば、報知部を、スピーカ、ブザー、チャイムなどのような音を発する音響機器にて実現してもよい。またあるいは、報知部について、プリンタを用いて紙面等にプリントアウトして表示させる形態をとってもよい。またあるいは、これらを適宜組み合わせて報知部を実現してもよい。なお、出力部１４によって出力された判定結果に関するデータを、記憶装置に格納し、当該データを何らかの用途に使用してもよい。
【００６６】
成りすまし検出装置３０により、工作機械の管理者や生産管理者は、操作権限が与えられていない成りすまし利用者が、正当な利用権者に成りすまして数値制御装置の操作端末を操作していることを知ることができる。成りすまし検出装置３０が「正当な利用権者ではない」との結果を出力することで、工作機械の管理者や生産管理者は、例えば、即座に数値制御装置のある現場に駆けつけたり、遠隔操作で操作端末にロックをかけたり、あるいは、警察に通報したりといったような対応を取ることができる。
【００６７】
なお、上述した状態観測部１１、学習モデル生成部２１及びスコア生成部２２を備える学習部１２、並びにスコア判定部１３は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。例えばこれらをソフトウェアプログラム形式で構築する場合は、このソフトウェアプログラムに従って動作させるための演算処理装置を設けたり、クラウドサーバ上においてこのソフトウェアプログラムを動作させたりすることで、上述の各部の機能を実現することができる。またあるいは、状態観測部１１及び学習部１２を備える機械学習装置１を、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路として実現してもよい。またあるいは、状態観測部１１及び学習部１２を備える機械学習装置１のみならずスコア判定部１３も含めた形で、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路を実現してもよい。
【００６８】
上述の成りすまし検出装置３０は、通信ネットワークを介して数値制御装置に接続されてもよい。図９は、一実施形態による、通信ネットワークに接続された成りすまし検出装置を示すブロック図である。一実施形態によれば、成りすまし検出装置３０内の機械学習装置１は、通信ネットワーク９０を介して複数の数値制御装置４０に通信可能に接続され、状態観測部１１は、通信ネットワーク９０を介して状態変数を観測する。またさらに、機械学習装置１をクラウドサーバ上に設けてもよい。なお、この場合、スコア判定部１３については、機械学習装置１に付随してクラウドサーバ上に設けてもよく、あるいは、通信ネットワーク９０を介して接続されるクラウドサーバ以外の独立の装置として設けてもよい。
【００６９】
また、上述の成りすまし検出装置３０を、数値制御部内に設けてもよい。図１０は、一実施形態による、成りすまし検出装置を備える数値制御装置を示すブロック図である。一実施形態によれば、数値制御装置４１は、成りすまし検出装置３０を備える。数値制御装置４１による工作機械５０に対する数値制御処理を実行する数値制御部４０’の構成自体は、図１を参照して説明した数値制御装置４０の構成と同じであるので説明は省略する。状態観測部１１は、数値制御部４０’内の操作端末１０１１（図１参照。）の１つのキーに対する押下継続時間、操作端末１０１１の複数回のキーの押下における押下時間間隔、操作端末１０１１のＤｅｌｅｔｅキーとＢａｃｋｓｐａｃｅキーとの利用頻度の割合、文字列を削除する際の削除キーの押し方、操作端末１０１１の上下左右の各カーソルキーの押下順、及び、操作端末１０１１であるタッチパネルに対する１回の押下におけるタッチパネル上の押下面積、のうちの少なくとも１つを含む状態変数を観測する。学習部１２、スコア判定部１３及び出力部１４については、既に説明した通りであるので説明は省略する。
【００７０】
続いて、製造セル、セルコントローラ及び生産管理装置を生産システムに上述の成りすまし検出装置３０を設けた実施形態について、図１１〜図１３を参照して説明する。以下で説明する図１１〜図１３の生産システムにおける製造セル及びセルコントローラの各個数は一例であり、その他の個数であってもよい。
【００７１】
製造セルは、製品を製造する複数の工作機械をフレキシブルに組合せた集合である。製造セルは、例えば複数個もしくは複数種類の工作機械により構築されているが、製造セルにおける工作機械の個数は限定されない。例えば、製造セルは、あるワークが複数の工作機械により順次に処理されることによって最終的な製品となる製造ラインでありうる。また例えば、製造セルは、２つ以上の工作機械の各々により処理された２つ以上の工作物（部品）を製造工程の途中で別の工作機械によって組み合せることにより最終的な工作物（製品）を完成させる製造ラインであってもよい。また例えば、２つ以上の製造セルにより処理された２つ以上の工作物を組み合せることにより、最終的な工作物（製品）を完成させてもよい。製造セルとセルコントローラとは、例えばイントラネットなどのような通信ネットワークを介して通信可能に相互接続される。製造セルは、製品を製造する工場に配置されている。これに対して、セルコントローラは、製造セルが配置された工場に配置されてもよく、あるいは工場とは異なる建屋に配置されてもよい。例えば、セルコントローラは、製造セルが配置された工場の敷地にある別の建屋に配置されていてもよい。
【００７２】
また、セルコントローラの上位には生産管理装置が設けられる。生産管理装置は、セルコントローラと相互通信可能に接続され、セルコントローラに生産計画を指示する。生産管理装置は、例えば、工場から遠隔地にある事務所に配置されていてもよい。この場合には、セルコントローラと生産管理装置とは、例えばインターネットの通信ネットワークを介して通信可能に相互接続される。
【００７３】
このような生産システムについて、成りすまし検出装置３０を、各数値制御装置内に設けた場合を第１の実施形態（図１１）とし、各セルコントローラ内に設けた場合を第２の実施形態（図１２）とし、生産管理装置内に設けた場合を第３の実施形態（図１３）として説明する。なお、これら各実施形態は適宜組み合わせて実施されてもよい。
【００７４】
図１１は、成りすまし検出装置を有する生産システムの第１の実施形態を示すブロック図である。第１の実施形態では、生産システムにおいて、図８に示した成りすまし検出装置３０が各数値制御装置内に設けられる。
【００７５】
第１の実施形態による生産システム１０１は、複数の製造セル６０Ａ、６０Ｂ、６０Ｃ、・・・と、セルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・と、生産管理装置８０とを備える。
【００７６】
製造セル６０Ａは、複数の工作機械５０Ａ−１、５０Ａ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４１Ａ−１、４１Ａ−２、・・・とで構成される。同様に、製造セル６０Ｂは、複数の工作機械５０Ｂ−１、５０Ｂ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４１Ｂ−１、４１Ｂ−２、・・・とで構成される。製造セル６０Ｃは、複数の工作機械５０Ｃ−１、５０Ｃ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４１Ｃ−１、４１Ｃ−２、・・・とで構成される。
【００７７】
数値制御装置４１Ａ−１、４１Ａ−２、・・・、４１Ｂ−１、４１Ｂ−２、・・・、４１Ｃ−１、４１Ｃ−２、・・・は、それぞれ、図８を参照して説明した成りすまし検出装置３０を備える。すなわち、各数値制御装置４１Ａ−１、４１Ａ−２、・・・、４１Ｂ−１、４１Ｂ−２、・・・、４１Ｃ−１、４１Ｃ−２、・・・を単体で見れば、図１０を参照して説明した成りすまし検出装置３０を備える数値制御装置４１と同一といえる。各数値制御装置４１Ａ−１、４１Ａ−２、・・・、４１Ｂ−１、４１Ｂ−２、・・・、４１Ｃ−１、４１Ｃ−２、・・・内に設けられた機械学習装置１における状態観測部１１（図１１では図示せず）は、操作端末の１つのキーに対する押下継続時間、操作端末の複数回のキーの押下における押下時間間隔、操作端末のＤｅｌｅｔｅキーとＢａｃｋｓｐａｃｅキーとの利用頻度の割合、文字列を削除する際の削除キーの押し方、操作端末の上下左右の各カーソルキーの押下順、及び、操作端末であるタッチパネルに対する１回の押下におけるタッチパネル上の押下面積、のうちの少なくとも１つを含む状態変数を観測する。各数値制御装置４１Ａ−１、４１Ａ−２、・・・、４１Ｂ−１、４１Ｂ−２、・・・、４１Ｃ−１、４１Ｃ−２、・・・内に設けられた機械学習装置１における出力部１４（図１１では図示せず）は、スコア判定部１３（図１１では図示せず）による「正当な利用権者である／ではない」という判定結果に関するデータを、当該数値制御装置を制御するために設けられた対応するセルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・へ出力する。
【００７８】
各製造セル６０Ａ、６０Ｂ及び６０Ｃは、セルコントローラ７０Ａ、７０Ｂ及び７０Ｃと通信ネットワークを介して相互通信可能に接続される。セルコントローラ７０Ａは、製造セル６０Ａ内の数値制御装置４１Ａ−１、４１Ａ−２、・・・を制御する。セルコントローラ７０Ｂは、製造セル６０Ｂ内の数値制御装置４１Ｂ−１、４１Ｂ−２、・・・を制御する。セルコントローラ７０Ｃは、製造セル６０Ｃ内の数値制御装置４１Ｃ−１、４１Ｃ−２、・・・を制御する。
【００７９】
生産管理装置８０は、通信ネットワークを介してセルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・と相互通信可能に接続され、セルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・に生産計画を指示する。
【００８０】
第１の実施形態による生産システム１０１において、セルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・、またはセルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・の上位にある生産管理装置８０は、各機械学習装置１の出力部１４から出力された「正当な利用権者である／ではない」という判定結果に関するデータに基づいて、各セルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・または生産管理装置に設けられたディスプレイ装置に「正当な利用権者である／ではない」という判定結果を表示させる。その際、複数の数値制御装置のうちのどの数値制御装置が成りすまし利用者によって利用されているかについても表示する。またあるいは、ディスプレイ装置に代えてあるいはディスプレイ装置と共に、音響機器にて警報音やブザーを発生させて「正当な利用権者である／ではない」という判定結果を報知してもよい。これにより、工場で働く作業者や管理者は容易に、現在の数値制御装置の利用者が成りすましであるか否か、成りすましである場合は複数の数値制御装置のうちのどの数値制御装置が成りすまし利用者によって利用されているかを知ることができる。
【００８１】
また、第１の実施形態による生産システム１０１によれば、各数値制御装置４１Ａ−１、４１Ａ−２、・・・、４１Ｂ−１、４１Ｂ−２、・・・、４１Ｃ−１、４１Ｃ−２、・・・に設けられた機械学習装置１より、当該数値制御装置の操作端末に対する入力操作の特徴が分散学習される。同一製造セル内において、機械学習装置１は、当該製造セルのためのセルコントローラを介して他の機械学習装置と相互通信可能に接続されているので、当該他の機械学習装置との間で機械学習の結果を相互に交換または共有してもよい。またあるいは、機械学習装置１は、セルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・の上位にある生産管理装置８０を介して他の機械学習装置と相互通信可能に接続されているので、当該他の機械学習装置との間で機械学習の結果を相互に交換または共有してもよい。機械学習装置間で機械学習の結果を相互に交換または共有することで、学習効果をさらに向上させることができる。機械学習装置１の学習効果が向上すると、成りすまし検出装置３０の成りすまし検出精度が向上する。
【００８２】
図１２は、成りすまし検出装置を有する生産システムの第２の実施形態を示すブロック図である。第２の実施形態では、生産システムにおいて、図８に示した成りすまし検出装置３０が各セルコントローラ内に設けられる。
【００８３】
第２の実施形態による生産システム１０２は、複数の製造セル６１Ａ、６１Ｂ、６１Ｃ、・・・と、セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・と、生産管理装置８０とを備える。
【００８４】
製造セル６１Ａは、複数の工作機械５０Ａ−１、５０Ａ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４０Ａ−１、４０Ａ−２、・・・とで構成される。同様に、製造セル６１Ｂは、複数の工作機械５０Ｂ−１、５０Ｂ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４０Ｂ−１、４０Ｂ−２、・・・とで構成される。製造セル６１Ｃは、複数の工作機械５０Ｃ−１、５０Ｃ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４０Ｃ−１、４０Ｃ−２、・・・とで構成される。数値制御装置４０Ａ−１、４０Ａ−２、・・・、４０Ｂ−１、４０Ｂ−２、・・・、４０Ｃ−１、４０Ｃ−２、・・・の構成は、図１を参照して説明した数値制御装置４０の構成と同じである。
【００８５】
各製造セル６１Ａ、６１Ｂ及び６１Ｃは、セルコントローラ７１Ａ、７１Ｂ及び７１Ｃと通信ネットワークを介して相互通信可能に接続される。セルコントローラ７１Ａは、製造セル６１Ａ内の数値制御装置４０Ａ−１、４０Ａ−２、・・・を制御する。セルコントローラ７１Ｂは、製造セル６１Ｂ内の数値制御装置４０Ｂ−１、４０Ｂ−２、・・・を制御する。セルコントローラ７１Ｃは、製造セル６１Ｃ内の数値制御装置４０Ｃ−１、４０Ｃ−２、・・・を制御する。セルコントローラ７１Ａ、７１Ｂ、７１Ｃ，・・・は、それぞれ、図８を参照して説明した成りすまし検出装置３０を備える。セルコントローラ７１Ａ、７１Ｂ、７１、・・・内に設けられた機械学習装置１における状態観測部１１（図１２では図示せず）は、当該セルコントローラが制御する数値制御装置の操作端末の１つのキーに対する押下継続時間、操作端末の複数回のキーの押下における押下時間間隔、操作端末のＤｅｌｅｔｅキーとＢａｃｋｓｐａｃｅキーとの利用頻度の割合、文字列を削除する際の削除キーの押し方、操作端末の上下左右の各カーソルキーの押下順、及び、操作端末であるタッチパネルに対する１回の押下におけるタッチパネル上の押下面積、のうちの少なくとも１つを含む状態変数を観測する。セルコントローラ７１Ａ、７１Ｂ、７１、・・・内に設けられた機械学習装置１における出力部１４（図１２では図示せず）は、スコア判定部１３（図１２では図示せず）による、当該セルコントローラが制御する数値制御装置の利用者についての「正当な利用権者である／ではない」という判定結果に関するデータを、生産管理装置８０へ出力する。
【００８６】
生産管理装置８０は、通信ネットワークを介してセルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・と相互通信可能に接続され、セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・に生産計画を指示する。
【００８７】
第２の実施形態による生産システム１０２において、セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・、またはセルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・の上位にある生産管理装置８０は、各機械学習装置１の出力部１４から出力された「正当な利用権者である／ではない」という判定結果に係るデータに基づいて、各セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・または生産管理装置に設けられたディスプレイ装置に「正当な利用権者である／ではない」という判定結果を表示させる。その際、複数の数値制御装置のうちのどの数値制御装置が成りすまし利用者によって利用されているかについても表示する。またあるいは、ディスプレイ装置に代えてあるいはディスプレイ装置と共に、音響機器にて警報音やブザーを発生させて「正当な利用権者である／ではない」という判定結果を報知してもよい。これにより、工場で働く作業者や管理者は容易に、現在の数値制御装置の利用者が成りすましであるか否か、成りすましである場合は複数の数値制御装置のうちのどの数値制御装置が成りすまし利用者によって利用されているかを知ることができる。
【００８８】
また、第２の実施形態による生産システム１０２によれば、各セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・内に設けられた機械学習装置１により、当該セルコントローラにより制御される数値制御装置の操作端末に対する入力操作の特徴が分散学習される。機械学習装置１は、セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・の上位にある生産管理装置８０を介して他の機械学習装置と相互通信可能に接続されているので、当該他の機械学習装置との間で機械学習の結果を相互に交換または共有してもよい。機械学習装置間で機械学習の結果を相互に交換または共有することで、学習効果をさらに向上させることができる。機械学習装置１の学習効果が向上すると、成りすまし検出装置３０の成りすまし検出精度が向上する。
【００８９】
図１３は、成りすまし検出装置を有する生産システムの第３の実施形態を示すブロック図である。第３の実施形態では、生産システムにおいて、図８に示した成りすまし検出装置３０が生産管理装置８１内に設けられる。
【００９０】
第３の実施形態による生産システム１０３は、複数の製造セル６１Ａ、６１Ｂ、６１Ｃ、・・・と、セルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・と、生産管理装置８１とを備える。
【００９１】
製造セル６１Ａは、複数の工作機械５０Ａ−１、５０Ａ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４０Ａ−１、４０Ａ−２、・・・とで構成される。同様に、製造セル６１Ｂは、複数の工作機械５０Ｂ−１、５０Ｂ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４０Ｂ−１、４０Ｂ−２、・・・とで構成される。製造セル６１Ｃは、複数の工作機械５０Ｃ−１、５０Ｃ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４０Ｃ−１、４０Ｃ−２、・・・とで構成される。数値制御装置４０Ａ−１、４０Ａ−２、・・・、４０Ｂ−１、４０Ｂ−２、・・・、４０Ｃ−１、４０Ｃ−２、・・・の構成は、図１を参照して説明した数値制御装置４０の構成と同じである。
【００９２】
各製造セル６１Ａ、６１Ｂ及び６１Ｃは、セルコントローラ７０Ａ、７０Ｂ及び７０Ｃと通信ネットワークを介して相互通信可能に接続される。セルコントローラ７０Ａは、製造セル６１Ａ内の数値制御装置４０Ａ−１、４０Ａ−２、・・・を制御する。セルコントローラ７０Ｂは、製造セル６１Ｂ内の数値制御装置４０Ｂ−１、４０Ｂ−２、・・・を制御する。セルコントローラ７０Ｃは、製造セル６１Ｃ内の数値制御装置４０Ｃ−１、４０Ｃ−２、・・・を制御する。
【００９３】
生産管理装置８１は、通信ネットワークを介してセルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・と相互通信可能に接続され、セルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・に生産計画を指示する。生産管理装置８１は、図８を参照して説明した成りすまし検出装置３０を備える。生産管理装置８１内に設けられた機械学習装置１における状態観測部１１（図１３では図示せず）は、各数値制御装置の、操作端末の１つのキーに対する押下継続時間、操作端末の複数回のキーの押下における押下時間間隔、操作端末のＤｅｌｅｔｅキーとＢａｃｋｓｐａｃｅキーとの利用頻度の割合、文字列を削除する際の削除キーの押し方、操作端末の上下左右の各カーソルキーの押下順、及び、操作端末であるタッチパネルに対する１回の押下におけるタッチパネル上の押下面積、のうちの少なくとも１つを含む状態変数を観測する。生産管理装置８１内に設けられた機械学習装置１における出力部１４（図１３では図示せず）は、スコア判定部１３（図１３では図示せず）による「正当な利用権者である／ではない」という判定結果を出力する。
【００９４】
第３の実施形態による生産システム１０３において、生産管理装置８１は、機械学習装置１の出力部１４から出力された「正当な利用権者である／ではない」という判定結果に係るデータに基づいて、生産管理装置８１に設けられたディスプレイ装置に「正当な利用権者である／ではない」という判定結果を表示させる。その際、複数の数値制御装置のうちのどの数値制御装置が成りすまし利用者によって利用されているかについても表示する。またあるいは、ディスプレイ装置に代えてあるいはディスプレイ装置と共に、音響機器にて警報音やブザーを発生させて「正当な利用権者である／ではない」という判定結果を報知してもよい。これにより、工場で働く作業者や管理者は容易に、現在の数値制御装置の利用者が成りすましであるか否か、成りすましである場合は複数の数値制御装置のうちのどの数値制御装置が成りすまし利用者によって利用されているかを知ることができる。またあるいは、生産管理装置８１内の機械学習装置１の出力部１４から出力された「正当な利用権者である／ではない」という判定結果に係るデータを、各セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・に転送し、各セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・に設けられたディスプレイ装置に「正当な利用権者である／ではない」という判定結果を表示させたり、ディスプレイ装置に代えてあるいはディスプレイ装置と共に、音響機器にて警報音やブザーを発生させて「正当な利用権者である／ではない」という判定結果を報知してもよい。
【００９５】
第３の実施形態による生産システム１０３によれば、生産管理装置８１内に設けられた機械学習装置１により、数値制御装置の操作端末に対する入力操作の特徴が学習される。機械学習装置１は、数多くの数値制御装置にて観測された大量の状態変数に基づいて学習モデルを生成することができるので、機械学習装置１の学習効果が向上する。機械学習装置１の学習効果が向上すると、成りすまし検出装置３０の成りすまし検出精度が向上する。
【００９６】
以上説明した生産システムは、製造セル、セルコントローラ、及び生産管理システムの３層のネットワークシステムで構成されたものである。この変形として、生産管理システムを省略し、製造セル及びセルコントローラで構成される２層のネットワークシステムにて生産システムを構成してもよく、この場合は、成りすまし検出装置３０は製造セル内の数値制御装置またはセルコントローラに設ければよい。またあるいは、４層以上のネットワークシステムにて生産システムを構成してもよく、この場合は、成りすまし検出装置３０は、製造セル内の数値制御装置、セルコントローラ、生産管理装置、またはさらに上位の装置に設ければよい。またあるいは、生産システムをさらに外部の通信ネットワークに接続してもよく、この場合、成りすまし検出装置３０を、通信ネットワークを介したクラウドサーバ上に設けてもよい。
【符号の説明】
【００９７】
１    機械学習装置
１１    状態観測部
１２    学習部
１３    スコア生成部
１４    出力部
２１    学習モデル生成部
２２    スコア生成部
３０    成りすまし検出装置
４０、４１    数値制御装置
４０’    数値制御部
４１Ａ−１、４１Ａ−２    数値制御装置
４１Ｂ−１、４１Ｂ−２    数値制御装置
４１Ｃ−１、４１Ｃ−２    数値制御装置
５０    工作機械
５０Ａ−１、５０Ａ−２    工作機械
５０Ｂ−１、５０Ｂ−２    工作機械
５０Ｃ−１、５０Ｃ−２    工作機械
６０Ａ、６０Ｂ、６０Ｃ    製造セル
６１Ａ、６１Ｂ、６１Ｃ    製造セル
７０Ａ、７０Ｂ、７０Ｃ    セルコントローラ
７１Ａ、７１Ｂ、７１Ｃ    セルコントローラ
８０、８１    生産管理装置
９０    通信ネットワーク
１０１、１０２、１０３    生産システム
１５１    サーボモータ
１５２    サーボアンプ
１００１    ＣＰＵ
１００２    ＲＯＭ
１００３    ＲＡＭ
１００４    Ｉ／Ｏ
１００５    不揮発性メモリ
１００６    軸制御回路
１００７    ＰＭＣ
１００８    表示装置／ＭＤＩパネル
１００９    バス
１０１１    操作端末
１０１２    グラフィック制御回路
１０１３    表示装置
【図１】
2018101357.tif 000004
【図２】
2018101357.tif 000005
【図３】
2018101357.tif 000006
【図４】
2018101357.tif 000007
【図５】
2018101357.tif 000008
【図６】
2018101357.tif 000009
【図７】
2018101357.tif 000010
【図８】
2018101357.tif 000011
【図９】
2018101357.tif 000012
【図１０】
2018101357.tif 000013
【図１１】
2018101357.tif 000014
【図１２】
2018101357.tif 000015
【図１３】
2018101357.tif 000016