図面 (/)

技術 機械学習装置、画面予測装置、及び制御装置

出願人 ファナック株式会社
発明者 久保守
出願日 2019年4月15日 (1年10ヶ月経過) 出願番号 2019-076951
公開日 2020年10月29日 (3ヶ月経過) 公開番号 2020-177264
状態 未査定
技術分野 数値制御 学習型計算機 デジタル計算機のユーザインターフェイス
主要キーワード オーバヒート状態 機械調整 鍛圧機械 外部アラーム ロードメータ オーバトラベル 操作メニュ シングルブロック
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2020年10月29日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (11)

課題

ユーザが一連の操作で使用する操作画面を予測し、ロードする操作画面のデータ量を抑えること。

解決手段

機械学習装置は、産業機械を制御する制御装置の表示部の操作画面において一連の操作により使用された各操作画面の画面種類データと当該操作画面の表示時の機械状態の機械状態データとを含む状態ベクトルのうち、一連の操作又は機械状態の変化により操作画面が遷移した状態ベクトルの集合の状態ベクトル列を取得する状態観測部と、当該状態ベクトル列で任意の状態ベクトルを先頭とするN個の連続する状態ベクトルの状態ベクトル部分列を入力データとし、当該状態ベクトル部分列の末尾の状態ベクトルの操作画面の次以降の画面種類データをラベルデータとする訓練データを取得する訓練データ取得部と、当該訓練データで教師あり機械学習を行い、ユーザが次以降に使用する画面種類データを予測する学習済みモデルを生成する学習部と、を備える。

概要

背景

工作機械を制御する数値制御装置は、追加される機能の増加に伴い、液晶ディスプレイ等の出力装置に表示する情報量そしてこれに伴い操作画面の種類も増加している。このため、ユーザが画面切り替えを頻繁に行う必要が生じ、切り替え時間の増加は、現場のユーザの生産性に悪影響を与えている。
そこで、数値制御装置は、画面表示処理で使用する全ての操作画面の画面データを、装置立ち上げ時にRAM(Random Access Memory)等のメモリにロードすることにより、画面切り替え高速化を図っている。
しかしながら、操作画面自身の高機能化により操作画面のデータサイズが増加し、制御装置立ち上げ時間が増加している。これにより、機械調整時における電源入れ直し等において待ち時間が生じてしまうため、機械調整時の生産性が低下するという問題がある。また、一度も使用しない操作画面の画面データもロードされるため、画面データ用に確保したメモリが不足する可能性が高くなる。
そこで、ロードする操作画面のデータ量の抑える方法として、操作画面がマルチウィンドウの場合、子ウィンドウの画面データを、親ウィンドウの表示時に予めロードする方法が知られている。あるいは、コンピュータゲームのように、所定の作業まで終了した時点で、次の作業を開始するにあたり、プログラムで定められた次の操作画面の画面データをロードする方法が知られている。
また、加工における加工状態を示す情報、及び選択されたメニュ項目を示す情報を含む状態データに基づいて、メニュー表示におけるメニュー項目の表示順を決定する機械学習の技術が知られている。あるいは、操作者を検知し、検知した操作者の情報に基づいた操作メニューの表示を学習する機械学習の技術が知られている。例えば、特許文献1、2参照。

概要

ユーザが一連の操作で使用する操作画面を予測し、ロードする操作画面のデータ量を抑えること。機械学習装置は、産業機械を制御する制御装置の表示部の操作画面において一連の操作により使用された各操作画面の画面種類データと当該操作画面の表示時の機械状態の機械状態データとを含む状態ベクトルのうち、一連の操作又は機械状態の変化により操作画面が遷移した状態ベクトルの集合の状態ベクトル列を取得する状態観測部と、当該状態ベクトル列で任意の状態ベクトルを先頭とするN個の連続する状態ベクトルの状態ベクトル部分列を入力データとし、当該状態ベクトル部分列の末尾の状態ベクトルの操作画面の次以降の画面種類データをラベルデータとする訓練データを取得する訓練データ取得部と、当該訓練データで教師あり機械学習を行い、ユーザが次以降に使用する画面種類データを予測する学習済みモデルを生成する学習部と、を備える。

目的

そこで、予めロードする対象の操作画面のデータを限定することにより、ロードする操作画面のデータ量を抑えるため、ユーザが一連の操作で使用する操作画面を予測することが望まれている

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

産業機械を制御する制御装置の表示部に表示される操作画面に基づいてユーザが一連の操作を行う場合に前記ユーザにより使用された各操作画面の画面種類を示す画面種類データynと当該操作画面の表示されたときの前記制御装置により制御される前記産業機械の機械状態を示す機械状態データznとを含む状態ベクトルxnとし、前記ユーザの一連の操作又は前記機械状態の変化に対応する操作画面の遷移に対応する前記状態ベクトルxnの集合となる時系列データである状態ベクトル列{xn:n≧1}を取得する状態観測部と、前記状態観測部により取得される前記状態ベクトル列に含まれる、任意の状態ベクトルxn(n≧1)を先頭とする予め設定されたN個(N≧2)の連続する状態ベクトル部分列{xn、xn+1、・・・xn+N−1}を入力データとし、前記入力データの状態ベクトル部分列の末尾の状態ベクトルxn+N−1に対応する操作画面の次に表示される画面の種類を示す画面種類データyn+N−1を含む前記操作画面の次以降に表示される画面の画面種類データをラベルデータとする訓練データを取得する訓練データ取得部と、前記入力データとラベルデータとを訓練データとして教師あり機械学習を行い、前記ユーザが前記表示部に表示される操作画面に基づいて一連の操作を行う場合に、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルを含む状態ベクトル部分列に基づいて、前記ユーザが次以降に使用する画面種類データを予測するための学習済みモデルを生成する学習部と、を備える機械学習装置

