図面 (/)

技術 キャッシュロックを学習する機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラム

出願人 ファナック株式会社
発明者 栗原健一郎
出願日 2015年12月28日 (5年0ヶ月経過) 出願番号 2015-257438
公開日 2017年7月6日 (3年5ヶ月経過) 公開番号 2017-120587
状態 特許登録済
技術分野 階層構造のメモリシステム 学習型計算機
主要キーワード 鍛圧機械 確率的アルゴリズム 価値関数 PCクラスタ 学習データセット 近似アルゴリズム 行動判断 活性化関数
関連する未来課題
重要な関連分野

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

図面 (8)

課題

キャッシュロックを適切に行ってキャッシュを効率よく使用することができる機械学習器産業機械システム,製造システム機械学習方法および機械学習プログラムを提供する。

解決手段

キャッシュメモリを使用する演算処理装置を含む制御装置12により産業機械11の処理を制御し、キャッシュメモリにロックするデータを学習する機械学習器2を備える。機械学習機は、産業機械の状態を観測する状態観測部21と、状態観測部により観測された状態に基づいて、キャッシュメモリにロックするデータを規定する操作を学習する学習部22と、を備える。

概要

背景

近年、産業機械は、例えば、制御装置に設けられたCPU(Central Processing Unit:(中央)演算処理装置)でプログラムを実行することにより、所定の動作が行われるようになっている。ここで、CPUによりプログラムを実行する際、使われる頻度の高いデータは、レイテンシの低いキャッシュメモリ(キャッシュ:上位のキャッシュメモリ)に格納することで、CPUの動作効率を向上させることができる。

制御装置に設けられたCPU(CPUコア)の動作として、キャッシュ(上位のキャッシュメモリ)に格納されていなかったデータを使用した場合、例えば、不要と思われるデータをメモリ(メインメモリまたは下位のキャッシュメモリ)に書き出した後、新しく使用したデータをキャッシュ(上位のキャッシュ)に格納する手法が用いられることが多い。

なお、本明細書において、「産業機械」の文言は、産業用ロボットコンピュータ数値制御(CNC:Computerized Numerical Control)装置で制御される工作機械だけでなく、サービス用ロボット鍛圧機械および射出成形機といった様々な機械を含むものとして使用される。また、「産業機械システム」の文言は、工作機械やロボットなどの産業機械と、それら産業機械を制御する制御装置(CNC装置ロボット制御装置(および、機械学習器)など)を含むものとして使用される。

ところで、従来、マルチコアプロセッサを用いてキャッシュミスを起こさずに逐次プログラムを実行する制御装置が提案されている(例えば、特許文献1参照)。

概要

キャッシュロックを適切に行ってキャッシュを効率よく使用することができる機械学習器,産業機械システム,製造システム機械学習方法および機械学習プログラムを提供する。キャッシュメモリを使用する演算処理装置を含む制御装置12により産業機械11の処理を制御し、キャッシュメモリにロックするデータを学習する機械学習器2を備える。機械学習機は、産業機械の状態を観測する状態観測部21と、状態観測部により観測された状態に基づいて、キャッシュメモリにロックするデータを規定する操作を学習する学習部22と、を備える。

目的

ここで、教師データは、例えば、制御装置12に入力するプログラム(産業機械1が処理する動作)が同一の場合、産業機械1に処理を行わせる所定日の前日までに得られた結果(ラベル)付きデータを保持し、その所定日に、結果(ラベル)付きデータを誤差計算部43に提供する

効果

実績

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

この技術が所属する分野

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

請求項1

キャッシュメモリを使用する演算処理装置を含む制御装置により産業機械の処理を制御し、前記キャッシュメモリにロックするデータを学習する機械学習器であって、前記産業機械の状態を観測する状態観測部と、前記状態観測部により観測された状態に基づいて、前記キャッシュメモリにロックするデータを規定する操作を学習する学習部と、を備える、ことを特徴とする機械学習器。

請求項2

前記状態観測部は、前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量を観測し、前記学習部は、前記状態観測部により観測された前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量に基づいて、前記キャッシュメモリにロックするデータを決定する操作量更新する、ことを特徴とする請求項1に記載の機械学習器。

請求項3

前記産業機械は、前記制御装置により制御される所定の処理に要する時間を計測し、前記状態観測部は、前記所定の処理に要する時間を観測する、ことを特徴とする請求項2に記載の機械学習器。

請求項4

前記産業機械は、前記制御装置により制御される所定の加工による精度を計測し、前記状態観測部は、前記所定の加工による精度を観測する、ことを特徴とする請求項2または請求項3に記載の機械学習器。

請求項5

さらに、前記学習部が学習した操作量を参照して、前記キャッシュメモリにロックするデータを決定する意思決定部を備える、ことを特徴とする請求項2乃至請求項4のいずれか1項に記載の機械学習器。

請求項6

前記学習部は、前記状態観測部の出力に基づいて報酬を計算する報酬計算部と、前記状態観測部および前記報酬計算部の出力に基づいて、前記キャッシュメモリにロックするデータの価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備える、ことを特徴とする請求項2乃至請求項5のいずれか1項に記載の機械学習器。

請求項7

前記学習部は、前記状態観測部の出力、および、入力された教師データに基づいて誤差を計算する誤差計算部と、前記状態観測部および前記誤差計算部の出力に基づいて、前記キャッシュメモリにロックするデータの誤差を定める誤差モデルを更新する誤差モデル更新部と、を備える、ことを特徴とする請求項2乃至請求項5のいずれか1項に記載の機械学習器。

請求項8

前記機械学習器は、ニューラルネットワークを備える、ことを特徴とする請求項1乃至請求項7のいずれか1項に記載の機械学習器。

請求項9

