(57)【要約】【課題】それぞれの操作者に最適な操作メニューを表示することができる機械学習器，数値制御装置，工作機械システム，製造システムおよび機械学習方法の提供を図る。【解決手段】操作者を検知し、操作者の情報が登録してあるデータベースと通信して、前記操作者の情報に基づいた操作メニューの表示を学習する機械学習器２であって、前記操作メニューの操作履歴を観測する状態観測部２１と、前記状態観測部により観測された前記操作メニューの操作履歴に基づいて、前記操作メニューの表示を学習する学習部２２と、を備える。【選択図】図１
2020074177.tif 000002
【特許請求の範囲】
【請求項１】
操作者を検知し、操作者の情報が登録してあるデータベースと通信して、前記操作者の情報に基づいた操作メニューの表示を学習する機械学習器であって、
前記操作メニューの操作履歴を観測する状態観測部と、
前記状態観測部により観測された前記操作メニューの操作履歴に基づいて、前記操作メニューの表示を学習する学習部と、を備える、
ことを特徴とする機械学習器。
【請求項２】
前記操作メニューの操作履歴は、
前記操作メニューのアクセス回数、および、前記操作メニューの遷移情報を含む、
ことを特徴とする請求項１に記載の機械学習器。
【請求項３】
前記状態観測部は、さらに、
現在選択されている操作メニューの情報、工作機械が加工運転中であるか否かを示す情報、数値制御装置および前記工作機械のアラーム情報、ならびに、プログラムの編集中であるか否かを示す情報の少なくとも１つを含む、
ことを特徴とする請求項１または請求項２に記載の機械学習器。
【請求項４】
さらに、
前記学習部が学習した操作メニューの表示を参照して、表示装置に表示する操作メニューの位置および順番を決定する意思決定部を備える、
ことを特徴とする請求項１乃至請求項３のいずれか１項に記載の機械学習器。
【請求項５】
前記学習部は、
前記状態観測部の出力に基づいて報酬を計算する報酬計算部と、
前記状態観測部および前記報酬計算部の出力に基づいて、表示装置に表示する操作メニューの位置および順番の価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備える、
ことを特徴とする請求項１乃至請求項４のいずれか１項に記載の機械学習器。
【請求項６】
前記報酬計算部は、
アクセスし易い前記操作メニューの位置および順番に配置したメニューから操作された時にプラスの報酬を与え、
アクセスし難い前記操作メニューの位置および順番に配置したメニューから操作された時にマイナスの報酬を与える、
ことを特徴とする請求項５に記載の機械学習器。
【請求項７】
前記学習部は、
前記状態観測部の出力、および、入力された教師データに基づいて誤差を計算する誤差計算部と、
前記状態観測部および前記誤差計算部の出力に基づいて、表示装置に表示する操作メニューの位置および順番の誤差を定める学習モデルを更新する学習モデル更新部と、を備える、
ことを特徴とする請求項１乃至請求項４のいずれか１項に記載の機械学習器。
【請求項８】
前記機械学習器は、ニューラルネットワークを備える、
ことを特徴とする請求項１乃至請求項７のいずれか１項に記載の機械学習器。
【請求項９】
前記操作者の情報は、当該操作者の立場または権限レベルの情報を含み、
前記操作者の情報に基づいた操作メニューは、前記操作者の立場または権限レベルの情報に基づいて変化する、
ことを特徴とする請求項１乃至請求項８のいずれか１項に記載の機械学習器。
【請求項１０】
前記操作者を検知する検知部と、
前記操作者の情報が登録してあるデータベースと通信する通信部と、
請求項１乃至請求項９のいずれか１項に記載の機械学習器と、
前記機械学習器により学習された操作メニューを表示する表示装置と、を備える、
ことを特徴とする数値制御装置。
【請求項１１】
数値制御装置と、前記数値制御装置により制御される工作機械と、請求項１乃至請求項９のいずれか１項に記載の機械学習器と、を備える、
ことを特徴とする工作機械システム。
【請求項１２】
請求項１１に記載の工作機械システムを複数備える製造システムであって、
前記機械学習器は、それぞれの前記工作機械システムに設けられ、
複数の前記工作機械システムに設けられた複数の前記機械学習器は、通信媒体を介して相互にデータを共有または交換するようになっている、
ことを特徴とする製造システム。
【請求項１３】
前記機械学習器は、クラウドサーバ上に存在する、
ことを特徴とする請求項１２に記載の製造システム。
【請求項１４】
操作者を検知し、操作者の情報が登録してあるデータベースと通信して、前記操作者の情報に基づいた操作メニューの表示を学習する機械学習方法であって、
前記操作メニューの操作履歴を観測し、
前記観測された前記操作メニューの操作履歴に基づいて、前記操作メニューの表示を学習する、
ことを特徴とする機械学習方法。
【請求項１５】
前記操作メニューの操作履歴は、
前記操作メニューのアクセス回数、および、前記操作メニューの遷移情報を含む、
ことを特徴とする請求項１４に記載の機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作メニューの表示を学習する機械学習器，数値制御装置，工作機械システム，製造システムおよび機械学習方法に関する。
【背景技術】
【０００２】
従来、例えば、工作機械を制御する数値制御装置(ＮＣ(Numerical Control)装置)は、その操作メニューを様々な人(操作者)が使用している。ここで、操作者としては、例えば、工作機械メーカ(ＭＴＢ(Machine Tool Builder)の開発者や担当者、オペレータ(ユーザ)およびサービス員(サービスエンジニア)といった様々な立場および権限レベルの人が含まれる。
【０００３】
本明細書において、ＮＣ装置には、コンピュータ数値制御装置(ＣＮＣ装置)等も含まれる。また、ＮＣ装置の操作メニューは、例えば、タッチ(位置入力)機能を有する液晶パネルのような表示装置上に表示され、その表示装置に表示される内容に従って変化するものとする。なお、操作メニューを表示する表示装置は、例えば、ＮＣ装置に一体的に設けることができるが、有線または無線によりＮＣ装置から離れた位置に設け、あるいは、工作機械の近傍等において表示装置の操作メニューを操作することもできる。
【０００４】
ところで、従来、例えば、機能アイコンをマトリックス状にセルとして配置し、アイコンの使用回数に応じて機能アイコンをユーザが所望する配置に並び替えるものが提案されている(例えば、特許文献１参照)。また、ナビゲーション装置のメニューを表示するときに、メニュー項目を、ユーザを煩わすことなく、現在のユーザの状況に適した順番に並び替えるものも提案されている(例えば、特許文献２参照)。さらに、例えば、工作機械を操作するオペレータに権限レベルを設定し、その権限レベルよって操作メニューを変化させることも考えられる(例えば、特許文献３参照)。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１８１５０１号公報
【特許文献２】特開２０１０−１２７８１４号公報
【特許文献３】特開２００９−０８６９６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、例えば、メニューの使用回数に応じて並べるだけでは、普段、機械を操作しているオペレータ以外、例えば、サービス員等が操作する時に、使用したいメニューへのアクセスが悪くなることが考えられる。また、操作者を検知した後、例えば、操作者毎に使用回数に応じてメニューを並び替える手法も考えられるが、この場合、ユーザが利用し易いメニュー画面を得るためには、操作者が機械をある程度、操作して学習させる必要がある。
【０００７】
また、パラメータからメニューの表示項目順を定めるテーブルを事前に用意することで、状況に適したメニューを表示する場合、想定している状況からの変化に対して動的に対応することができないため、操作する人の立場や権限レベルが増えるたびに手動でテーブルを作り直す必要がある。
【０００８】
本発明の目的は、上述した従来技術の課題に鑑み、それぞれの操作者に最適な操作メニューを表示することができる機械学習器，数値制御装置，工作機械システム，製造システムおよび機械学習方法の提供にある。
【課題を解決するための手段】
【０００９】
本発明に係る第１実施形態によれば、操作者を検知し、操作者の情報が登録してあるデータベースと通信して、前記操作者の情報に基づいた操作メニューの表示を学習する機械学習器であって、前記操作メニューの操作履歴を観測する状態観測部と、前記状態観測部により観測された前記操作メニューの操作履歴に基づいて、前記操作メニューの表示を学習する学習部と、を備える機械学習器が提供される。
【００１０】
前記操作メニューの操作履歴は、前記操作メニューのアクセス回数、および、前記操作メニューの遷移情報を含むのが好ましい。前記状態観測部は、さらに、現在選択されている操作メニューの情報、工作機械が加工運転中であるか否かを示す情報、数値制御装置および前記工作機械のアラーム情報、ならびに、プログラムの編集中であるか否かを示す情報の少なくとも１つを含むのが好ましい。前記機械学習器は、さらに、前記学習部が学習した操作メニューの表示を参照して、表示装置に表示する操作メニューの位置および順番を決定する意思決定部を備えてもよい。
【００１１】
前記学習部は、前記状態観測部の出力に基づいて報酬を計算する報酬計算部と、前記状態観測部および前記報酬計算部の出力に基づいて、前記表示装置に表示する操作メニューの位置および順番の価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備えることができる。前記報酬計算部は、アクセスし易い前記操作メニューの位置および順番に配置したメニューから操作された時にプラスの報酬を与え、アクセスし難い前記操作メニューの位置および順番に配置したメニューから操作された時にマイナスの報酬を与えるのが好ましい。
【００１２】
前記学習部は、前記状態観測部の出力、および、入力された教師データに基づいて誤差を計算する誤差計算部と、前記状態観測部および前記誤差計算部の出力に基づいて、前記表示装置に表示する操作メニューの位置および順番の誤差を定める学習モデルを更新する学習モデル更新部と、を備えることができる。前記機械学習器は、ニューラルネットワークを備えてもよい。前記操作者の情報は、当該操作者の立場または権限レベルの情報を含み、前記操作者の情報に基づいた操作メニューは、前記操作者の立場または権限レベルの情報に基づいて変化するようにしてもよい。
【００１３】
本発明に係る第２実施形態によれば、前記操作者を検知する検知部と、前記操作者の情報が登録してあるデータベースと通信する通信部と、上述した第１実施形態による機械学習器と、前記機械学習器により学習された操作メニューを表示する表示装置と、を備える数値制御装置が提供される。
【００１４】
本発明に係る第３実施形態によれば、数値制御装置と、前記数値制御装置により制御される工作機械と、上述した第１実施形態による機械学習器と、を備える工作機械システムが提供される。
【００１５】
本発明に係る第４実施形態によれば、上述した第３実施形態による工作機械システムを複数備える製造システムであって、前記機械学習器は、それぞれの前記工作機械システムに設けられ、複数の前記工作機械システムに設けられた複数の前記機械学習器は、通信媒体を介して相互にデータを共有または交換するようになっている製造システムが提供される。前記機械学習器は、クラウドサーバ上に存在してもよい。
【００１６】
本発明に係る第５実施形態によれば、操作者を検知し、操作者の情報が登録してあるデータベースと通信して、前記操作者の情報に基づいた操作メニューの表示を学習する機械学習方法であって、前記操作メニューの操作履歴を観測し、前記観測された前記操作メニューの操作履歴に基づいて、前記操作メニューの表示を学習する機械学習方法が提供される。前記操作メニューの操作履歴は、前記操作メニューのアクセス回数、および、前記操作メニューの遷移情報を含むのが好ましい。
【発明の効果】
【００１７】
本発明に係る機械学習器，数値制御装置，工作機械システム，製造システムおよび機械学習方法によれば、それぞれの操作者に最適な操作メニューを表示することができるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明に係る工作機械システムの一実施形態を概略的に示すブロック図である。
【図２】図２は、本発明に係る数値制御装置の一実施形態を示すブロック図である。
【図３】図３は、ニューロンのモデルを模式的に示す図である。
【図４】図４は、図３に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。
【図５】図５は、図１に示す機械学習器の動作の一例を示すフローチャートである。
【図６】図６は、図５に示す機械学習器により学習された操作メニューの表示を説明するための図(その１)である。
【図７】図７は、図５に示す機械学習器により学習された操作メニューの表示を説明するための図(その２)である。
【図８】図８は、図５に示す機械学習器により学習された操作メニューの表示を説明するための図(その３)である。
【図９】図９は、本発明に係る工作機械システムの他の実施形態を概略的に示すブロック図である。
【発明を実施するための形態】
【００１９】
以下、本発明に係る機械学習器，数値制御装置，工作機械システム，製造システムおよび機械学習方法の実施形態を、添付図面を参照して詳述する。図１は、本発明に係る工作機械システムの一実施形態を概略的に示すブロック図である。
【００２０】
図１に示されるように、工作機械システムは、工作機械１，機械学習器２および数値制御装置(ＮＣ装置，ＣＮＣ装置)３を含む。ここで、工作機械１は、例えば、旋盤，ボール盤，中ぐり盤，フライス盤，研削盤，歯切り盤・歯車仕上げ機械，マシニングセンタ，放電加工機，パンチプレス，レーザ加工機，搬送機およびプラスチック射出成形機等を含み、数値制御装置３により制御される。なお、図１において、機械学習器２は、数値制御装置３とは別に設けられているが、数値制御装置３の一部として設けることもできる。また、表示装置３０は、例えば、タッチ機能を有する液晶パネルのようなものであり、数値制御装置３の操作メニューを表示する。この表示装置３０は、数値制御装置３に一体的に設けてもよいが、有線または無線により数値制御装置３から離れた位置に設けてもよい。
【００２１】
機械学習器２は、例えば、表示装置３０における操作メニューの表示を学習するものであり、状態観測部２１、学習部２２、および、意思決定部２５を含む。状態観測部２１は、操作メニューの操作履歴、例えば、操作メニューのアクセス回数および操作メニューの遷移情報といった状態量(状態変数)を観測する。また、状態観測部２１は、現在選択されている操作メニューの情報、工作機械が加工運転中であるか否かを示す情報、数値制御装置および工作機械のアラーム情報、ならびに、プログラムの編集中であるか否かを示す情報の少なくとも１つを状態量として観測することができる。
【００２２】
ここで、状態観測部２１は、例えば、操作メニューのアクセス回数，操作メニューの遷移情報，現在選択されている操作メニューの情報、工作機械１が加工運転中であるか否かを示す情報、数値制御装置３のアラーム情報、ならびに、プログラムの編集中であるか否かを示す情報等を、数値制御装置３から受け取ることができる。さらに、状態観測部２１は、例えば、工作機械１が加工運転中であるか否かを示す情報および工作機械のアラーム情報等を、工作機械１から受け取ることができる。
【００２３】
学習部２２は、状態観測部２１により観測された状態量に基づいて、操作メニューの表示を学習するもので、報酬計算部２３および価値関数更新部２４を含む。報酬計算部２３は、状態観測部２１の出力に基づいて報酬を計算し、価値関数更新部２４は、状態観測部２１および報酬計算部２３の出力に基づいて、表示装置３０に表示する操作メニューの位置および順番の価値を定める価値関数を、報酬に応じて更新する。ここで、報酬計算部２３は、例えば、アクセスし易い操作メニューの位置および順番に配置したメニューから操作された時にプラスの報酬を与え、アクセスし難い操作メニューの位置および順番に配置したメニューから操作された時にマイナスの報酬を与える。これは、後に、図５を参照して説明する。
【００２４】
図２は、本発明に係る数値制御装置の一実施形態を示すブロック図であり、図１に示す機械学習器２が数値制御装置３に内蔵されている例を示すものである。また、図２は、複数の機械学習器２(２１，２２，…，２ｎ)が、通信媒体を介して相互にデータを共有または交換する様子も示している。
【００２５】
図２に示されるように、数値制御装置３は、上述した操作メニューが表示される表示装置３０，検知部３１，通信部３２および機械学習器２(２１)を含む。検知部３１は、操作者６による所定の操作に基づいて、例えば、操作者６による所定のコードの入力、あるいは、操作者６がかざしたＩＣカードの読み取り等に基づいて、操作者６を検知する。通信部３２は、検知部３１の出力に基づいて、例えば、数値制御装置３の外部に設けられたデータベース５と通信する。
【００２６】
ここで、データベース５には、操作者６の情報が登録されており、例えば、操作者６の立場や権限レベルが予め登録されている。すなわち、機械学習器２に対する通信部３２からの出力データＤ１には、検知部３１が検知した操作者６に対応した操作者６の情報、例えば、操作者６が、工作機械メーカの開発者や担当者か、オペレータ(ユーザ)か、あるいは、サービスエンジニアかといった様々な立場および権限レベルの情報が含まれる。
【００２７】
ここで、検知部３１としては、操作者６が操作するキーボードおよびＩＣカードの読み取り器に限定されるものではなく、操作者６を検知できれば、知られている様々な入力機器やセンサ等を使用することも可能である。なお、本実施例において、例えば、検知された操作者６の立場や権限レベルといった操作者６の情報に基づいて、操作メニューが変化するのが好ましい。すなわち、機械学習器２が、操作者の立場や権限レベルに基づいて、その操作者の立場や権限レベルにおける最適な操作メニューを学習して、表示装置３０に表示するのが好ましい。
【００２８】
また、図２に示されるように、複数の機械学習器２(２１〜２ｎ)は、通信媒体を介して相互にデータを共有または交換するように構成してもよい。例えば、それぞれが数値制御装置３で制御される工作機械１を複数備えた工作機械工場において、すなわち、工作機械システム(１，２)を複数備える製造システムにおいて、それぞれの工作機械システムの機械学習器２(２１〜２ｎ)は、通信媒体を介して相互にデータを共有または交換することができるようになっている。なお、機械学習器２(２１〜２ｎ)は、例えば、それぞれの数値制御装置３に設けずに、クラウドサーバ上に設けることも可能である。
【００２９】
図１を参照して説明したように、機械学習器２(状態観測部２１)は、例えば、表示装置３０の出力データＤ２として、操作メニューの操作履歴(状態量：例えば、操作メニューのアクセス回数および操作メニューの遷移情報等)を受け取って機械学習(例えば、強化学習)を行い、表示装置３０に表示する操作メニューを制御する変更データＤ３(操作量：例えば、メニュー表示の順番およびメニュー表示の位置等)を制御する。なお、図２は、単なる例であり、様々な変形および変更が可能なのはいうまでもない。
【００３０】
本実施形態によれば、例えば、操作者が初めて機械(工作機械システム)を操作する場合、操作者と近い立場または権限レベルの人の操作履歴を学習していれば、最初からある程度、適切なメニュー表示を行うことができる。また、操作する人の立場や権限レベルが増えるたびに、専用のテーブルを作らなくても、次第に適切なメニュー表示を行うことができるようになる。
【００３１】
ところで、機械学習器２は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準等を解析により抽出し、その判断結果を出力するとともに、知識の学習(機械学習)を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習(ディープラーニング：Deep Learning)」と呼ばれる手法がある。
【００３２】
なお、図１に示す機械学習器２は、「強化学習(Ｑ学習)」を適用したものであり、また、図９を参照して後述する機械学習器４は、「教師あり学習」を適用したものである。これらの機械学習(機械学習器２，４)は、汎用の計算機若しくはプロセッサを用いることもできるが、例えば、ＧＰＧＰＵ(General-Purpose computing on Graphics Processing Units)や大規模ＰＣクラスター等を適用すると、より高速処理が可能になる。
【００３３】
まず、教師あり学習とは、教師データ、すなわち、ある入力と結果(ラベル)のデータの組を大量に機械学習器に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(誤差モデル)、すなわち、その関係性を帰納的に獲得するものである。例えば、後述のニューラルネットワーク等のアルゴリズムを用いて実現することが可能である。
【００３４】
また、教師なし学習とは、入力データのみを大量に機械学習器に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮・分類・整形等を行う装置で学習する手法である。例えば、それらのデータセットにある特徴を、似た者どうしにクラスタリングすること等ができる。この結果を使って、何らかの基準を設けてそれを最適化するような出力の割り当てを行うことにより、出力の予測を実現することできる。
【００３５】
なお、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものもあり、これは、例えば、一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合が対応する。本実施形態においては、実際に工作機械システム(工作機械１および数値制御装置３)を動かさなくても取得することができるデータ(画像データやシミュレーションのデータ等)を教師なし学習で利用することにより、学習を効率的に行うことが可能になる。
【００３６】
次に、強化学習について、説明する。まず、強化学習の問題設定として、次のように考える。
・工作機械システム(すなわち、工作機械および数値制御装置：以下の記載では、説明を簡略化するために、数値制御装置とも称する)は、環境の状態を観測し、行動を決定する。
・環境は、何らかの規則に従って変化し、さらに、自分の行動が、環境に変化を与えることもある。
・行動するたびに、報酬信号が帰ってくる。
・最大化したいのは、将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または、不完全にしか知らない状態から学習はスタートする。すなわち、数値制御装置は、実際に行動して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように、事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００３７】
ここで、強化学習とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法を学ぶものである。以下に、例として、Ｑ学習の場合で説明を続けるが、Ｑ学習に限定されるものではない。
【００３８】
Ｑ学習は、或る環境状態ｓの下で、行動ａを選択する価値Ｑ(ｓ，ａ)を学習する方法である。つまり、或る状態ｓのとき、価値Ｑ(ｓ，ａ)の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は、状態ｓと行動ａとの組合せについて、価値Ｑ(ｓ，ａ)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して、報酬が与えられる。それにより、エージェントは、より良い行動の選択、すなわち、正しい価値Ｑ(ｓ，ａ)を学習していく。
【００３９】
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ(ｓ，ａ)＝Ｅ［Σ(γt)ｒt］となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、分かっていないので、探索しながら学習することになる。このような価値Ｑ(ｓ，ａ)の更新式は、例えば、次の式(１)により表すことができる。
【００４０】
【数１】
2020074177.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は、活性化関数である。
【数２】
2020074177.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)により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である(深層学習と称される)。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。
【００５１】
そこで、上述したように、本実施例の機械学習器２は、例えば、Ｑ学習を実施すべく、状態観測部２１、学習部２２、および、意思決定部２５を備えている。ただし、本発明に適用される機械学習方法は、Ｑ学習に限定されない。また、機械学習(機械学習器２)は、例えば、ＧＰＧＰＵや大規模ＰＣクラスター等を適用することで実現可能なのは、前述した通りである。
【００５２】
図５は、図１に示す機械学習器の動作の一例を示すフローチャートである。図５に示されるように、機械学習が開始(学習スタート)すると、ステップＳＴ１において、操作者の立場または権限レベルを取得し、ステップＳＴ２に進む。ステップＳＴ２では、操作履歴を取得し、ステップＳＴ３に進む。ここで、操作履歴には、例えば、メニューのアクセス回数および遷移情報が含まれる。
【００５３】
ステップＳＴ３では、メニュー表示を行い、ステップＳＴ４では、操作者がメニューを選択し、ステップＳＴ５では、操作し易い位置のメニューから操作されたかどうかを判定する。操作し難い位置のメニューから操作されたと判定すると、ステップＳＴ８に進んでマイナス報酬を設定し、操作し易い位置のメニューから操作された判定すると、ステップＳＴ６に進んでプラス報酬を設定する。
【００５４】
このようにして、ステップＳＴ６およびＳＴ８により設定された報酬は、ステップＳＴ７における報酬計算によりまとめられ、そして、ステップＳＴ９に進んで、ステップＳＴ７で計算された報酬に基づいて、行動価値テーブルを更新する。
【００５５】
すなわち、価値関数更新部２４が価値関数(行動価値テーブル)を更新する。そして、例えば、意思決定部２５が、価値関数更新部２４が更新した価値関数に基づいて、表示装置３０に表示する操作メニューの位置および順番を決定する。なお、ステップＳＴ９の処理が終了すると、ステップＳＴ１に戻って同様の処理を繰り返す。このように、本実施形態によれば、それぞれの操作者に最適な操作メニューを表示することが可能になる。
【００５６】
図６〜図８は、図５に示す機械学習器により学習された操作メニューの表示を説明するための図である。ここで、図６(a)および図６(b)は、操作メニューのアクセス回数(状態量)に基づいて、操作メニューを更新(学習)する様子を説明するための図であり、図７(a)〜図８(b)は、操作メニューの遷移情報(状態量)に基づいて、操作メニューを学習する様子を説明するための図である。また、説明を簡略化するために、各図(操作メニューが表示される表示装置３０の表示画面３００)において、例えば、操作メニューとして操作し易い位置を上側および左側とし、操作し難い位置を下側および右側とする。
【００５７】
図６(a)は、初期状態での操作メニュー(ホーム画面)を示し、図６(b)は、ある操作者(例えば、工作機械メーカ(ＭＴＢ)の担当者)がアクセスした例を示す。なお、参照符号Ｐ１〜Ｐ６は、表示装置３０の表示画面３００上に表示される操作メニューの各アイコンの位置を示す。図６(a)に示されるように、初期状態での操作メニューにおいて、表示画面３００の位置Ｐ１には、『ブラウザ』アイコンが表示され、位置Ｐ２には、『メモ』アイコンが表示され、そして、位置Ｐ３には、『マニュアル』アイコンが表示されている。また、表示画面３００の位置Ｐ４には、『ＮＣ操作』アイコンが表示され、位置Ｐ５には、『保守』アイコンが表示され、そして、位置Ｐ６には、『設定』アイコンが表示されている。
【００５８】
ここで、『ブラウザ』アイコンは、インターネットを参照するときに使用され、『メモ』アイコンは、メモ画面を表示するときに使用され、そして、『マニュアル』アイコンは、マニュアルを参照するときに使用される。これら『ブラウザ』，『メモ』および『マニュアル』アイコンは、行方向に配列されて［カテゴリＡ］を構成する。また、『ＮＣ操作』アイコンは、加工プログラムの作成および加工状況の確認等を行うときに使用され、『保守』アイコンは、機械のアラーム情報の確認等を行うときに使用され、そして、『設定』アイコンは、パラメータの設定等を行うときに使用される。これら『ＮＣ操作』，『保守』および『設定』アイコンは、行方向に配列されて［カテゴリＢ］を構成する。
【００５９】
図６(b)に示されるように、例えば、ＭＴＢの担当者が操作者６として操作メニュー(表示画面３００)アクセスしたとき、それぞれのアイコンの操作回数が、『ブラウザ』アイコンが２回、『メモ』アイコンが１回、『マニュアル』アイコンが３回、『ＮＣ操作』アイコンが５回、『保守』アイコンが１回、そして、『設定』アイコンが１０回だった場合、［カテゴリＡ］を構成するアイコンの合計の操作回数は６回となり、［カテゴリＢ］を構成するアイコンの合計の操作回数は１６回となるため、［カテゴリＢ］は、［カテゴリＡ］よりも操作が容易な上側の行に変更される。
【００６０】
さらに、各［カテゴリＡ］および［カテゴリＢ］において、アイコンの操作回数が多い順に、操作が容易な左側から並べられる。すなわち、位置Ｐ１には『設定』アイコン、位置Ｐ２には『ＮＣ操作』アイコン、そして、位置Ｐ３には『保守』アイコンが表示される。また、位置Ｐ４には『マニュアル』アイコン、位置Ｐ５には『ブラウザ』アイコン、そして、位置Ｐ６には『メモ』アイコンが表示される。
【００６１】
図７(a)および図７(b)は、例えば、ＭＴＢの担当者が操作者６として、図６(a)における『設定』アイコンを操作(例えば、タッチ操作)した後、表示画面３００に表示される操作メニューの例を示し、＜１ページ目＞および＜２ページ目＞の２つの表示画面(操作メニュー)が『ページ送る』および『ページ戻る』アイコンにより選択可能となっている。なお、参照符号Ｐ１１〜Ｐ１５およびＰ２１〜Ｐ２５は、表示装置３０の表示画面３００上に表示される＜１ページ目＞および＜２ページ目＞の操作メニューの各アイコンの位置を示す。ここで、＜１ページ目＞の表示画面における『ページ送る』アイコンは、位置Ｐ１５に固定され、＜２ページ目＞の表示画面における『ページ戻る』アイコンは、位置Ｐ２５に固定されているものとする。
【００６２】
そして、ＭＴＢの担当者が操作者６として、過去にアイコン『Ａ』〜『Ｈ』を操作した操作回数に基づいて、機械学習器２による機械学習が行われ、例えば、図８(a)および図８(b)に示されるような操作メニューの表示が行われる。例えば、それぞれのアイコン『Ａ』〜『Ｈ』の操作回数が、『Ａ』アイコンが１０回、『Ｂ』アイコンが８回、『Ｃ』アイコンが７回、『Ｄ』アイコンが５回、『Ｅ』アイコンが６回、『Ｆ』アイコンが９回、『Ｇ』アイコンが４回、そして、『Ｈ』アイコンが３回だった場合、図８(a)に示されるように、操作が容易な＜１ページ目＞の左から右に向けて、操作回数が多い順に、位置Ｐ１１に『Ａ』、Ｐ１２に『Ｆ』、Ｐ１３に『Ｂ』、Ｐ１４に『Ｃ』、そして、Ｐ１５に『ページ送る』アイコンが並べられ、さらに、図８(b)に示されるように、＜２ページ目＞の左から右に向けて、操作回数が多い順に、位置Ｐ２１に『Ｅ』、Ｐ２２に『Ｄ』、Ｐ２３に『Ｇ』、Ｐ２４に『Ｈ』、そして、Ｐ２５に『ページ戻る』アイコンが並べられる。
【００６３】
以上の説明では、操作履歴(操作メニューのアクセス回数および遷移情報)ならびに操作メニューを簡略化して説明したが、機械学習器２に入力する状態量(操作履歴等)、機械学習器２から出力される操作量(学習された操作メニュー等)、ならびに、操作者６の立場および権限レベル等は、様々な変形および変更が可能であるのはいうまでもない。
【００６４】
図９は、本発明に係る工作機械システムの他の実施形態を概略的に示すブロック図であり、教師あり学習を適用したものを示す。図９と、前述した図１の比較から明らかなように、図９に示す教師あり学習を適用した工作機械システムは、図１に示すＱ学習(強化学習)を適用した工作機械システムにおいて、教師データ(結果(ラベル)付きデータ)が提供されるようになっている。
【００６５】
図９に示されるように、教師あり学習を適用した工作機械システムにおける機械学習器４は、状態観測部４１と、学習部４２と、意思決定部４５と、を備える。学習部４２は、誤差計算部４３と、学習モデル更新部(誤差モデル更新部)４４と、を含む。なお、本実施形態の工作機械システムにおいても、機械学習器４は、操作メニューの操作履歴に基づいて操作メニューの表示を学習する。
【００６６】
すなわち、状態観測部４１は、図１における状態観測部２１と同様に、操作メニューの操作履歴、例えば、操作メニューのアクセス回数および操作メニューの遷移情報といった状態量を観測する。また、状態観測部４１は、現在選択されている操作メニューの情報、工作機械が加工運転中であるか否かを示す情報、数値制御装置および工作機械のアラーム情報、ならびに、プログラムの編集中であるか否かを示す情報の少なくとも１つを状態量として観測することができる。
【００６７】
図９に示されるように、学習部４２は、誤差計算部４３および学習モデル更新部４４を含み、誤差計算部４３および学習モデル更新部４４は、それぞれ、図１に示すＱ学習を適用した工作機械システムにおける報酬計算部２３および価値関数更新部２４に相当する。ただし、本実施形態における誤差計算部４３には、外部から教師データが入力され、その教師データと学習モデル(誤差モデル)の差が小さくなるように、学習モデル更新部４４により学習モデルが更新される構成等において、図１を参照して説明したものとは異なる。
【００６８】
すなわち、誤差計算部４３は、状態観測部４１の出力および教師データを受け取って、結果(ラベル)付きデータと学習部４２に実装されている学習モデルとの誤差を計算する。ここで、教師データとしては、例えば、同一の工作機械システムにより同じ作業を行わせる場合、実際に作業を行わせる所定日の前日までに得られたラベル付きデータを保持し、その所定日に、教師データとして誤差計算部４３に提供することができる。
【００６９】
あるいは、工作機械システム(数値制御装置や工作機械等)の外部で行われたシミュレーション等により得られたデータ、または、他の工作機械システムのラベル付きデータを、メモリカードや通信回線により、その工作機械システムの誤差計算部４３に教師データとして提供することも可能である。さらに、教師データ(ラベル付きデータ)を、例えば、学習部４２に内蔵したフラッシュメモリ(Flash Memory)等の不揮発性メモリに保持し、その不揮発性メモリに保持されたラベル付きデータを、そのまま学習部４２で使用することもできる。
【００７０】
以上において、工作機械システムを複数備える製造システムを考えた場合、例えば、機械学習器２(４)は、工作機械システム毎にそれぞれ設けられ、複数の工作機械システムに設けられた複数の機械学習器２(４)は、通信媒体を介して相互にデータを共有または交換することができる。また、機械学習器２(４)は、クラウドサーバ上に存在させることも可能である。
【００７１】
このように、本発明に係る機械学習器としては、「強化学習」だけでなく、「教師あり学習」、あるいは、「教師なし学習」や「半教師あり学習」等の様々な機械学習の手法を適用することが可能である。
【００７２】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００７３】
１    工作機械
２，４    機械学習器
３    数値制御装置
５    データベース
６    操作者
２１，４１    状態観測部
２２，４２    学習部
２３    報酬計算部
２４    価値関数更新部
２５，４５    意思決定部
３０    表示装置
３１    検知部
３２    通信部
４３    誤差計算部
４４    学習モデル更新部
【図１】
2020074177.tif 000005
【図２】
2020074177.tif 000006
【図３】
2020074177.tif 000007
【図４】
2020074177.tif 000008
【図５】
2020074177.tif 000009
【図６】
2020074177.tif 000010
【図７】
2020074177.tif 000011
【図８】
2020074177.tif 000012
【図９】
2020074177.tif 000013
【手続補正書】
【提出日】令和2年1月21日(2020.1.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
操作者を検知し、操作者の情報が登録してあるデータベースと通信して、前記操作者の情報に基づいた操作メニューの表示を学習する機械学習器であって、
前記操作メニューの操作履歴を観測する状態観測部と、
前記状態観測部により観測された前記操作メニューの操作履歴に基づいて、前記操作メニューの表示を学習する学習部と、を備え、
前記学習部は、
前記状態観測部の出力に基づいて報酬を計算する報酬計算部と、
前記状態観測部および前記報酬計算部の出力に基づいて、表示装置に表示する操作メニューの位置および順番の価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備える、
ことを特徴とする機械学習器。
【請求項２】
前記報酬計算部は、
アクセスし易い前記操作メニューの位置および順番に配置したメニューから操作された時にプラスの報酬を与え、
アクセスし難い前記操作メニューの位置および順番に配置したメニューから操作された時にマイナスの報酬を与える、
ことを特徴とする請求項１に記載の機械学習器。
【請求項３】
操作者を検知し、操作者の情報が登録してあるデータベースと通信して、前記操作者の情報に基づいた操作メニューの表示を学習する機械学習器であって、
前記操作メニューの操作履歴を観測する状態観測部と、
前記状態観測部により観測された前記操作メニューの操作履歴に基づいて、前記操作メニューの表示を学習する学習部と、を備え、
前記学習部は、
前記状態観測部の出力、および、入力された教師データに基づいて誤差を計算する誤差計算部と、
前記状態観測部および前記誤差計算部の出力に基づいて、表示装置に表示する操作メニューの位置および順番の誤差を定める学習モデルを更新する学習モデル更新部と、を備える、
ことを特徴とする機械学習器。
【請求項４】
前記操作メニューの操作履歴は、
前記操作メニューのアクセス回数、および、前記操作メニューの遷移情報を含む、
ことを特徴とする請求項１乃至請求項３のいずれか１項に記載の機械学習器。
【請求項５】
前記状態観測部は、さらに、
現在選択されている操作メニューの情報、工作機械が加工運転中であるか否かを示す情報、数値制御装置および前記工作機械のアラーム情報、ならびに、プログラムの編集中であるか否かを示す情報の少なくとも１つを含む、
ことを特徴とする請求項１乃至請求項４のいずれか１項に記載の機械学習器。
【請求項６】
さらに、
前記学習部が学習した操作メニューの表示を参照して、表示装置に表示する操作メニューの位置および順番を決定する意思決定部を備える、
ことを特徴とする請求項１乃至請求項５のいずれか１項に記載の機械学習器。
【請求項７】
前記機械学習器は、ニューラルネットワークを備える、
ことを特徴とする請求項１乃至請求項６のいずれか１項に記載の機械学習器。
【請求項８】
前記操作者の情報は、当該操作者の立場または権限レベルの情報を含み、
前記操作者の情報に基づいた操作メニューは、前記操作者の立場または権限レベルの情報に基づいて変化する、
ことを特徴とする請求項１乃至請求項７のいずれか１項に記載の機械学習器。
【請求項９】
前記操作者を検知する検知部と、
前記操作者の情報が登録してあるデータベースと通信する通信部と、
請求項１乃至請求項８のいずれか１項に記載の機械学習器と、
前記機械学習器により学習された操作メニューを表示する表示装置と、を備える、
ことを特徴とする数値制御装置。
【請求項１０】
数値制御装置と、前記数値制御装置により制御される工作機械と、請求項１乃至請求項８のいずれか１項に記載の機械学習器と、を備える、
ことを特徴とする工作機械システム。
【請求項１１】
請求項１０に記載の工作機械システムを複数備える製造システムであって、
前記機械学習器は、それぞれの前記工作機械システムに設けられ、
複数の前記工作機械システムに設けられた複数の前記機械学習器は、通信媒体を介して相互にデータを共有または交換するようになっている、
ことを特徴とする製造システム。
【請求項１２】
前記機械学習器は、クラウドサーバ上に存在する、
ことを特徴とする請求項１１に記載の製造システム。
【請求項１３】
操作者を検知し、操作者の情報が登録してあるデータベースと通信して、前記操作者の情報に基づいた操作メニューの表示を学習する機械学習方法であって、
前記操作メニューの操作履歴を観測し、
前記観測された前記操作メニューの操作履歴に基づいて、前記操作メニューの表示を学習し、
前記操作メニューの表示を学習するのは、
前記観測された前記操作メニューの操作履歴に基づいて報酬を計算し、
前記観測された前記操作メニューの操作履歴および前記計算された前記報酬に基づいて、表示装置に表示する操作メニューの位置および順番の価値を定める価値関数を更新する、
ことを特徴とする機械学習方法。
【請求項１４】
操作者を検知し、操作者の情報が登録してあるデータベースと通信して、前記操作者の情報に基づいた操作メニューの表示を学習する機械学習方法であって、
前記操作メニューの操作履歴を観測し、
前記観測された前記操作メニューの操作履歴に基づいて、前記操作メニューの表示を学習し、
前記操作メニューの表示を学習するのは、
前記観測された前記操作メニューの操作履歴、および、入力された教師データに基づいて誤差を計算し、
前記観測された前記操作メニューの操作履歴および前記計算された前記誤差に基づいて、表示装置に表示する操作メニューの位置および順番の誤差を定める学習モデルを更新する、
ことを特徴とする機械学習方法。
【請求項１５】
前記操作メニューの操作履歴は、
前記操作メニューのアクセス回数、および、前記操作メニューの遷移情報を含む、
ことを特徴とする請求項１３または１４に記載の機械学習方法。