請求項2

前記学習部は、リカレントニューラルネットワークを用いて、前記一連の操作の流れを機械学習する、請求項1に記載の機械学習装置。

請求項3

前記リカレントニューラルネットワークとして、入力・出力・忘却ゲート付きRNNであるLSTM(Long Short−TermMemory)を適用する、請求項2に記載の機械学習装置。

請求項4

前記ユーザの一連の操作に対応する操作画面に係る現在の状態ベクトルxn(n≧N)から過去に遡りN個の連続する状態ベクトルを含む状態ベクトル部分列{xn−N+1、・・・xn}を取得する状態取得部と、請求項1から請求項3のいずれか1項に記載の機械学習装置により生成された前記学習済みモデルに基づいて、前記状態取得部により取得された状態ベクトル部分列{xn−N+1、・・・xn}から、前記ユーザが次以降に使用する操作画面の画面種類データを予測する予測部と、を備える画面予測装置

請求項5

前記学習済みモデルを備える、請求項4に記載の画面予測装置。

請求項6

請求項1から請求項3のいずれか1項に記載の機械学習装置を備える、請求項5に記載の画面予測装置。

請求項7

前記学習済みモデルを、前記画面予測装置からネットワークを介してアクセス可能に接続されるサーバに備える、請求項4に記載の画面予測装置。

請求項8

請求項4から請求項7のいずれか1項に記載の画面予測装置により予測される、前記ユーザが次以降に使用する操作画面の画面種類データに対応する画面データをロードする画面データロード部を備える、制御装置。

請求項9

請求項4から請求項7のいずれか1項に記載の画面予測装置を備える、請求項8に記載の制御装置。

技術分野

0001

本発明は、機械学習装置画面予測装置、及び制御装置に関する。

背景技術

0002

工作機械を制御する数値制御装置は、追加される機能の増加に伴い、液晶ディスプレイ等の出力装置に表示する情報量そしてこれに伴い操作画面の種類も増加している。このため、ユーザが画面の切り替えを頻繁に行う必要が生じ、切り替え時間の増加は、現場のユーザの生産性に悪影響を与えている。
そこで、数値制御装置は、画面表示処理で使用する全ての操作画面の画面データを、装置立ち上げ時にRAM(Random Access Memory)等のメモリにロードすることにより、画面切り替え高速化を図っている。
しかしながら、操作画面自身の高機能化により操作画面のデータサイズが増加し、制御装置の立ち上げ時間が増加している。これにより、機械調整時における電源入れ直し等において待ち時間が生じてしまうため、機械調整時の生産性が低下するという問題がある。また、一度も使用しない操作画面の画面データもロードされるため、画面データ用に確保したメモリが不足する可能性が高くなる。
そこで、ロードする操作画面のデータ量の抑える方法として、操作画面がマルチウィンドウの場合、子ウィンドウの画面データを、親ウィンドウの表示時に予めロードする方法が知られている。あるいは、コンピュータゲームのように、所定の作業まで終了した時点で、次の作業を開始するにあたり、プログラムで定められた次の操作画面の画面データをロードする方法が知られている。
また、加工における加工状態を示す情報、及び選択されたメニュ項目を示す情報を含む状態データに基づいて、メニュー表示におけるメニュー項目の表示順を決定する機械学習の技術が知られている。あるいは、操作者を検知し、検知した操作者の情報に基づいた操作メニューの表示を学習する機械学習の技術が知られている。例えば、特許文献1、2参照。

先行技術

0003

特許第6290835号
特開2017−138881号公報

発明が解決しようとする課題

0004

ところで、操作画面のそれぞれは、用途が想定されており、例えば、「手動操作」、「編集操作」、「自動運転」、「アラーム発生」等の状態毎に分けることができる。しかしながら、「手動操作」から「自動運転」や、「手動操作」又は「自動運転」から「アラーム発生」等のように、状態は動的に切り替わり、すなわち、操作画面の切り替わりは、工作機械の状態に依存している。また、操作画面の切り替わりは、表示・操作に関する機械設計や、工場毎の工作機械の運用ルール等にも依存している。このため、操作画面の表示の順序を予め決定することは困難なことがある。

0005

そこで、予めロードする対象の操作画面のデータを限定することにより、ロードする操作画面のデータ量を抑えるため、ユーザが一連の操作で使用する操作画面を予測することが望まれている。

課題を解決するための手段

0006

(1)本開示の機械学習装置の一態様は、産業機械を制御する制御装置の表示部に表示される操作画面に基づいてユーザが一連の操作を行う場合に前記ユーザにより使用された各操作画面の画面種類を示す画面種類データynと当該操作画面の表示されたときの前記制御装置により制御される前記産業機械の機械状態を示す機械状態データznとを含む状態ベクトルxnとし、前記ユーザの一連の操作又は前記機械状態の変化に対応する操作画面の遷移に対応する前記状態ベクトルxnの集合となる時系列データである状態ベクトル列{xn:n≧1}を取得する状態観測部と、前記状態観測部により取得される前記状態ベクトル列に含まれる、任意の状態ベクトルxn(n≧1)を先頭とする予め設定されたN個(N≧2)の連続する状態ベクトル部分列{xn、xn+1、・・・xn+N−1}を入力データとし、前記入力データの状態ベクトル部分列の末尾の状態ベクトルxn+N−1に対応する操作画面の次に表示される画面の種類を示す画面種類データyn+N−1を含む前記操作画面の次以降に表示される画面の画面種類データをラベルデータとする訓練データを取得する訓練データ取得部と、前記入力データとラベルデータとを訓練データとして教師あり機械学習を行い、前記ユーザが前記表示部に表示される操作画面に基づいて一連の操作を行う場合に、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルを含む状態ベクトル部分列に基づいて、前記ユーザが次以降に使用する画面種類データを予測するための学習済みモデルを生成する学習部と、を備える。