前記キャッシュメモリにロックするデータは、前記演算処理装置が実行するプログラムにおける機能命令である、ことを特徴とする請求項1乃至請求項8のいずれか1項に記載の機械学習器。

請求項10

制御装置と、産業機械と、請求項1乃至請求項9のいずれか1項に記載の機械学習器と、を備える産業機械システムであって、前記制御装置は、キャッシュメモリを使用する演算処理装置を含み、前記産業機械は、前記演算処理装置が実行するプログラムに基づいて処理が制御される、ことを特徴とする産業機械システム。

請求項11

請求項10に記載の産業機械システムを複数備える製造システムであって、前記機械学習器は、それぞれの前記産業機械システムに設けられ、複数の前記産業機械システムに設けられた複数の前記機械学習器は、通信媒体を介して相互にデータを共有または交換するようになっている、ことを特徴とする製造システム。

請求項12

前記機械学習器は、クラウドサーバ上に存在する、ことを特徴とする請求項11に記載の製造システム。

請求項13

キャッシュメモリを使用する演算処理装置を含む制御装置により産業機械の処理を制御し、前記キャッシュメモリにロックするデータを学習する機械学習方法であって、前記産業機械の状態を観測し、前記観測された状態に基づいて、前記キャッシュメモリにロックするデータを規定する操作を更新する、ことを特徴とする機械学習方法。

請求項14

前記産業機械の状態を観測するのは、前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量を観測し、前記キャッシュメモリにロックするデータを規定する操作を更新するのは、観測された前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量に基づいて、前記キャッシュメモリにロックするデータを決定する操作量を更新する、ことを特徴とする請求項13に記載の機械学習方法。

請求項15

キャッシュメモリを使用する演算処理装置を含む制御装置により産業機械の処理を制御し、前記キャッシュメモリにロックするデータを学習する機械学習プログラムであって、前記演算処理装置に、前記産業機械の状態を観測し、前記観測された状態に基づいて、前記キャッシュメモリにロックするデータを規定する操作を更新する、処理を実行させる、ことを特徴とする機械学習プログラム。

技術分野

0001

本発明は、キャッシュロックを学習する機械学習器産業機械システム,製造システム機械学習方法および機械学習プログラムに関する。

背景技術

0002

近年、産業機械は、例えば、制御装置に設けられたCPU(Central Processing Unit:(中央)演算処理装置)でプログラムを実行することにより、所定の動作が行われるようになっている。ここで、CPUによりプログラムを実行する際、使われる頻度の高いデータは、レイテンシの低いキャッシュメモリ(キャッシュ:上位のキャッシュメモリ)に格納することで、CPUの動作効率を向上させることができる。

0003

制御装置に設けられたCPU(CPUコア)の動作として、キャッシュ(上位のキャッシュメモリ)に格納されていなかったデータを使用した場合、例えば、不要と思われるデータをメモリ(メインメモリまたは下位のキャッシュメモリ)に書き出した後、新しく使用したデータをキャッシュ(上位のキャッシュ)に格納する手法が用いられることが多い。

0004

なお、本明細書において、「産業機械」の文言は、産業用ロボットコンピュータ数値制御(CNC:Computerized Numerical Control)装置で制御される工作機械だけでなく、サービス用ロボット鍛圧機械および射出成形機といった様々な機械を含むものとして使用される。また、「産業機械システム」の文言は、工作機械やロボットなどの産業機械と、それら産業機械を制御する制御装置(CNC装置ロボット制御装置(および、機械学習器)など)を含むものとして使用される。

0005

ところで、従来、マルチコアプロセッサを用いてキャッシュミスを起こさずに逐次プログラムを実行する制御装置が提案されている(例えば、特許文献1参照)。

先行技術

0006

特開2015−200947号公報

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

0007

前述したように、キャッシュに格納されていないデータを使用した場合、不要と思われるデータをメモリに書き出した後、新しく使用したデータをキャッシュに格納する手法が知られている。しかしながら、この手法は、プログラムによってはキャッシュが有効に活用されないことがある。

0008

例えば、逐次実行するプログラムのサイズが、キャッシュ(キャッシュメモリ)のサイズ(メモリ容量)よりも大きい場合、キャッシュに格納されたすべてのデータは、再度使用されることなく、そのままメモリ(メインメモリ)に書き戻されることがある。

0009

そのため、使用頻度が多いとはっきりと分かっているデータは、予めキャッシュメモリにロック(以下、キャッシュロックとも称する)し、キャッシュから掃き出されないようにすることにより、キャッシュを効率よく使用することが可能になると考えられている。

0010

しかしながら、どのデータをどのようなタイミングでキャッシュロック(キャッシュメモリにロック(格納保持))するかを判断するのは難しく、この手法によりキャッシュの効率を向上させるのは困難なものとなっている。

0011

本発明の目的は、上述した従来技術の課題に鑑み、キャッシュロックを適切に行ってキャッシュを効率よく使用することができる機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラムの提供にある。

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

0012

本発明に係る第1実施形態によれば、キャッシュメモリを使用する演算処理装置を含む制御装置により産業機械の処理を制御し、前記キャッシュメモリにロックするデータを学習する機械学習器であって、前記産業機械の状態を観測する状態観測部と、前記状態観測部により観測された状態に基づいて、前記キャッシュメモリにロックするデータを規定する操作を学習する学習部と、を備える機械学習器が提供される。

0013

前記状態観測部は、前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量を観測し、前記学習部は、前記状態観測部により観測された前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量に基づいて、前記キャッシュメモリにロックするデータを決定する操作量更新するのが好ましい。前記産業機械は、前記制御装置により制御される所定の処理に要する時間を計測し、前記状態観測部は、前記所定の処理に要する時間を観測することができる。また、前記産業機械は、前記制御装置により制御される所定の加工による精度を計測し、前記状態観測部は、前記所定の加工による精度を観測することもできる。