0007

(2)前記ユーザの一連の操作に対応する操作画面に係る現在の状態ベクトルxn(n≧N)から過去に遡りN個の連続する状態ベクトルを含む状態ベクトル部分列{xn−N+1、・・・xn}を取得する状態取得部と、(1)の機械学習装置により生成された前記学習済みモデルに基づいて、前記状態取得部により取得された状態ベクトル部分列{xn−N+1、・・・xn}から、前記ユーザが次以降に使用する操作画面の画面種類データを予測する予測部と、を備える。

0008

(3)(2)の画面予測装置の一態様は、(1)の機械学習装置を備える。

0009

(4)本開示の制御装置の一態様は、(2)又は(3)の画面予測装置を備える。

発明の効果

0010

一態様によれば、ユーザが一連の操作で使用する操作画面を予測し、予めロードする対象の操作画面のデータを予測された操作画面のデータに限定することで、ロードする操作画面のデータ量を抑えることができる。

図面の簡単な説明

0011

一の実施形態に係る数値制御システム機能的構成例を示す機能ブロック図である。
状態ベクトル列に含まれる状態ベクトルの一例を示す図である。
図1の機械学習装置による学習済みモデルの生成処理の一例を説明する図である。
一の実施形態に係るRNNの構成を模式的に示す図である。
運用フェーズにおける数値制御システムの画面予測処理について説明するフローチャートである。
学習済みモデルの一例を示す図である。
学習済みモデルの一例を示す図である。
次以降の3回先までの操作画面の画面種類データを予測する学習済みモデルの一例を示す図である。
数値制御システムの構成の一例を示す図である。
数値制御システムの構成の一例を示す図である。

実施例

0012

以下、一の実施形態について図面を用いて説明する。
<一の実施形態>
図1は、一の実施形態に係る数値制御システムの機能的構成例を示す機能ブロック図である。図1に示すように、数値制御システムは、工作機械100、制御装置200、機械学習装置300、及び画面予測装置400を有する。
工作機械100、制御装置200、機械学習装置300、及び画面予測装置400は、図示しない接続インタフェースを介して互いに直接接続されてもよい。また、工作機械100、制御装置200、機械学習装置300、及び画面予測装置400は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して相互に接続されてもよい。

0013

工作機械100は、制御装置200の数値制御により動作する加工用機械である。工作機械100は、制御装置200の動作指令に基づく動作状態を示す情報を、制御装置200にフィードバックする。
なお、本実施形態は、工作機械100に限定されず、産業機械全般に広く適用することができる。産業機械とは、例えば、工作機械、産業用ロボットサービス用ロボット鍛圧機械及び射出成形機といった様々な機械を含む。
制御装置200は、当業者にとって公知の数値制御装置であり、工作機械100の動作を制御する。なお、工作機械100がロボット等の場合、制御装置200は、ロボット制御装置等でもよい。
なお、以下の説明では、制御装置200により制御される工作機械100の状態は、単に「機械状態」ともいう。

0014

画面予測装置400は、コンピュータ装置等である。画面予測装置400は、ユーザの一連の操作又は機械状態の変化に対応する操作画面の遷移に対応した現在の状態ベクトルから過去に遡り予め設定されたN個(N≧2)の連続する状態ベクトルを含む状態ベクトル部分列を取得する。画面予測装置400は、取得した状態ベクトル部分列を、後述する機械学習装置300により生成された学習済みモデルに入力することにより、ユーザが次以降に使用する操作画面の画面種類データを予測する。そして、画面予測装置400は、予測結果を制御装置200に出力する。
これにより、制御装置200は、画面予測装置400により予測された次以降の画面種類データが示す操作画面の画面データのみをロードすればよく、予めロードする操作画面のデータ量を抑えることができる。

0015

画面予測装置400を説明する前に、学習済みモデルを生成するための機械学習について説明する。
学習フェーズにおける制御装置200>
制御装置200は、学習フェーズにおいて、機械学習を行うために必要となる教師データ収集する。このため、制御装置200は、表示部212に表示される操作画面に基づいてユーザが一連の操作を行う場合に、ユーザにより使用された各操作画面の画面種類を示す画面種類データと当該操作画面の表示されたときの機械状態を示す機械状態データとを含むデータを状態ベクトルとして取得する。制御装置200は、取得した状態ベクトルを記憶するとともに、取得した状態ベクトルを図示しない通信部を介して機械学習装置300に出力する。

0016

学習フェーズにおける制御装置200は、表示部212と、記憶部213と、を備える。

0017

表示部212は、例えば、液晶ディスプレイ等であり、ユーザの操作に応じて操作画面を表示する。
記憶部213は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)等である。
記憶部213は、ユーザにより使用された各操作画面の画面種類を示す画面種類データと、当該操作画面の表示されたときの機械状態を示す機械状態データとを記憶するデータ領域220を有する。また、記憶部213は、M個の操作画面の画面データ230(1)−230(M)を記憶する(Mは2以上の整数)。

0018

<機械学習装置300>
機械学習装置300は、例えば、図示しない通信部を介して、制御装置200の記憶部213に記憶されている画面種類データと機械状態データとを取得する。機械学習装置300は、例えば、取得した画面種類データと機械状態データとを、後述するようにone−hot表現にして結合した状態ベクトルにベクトル化してもよい。機械学習装置300は、ベクトル化した状態ベクトルのうち、ユーザの一連の操作又は機械状態の変化に対応する操作画面の遷移に対応する状態ベクトルの集合を、時系列データである状態ベクトル列として取得してもよい。
また、機械学習装置300は、当該状態ベクトル列に含まれる、任意の状態ベクトルを先頭とするN個(N≧2)の連続する状態ベクトル部分列を入力データとして取得してもよい。機械学習装置300は、取得した入力データの状態ベクトル部分列の末尾の状態ベクトルに対応する操作画面の次に表示される操作画面の種類を示す画面種類データを含む次以降に表示される操作画面の画面種類データをラベルデータとして取得してもよい。
機械学習装置300は、取得した入力データとラベルデータとを訓練データとして教師あり機械学習をして、ユーザが表示部212に表示される操作画面に基づいて一連の操作を行う場合に、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルを含む状態ベクトル部分列に基づいて、ユーザが次以降に使用する画面種類データを予測する学習済みモデルを生成してもよい。
そうすることで、機械学習装置300は、画面予測装置400に対して学習済みモデル350を提供することができる。
機械学習装置300について、具体的に説明する。
なお、以下では、特に断らない限り、「N」は「3」とし、ユーザが「次に」使用する画面種類データを予測する場合について説明する。ただし、「N」は2や4以上の値でもよい。また、画面予測装置400は、ユーザが次以降(例えば、次も含む2回先や3回先)に使用する画面種類データを予測してもよい。
また、機械学習装置300による学習処理は、ユーザの一連の操作時、又は機械状態の変化時に、バックグラウンドタスクサブプロセッサ等で実行されてもよい。

0019

機械学習装置300は、図1に示すように、状態ベクトル化部311、状態観測部312、訓練データ取得部313、学習部314、及び記憶部315を有する。

0020

状態ベクトル化部311は、学習フェーズにおいて、図示しない通信部を介して、制御装置200から画面種類データynと機械状態データznとを取得する。状態ベクトル化部311は、取得した画面種類データynと機械状態データznとを、後述するようにone−hot表現にして結合した状態ベクトルxnにベクトル化する。
状態観測部312は、ベクトル化された状態ベクトルxnのうち、ユーザの一連の操作又は機械状態の変化に対応する操作画面の遷移に対応する前記状態ベクトルxnの集合を、時系列データである状態ベクトル列{xn:n≧1}として取得する。状態観測部312は、取得した状態ベクトル列を訓練データ取得部313及び記憶部315に出力する。
図2は、状態ベクトル列に含まれる状態ベクトルxnの一例を示す図である。図2に示すように、状態ベクトルx1、x2、x3…は、ユーザによる操作又は機械状態の変化によって、時間t1、t2、t3…においてユーザにより使用された操作画面の画面種類データyn、及び機械状態データznの成分を有する。さらに、状態ベクトルx1、x2、x3…の機械状態データznは、後述するモードとアラームの成分を有する。

0021

ここで、画面種類データynには、「手動操作」、「編集操作」、「自動運転」、「アラーム発生」等の状態毎に様々な種類がある。例えば、「手動操作」の場合には、一時的な短いNCプログラムを入力する「MDIプログラム」、ワーク、工具の大きさを計測する「計測」、工具中心点から刃先までの距離を設定する「工具オフセット」、及び機械の原点とワークの原点までの距離を設定する「ワーク原点オフセット」等の操作画面がある。また、「編集操作」の場合には、自動運転用NCプログラムを編集する「プログラム編集」や、機械を止めたままNCプログラムを実行し、工具軌跡ワーク形状グラフカルに描画する「切削シミュレーション」等の操作画面がある。また、「自動運転」の場合には、自動運転用NCプログラムを編集する「プログラム編集」、工具位置座標を表示する「工具位置表示」、実行中のNCプログラムの内容を表示する「プログラムチェック」、実行中のNCプログラムに対し、工具軌跡とワーク形状をグラフィカルに描画する「加工中描画」、モータにかかる切削負荷パーセント表示する「ロードメータ」等の操作画面がある。また、「アラーム」の場合には、CNC内の内部の状態を表示する「診断」、CNCの各種パラメータを入力する「パラメータ」、アラームメッセージを表示する「アラームメッセージ」、「アラーム履歴を表示する「アラーム履歴」等の操作画面がある。

0022

また、機械状態データznの「モード」には、MDIプログラムの編集及び実行、データ手動入力する「MDI」、自動運転用のNCプログラムを編集可にする「EDIT」、NCプログラムを自動運転する「MEM(AUTO)」、ハンドル操作による軸送りする「HANDLE」、ボタン操作による軸送りする「JOG」、原点復帰する「REFERNCE」、及び外部機器上のNCプログラムを実行する「REMOTE(TAPE)」がある。
また、機械状態データznの「アラーム」には、NCプログラムのエラーである「P/Sアラーム」、制限値を超えて軸が移動した「オーバトラベルアラーム」、制御装置又はモータがオーバヒート状態を示す「オーバヒートアラーム」、サーボモータ関連のアラームであるサーボアラーム」、スピンドルモータ関連のアラームである「スピンドルモータアラーム」、機器メーカ定義のアラームである「外部アラーム」等がある。
なお、機械状態データznの「アラーム」は、機械状態が変化した時に表示部212に表示される操作画面が遷移する場合の一例である。また、「アラーム」には、例えば、定期メンテナンス通知や、ソフトウェア更新通知を知らせるポップアップ表示の種類も含まれてもよい。
また、後述するように、機械状態データznには、モードとアラームとともに、運転状態や信号を有してもよい。