0014

前記機械学習器は、さらに、前記学習部が学習した操作量を参照して、前記キャッシュメモリにロックするデータを決定する意思決定部を備えてもよい。前記学習部は、前記状態観測部の出力に基づいて報酬を計算する報酬計算部と、前記状態観測部および前記報酬計算部の出力に基づいて、前記キャッシュメモリにロックするデータの価値を定める価値関数を、前記報酬に応じて更新する価値関数更新部と、を備えることができる。あるいは、前記学習部は、前記状態観測部の出力、および、入力された教師データに基づいて誤差を計算する誤差計算部と、前記状態観測部および前記誤差計算部の出力に基づいて、前記キャッシュメモリにロックするデータの誤差を定める誤差モデルを更新する誤差モデル更新部と、を備えることもできる。前記機械学習器は、ニューラルネットワークを備えることができる。前記キャッシュメモリにロックするデータは、前記演算処理装置が実行するプログラムにおける機能命令であってもよい。

0015

本発明に係る第2実施形態によれば、制御装置と、産業機械と、第1実施形態の機械学習器と、を備える産業機械システムであって、前記制御装置は、キャッシュメモリを使用する演算処理装置を含み、前記産業機械は、前記演算処理装置が実行するプログラムに基づいて処理が制御される産業機械システムが提供される。

0016

本発明に係る第3実施形態によれば、第2実施形態の産業機械システムを複数備える製造システムであって、前記機械学習器は、それぞれの前記産業機械システムに設けられ、複数の前記産業機械システムに設けられた複数の前記機械学習器は、通信媒体を介して相互にデータを共有または交換するようになっている製造システムが提供される。前記機械学習器は、クラウドサーバ上に存在してもよい。

0017

本発明に係る第4実施形態によれば、キャッシュメモリを使用する演算処理装置を含む制御装置により産業機械の処理を制御し、前記キャッシュメモリにロックするデータを学習する機械学習方法であって、前記産業機械の状態を観測し、前記観測された状態に基づいて、前記キャッシュメモリにロックするデータを規定する操作を更新する機械学習方法が提供される。前記産業機械の状態を観測するのは、前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量を観測し、前記キャッシュメモリにロックするデータを規定する操作を更新するのは、観測された前記産業機械による処理時間および処理精度の少なくとも一方を含む状態量に基づいて、前記キャッシュメモリにロックするデータを決定する操作量を更新するのが好ましい。

0018

本発明に係る第5実施形態によれば、キャッシュメモリを使用する演算処理装置を含む制御装置により産業機械の処理を制御し、前記キャッシュメモリにロックするデータを学習する機械学習プログラムであって、前記演算処理装置に、前記産業機械の状態を観測し、前記観測された状態に基づいて、前記キャッシュメモリにロックするデータを規定する操作を更新する、処理を実行させる、機械学習プログラムが提供される。

発明の効果

0019

本発明に係る機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラムによれば、キャッシュロックを適切に行ってキャッシュを効率よく使用することができるという効果を奏する。また、本発明に係る機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラムによれば、産業機械システムによる処理時間の短縮および処理精度の向上を図ることが可能になる。

図面の簡単な説明

0020

図1は、本発明に係る産業機械システムの一実施形態を概略的に示すブロック図である。
図2は、ニューロンモデルを模式的に示す図である。
図3は、図2に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。
図4は、図1に示す産業機械システムにおける機械学習器の動作の一例を示すフローチャートである。
図5は、図1に示す産業機械システムにおける制御装置のキャッシュロック処理の一例を説明するための図である。
図6は、本発明に係る産業機械システムの他の実施形態を概略的に示すブロック図である。
図7は、産業機械システムにおける制御装置のキャッシュ動作の例を説明するための図である。

実施例

0021

まず、本発明に係る機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラムの実施形態を詳述する前に、産業機械システムにおける制御装置のキャッシュ動作およびその課題を、図7を参照して説明する。図7は、産業機械システムにおける制御装置のキャッシュ動作の例を説明するための図である。

0022

図7(a)〜図7(d)において、参照符号3はCPU(演算処理装置,プロセッサ),30はCPUコア,31は一次キャッシュメモリ(L1キャッシュ),32は二次キャッシュメモリ(L2キャッシュ),33は外部メモリ(メインメモリ),そして,34は内部バス(バス)を示す。

0023

ここで、図7(a)は、産業機械システム(1)における制御装置(12)に設けられ、バス34で繋がれたCPU3および外部メモリ33を抜き出して示す図であり、図7(b)は、CPUコア30により要求されたデータがL1キャッシュ31に格納されていた場合の動作を説明するための図である。また、図7(c)は、CPUコア30により要求されたデータがL2キャッシュ32に格納されていた場合の動作を説明するための図であり、図7(d)は、CPUコア30により要求されたデータがL1キャッシュ31およびL2キャッシュ32に格納されていない場合の動作を説明するための図である。

0024

なお、産業機械(11)は、例えば、産業用およびサービス用のロボット、あるいは、工作機械などの様々な機械であり、制御装置(12)は、ロボット制御装置、あるいは、CNC(NC)制御装置などである。また、L1キャッシュ31は、L2キャッシュ32よりもレイテンシが低く、さらに、L2キャッシュ32は、外部メモリ33よりもレイテンシが低い。

0025

図7(b)に示されるように、例えば、CPUコア30により要求されたデータがL1キャッシュ31に格納されていた場合、CPUコア30は、L1キャッシュ31から所望のデータを読み出す。すなわち、所望のデータがL1キャッシュ31でヒットした場合、CPUコア30は、その所望のデータを、例えば、1サイクルタイムでL1キャッシュ31から読み出すことになる。

0026