0023

図2に示すように、例えば、モードが「MDI」で、アラームがない機械状態において、時間t1にユーザの操作により、表示部212の操作画面が「工具位置表示」の画面から「プログラムチェック」の画面に遷移した場合、状態ベクトルx1の画面種類データy1は、one−hot表現により「工具位置表示」の画面の成分(例えば1番目の成分)が「1」に、他の操作画面の成分が「0」となる。また、状態ベクトルx1の機械状態データz1の「モード」は、one−hot表現により「MDI」の成分(例えば3番目の成分)が「1」に、他のモードの成分が「0」となる。また、状態ベクトルx1の機械状態データz1の「アラーム」は、one−hot表現により「アラーム無し」の成分(例えば最後の成分)が「1」に、他のアラームの成分が「0」となる。
次の時間t2では、モードが「MDI」でアラームがない状態のままで、ユーザの操作により表示部212の操作画面が「プログラムチェック」の画面から「ロードメータ」の画面に遷移した場合、状態ベクトルx2の画面種類データy2は、one−hot表現により「プログラムチェック」の画面の成分(例えば2番目の成分)が「1」に、他の操作画面の成分が「0」となる。さらに、時間t3では、モードが「MDI」でアラームがない状態のままで、ユーザの操作により表示部212の操作画面が「ロードメータ」の画面から「加工中描画」の画面に遷移した場合、状態ベクトルx3の画面種類データy3は、one−hot表現により「ロードメータ」の画面の成分(例えば3番目の成分)が「1」、他の操作画面の成分が「0」となる。なお、状態ベクトルx2、x3の機械状態データz2、z3のモード及びアラームの各成分は、状態ベクトルx1の機械状態データz1と同様である。

0024

訓練データ取得部313は、取得された状態ベクトル列に含まれる、任意の状態ベクトルxn(n≧1)を先頭とする3つの連続する状態ベクトル部分列{xn、xn+1、xn+2}を入力データとして取得する。
また、訓練データ取得部313は、入力データの状態ベクトル部分列の末尾の状態ベクトルxn+2に対応する操作画面の次に表示される操作画面の種類を示す画面種類データyn+2をラベルデータとして取得する。訓練データ取得部313は、取得した入力データ及びラベルデータを、記憶部315に出力する。

0025

学習部314は、記憶部315に記憶された入力データとラベルデータとを訓練データとして教師あり機械学習をして、ユーザが表示部212に表示される操作画面に基づいて一連の操作を行う場合に、現在の状態ベクトルから過去に遡り3個の連続する状態ベクトルを含む状態ベクトル部分列に基づいて、ユーザが次に使用する画面種類データを予測する学習済みモデル350を生成する。
図3は、図1の機械学習装置300による学習済みモデル350の生成処理の一例を説明する図である。
図3に示すように、学習済みモデル350は、例えば、現在の時間t0に対応する状態ベクトルxp0から過去に遡る3つの連続する状態ベクトルを含む状態ベクトル部分列{xp−2、xp−1、xp0}を入力層とし、入力層の各ベクトルを入力するRNN(Recurrent Neural Network)10(1)−10(3)を中間層とし、ユーザが次に使用する画面種類データyp0を出力層とする。なお、状態ベクトルxp−1は、直近画面操作の遷移時における画面種類データ及び機械状態データを示す。また、状態ベクトルxp−2は、状態ベクトルxp−1の時より1つ前の操作画面の遷移時における画面種類データ及び機械状態データを示す。
なお、以下、RNN10(1)−10(3)のそれぞれを個々に区別する必要がない場合、これらをまとめて「RNN10」ともいう。
図4は、本実施形態に係るRNN10の構成を模式的に示す図である。図4に示すように、中間層における各パーセプトロンの出力が、自身のパーセプトロン及び同じ層のパーセプトロンに入力されている。

0026

学習部314は、学習済みモデル350のRNN10における重みベクトル等のパラメータを最適化するために、状態ベクトル部分列{x1、x2、x3}、{x2、x3、x4}・・・{xN−2、xN−1、xN}の入力データと、画面種類データy3、y4・・・yNのラベルデータとの訓練データを、記憶部315から受け付ける。学習部314は、状態ベクトル部分列{xp−2、xp−1、xp0}及び画面種類データyp0に替えて、受け付けた訓練データを用いて、例えば、周知の誤差伝播法による教師あり学習を行う。この教師あり学習により、学習部314は、RNN10における重みベクトル等のパラメータを最適化し、学習済みモデル350を生成する。
なお、学習部314は、上記教師あり学習を、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習とは、教師データが作成される都度、即座に教師あり学習を行うという学習方法である。また、バッチ学習とは、教師データが作成されることが繰り返される間に、繰り返しに応じた複数の教師データを収集し、収集した全ての教師データを用いて、教師あり学習を行うという学習方法である。さらに、ミニバッチ学習とは、オンライン学習と、バッチ学習の中間的な、ある程度教師データが溜まるたびに教師あり学習を行うという学習方法である。
そして、学習部314は、最適化された学習済みモデル350を画面予測装置400に対して提供する。

0027