また、図7(c)に示されるように、例えば、CPUコア30により要求されたデータがL1キャッシュ31に格納されていない場合、CPUコア30は、そのデータがL2キャッシュ32に格納されているかどうかを見に行き、L2キャッシュ32に格納されていれば、L2キャッシュ32から所望のデータを読み出す。すなわち、所望のデータがL1キャッシュ31に格納されておらず、L2キャッシュ32でヒットした場合、CPUコア30は、その所望のデータを、例えば、数サイクルタイム〜十数サイクルタイムでL2キャッシュ32から読み出すことになる。

0027

そして、図7(d)に示されるように、例えば、CPUコア30により要求されたデータがL1キャッシュ31およびL2キャッシュ32に格納されていない場合、CPUコア30は、バス34を介して繋がれた外部メモリ33から所望のデータを読み出す。このとき、CPUコア30は、その所望のデータを、例えば、数十サイクルタイムを費やして外部メモリ33から読み出すことになる。

0028

このように、例えば、CPU3によりプログラムを実行する際、使われる頻度の高いデータを、レイテンシの低いキャッシュメモリ(例えば、L1キャッシュ31)に格納することにより、CPU3の動作効率の向上が可能なことが知られている。なお、例えば、L1キャッシュ31に格納されていないデータを使用した場合には、例えば、不要と思われるデータを外部メモリ33(または、L2キャッシュ32)に書き出した後、新しく使用したデータをL1キャッシュ31に格納する手法が用いられる。

0029

しかしながら、上述した手法は、プログラムによってはキャッシュが有効に活用されないことがある。例えば、逐次実行するプログラムのサイズが、キャッシュのメモリ容量より大きい場合、キャッシュに格納されたすべてのデータは、再度使用されることなく、そのまま外部メモリ33に書き戻されることがある。

0030

具体的に、一般的なシーケンスプログラム(ラダーなど)を考え、プログラムの実行を行うCPU(3)のキャッシュ(例えば、L1キャッシュ31)が有効であるものとする。まず、シーケンスプログラムでは、先頭から順々にプログラムを実行していくことになるが、例えば、CPUのキャッシュのサイズ(メモリ容量)と、シーケンスプログラムのデータサイズを比較し、キャッシュのサイズが大きい場合には、シーケンスプログラムはすべてキャッシュに格納することが可能であるため、CPUがプログラムを外部メモリ(33)から読み出す必要がなくなる。なお、現実的には、CPUのキャッシュのサイズよりも、シーケンスプログラムのサイズが大きい場合が多い。

0031

次に、CPUのキャッシュへの読み出しと、キャッシュからの掃出しの機構を考える。一般的なキャッシュの機構として、典型的な例としては、キャッシュが更新(キャッシュの読み出しや、CPUによる書き込みなど)された時期が最も古いデータを外部メモリに書き戻し、その代わりに最も新しく読み出されたデータを格納することが考えられる。ここで、シーケンスプログラムは、先頭から順々にプログラムを読み出して実行を行うため、シーケンスプログラムの先頭に戻ってきた時点では、既に、シーケンスのプログラムはキャッシュから掃き出されていることが多い。典型的な例としては、シーケンスプログラムのすべての領域を外部メモリから読み出すことになり、キャッシュを有効に使用できていないことになる。

0032

ところで、近年、CPUによっては、キャッシュをロックする機能を持っているものがあり、この機能を活用することが考えられる。ロックされたキャッシュ(キャッシュに格納保持されたデータ)は、キャッシュの更新時の掃き出しの対象とならないため、常にキャッシュに格納されていることになる。例えば、シーケンスプログラムにおいては、頻繁に使用される機能命令のブロックをロックすることで、機能命令に相当するプログラムの読み出しにかかる時間(サイクルタイム:処理時間)を短縮することが考えられる。

0033

しかしながら、シーケンスプログラムにおいて、どのブロックをキャッシュロック(キャッシュメモリにロック)することが最適であるかを判断するのは、容易ではない。すなわち、どのメモリ領域をどのようなタイミングでキャッシュロックするかを判断するのは難しく、この手法によりキャッシュ効率を向上させるのは困難なものとなっている。

0034

以下、本発明に係る機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラムの実施形態を、添付図面を参照して詳述する。ここで、各図面において、同じ部材には同じ参照符号が付されている。また、異なる図面において同じ参照符号が付されたものは同じ機能を有する構成要素であることを意味するものとする。なお、理解を容易にするために、これらの図面は縮尺を適宜変更している。

0035

図1は、本発明に係る産業機械システムの一実施形態を概略的に示すブロック図である。図1に示されるように、本実施形態の産業機械システム1は、工作機械やロボットなどの産業機械11,CNC装置(CNC制御装置)やロボット制御装置などの制御装置12および機械学習器2を含む。なお、機械学習器2は、制御装置12の一部として構成することができるのはもちろんである。

0036

制御装置12は、例えば、図7を参照して説明したような、内部バス(バス)34で繋がれたCPU(演算処理装置)3および外部メモリ(メインメモリ)33を含み、CPU3は、与えられたプログラムに従って処理を行い、産業機械11に所定の処理(動作)を実行させる。また、CPU3は、図7を参照して説明したのと同様に、CPUコア30,L1キャッシュ(一次キャッシュメモリ)31,L2キャッシュ(二次キャッシュメモリ)32を含む。ここで、制御装置12には、入出力装置(I/O装置)や操作スイッチおよび表示装置などの様々な構成(図示しない)が設けられているのはいうまでもない。

0037

機械学習器2は、例えば、制御装置12(CPU3)が実行するプログラムにおけるキャッシュロック処理を学習するためのものであり、このキャッシュロック処理が学習されたプログラムに基づいて、産業機械11の動作が制御される。機械学習器2は、状態観測部21、学習部22、および、意思決定部25を含む。状態観測部21は、例えば、産業機械11が処理を行う時間(サイクルタイム:処理時間)、ならびに、ワークを加工(処理)する精度(加工精度:処理精度)といった状態量(状態)を観測する。

0038

学習部22は、状態観測部21により観測された状態量に基づいて、例えば、L1キャッシュ31にロックしておくメモリ領域を制御する操作量、例えば、どのメモリ領域をどのタイミングでL1キャッシュ31にロックするか決める操作コマンドを更新する。ここで、学習部22は、状態観測部21の出力に基づいて報酬を計算する報酬計算部23、ならびに、状態観測部21および報酬計算部23の出力に基づいて、キャッシュロックするメモリ領域を決める動作(操作)の価値を定める価値関数を、報酬に応じて更新する価値関数更新部24を含む。

0039

なお、報酬計算部23は、例えば、産業機械11による処理時間(加工時間)を短縮できれば、プラス報酬を与え、処理時間を短縮できなければ、マイナス報酬を与える。さらに、報酬計算部23は、例えば、産業機械11による処理精度(加工精度)が向上すれば、プラス報酬を与え、処理精度が向上しなければ、報酬なしとする。ここで、産業機械11による処理精度が問題となるのは、例えば、予め定められた時間内に所定の処理を完了するように設定されたプログラムを実行するとき、キャッシュミスなどによる処理時間の増大を、その産業機械11を高速動作させ、あるいは、他の処理を省略することにより吸収する場合などである。このとき、産業機械11の処理精度は、例えば、産業機械11を高速動作させることにより、あるいは、他の処理を省略することにより、低下することになる。また、状態観測部21が観測する状態量としては、産業機械11による処理時間および処理精度に限定されるものではなく、あるいは、処理時間および処理精度の一方であってもよい。

0040

すなわち、状態観測部21が観測する状態量が産業機械11による処理時間だけの場合、報酬計算部23は、例えば、産業機械11による処理時間を短縮できれば、プラス報酬を与え、処理時間を短縮できなければ、マイナス報酬を与える。なお、報酬計算部23において、マイナス報酬を与える代わりに、報酬なしとしてもよく、また、報酬なしの代わりに、マイナス報酬を与えてもよい。

0041

ここで、産業機械11による処理時間は、例えば、産業機械11に設けられたタイマ(図示しない)により計測することができる。あるいは、プログラムを実行する制御装置12から産業機械11による処理時間を取得することも可能である。また、産業機械11の処理精度は、例えば、産業機械11に設けられたカメラおよび画像処理装置(図示しない)により、あるいは、産業機械11の近傍に設けられた測定器プローブ(図示しない)などを使用して計測することができる。すなわち、産業機械11による処理時間および処理精度の計測は、知られている様々な手法を適用して取得し、状態観測部21に出力することができる。

0042

価値関数更新部24は、報酬計算部23からの報酬に基づいて価値関数(例えば、キャッシュロックする機能命令を規定する行動価値テーブル)の更新を行う。なお、価値関数は、例えば、機械学習器2に設けられたメモリに格納され、或いは、通信回線等を介して他の機械学習器2に伝送することもできる。また、産業機械システム1(1a〜1z)は、それぞれが産業機械11(11a〜11z),制御装置12(12a〜12z)および機械学習器2(2a〜2z)を有していてもよい。ここで、各参照符号の後に付したa〜zは、その構成要素が複数であることを意味するものとする。このように、製造システム(製造設備)が複数の産業機械システム1a〜1z、すなわち、複数の産業機械11a〜11z,制御装置12a〜12zおよび機械学習器2a〜2zを有している場合、例えば、1つの機械学習器2aの価値関数更新部24aにより更新された関数を用いて、他の機械学習器2b〜2zの価値関数更新部24b〜24zの関数を更新することが可能である。これは、図6を参照して説明する産業機械システムの他の実施形態に関しても同様である。

0043

意思決定部25は、学習部22が学習した操作量を参照して、例えば、L1キャッシュ31に対して、どのメモリ領域をどのタイミングでL1キャッシュ31にロックしておくかを決める操作コマンドを決定して、制御装置12に出力する。制御装置12では、例えば、CPU3におけるL1キャッシュ31が、意思決定部25からの出力に基づく所定の命令を格納して保持しておく(キャッシュロックする)ことになる。そして、産業機械11(工作機械やロボット)は、例えば、所定の命令がキャッシュロックされたL1キャッシュ31を使用してプログラムに基づいた動作を実行する。

0044

以上において、キャッシュロック処理を行うキャッシュメモリは、L1キャッシュ31に限定されるものではなく、例えば、L2キャッシュ32、あるいは、L2キャッシュ32と外部メモリ33の間に設けられた三次キャッシュメモリ(L3キャッシュ:図示しない)などであってもよい。また、本実施形態の適用は、キャッシュロック機能を有するCPUに限定されるものではない。

0045

次に、一般的なシーケンスプログラム(ラダーなど)を例として詳述する。上述した本発明に係る機械学習器(産業機械システム)の実施方法としては、例えば、シーケンスプログラムの実行開始前に、ある特定のブロックをキャッシュロック(キャッシュにロック)する。また、プログラムの途中でロックする命令を追加して、動的にキャッシュロック(キャッシュのロック)を行うことも可能である。ただし、この場合、必要に応じてキャッシュロックを解除する。すなわち、キャッシュロックするブロックの位置や、ロックするタイミングを入力として、例えば、報酬であるプログラムの実行時間(サイクルタイム)の短縮を図るのが好ましい。

0046

このプログラムの実行時間の短縮によって、シーケンスプログラムに対する応答性の向上、あるいは、単位時間あたりに実行可能な命令数の拡大を図ることが可能になる。なお、上記記載では、例として、シーケンスプログラムの実行を説明したが、他の一般的なプログラムにおいても、同様に、プログラムの実行時間の短縮を図ることが可能である。