なお、学習部314は、学習済みモデル350を生成した後に、新たな教師データを取得した場合には、学習済みモデル350に対してさらに教師あり学習を行うことにより、一度生成した学習済みモデル350を更新するようにしてもよい。
記憶部315は、SSDやHDD等であり、状態観測部312により取得された状態ベクトル列と、訓練データ取得部313により取得された入力データ及びラベルデータと、学習部314により生成された学習済みモデル350等を記憶する。
以上、画面予測装置400が備える学習済みモデル350を生成するための機械学習について説明した。
次に、画面予測装置400について説明する。

0028

<画面予測装置400>
図1に示すように、画面予測装置400は、状態取得部411、予測部412、及び記憶部413を含んで構成される。

0029

状態取得部411は、運用フェーズにおいて、制御装置200から画面種類データynと機械状態データznとを取得する。状態取得部411は、取得した画面種類データynと機械状態データznとをone−hot表現にして結合した状態ベクトルxnにベクトル化する。状態取得部411は、ユーザの一連の操作に対応する操作画面に係る現在の状態ベクトルxnから過去に遡り3つの連続する状態ベクトルの状態ベクトル部分列{xn−2、xn−1、xn}を、状態ベクトル部分列{xp−2、xp−1、xp0}として取得する。
予測部412は、記憶部413に記憶された学習済みモデル350に基づいて、状態取得部411により取得された状態ベクトル部分列{xp−2、xp−1、xp0}から、ユーザが次に使用する操作画面の画面種類データyp0を予測する。予測部412は、予測結果を制御装置200に出力する。
記憶部413は、RAM等であり、機械学習装置300により生成された学習済みモデル350を記憶する。

0030

<運用フェーズにおける制御装置200>
図1に示すように、運用フェーズにおける制御装置200は、画面データロード部211、表示部212、及び記憶部213を含んで構成される。ここで、表示部212及び記憶部213は、学習フェーズで説明したとおりである。
画面データロード部211は、図示しない通信部を介して、画面予測装置400により予測されたユーザが次に使用する操作画面の画面種類データyp0を取得する。画面データロード部211は、取得した画面種類データyp0に対応する操作画面の画面データ230を記憶部213から図示しないRAM等にロードする。
なお、画面データロード部211は、予測された画面種類データyp0の操作画面の画面データ230をロードした後、ユーザにより別の操作画面が選択された場合、選択された別の操作画面の画面データ230を記憶部213からロードし、予測された画面種類データyp0の操作画面の画面データ230をRAMからアンロードしてもよい。

0031

<運用フェーズにおける数値制御システムの画面予測処理>
次に、本実施形態に係る数値制御システムの画面予測処理に係る動作について説明する。
なお、画面予測装置400による予測処理及び制御装置200によるローディング処理は、ユーザの一連の操作時、又は機械状態の変化時に、バックグラウンドタスクかサブプロセッサ等で実行されてもよい。
図5は、運用フェーズにおける数値制御システムの画面予測処理について説明するフローチャートである。
テップS11において、画面予測装置400の状態取得部411は、制御装置200から取得した画面種類データynと機械状態データznとに基づいて、現在の状態ベクトルxnから過去に遡り3つの連続する状態ベクトルの状態ベクトル部分列{xn−2、xn−1、xn}を、状態ベクトル部分列{xp−2、xp−1、xp0}として取得する。

0032

ステップS12において、画面予測装置400の予測部412は、ステップS11で取得された状態ベクトル部分列{xp−2、xp−1、xp0}を学習済みモデル350に入力し、ユーザが次に使用する操作画面の画面種類データyp0を予測する。

0033

ステップS13において、制御装置200の画面データロード部211は、ステップS12で予測された画面種類データyp0に対応する操作画面の画面データ230を記憶部213から図示しないRAM等にロードする。

0034

以上により、一の実施形態に係る画面予測装置400は、ユーザの一連の操作に対応する操作画面に係る現在の状態ベクトルから過去に遡り3つの連続する状態ベクトルの状態ベクトル部分列を、学習済みモデル350に入力することで、ユーザの一連の操作の流れを考慮した上で、ユーザが少なくとも次に使用する操作画面を予測することができる。これにより、画面予測装置400は、制御装置200がロードする操作画面のデータ量を最小限に抑えることができる。また、画面予測装置400は、機械状態や、表示・操作に関する機械設計、工場毎の工作機械100の運用ルール等に応じた、最適な操作画面を予測することができる。

0035

以上、一の実施形態について説明したが、制御装置200、機械学習装置300、画面予測装置400は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等が含まれる。

0036

<変形例1>
上述の実施形態では、機械学習装置300は、制御装置200及び画面予測装置400と異なる装置として例示したが、機械学習装置300の一部又は全部の機能を、制御装置200や画面予測装置400が備えるようにしてもよい。

0037

<変形例2>
上述の実施形態では、画面予測装置400は、制御装置200と異なる装置として例示したが、画面予測装置400の一部又は全部の機能を、制御装置200が備えるようにしてもよい。
あるいは、画面予測装置400の状態取得部411、予測部412、及び記憶部413の一部又は全部を、例えば、サーバが備えるようにしてもよい。また、クラウド上で仮想サーバ機能等を利用して、画面予測装置400の各機能を実現してもよい。
さらに、画面予測装置400は、画面予測装置400の各機能を適宜複数のサーバに分散される、分散処理システムとしてもよい。

0038