0047

具体的に、制御装置12から状態観測部21に対して、例えば、L1キャッシュ31にロックするメモリ領域を入力し、産業機械11から状態観測部21に対して、例えば、プログラムの実行時間を入力する。学習部22では、例えば、乱拓アルゴリズム(確率的アルゴリズム)などを用いて、価値関数を生成し、任意のプログラムに対する最適なキャッシュロックを求める。ただし、このキャッシュロックは、プログラムごとに最適なものが異なるため、多数のプログラムの最適化を行うことで、どのようなバイナリ列を含むメモリ領域をロックするべきかといった操作量の学習を行うのが好ましい。

0048

例えば、それぞれの機能命令に対して、キャッシュロックすることによる影響の重み付けを行う。この重み付けについては、例えば、最適化を行う際にロックするメモリ領域を機能命令の含まれるメモリ領域に限定して、プログラム実行時間増減(状態量)に基づいて学習を行う。あるいは、予め機能命令のキャッシュロックの影響を評価するための評価プログラムを作成し、機能命令ごとに評価値(価値)を求めておき、評価プログラムにより、機能命令のバイナリデータを入力として、機能命令がキャッシュロックされることによる影響の価値関数を、報酬計算部23の出力(報酬)に基づいて、価値関数更新部24が更新する。これにより、例えば、新たな機能命令が追加された場合でも、再度評価を行うことなく、キャッシュロックすることの影響を見積もることができる。なお、報酬計算部23は、例えば、プログラムの実行時間による状態観測部21の出力に基づいて報酬を計算し、価値関数更新部24に出力する。また、状態観測部21の入力としては、プログラムの実行時間だけでなく、例えば、産業機械11により加工されるワーク(製品)の加工精度といった状態量であってもよい。

0049

ところで、機能命令自体がコールされるかどうかは、全体のプログラムに依存するため、機能命令がコールされる回数の把握を行う。すなわち、機能命令がコールされる回数は、入力や状態に依存しない場合は、全体のプログラムに対して一意に決まるが、入力や状態に依存する場合には、実際に実行して統計を取るか、想定される入力や状態から期待値を与える。例えば、条件分岐などがない関数においては、一意にすべて実行されるが、入力や状態によって条件分岐する場合には、実行されるかどうかが条件によって異なるため、上述のように期待値を求めるのが好ましい。

0050

例えば、機能命令がコールされる回数の期待値と前述した重み付けから、機能命令をロック(キャッシュロック)するかが判定される。基本的な適用としては、前述の期待値と重み付けを積算し、最も値の大きいものから順にロックする機能命令を選別することが考えられる。これは、例えば、後述する教師あり学習の教師データ、あるいは、半教師あり学習のデータなどとして使用することもできる。なお、動的にキャッシュロックするメモリ領域を変更する場合は、例えば、プログラムの改変が必要になるが、静的にキャッシュロックするメモリ領域を決定しておく場合は、例えば、プログラムの実行開始前にキャッシュロックを行っておくことにより、プログラム自体には変更を加えないことも可能である。

0051

次に、機械学習器について、説明する。機械学習器は、装置に入力されるデータの集合から、その中にある有用な規則知識表現判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習(機械学習)を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習(ディープラーニング:Deep Learning)」と呼ばれる手法がある。

0052

なお、図1に示す機械学習器2は、「強化学習」を適用したものであり、また、図6を参照して後述する機械学習器4は、「教師あり学習」を適用したものである。これらの機械学習(機械学習器2,4)は、汎用計算機若しくはプロセッサを用いることもできるが、例えば、GPGPU(General-Purpose computing on Graphics Processing Units)や大規模PCクラスターなどを適用すると、より高速処理が可能になる。

0053

まず、教師あり学習とは、教師データ、すなわち、ある入力と結果(ラベル)のデータの組を大量に機械学習器2に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(誤差モデル)、すなわち、その関係性帰納的に獲得するものである。例えば、後述のニューラルネットワークなどのアルゴリズムを用いて実現することが可能である。

0054

また、教師なし学習とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮分類・整形などを行う装置で学習する手法である。例えば、それらのデータセットにある特徴を、似た者どうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適化するような出力の割り当てを行うことにより、出力の予測を実現することできる。

0055

なお、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものもあり、これは、例えば、一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合が対応する。本実施形態においては、実際にロボットを動かさなくても取得することができるデータ(画像データやシミュレーションのデータなど)を教師なし学習で利用することにより、学習を効率的に行うことが可能になる。

0056

次に、強化学習について、説明する。まず、強化学習の問題設定として、次のように考える。
・ロボットは、環境の状態を観測し、行動を決定する。
・環境は、何らかの規則に従って変化し、さらに、自分の行動が、環境に変化を与えることもある。
・行動するたびに、報酬信号が帰ってくる。
最大化したいのは、将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または、不完全にしか知らない状態から学習はスタートする。すなわち、ロボットは、実際に行動して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように、事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。

0057

ここで、強化学習とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法を学ぶものである。以下に、例として、Q学習の場合で説明を続けるが、Q学習に限定されるものではない。

0058

Q学習は、或る環境状態sの下で、行動aを選択する価値Q(s,a)を学習する方法である。つまり、或る状態sのとき、価値Q(s,a)の最も高い行動aを最適な行動として選択すればよい。しかし、最初は、状態sと行動aとの組合せについて、価値Q(s,a)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態sの下で様々な行動aを選択し、その時の行動aに対して、報酬が与えられる。それにより、エージェントは、より良い行動の選択、すなわち、正しい価値Q(s,a)を学習していく。

0059

さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(s,a)=E[Σ(γt)rt]となるようにすることを目指す。ここでE[]は期待値を表し、tは時刻、γは後述する割引率と呼ばれるパラメータ、rtは時刻tにおける報酬、Σは時刻tによる合計である。この式における期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、分かっていないので、探索しながら学習することになる。このような価値Q(s,a)の更新式は、例えば、次の式(1)により表すことができる。

0060

上記の式(1)において、stは、時刻tにおける環境の状態を表し、atは、時刻tにおける行動を表す。行動atにより、状態はst+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、maxの付いた項は、状態st+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、学習係数で、0<α≦1の範囲とする。

0061

上述した式(1)は、試行atの結果、帰ってきた報酬rt+1を元に、状態stにおける行動atの評価値Q(st,at)を更新する方法を表している。すなわち、状態sにおける行動aの評価値Q(st,at)よりも、報酬rt+1と行動aによる次の状態における最良の行動max aの評価値Q(st+1,max at+1)の合計の方が大きければ、Q(st,at)を大きくし、反対に小さければ、Q(st,at)を小さくすることを示している。つまり、或る状態における或る行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近付けるようにしている。

0062

ここで、Q(s,a)の計算機上での表現方法は、すべての状態行動ペア(s,a)に対して、その値をテーブルとして保持しておく方法と、Q(s,a)を近似するような関数を用意する方法がある。後者の方法では、前述の式(1)は、確率勾配降下法などの手法で近似関数のパラメータを調整していくことにより、実現することができる。なお、近似関数としては、後述のニューラルネットワークを用いることができる。

0063

また、教師あり学習、教師なし学習の誤差モデル、あるいは、強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。図2は、ニューロンのモデルを模式的に示す図であり、図3は、図2に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。すなわち、ニューラルネットワークは、例えば、図2に示すようなニューロンのモデルを模した演算装置およびメモリなどで構成される。

0064

図2に示されるように、ニューロンは、複数の入力x(図2では、一例として入力x1〜入力x3)に対する出力(結果)yを出力するものである。各入力x(x1,x2,x3)には、この入力xに対応する重みw(w1,w2,w3)が掛けられる。これにより、ニューロンは、次の式(2)により表現される結果yを出力する。なお、入力x、結果yおよび重みwは、すべてベクトルである。また、下記の式(2)において、θは、バイアスであり、fkは、活性化関数である。

0065

図3を参照して、図2に示すニューロンを組み合わせて構成した三層のニューラルネットワークを説明する。図3に示されるように、ニューラルネットワークの左側から複数の入力x(ここでは、一例として、入力x1〜入力x3)が入力され、右側から結果y(ここでは、一例として、結果y1〜入力y3)が出力される。具体的に、入力x1,x2, x3は、3つのニューロンN11〜N13の各々に対して、対応する重みが掛けられて入力される。これらの入力に掛けられる重みは、まとめてw1と表記されている。

0066

ニューロンN11〜N13は、それぞれ、z11〜z13を出力する。図3において、これらz11〜z13は、まとめて特徴ベクトルz1と表記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルz1は、重みw1と重みw2との間の特徴ベクトルである。z11〜z13は、2つのニューロンN21およびN22の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてw2と表記されている。

0067

ニューロンN21,N22は、それぞれz21,z22を出力する。図3において、これらz21,z22は、まとめて特徴ベクトルz2と表記されている。この特徴ベクトルz2は、重みw2と重みw3との間の特徴ベクトルである。z21,z22は、3つのニューロンN31〜N33の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてw3と表記されている。

0068

最後に、ニューロンN31〜N33は、それぞれ、結果y1〜結果y3を出力する。ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて、学習データセットを用いて重みWを学習し、そのパラメータを用いて予測モードにおいて、ロボットの行動判断を行う。なお、便宜上、予測と書いたが、検出・分類・推論など多様なタスクが可能なのはいうまでもない。

0069

ここで、予測モードで実際にロボットを動かして得られたデータを即時学習し、次の行動に反映させる(オンライン学習)ことも、予め収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う(バッチ学習)こともできる。あるいは、その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。

0070

また、重みw1〜w3は、誤差逆伝搬法(誤差逆転伝播法:バックプロパゲーション:Backpropagation)により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力xが入力されたときの出力yと真の出力y(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。

0071

このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である(深層学習と称される)。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。そこで、本実施形態の機械学習器2は、上述のQ学習を実施すべく、図1に示されるように、状態観測部21、学習部22、および、意思決定部25を備えている。ただし、本発明に適用される機械学習方法は、Q学習に限定されないのは前述した通りである。すなわち、機械学習器で用いることができる手法である「教師あり学習」、「教師なし学習」、「半教師あり学習」および「強化学習」などの様々な手法が適用可能である。

0072

次に、本実施形態の産業機械における機械学習器2の動作の一例を説明する。図4は、図1に示す産業機械システムにおける機械学習器の動作の一例を示すフローチャートであり、図5は、図1に示す産業機械システムにおける制御装置のキャッシュロック処理の一例を説明するための図である。

0073

図4に示されるように、機械学習が開始(学習スタート)すると、行動価値テーブルに基づいて機能命令を選択する(ステップST1)。すなわち、制御装置12は、行動価値テーブル(価値関数)によるアドレスおよびタイミングを取得して、選択された命令をキャッシュメモリ(L1キャッシュ31)にロックする(ステップST1)。図5は、制御装置12(CPU3)により実行されるシーケンスプログラムにおける機能命令Aに相当するメモリ領域が、L1キャッシュ31にロックされ、すなわち、L1キャッシュ31に格納保持される様子を示すものである。

0074

ここで、図5に示すシーケンスプログラムでは、例えば、基本命令1および基本命令2が実行された後、機能命令Aを実行する場合、既にL1キャッシュ31に格納保持(ロック)された機能命令Aブロックに相当するメモリ領域を、L1キャッシュ31から読み出して(call)実行する。このとき、機能命令Aブロックに相当するメモリ領域は、L1キャッシュ31からそのまま(例えば、1サイクルタイムで)読み出すことができるため、機能命令Aを直ちに実行することが可能になる。

0075

なお、機能命令Aの処理が終了すると、次の基本命令3に戻り(return)、さらに、基本命令4,基本命令5,…を実行する。そして、再び機能命令Aを実行する場合、基本命令2の後における機能命令Aの実行と同様に、L1キャッシュ31からそのまま読み出して実行することができる。

0076

これに対して、例えば、機能命令Aブロックをキャッシュに格納しておらず、かつ、基本命令5から機能命令Aを再度実行するまでの間に挟まれる命令に相当するメモリ領域がL1キャッシュ31よりも大きい場合を考えると、一般的なキャッシュ管理機構を用いたとき、機能命令ブロックAは、L1キャッシュ31からL2キャッシュ32あるいは外部メモリ33に書き出されていることが多く、その場合、機能命令Aを実行するためには、L2キャッシュ32あるいは外部メモリ33にアクセスする必要がある。

0077

このようにキャッシュのロックを適切に行うことにより、シーケンスプログラムを短時間で実行、すなわち、産業機械11による処理時間を短縮することができる。これは、例えば、予め定められた時間内に所定の処理を完了するように設定されたプログラムを実行するときでも、産業機械11を通常の速度で動作させることができ、あるいは、他の処理を省略することなく所定の処理を行うことができるため、処理精度(加工精度)を向上させることも可能になる。

0078

再び、図4のフローチャートに戻り、加工時間(産業機械11による処理時間)を短縮できたかどうかを判定し(ステップST3)、加工時間を短縮できたと判定する(ステップST3:YES)と、加工精度(産業機械11による処理精度)が向上したかどうかを判定する(ステップST4)。ステップST3において、加工時間を短縮できなかったと判定する(NO)と、マイナス報酬を設定する(ステップST7)。また、ステップST4において、加工精度が向上したと判定する(YES)と、プラス報酬を設定し(ステップST5)、加工精度が向上しなかったと判定する(NO)と、報酬なし(報酬)を設定する(ステップST6)。

0079

そして、ステップST8において、ステップST5〜ST7における「プラス報酬」,「報酬なし」および「マイナス報酬」による報酬計算を行い、行動価値テーブルを更新し(ステップST9)、ステップST1に戻り、同様の処理を繰り返す。これにより、キャッシュロックする(L1キャッシュ31に格納保持する)機能命令を最適なものとして、産業機械11による加工時間の短縮および加工精度の向上を図ることができる。以上において、キャッシュメモリにロックするデータとして、機能命令を例として説明したが、本実施形態の適用は、機能命令に限定されるものではない。

0080

図6は、本発明に係る産業機械システムの他の実施形態を概略的に示すブロック図であり、教師あり学習を適用したものを示す。図6と、前述した図1の比較から明らかなように、図6に示す教師あり学習を適用した産業機械システム1’は、図1に示すQ学習(強化学習)を適用した産業機械システム1において、教師データ(結果(ラベル)付きデータ)が提供されるようになっている。

0081

図6に示されるように、教師あり学習を適用した産業機械システム1’における機械学習器4は、状態観測部41と、学習部42と、意思決定部45と、を備える。学習部42は、誤差計算部43と、誤差モデル更新部44と、を含む。ここで、誤差計算部43および誤差モデル更新部44は、それぞれ、図1に示すQ学習を適用した産業機械11における報酬計算部23および価値関数更新部24に相当する。なお、他の構成、例えば、産業機械11,制御装置12の構成は、前述した図1と同様であり、その説明は省略する。また、状態観測部41および意思決定部45も、図1のものと同様であり、その説明は省略する。

0082

誤差計算部43は、状態観測部41の出力および教師データを受け取って、結果(ラベル)付きデータと学習部42に実装されている誤差モデルの出力との誤差を計算する。ここで、教師データは、例えば、制御装置12に入力するプログラム(産業機械1が処理する動作)が同一の場合、産業機械1に処理を行わせる所定日の前日までに得られた結果(ラベル)付きデータを保持し、その所定日に、結果(ラベル)付きデータを誤差計算部43に提供することができる。

0083

あるいは、産業機械システム1’の外部で行われたシミュレーションなどにより得られたデータ、または、他の産業機械システムの結果(ラベル)付きデータを、メモリカードや通信回線により、その産業機械システム1’の誤差計算部43に提供することも可能である。さらに、結果(ラベル)付きデータ(教師データ)を、例えば、学習部42に内蔵したフラッシュメモリ(Flash Memory)などの不揮発性メモリに保持し、その不揮発性メモリに保持された結果(ラベル)付きデータを、そのまま学習部42で使用することもできる。

0084

以上において、産業機械システム1を複数備えた製造システム(製造設備)を考えた場合、例えば、機械学習器2(4)は、産業機械システム1(1’)毎にそれぞれ設けられ、複数の産業機械システム1(1’)に設けられた複数の機械学習器2(4)は、例えば、通信媒体を介して相互にデータを共有または交換することが可能である。また、機械学習器2(4)は、クラウドサーバ上に存在させることも可能である。

0085

以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。

0086

1産業機械システム
2,4機械学習器
11産業機械(工作機械,ロボットなど)
12制御装置(CNC装置,ロボット制御装置など)
21,41 状態観測部
22,42 学習部
23報酬計算部
24価値関数更新部
25,45意思決定部
43誤差計算部
44誤差モデル更新部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

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

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

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

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

関連性が強い人物一覧

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

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

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

関連する公募課題一覧

astavision 新着記事

サイト情報について

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

主たる情報の出典

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