<変形例3>
また例えば、上述の実施形態では、図3の学習済みモデル350は、中間層に、3つのRNN10の1層で構成されたが、これに限定されない。学習済みモデル350は、図6に示すように、RNN10A(1)−10A(3k)を用いて、3つ1組を1層とする複数の層が配置された中間層を有し、深層学習化されてもよい(kは2以上の整数)。これにより、画面予測装置400は、図3の場合と比べて過去の状態ベクトルの画面種類データと機械状態データの特徴をより正確に捉えることができ、より精度良く次の操作画面の画面種類データを予測することができる。なお、RNN10A(1)−10A(3k)の各々は、図3のRNN10に対応する。
あるいは、学習済みモデル350は、図6に示すように、図3のRNN10(1)−10(3)に替えて、入力・出力・忘却ゲート付きRNNであるLSTM(Long Short−Term Memory)20(1)−20(3)が中間層に配置されてもよい。この場合、学習済みモデル350の中間層には、LSTM20(1)−20(3)とともに、全結合層30及びargmax40が配置される。argmax40は、全結合層30より出力された複数の画面種類データのうち、最も確率値が高い画面種類データを画面種類データyp0として出力する。これにより、画面予測装置400は、図3の場合と比べて過去の状態ベクトルの画面種類データと機械状態データの特徴をより正確に捉えることができ、より精度良く次の操作画面の画面種類データを予測することができる。なお、図6では、LMST20の数は、3つとしたが1以上の数でもよい。

0039

<変形例4>
また例えば、上述の実施形態では、画面予測装置400は、ユーザが次に使用する操作画面を予測したが、ユーザが次以降に使用する操作画面を予測してもよい。
図8は、次以降の3回先までの操作画面の画面種類データyp0、yp1、yp2を予測する学習済みモデル350の一例を示す図である。図8に示すように、学習済みモデル350は、現在の状態ベクトルxp0から過去に遡る3つの連続する状態ベクトルを含む状態ベクトル部分列{xp−2、xp−1、xp0}を入力層とし、RNN10B(1)−10B(5)を中間層とし、ユーザが次以降の3回先までに使用する画面種類データyp0、yp1、yp2を出力層とする。
この場合、機械学習装置300は、状態ベクトル部分列{x1、x2、x3}、{x2、x3、x4}・・・{xN−2、xN−1、xN}の入力データと、画面種類データ{y3、y4、y5}、{y4、y5、y6}・・・{yN−2、yN−1、yN}のラベルデータとを、訓練データとして記憶部315から受け付け、教師あり学習を行う。
なお、RNN10B(1)−10B(5)の各々は、図3のRNN10に対応する。

0040

<変形例5>
また例えば、上述の実施形態では、画面予測装置400は、機械学習装置300により生成された学習済みモデル350を用いて、ユーザが次に使用する操作画面を予測したが、これに限定されない。例えば、図9に示すように、サーバ500は、機械学習装置300により生成された学習済みモデル350を記憶し、ネットワーク50に接続されたm個の画面予測装置400A(1)−400A(m)と学習済みモデル350を共有してもよい(mは2以上の整数)。これにより、新たな工作機械、制御装置、及び画面予測装置が配置されても学習済みモデル350を適用することができる。
なお、画面予測装置400A(1)−400A(m)の各々は、制御装置200A(1)−200A(m)の各々と接続され、制御装置200A(1)−200A(m)の各々は、工作機械100A(1)−100A(m)の各々と接続される。
また、工作機械100A(1)−100A(m)の各々は、図1の工作機械100に対応する。制御装置200A(1)−200A(m)の各々は、図1の制御装置200に対応する。画面予測装置400A(1)−400A(m)の各々は、図1の画面予測装置400に対応する。
あるいは、図10に示すように、サーバ500は、例えば、画面予測装置400として動作し、ネットワーク50に接続された同一工場内の制御装置200A(1)−200A(m)の各々に対して、ユーザが次以降に使用する操作画面の画面種類データを予測してもよい。これにより、新たな工作機械及び制御装置が配置されても学習済みモデル350を適用することができる。

0041

<変形例6>
また例えば、上述の実施形態では、機械状態データznは、モードとアラームを有したが、モードとアラームとともに、前述したように運転状態や信号を有してもよい。
なお、機械状態データznの「運転状態」には、例えば、NCプログラムを実行している状態を示す「START起動状態)」、運転を終了し停止している状態を示す「STOP(停止状態)」、実行する指令が残っているにも関わらず運転を中断休止している状態を示す「HOLD(休止状態)」、初期状態、あるいは非常停止又はリセットボタンが押された状態を示す「RESET(リセット状態)」等がある。
また、機械状態データznの「信号」には、X、Y、Zのどの軸・方向(±)を動かすかを決定する「JOG送り軸方向選択」、X、Y、Zのどの軸・方向(±)を動かすかを決定する「ハンドル送り軸選択」、NCプログラムを1行実行後停止させる「シングルブロック」等がある。

0042

なお、一の実施形態における、制御装置200、機械学習装置300、及び画面予測装置400に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。

0043

制御装置200に含まれる各構成部は、(電子回路等を含む)ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ(数値制御装置1)にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。また、ハードウェアで構成する場合、上記の制御装置に含まれる各構成部の機能の一部又は全部を、例えば、ASIC(Application Specific IntegratedCircuit)、ゲートアレイFPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)等の集積回路(IC)で構成することができる。

0044

プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク磁気テープハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROMPROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAMを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。

0045

なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。

0046

以上を換言すると、本開示の機械学習装置、画面予測装置、及び制御装置は、次のような構成を有する各種各様の実施形態を取ることができる。
(1)本開示の機械学習装置300は、産業機械(工作機械100)を制御する制御装置200の表示部212に表示される操作画面に基づいてユーザが一連の操作を行う場合にユーザにより使用された各操作画面の画面種類を示す画面種類データynと当該操作画面の表示されたときの制御装置200により制御される産業機械の機械状態を示す機械状態データznとを含む状態ベクトルxnとし、ユーザの一連の操作又は機械状態の変化に対応する操作画面の遷移に対応する状態ベクトルxnの集合となる時系列データである状態ベクトル列{xn:n≧1}を取得する状態観測部312と、状態観測部312により取得される状態ベクトル列に含まれる、任意の状態ベクトルxn(n≧1)を先頭とする予め設定されたN個(N≧2)の連続する状態ベクトル部分列{xn、xn+1、・・・xn+N−1}を入力データとし、入力データの状態ベクトル部分列の末尾の状態ベクトルxn+N−1に対応する操作画面の次に表示される画面の種類を示す画面種類データyn+N−1を含む操作画面の次以降に表示される画面の画面種類データをラベルデータとする訓練データを取得する訓練データ取得部313と、入力データとラベルデータとを訓練データとして教師あり機械学習を行い、ユーザが表示部212に表示される操作画面に基づいて一連の操作を行う場合に、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルを含む状態ベクトル部分列に基づいて、ユーザが次以降に使用する画面種類データを予測するための学習済みモデル350を生成する学習部314と、を備える。
この機械学習装置300によれば、ユーザが次以降に使用する操作画面を予測し、制御装置200がロードする対象の操作画面のデータを予測した操作画面のデータに限定することで、ロードする画面のデータ量を最小限に抑えるための、学習済みモデル350を生成することができる。

0047

(2)学習部314は、リカレントニューラルネットワーク(RNN10)を用いて、一連の前記操作の流れを機械学習してもよい。
そうすることで、機械学習装置300は、一連の操作の流れに応じてユーザが次以降に使用する操作画面の画面種類データを予測できる学習済みモデル350を生成することができる。

0048

(3)リカレントニューラルネットワークとして、入力・出力・忘却ゲート付きRNNであるLSTM20を適用してもよい。
そうすることで、機械学習装置300は、より精度良くユーザが次以降に使用する操作画面の画面種類データを予測できる学習済みモデル350を生成することができる。

0049

(4)本開示の画面予測装置400は、ユーザの一連の操作に対応する操作画面に係る現在の状態ベクトルxn(n≧N)から過去に遡りN個の連続する状態ベクトルを含む状態ベクトル部分列{xn−N+1、・・・xn}を取得する状態取得部411と、機械学習装置300により生成された学習済みモデル350に基づいて、状態取得部411により取得された状態ベクトル部分列{xn−N+1、・・・xn}から、ユーザが次以降に使用する操作画面の画面種類データを予測する予測部412と、を備える。
この画面予測装置400によれば、ユーザが次以降に使用する操作画面を予測し、制御装置200がロードする対象の操作画面のデータを予測した操作画面のデータに限定することで、ロードする画面のデータ量を最小限に抑えることができる。

0050

(5)(4)の画面予測装置400は、学習済みモデル350を備えてもよい。
そうすることで、上述の(4)と同様の効果を奏することができる。

0051

(6)画面予測装置400は、機械学習装置300を備えてもよい。
そうすることで、上述の(1)から(5)のいずれかと同様の効果を奏することができる。

0052

(7)(4)の画面予測装置400は、学習済みモデル350を、画面予測装置400からネットワーク50を介してアクセス可能に接続されるサーバ500に備えてもよい。
そうすることで、新たな工作機械100、制御装置200、及び画面予測装置400が配置されても学習済みモデル350を適用することができる。

0053

(8)本開示の制御装置200は、画面予測装置400により予測される、ユーザが次以降に使用する操作画面の画面種類データに対応する画面データをロードする画面データロード部を備える。
この制御装置200によれば、ロードする対象の操作画面のデータを予測した操作画面のデータに限定することで、ロードする画面のデータ量を最小限に抑えることができる。

0054

(9)(8)の制御装置200は、画面予測装置400を備えてもよい。
そうすることで、上述の(8)と同様の効果を奏することができる。

0055

100工作機械
200制御装置
211画面データロード部
300機械学習装置
311状態ベクトル化部
312 状態観測部
314 学習部
350学習済みモデル
400 画面予測装置
411状態取得部
412予測部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • ACS株式会社の「 カッティング装置」が 公開されました。( 2020/12/17)

    【課題】材料を意図した通りの形状で安定して切断することができ、更に高速で切断する際も切断精度を確保することができるカッティング装置を提案する。【解決手段】本発明のカッティング装置は、材料保持手段2に保... 詳細

  • 株式会社セルシスの「 書籍表示プログラム及び書籍表示装置」が 公開されました。( 2020/12/17)

    【課題】表示画面に表示される仮想的な書籍を仮想空間上でユーザに対して簡便に扱うことを可能とさせることで、仮想的な書籍を読む際の利便性の向上を提供する。【解決手段】書籍表示プログラムは、コンテンツを含む... 詳細

  • ネクストヴイピーユー(シャンハイ)カンパニー リミテッドの「 文字検出方法、読書補助装置及び媒体」が 公開されました。( 2020/12/17)

    【課題】文字検出方法、読書補助装置及び媒体を開示する。【解決手段】該文字検出方法は、検出すべき文字対象の第1検出すべき画像を取得するステップと、該第1検出すべき画像に所定のインジケータが含まれるか否か... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