(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6720402
(24)【登録日】2020年6月19日
(45)【発行日】2020年7月8日
(54)【発明の名称】サーバ装置、学習済モデル提供プログラム、学習済モデル提供方法及び学習済モデル提供システム
(51)【国際特許分類】
G06N 20/00 20190101AFI20200629BHJP
【FI】
G06N20/00
【請求項の数】28
【全頁数】16
(21)【出願番号】特願2019-506582(P2019-506582)
(86)(22)【出願日】2017年3月21日
(86)【国際出願番号】JP2017011216
(87)【国際公開番号】WO2018173121
(87)【国際公開日】20180927
【審査請求日】2019年7月31日
【早期審査対象出願】
(73)【特許権者】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100105153
【弁理士】
【氏名又は名称】朝倉 悟
(74)【代理人】
【識別番号】100118876
【弁理士】
【氏名又は名称】鈴木 順生
(74)【代理人】
【識別番号】100202429
【弁理士】
【氏名又は名称】石原 信人
(74)【代理人】
【識別番号】100206243
【弁理士】
【氏名又は名称】片桐 貴士
(74)【代理人】
【識別番号】100114720
【弁理士】
【氏名又は名称】須藤 浩
(74)【代理人】
【識別番号】100177895
【弁理士】
【氏名又は名称】山田 一範
(74)【代理人】
【識別番号】100184583
【弁理士】
【氏名又は名称】上田 侑士
(74)【代理人】
【識別番号】100188662
【弁理士】
【氏名又は名称】浅見 浩二
(72)【発明者】
【氏名】河合 圭悟
(72)【発明者】
【氏名】比戸 将平
(72)【発明者】
【氏名】久保田 展行
(72)【発明者】
【氏名】田中 大輔
【審査官】
渡部 博樹
(56)【参考文献】
【文献】
国際公開第2015/138757(WO,A1)
【文献】
特表2016−526185(JP,A)
【文献】
特開2016−173623(JP,A)
【文献】
米国特許出願公開第2012/0284213(US,A1)
【文献】
特開2015−038709(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
予め学習された異なる特性の複数のモデルを記憶する少なくとも1つの記憶装置と、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
第1デバイスに関する情報を、前記第1デバイスから取得することと、
前記第1デバイスに関する情報に基づいて、前記複数のモデルから前記第1デバイスに送信するモデルを選択することと、
選択した前記モデルを、前記第1デバイスに送信することと、
を実行するように構成され、
前記複数のモデルのそれぞれは、デバイスデータを入力として、前記デバイスデータに関する推論結果を出力可能なニューラルネットワークからなるモデルであり、
前記デバイスデータは、少なくとも、センサデータ、音声データ又は画像データのいずれか1つを含み、
前記第1デバイスは、ピッキングを行うデバイスであって、
前記第1デバイスに関する情報は、ピッキングの環境又は条件に関する情報を含む、
サーバ装置。
【請求項2】
予め学習された異なる特性の複数のモデルを記憶する少なくとも1つの記憶装置と、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
第1デバイスに関する情報を、前記第1デバイスから取得することと、
前記第1デバイスに関する情報に基づいて、前記複数のモデルから前記第1デバイスに送信するモデルを選択することと、
選択した前記モデルを、前記第1デバイスに送信することと、
を実行するように構成され、
前記複数のモデルのそれぞれは、デバイスデータを入力として、前記デバイスデータに関する推論結果を出力可能なニューラルネットワークからなるモデルであり、
前記デバイスデータは、少なくとも、センサデータ、音声データ又は画像データのいずれか1つを含み、
前記第1デバイスは、物体を把持する装置であって、
前記第1デバイスに関する情報は、前記物体に関する情報を含む、
サーバ装置。
【請求項3】
前記第1デバイスに関する情報は、前記第1デバイスの環境に関する情報であり、
前記少なくとも1つのプロセッサは、前記複数のモデルから前記第1デバイスの環境に適合するモデルを選択する、
請求項1又は請求項2に記載のサーバ装置。
【請求項4】
前記少なくとも1つのプロセッサは、
サンプルデータを用いて、前記少なくとも1つの記憶装置に記憶されたモデルの追加学習を行うことと、
追加学習済モデルを前記少なくとも1つの記憶装置に記憶させることと、
を更に実行するように構成される
請求項1乃至請求項3の何れかに記載のサーバ装置。
【請求項5】
前記少なくとも1つのプロセッサは、
モデルに対して追加学習を行う機能を有する第3デバイスから送信された追加学習済モデルを受信することと、
受信した前記追加学習済モデルを前記少なくとも1つの記憶装置に記憶させることと、
を更に実行するように構成される
請求項1乃至請求項4の何れかに記載のサーバ装置。
【請求項6】
前記モデルを選択することは、
前記第1デバイスに関する情報に基づいて、前記複数のモデルに対する適合度を評価したスコアをそれぞれ算出することと、
前記スコアに基づいて、前記モデルを選択することと、
を含む請求項1乃至請求項5の何れかに記載のサーバ装置。
【請求項7】
前記モデルを選択することは、
モデルの選択のために、予め学習した学習済モデルを用いること、
を含む請求項1乃至6の何れかに記載のサーバ装置。
【請求項8】
第4デバイスに適合するモデルが前記少なくとも1つの記憶装置に記憶されていない場合、
前記少なくとも1つのプロセッサは、
前記第4デバイスで取得されたサンプルデータを用いて、モデルを新規に生成すること、
を更に実行するように構成される
請求項1乃至請求項7の何れかに記載のサーバ装置。
【請求項9】
少なくとも1つの記憶装置と、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
デバイスに関する情報を、サーバ装置に送信することと、
前記デバイスに関する情報に基づいて選択されたニューラルネットワークからなるモデルを、前記サーバ装置から受信することと、
デバイスデータを取得することと、
受信した前記モデルを用いて、前記デバイスデータに関する推論結果を取得することと、
を実行するように構成され、
前記デバイスデータは、少なくとも、センサデータ、音声データ又は画像データのいずれか1つを含み、
物体をピッキングするピッキング部、を更に備え、
前記デバイスに関する情報は、ピッキングの環境又は条件に関する情報を含む、
デバイス。
【請求項10】
少なくとも1つの記憶装置と、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
デバイスに関する情報を、サーバ装置に送信することと、
前記デバイスに関する情報に基づいて選択されたニューラルネットワークからなるモデルを、前記サーバ装置から受信することと、
デバイスデータを取得することと、
受信した前記モデルを用いて、前記デバイスデータに関する推論結果を取得することと、
を実行するように構成され、
前記デバイスデータは、少なくとも、センサデータ、音声データ又は画像データのいずれか1つを含み、
物体を把持する把持部、を更に備え、
前記デバイスに関する情報は、前記物体に関する情報を含む、
デバイス。
【請求項11】
前記デバイスに関する情報は、前記デバイスの環境に関する情報であり、
受信した前記モデルは、予め学習された異なる特性の複数のモデルの中から選択された前記デバイスの環境に適合するモデルである、
請求項9又は請求項10に記載のデバイス。
【請求項12】
前記少なくとも1つのプロセッサは、
サンプルデータを用いて、受信した前記モデルの追加学習を行うこと、
を更に実行するように構成される
請求項9乃至請求項11の何れかに記載のデバイス。
【請求項13】
前記少なくとも1つのプロセッサは、
追加学習済モデルを、前記サーバ装置に送信すること、
を更に実行するように構成される
請求項12に記載のデバイス。
【請求項14】
予め学習された異なる特性の複数のモデルを記憶する少なくとも1つの記憶装置と、少なくとも1つのプロセッサとを備えたサーバ装置によって実施される学習済モデル提供方法であって、
第1デバイスに関する情報を、前記第1デバイスから取得することと、
前記第1デバイスに関する情報に基づいて、前記複数のモデルから前記第1デバイスに送信するモデルを選択することと、
選択した前記モデルを、前記第1デバイスに送信することと、
を実行するようにし、
前記複数のモデルのそれぞれは、デバイスデータを入力として、前記デバイスデータに関する推論結果を出力可能なニューラルネットワークからなるモデルであり、
前記デバイスデータは、少なくとも、センサデータ、音声データ又は画像データのいずれか1つを含み、
前記第1デバイスは、物体をピッキングする装置であって、
前記第1デバイスに関する情報は、ピッキングの環境又は条件に関する情報を含む、
学習済モデル提供方法。
【請求項15】
予め学習された異なる特性の複数のモデルを記憶する少なくとも1つの記憶装置と、少なくとも1つのプロセッサとを備えたサーバ装置によって実施される学習済モデル提供方法であって、
第1デバイスに関する情報を、前記第1デバイスから取得することと、
前記第1デバイスに関する情報に基づいて、前記複数のモデルから前記第1デバイスに送信するモデルを選択することと、
選択した前記モデルを、前記第1デバイスに送信することと、
を実行するようにし、
前記複数のモデルのそれぞれは、デバイスデータを入力として、前記デバイスデータに関する推論結果を出力可能なニューラルネットワークからなるモデルであり、
前記デバイスデータは、少なくとも、センサデータ、音声データ又は画像データのいずれか1つを含み、
前記第1デバイスは、物体を把持する装置であって、
前記第1デバイスに関する情報は、前記物体に関する情報を含む、
学習済モデル提供方法。
【請求項16】
前記第1デバイスに関する情報は、前記第1デバイスの環境に関する情報であり、
前記少なくとも1つのプロセッサは、前記複数のモデルから前記第1デバイスの環境に適合するモデルを選択する、
請求項14又は請求項15に記載の学習済モデル提供方法。
【請求項17】
サンプルデータを用いて、前記少なくとも1つの記憶装置に記憶されたモデルの追加学習を行うことと、
追加学習済モデルを前記少なくとも1つの記憶装置に記憶させることと、
を更に実行する
請求項14乃至請求項16の何れかに記載の学習済モデル提供方法。
【請求項18】
モデルに対して追加学習を行う機能を有する第3デバイスから送信された追加学習済モデルを受信することと、
受信した前記追加学習済モデルを前記少なくとも1つの記憶装置に記憶させることと、
を更に実行する
請求項14乃至請求項17の何れかに記載の学習済モデル提供方法。
【請求項19】
前記モデルを選択することは、
前記第1デバイスに関する情報に基づいて、前記複数のモデルに対する適合度を評価したスコアをそれぞれ算出することと、
前記スコアに基づいて、前記モデルを選択することと、
を含む
請求項14乃至請求項18の何れかに記載の学習済モデル提供方法。
【請求項20】
前記モデルを選択することは、
モデルの選択のために学習した学習済モデルを用いること、
を含む
請求項14乃至請求項19の何れかに記載の学習済モデル提供方法。
【請求項21】
第4デバイスに適合するモデルが前記少なくとも1つの記憶装置に記憶されていない場合、
前記第4デバイスで取得されたサンプルデータを用いて、モデルを新規に生成すること、
を更に実行する
請求項14乃至請求項20の何れかに記載の学習済モデル提供方法。
【請求項22】
少なくとも1つの記憶装置と、少なくとも1つのプロセッサとを備えたデバイスによって実施される学習済モデル取得方法であって、
前記デバイスに関する情報を、サーバ装置に送信することと、
前記デバイスに関する情報に基づいて選択されたニューラルネットワークからなるモデルを、前記サーバ装置から受信することと、
デバイスデータを取得することと、
受信した前記モデルを用いて、前記デバイスデータに関する推論結果を取得することと、
を実行するようにし、
前記デバイスデータは、少なくとも、センサデータ、音声データ又は画像データのいずれか1つを含み、
前記デバイスは、物体をピッキングする装置であって、
前記デバイスに関する情報は、ピッキングの環境又は条件に関する情報を含む、
学習済モデル取得方法。
【請求項23】
少なくとも1つの記憶装置と、少なくとも1つのプロセッサとを備えたデバイスによって実施される学習済モデル取得方法であって、
前記デバイスに関する情報を、サーバ装置に送信することと、
前記デバイスに関する情報に基づいて選択されたニューラルネットワークからなるモデルを、前記サーバ装置から受信することと、
デバイスデータを取得することと、
受信した前記モデルを用いて、前記デバイスデータに関する推論結果を取得することと、
を実行するようにし、
前記デバイスデータは、少なくとも、センサデータ、音声データ又は画像データのいずれか1つを含み、
前記デバイスは、物体を把持する装置であって、
前記デバイスに関する情報は、前記物体に関する情報を含む、
学習済モデル取得方法。
【請求項24】
前記デバイスに関する情報は、前記デバイスの環境に関する情報であり、
受信した前記モデルは、予め学習された異なる特性の複数のモデルの中から選択された前記デバイスの環境に適合するモデルである、
請求項22又は請求項23に記載の学習済モデル取得方法。
【請求項25】
サンプルデータを用いて、受信した前記モデルの追加学習を行うこと、
を更に実行する
請求項22乃至請求項24の何れかに記載の学習済モデル取得方法。
【請求項26】
追加学習済モデルを、前記サーバ装置に送信すること、
を更に実行する
請求項25に記載の学習済モデル取得方法。
【請求項27】
予め学習された異なる特性の複数のモデルを記憶する少なくとも1つの記憶装置と、少なくとも1つのプロセッサとを備えたサーバ装置によって実行可能な命令を含む学習済モデル提供プログラムであって、前記命令が実行されると、前記サーバ装置に、
第1デバイスに関する情報を、前記第1デバイスから取得することと、
前記第1デバイスに関する情報に基づいて、前記複数のモデルから前記第1デバイスに送信するモデルを選択することと、
選択した前記モデルを、前記第1デバイスに送信することと、
を含む動作を行わせるものであり、
前記複数のモデルのそれぞれは、デバイスデータを入力として、前記デバイスデータに関する推論結果を出力可能なニューラルネットワークからなるモデルであり、
前記デバイスデータは、少なくとも、センサデータ、音声データ又は画像データのいずれか1つを含み、
前記第1デバイスは、物体を把持する装置であって、
前記第1デバイスに関する情報は、前記物体に関する情報を含む、
学習済モデル提供プログラム。
【請求項28】
少なくとも1つの記憶装置と、少なくとも1つのプロセッサとを備えたデバイスによって実行可能な命令を含む学習済モデル取得プログラムであって、前記命令が実行されると、前記デバイスに、
前記デバイスに関する情報を、サーバ装置に送信することと、
前記デバイスに関する情報に基づいて選択されたニューラルネットワークからなるモデルを、前記サーバ装置から受信することと、
デバイスデータを取得することと、
受信した前記モデルを用いて、前記デバイスデータに関する推論結果を取得することと、
を含む動作を行わせるものであり、
前記デバイスデータは、少なくとも、センサデータ、音声データ又は画像データのいずれか1つを含み、
前記デバイスは、物体を把持する把持部、を更に備え、
前記デバイスに関する情報は、前記物体に関する情報を含む、
学習済モデル取得プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、深層学習等による学習済みモデルを用いて判定・分類等の処理を行う産業上の装置に対して、低コストで学習済みモデルの導入及び最適化を行うための技術に関するものである。
【背景技術】
【0002】
従来、工作機械等のデバイスや完成品の異常検出装置等において、深層学習等によって生成された学習済みモデルを用いて作業対象の特定や異常検出処理等が行われてきた。これらのデバイスにおいては、それぞれのデバイスの作業環境・作業条件等に特化した学習を行うことで作業精度、異常検出精度の向上を図っている。
【0003】
このような学習済モデルを用いたデバイスとしては、例えば、特許文献1及び特許文献2が挙げられる。特許文献1に記載の進化型画像自動分類装置は、様々な特徴量から学習器によって画像を分類する装置であり、特許文献2に記載の金属の表面品質評価装置は、金属の表面を撮影した画像に基づいて学習器で金属の表面品質評価を行うための装置である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−213480号公報
【特許文献2】特開2011−191252号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1及び特許文献2を含め、機械学習等によって学習させた学習器を利用して判定・分類等を行う場合には、デバイスの作業環境・作業条件等に特化した学習器の構成を設定した上で学習を行う必要がある。そのような設定を行ってゼロから学習させて精度の高い判定・分類を行えるようになるまでには相当のコストを要する。そして、そのようにしてコストをかけて学習済モデルを得たとしても、作業環境・作業条件等が異なるデバイスにおいては同じ学習済モデルを使用することはできないので、また一から学習を行わせる必要があるという問題があった。
【0006】
これを解決するために、様々な作業環境・作業条件等に対応可能な汎用的な学習モデルを用意するという方法が考えられる。しかし、汎用的な学習モデルは様々な作業環境・作業条件等に対応できるため様々な状況に適用できるメリットがあるが、汎用であるがため、どのような各環境・条件においてはそれに特化したモデルと比べると精度が低くなるという問題があった。また、モデルの複雑性が増し、それを実現するために必要な情報量が大きくなってしまい、演算コストの増加、メモリコストの増加が生じてしまうという問題があった。さらには、各デバイス個体特有の特性をもつ場合、その個体差をも吸収するような汎用性を担保しなければいけないという問題もあった。
【0007】
本発明は、上記問題点に鑑みなされたものであり、環境・条件等の異なる様々なデバイスに対して最適な学習済モデルを選択して供給可能なサーバ装置、学習済モデル提供プログラム、学習済モデル提供方法及び学習済モデル提供システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係るサーバ装置は、学習済モデルを用いて処理を行う学習器を具備した少なくとも1以上のデバイスと通信ネットワークを介して通信可能なサーバ装置であって、様々なデバイスの環境、条件に合わせて予め学習を行った共有モデルを複数記憶させた記憶部と、前記デバイスから環境、条件の情報を含むデバイスデータを取得するデバイスデータ取得部と、取得したデバイスデータに基づいて当該デバイスに最適な共有モデルを選択する対象共有モデル選択部と、選択した共有モデルを当該デバイスに対して送信する送信部とを具備してなることを特徴とする。
【0009】
また、本発明に係るサーバ装置は、共有モデルの追加学習を行うためのサンプルデータを利用して共有モデルに対して追加学習を行う追加学習処理部と、追加学習済モデルを記憶して管理する追加学習済モデル管理部とを具備し、前記送信部は、共有モデルに対して追加学習を行った際には当該デバイスに対して追加学習済モデルを送信するようにしたことを特徴とする。
【0010】
また、本発明に係るサーバ装置は、前記対象共有モデル選択部は、デバイスデータ取得部において取得したデバイスデータの内容が、前記追加学習済モデル管理部によって記憶された他のデバイスに基づく追加学習済モデルを適用可能なものである場合には、共有モデルよりも当該追加学習済モデルを優先して選択するようにし、前記送信部は、選択された追加学習済モデルを当該デバイスに送信するようにしたことを特徴とする。
【0011】
また、本発明に係るサーバ装置は、共有モデルに対して追加学習処理を行う機能を有したデバイスから送信された追加学習済モデルを受信して記憶部に記憶させる追加学習済モデル管理部を備えたことを特徴とする。
【0012】
また、本発明に係るサーバ装置は、前記対象共有モデル選択部は、前記デバイスから得たデバイスデータに基づいて各共有モデルの当該デバイスに対する適合度を評価したスコアをそれぞれ算出し、そのスコアに従って共有モデルの選択を行うようにしたことを特徴とする。
【0013】
また、本発明に係るサーバ装置は、前記対象共有モデル選択部は、デバイスデータに基づいて機械学習を使って最適な共有モデルを選択すること予め学習した学習済モデルによって共有モデルを選択するようにしたことを特徴とする。
【0014】
本発明に係る学習済モデル提供プログラムは、学習済モデルを用いて処理を行う学習器を具備した少なくとも1以上のデバイスと通信ネットワークを介して通信可能なサーバ装置に学習済モデルの選択処理を実行させるための各機能を実現させるための学習済モデル提供プログラムであって、前記サーバ装置に、様々なデバイスの環境、条件に合わせて予め学習を行った共有モデルを記憶手段によって複数記憶させる記憶機能と、前記デバイスから環境、条件の情報を含むデバイスデータを取得するデバイスデータ取得機能と、取得したデバイスデータに基づいて当該デバイスに最適な共有モデルを選択する対象共有モデル選択機能と、選択した共有モデルを当該デバイスに対して送信する送信機能とを実現させることを特徴とする。
【0015】
本発明に係る学習済モデル提供方法は、学習済モデルを用いて処理を行う学習器を具備したデバイスに対して最適な学習済モデルを選択して提供する処理を実行するための学習済モデル提供方法であって、様々なデバイスの環境、条件に合わせて予め学習を行った共有モデルを記憶手段によって複数記憶させる記憶処理と、前記デバイスから環境、条件の情報を含むデバイスデータを取得するデバイスデータ取得処理と、取得したデバイスデータに基づいて当該デバイスに最適な共有モデルを選択する対象共有モデル選択処理と、選択した共有モデルを当該デバイスに対して送信する送信処理とを含むことを特徴とする。
【0016】
本発明に係る学習済モデル提供システムは、学習済モデルを用いて処理を行う学習器を具備した少なくとも1以上のデバイスと、前記デバイスと通信ネットワークを介して通信可能な少なくとも1以上のサーバ装置とを具備してなる学習済モデル提供システムであって、様々なデバイスの環境、条件に合わせて予め学習を行った共有モデルを少なくとも1以上記憶させた記憶部を前記サーバ装置及び/又はデバイスに備え、学習済モデルを必要とするデバイスから環境、条件の情報を含むデバイスデータを取得するデバイスデータ取得部と、取得したデバイスデータに基づいて当該デバイスに最適な共有モデルを検索して選択する対象共有モデル選択部とを前記サーバ装置に備え、選択された共有モデルを学習済モデルを必要とする前記デバイスに対して送信する送信部をサーバ装置及び/又はデバイスに備えていることを特徴とする。
【0017】
また、本発明に係る学習済モデル提供システムは、前記対象共有モデル選択部は、学習済モデルを必要とするデバイスから得たデバイスデータに基づいて各共有モデルの当該デバイスに対する適合度を評価したスコアをそれぞれ算出し、そのスコアに従って共有モデルの選択を行うようにしたことを特徴とする。
【0018】
また、本発明に係る学習済モデル提供システムは、前記デバイスは、共有モデルに対して追加学習処理を行う機能を有しており、前記サーバ装置は、前記デバイスから送信された追加学習済モデルを受信して記憶部に記憶させる追加学習済モデル管理部を備えており、前記サーバ装置の対象共有モデル選択部は、共有モデルに加えて追加学習済モデルも選択肢に含めて選択を行うようにしたことを特徴とする。
【0019】
また、本発明に係る学習済モデル提供システムは、前記デバイスは、共有モデルに対して追加学習処理を行う機能を有し、また、追加学習済モデルを記憶させる記憶部と、追加学習済モデルの選択に必要な情報を前記サーバ装置に送信する追加学習済モデル情報送信部とを備えており、前記サーバ装置の対象共有モデル選択部は、前記共有モデルに加えて前記デバイスの記憶部に記憶された追加学習済モデルも選択肢に含めて選択を行うようにしたことを特徴とする。
【発明の効果】
【0020】
本発明によれば、様々なデバイスの環境、条件に合わせて予め学習を行った共有モデルをその環境や条件に応じて分類されて複数記憶させたサーバ装置において最適な共有モデルを選択してデバイスに送信することで、上述したようなこれまでの汎用的な学習モデルを使った場合に対して、状況に合わせた高精度な判別/分類を実現しつつ、かつ学習モデルで表現する複雑性が減少するために演算およびメモリのコストは下げられるメリットがある。またデバイスで独自に学習済モデルを生成する場合に比較して導入コストを大幅に低減できるというメリットがある。また、追加学習処理機能を持たせることで、デバイスの環境・条件により特化した追加学習済モデルを得られるため、デバイスにおいて精度の高い推論処理を追加的に実施することが可能となる。この追加学習処理において、デバイスの環境・条件に応じて適切な共有モデルをベースに追加学習を行うことによって、転移学習と呼ばれる作用の効果を多く得ることができる。転移学習は、デバイスの環境・条件が全く同一ではない環境間において、他環境で作成した共有モデルの重みをうまく使うことによって、追加学習させたい環境で、効率よく学習を行うことを期待するものである。
また、追加学習済モデルをサーバ装置においても記憶させて管理するようにすることで、同一環境・条件の他のデバイスから要求があった時に、追加学習済モデルを即座に提供することが可能となる。これは、汎用的な学習モデルを利用する場合に比較して、追加学習のための演算コスト及びメモリコストを縮小することが可能となる。さらに、少なくとも1以上のデバイスと少なくとも1以上のサーバ装置とを具備してなる学習済モデル提供システムを構成することで、複数のサーバ装置及び/又はデバイスの記憶部に記憶された共有モデルから最適な共有モデルを選択してデバイスに提供することが可能となるため、より膨大なデータの選択肢の中から最適な共有モデルを選択可能となる。
【図面の簡単な説明】
【0021】
【
図1】本発明に係るサーバ装置10の構成を表したブロック図である。
【
図2】追加学習の学習処理の流れを示したフローチャート図である。
【
図3】デバイス20において推論処理を行うまでの流れを示したフローチャート図である。
【発明を実施するための形態】
【0022】
[第1の実施の形態]
以下、図面を参照しながら、第1の実施の形態に係るサーバ装置の例について説明する。
図1は、本発明に係るサーバ装置10の構成を表したブロック図である。サーバ装置10は、複数のデバイス201、202、・・・、20nと通信ネットワーク30を介して通信可能に接続されている。なお、サーバ装置10及びデバイス201〜20nは、専用マシンとして設計した装置であってもよいが、一般的なコンピュータによって実現可能なものであるものとする。この場合に、サーバ装置10及びデバイス201〜20nは、一般的なコンピュータが通常備えているであろうCPU(Central Processing Unit:中央演算処理装置)、GPU(Graphics Processing Unit:画像処理装置)、メモリ、ハードディスクドライブ等のストレージなどを適宜備えているものとする(図示省略)。また、これらの一般的なコンピュータを本例のサーバ装置10として機能させるためにプログラムよって各種処理が実行されることは言うまでもない。
【0023】
サーバ装置10は、デバイスデータ取得部11と、対象共有モデル選択部12と、追加学習処理部13と、追加学習済モデル管理部14と、記憶部15とを少なくとも備えている。
【0024】
デバイスデータ取得部11は、デバイス201〜20nの何れかにおいて生成されたデバイスの環境、条件の情報を含むデバイスデータを取得する機能を有する。ここで、デバイスデータとは、デバイスの環境、条件、データの単位等の属性を定義するために必要なデータ、追加で学習を行うために必要なラベル情報付のサンプルデータ、実際のデバイスにおけるセンサデータ、ネットワークのログデータなどデバイスで取得可能な様々なデータを含むものである。少なくとも、共有モデルを選択するために必要なデータを含んだデバイスデータである必要がある。具体的には、工場のロボットの位置データやアクチュエータトルク量、加速度センサデータ、車載カメラやレーザーレーダーなどで取得されるデプスを含むもしくは含まない画像データ、変位センサデータ、プロセスオートメーションの各種プロセスデータ、インフラや農業、バイオヘルスケアなどにおける各種データなどのセンサデータ、ネットワークのログデータや、正常品や異常品を含む製品の写真データや、音声データ、機械の種類、ワークの種類、センサの種類、地理的情報など、様々なデータがデバイスデータとして使用され得る。
【0025】
また、デバイスの環境、条件は、例えば、デバイスがピッキングを行う作業機械である場合であってピッキングの対象となるワーク形状の種類がいくつかに分かれているといった場合などのように、デバイスに要求される環境、条件等は個別に異なる。また、製品を異常品と正常品を判定する装置なのか、製品を複数項目に分類するための装置なのかなど、学習器に求められる機能もデバイスごとに異なる。そのため、デバイスごとに異なる個別の環境、条件等の情報をデバイスデータとして取得する必要がある。この環境、条件等の情報は、フォーマットに従ってデバイス側で入力されるものであってもよいし、様々なデータからサーバ装置10において判別して環境、条件等の情報を定義するようにしてもよい。その際には、取得したデータを用いて機械学習によって環境、条件等の情報の定義を特定する手法であってもよい。
【0026】
対象共有モデル選択部12は、デバイスデータ取得部11において取得したデバイスデータに基づいて、当該デバイスに最適な共有モデルを選択する機能を有する。ここで、共有モデルとは、様々なデバイスの環境、条件に合わせて予め学習を行ったモデルのことをいい、後述する記憶部15に複数の共有モデルを予め記憶させておく。予め行う学習の程度としてはどのような水準に設定してもよいが、少なくとも、デバイスでゼロから学習を行うよりも効率が良くコストダウンに寄与する程度に学習が行われているものであることが好ましい。この対象共有モデル選択部12における選択は、取得したデバイスデータに基づいて行うが、取得したデバイスデータのうち何れを共有モデルの選択のために利用するかは適宜決定可能なものである。また共有モデルの選択の方法は、デバイスデータの各項目の一致度から自動的に選択してもよいし、一致度の高い共有モデルを複数個複数個ユーザに提示してユーザに選択させるようにしてもよい。項目の一致度は、例えば、デバイスデータの各項目が一致するか否かを項目ごとに判定して、項目の一致数によって判定する。なお、デバイスの環境、条件等の定義にマッチした共有モデルが見つからない場合には、その定義に適したニューラルネットワークの構造からなる新規のモデルを生成するようにしてもよい。なお、対象となる共有モデルの選択方法は、予め設定した規則に基づいて共有モデルが選択される方法であってもよいし、最適な共有モデルを選択するための学習モデルを学習させた共有モデル選択についての学習済モデル(共有モデル及び追加学習済モデルとは異なる学習済モデルであり、共有モデルの選択行為を学習したもの)によって共有モデルを選択する方法であってもよい。
【0027】
また、対象共有モデル選択部12において最適な共有モデルを選択する手法として、前記デバイスから得た環境、条件をもとに各共有モデルに対して評価したスコアをそれぞれ算出し、そのスコアに従って選択を行うようにしてもよい。共有モデルの適合度の評価であるスコアは、機械の種類、ワークの種類、センサの種類、地理的情報などのベースとなる環境・条件についてのデバイスデータに加えて、工場のロボットの位置データやアクチュエータトルク量、加速度センサデータ、車載カメラやレーザーレーダーなどで取得されるデプスを含むもしくは含まない画像データ、変位センサデータ、プロセスオートメーションの各種プロセスデータ、インフラや農業、バイオヘルスケアなどにおける各種データなどのセンサデータ、ネットワークのログデータや、正常品や異常品を含む製品の写真データや、音声データなどのより詳細なデバイスデータを加味して評価を行う。これらの各項目をどのように評価してスコア化するかを予め設定しておき、共有モデルごとに項目毎の点数を合計した合計スコアを算出する。実際の共有モデルの選択は、最もスコアの高い共有モデルを自動的に選択するようにしてもよいし、スコアの高い共有モデルを複数個ユーザに提示してユーザに選択させるようにしてもよい。なお、適合度の評価であるスコアを算出して最適な共有モデルを選択するための学習モデルを学習させて学習済モデルによって共有モデルを選択する方法であってもよい。この場合、各デバイスデータをどのようにスコア化するかについても学習モデルが学習していくため、最適な共有モデルの選択が可能となる。
【0028】
追加学習処理部13は、対象共有モデル選択部12において選択された共有モデルに対して追加学習を行う機能を有する。共有モデルは、予め学習が行われているとはいえ、そのデバイスに特化した環境、条件での学習は行っていない状況であるため、高精度の判定、分類等を行うためには、追加の学習を行って微調整することが好ましい。そこで、デバイスデータ取得部11において、追加学習において入力データとして用いるためのサンプルデータを併せて取得し、取得したサンプルデータを用いて共有モデルの追加学習を行う。ここで追加学習においては、ニューラルネットワークの全層を対象にして重みを再学習することに限らず、一部をフリーズさせておいてそれ以外の層だけを学習しなおすことや、層をさらに追加することも含まれる。これにより、そのデバイスに特化した環境、条件での学習内容が追加されて、より最適なモデルとして微調整された追加学習済モデルを生成することができる。追加学習処理部13として機能するためには、学習器として機能するための構成がサーバ装置10に求められる。
【0029】
追加学習済モデル管理部14は、追加学習処理部13において生成された追加学習済モデルを後述する記憶部15に対して記憶させるとともに、対象となるデバイスに対して追加学習済モデルを送信する機能を有する。また、追加学習済モデルを条件の一致する他のデバイスで利用可能なように、その環境、条件等の定義情報を設定した上で管理する機能を有する。このように、追加学習済モデルに対しても環境、条件等の定義情報を定めておくことにより、対象共有モデル選択部12において、デバイスに適した共有モデルを選択する際に、他のデバイスに基づいて生成された追加学習済モデルについても選択肢の候補とすることが可能となる。
【0030】
記憶部15は、様々なデバイスの環境、条件に合わせて予め学習を行った複数の共有モデルを記憶させる機能を有する。また、共有モデルに対してデバイスに特化した環境、条件を学習させるためのサンプルデータを適用して学習させた追加学習済モデルについても、この記憶部15に記憶させる。なお、記憶部15は、必ずしもサーバ装置10にある必要はなく、デバイス側に具備されているようなシステムでもよい。その場合には、サーバ装置10において対象となる共有モデルが何れに格納されているかの情報を保持し、必要に応じて格納場所からデバイスに転送する。
【0031】
次に、サーバ装置10において共有モデルを選択し、追加学習を行うまでの処理の流れについて説明を行う。
図2に示すのは、追加学習の学習処理の流れを示したフローチャート図である。この
図2において、先ず、デバイスに適した共有モデルを選択するために、デバイスデータを収集する(S11)。具体的には、デバイス20から送信されるデバイスデータをデバイスデータ取得部11において受信してデバイスデータを収集する。収集したデバイスデータに基づいて、デバイスデータの属性を定義する(S12)。デバイスデータの属性とは、共有モデルを選択するために必要なデバイスの環境、条件等の情報であり、これを定義する。そして、定義したデバイスデータの属性に基づいて、共有モデルを検索する(S13)。このときの検索対象として、他のデバイスで追加学習を行って生成された追加学習済モデルも含めるようにしてもよい。検索の結果、該当する共有モデルが存在するか否かを判定する(S14)。該当する共有モデルが存在した場合には、当該共有モデルを選択して次のステップ(S16)に進み、該当する共有モデルが存在しなかった場合には、デバイス20の条件に一致したニューラルネットワークの構成からなる学習モデルを新規に生成して(S15)、次のステップ(S16)に進む。
【0032】
共有モデルを選択、若しくは、新規に学習モデルを生成した後に、その共有モデル若しくは新規学習モデルに対して、学習器によって追加の学習を実施する(S16)。追加の学習は、デバイス20から収集した追加学習を行うためのサンプルデータを利用して行う。追加学習の完了後、生成した追加学習済モデルを記憶部15に記憶させる(S17)。サーバ装置10は、この生成した追加学習済モデルをデバイス20に送信する。
【0033】
なお、デバイス20側において追加学習処理を行う機能を備えている場合や、選択された共有モデルが追加学習の必要のない状態でデバイス20の条件にマッチしている場合には、この
図2のステップ(S16)とステップ(S17)は省略して、選択された共有モデルをそのままデバイス20に送信することもあり得る。
【0034】
次に、デバイス20において共有モデルをダウンロードして、推論処理を行うまでの流れについて説明を行う。
図3に示すのは、デバイス20において推論処理を行うまでの流れを示したフローチャート図である。この
図3において、推論処理を行いたいデバイス20は、先ず、デバイスデータの収集を行う(S21)。収集したデバイスデータに基づいて、デバイスデータの属性を定義する(S22)。なお、このデバイスデータの属性の定義は、サーバ装置10側において行ってもよい。そして、デバイスデータを用いて最適な共有モデルを検索するために、サーバ装置10に対してデバイスデータを送信する(S23)。デバイスデータを受信したサーバ装置10では、最適な共有モデルの選択が行われ、必要に応じて追加学習が行われる。そして、デバイス20において、サーバ装置10で選択された共有モデル若しくは追加学習済モデルを学習器にダウンロードして記憶させる(S24)。最後に、デバイス20では、共有モデル若しくは追加学習済モデルを学習器に記憶させた状態において、デバイスデータを利用して学習器において推論処理を行って、出力データとしての推論結果を得る(S25)。
【0035】
出力データは、行う推論処理によって全く異なるものであるが、例えば、予定している行動の正しさの判定、部品の異常度の判定、システム異常度の判定、良品か不良品かの検査結果、映像に映ったオブジェクトの名前(分類処理)、映像に映った人物の人種、性別などの特徴、特定のルールに基づいて加工された写真、音声、文章などが出力データとして出力される。
【0036】
なお、デバイス20に側において追加学習処理を行う機能を備えている場合には、
図3のステップ(S24)の後で、共有モデルに対して追加学習を行うようにしてもよい。デバイス20側で追加学習を行った場合には、その追加学習済モデルをサーバ装置10にアップロードする構成とすれば、デバイス20側で追加学習を行った追加学習済モデルについても、他のデバイスで利用することが可能となる。
【0037】
図1の状態を例に本発明の具体的な運用例を説明すると、例えば、デバイス201がサーバ装置10に対してデバイスデータを送信して選択された共有モデルが「モデルA」であり、デバイス201のデバイスデータに含まれるサンプルデータに基づいて追加学習を行って得られた追加学習済モデルが「モデルA’」であったとする。また、デバイス202がサーバ装置10に対してデバイスデータを送信して選択された共有モデルが「モデルB」であり、デバイス202のデバイスデータに含まれるサンプルデータに基づいて追加学習を行って得られた追加学習済モデルが「モデルB’」であったとする。このように、デバイス201、202はそれぞれ、自身のデバイスの環境、条件等の情報を含むデバイスデータをサーバ装置10に送信するだけで最適かつ追加学習済みの学習済モデルを取得できるので、デバイス201、202において独自に学習済モデルを生成する場合に比較して導入コストを大幅に低減できるというメリットがある。
【0038】
また、
図1において、デバイス20nがサーバ装置10に対してデバイスデータを送信して共有モデルを要求したときに、デバイス20nのデバイスデータから定義される環境、条件等がデバイス201と同一であり、同じ学習済モデルを適用できるとサーバ装置10が判断した場合には、「モデルA」に基づいて追加学習を行うのではなく、追加学習済モデルである「モデルA’」をデバイス20nに送信すれば、デバイス20nでそのまま推論処理が可能となる。このように、同一環境、条件の他のデバイスに基づいて生成された追加学習済モデルが存在する場合には直接それを利用することが可能となるため、より一層導入コストを抑え、かつ、導入までの時間短縮が可能となる。また、汎用的な学習モデルを利用する場合に比較して、最適なニューラルネットワークのサイズを適用できるため、追加学習のための演算コスト及びメモリコストを縮小することが可能となる。
【0039】
また、同一工場内において扱う製品が変更されるような状況において、従来は製品が変わる度にゼロから学習を行う必要があったが、本発明のサーバ装置10によれば、扱う製品の変更のタイミングで最適な共有モデルを再度検索してダウンロードすればよいことになる。すなわち、同一のデバイス20における処理内容が変更されるような場合に最適な共有モデルの導入が容易であるというメリットがある。そして、同じ処理内容の他のデバイスによって追加学習済モデルが生成されていれば、追加学習処理の手間をかけることなる精度の高い推論処理を行える追加学習済モデルを即座に導入できるというメリットがある。このように、多数のデバイス201〜20nがサーバ装置10にアクセスして追加学習済モデルのデータが蓄積されていくという点も、本発明のサーバ装置10のメリットである。
【0040】
前記第1の実施の形態においては、共有モデルと追加学習済モデルとを分けて説明を行っていたが、学習の程度が異なるというだけで、どちらも学習済モデルであることには変わりがない。すなわち、他のデバイスから見たときに、学習の程度に応じて共有モデルと追加学習済モデルを適宜選択可能であれば、必ずしも、
図1の記憶部15のように、区別して記憶させておく必要はない。共有モデルや追加学習済モデルに対して検索時に最適なモデルを検索するための情報が付されていれば、同じ学習済モデルとして扱ってしまって差し支えないといえる。この場合には、追加学習済モデル管理部14がなくとも本発明のサーバ装置10が機能するといえる。
【0041】
前記第1の実施の形態においては、サーバ装置10に追加学習処理部13を設けていたが、これに限定されるものではなく、追加学習処理部13に相当する追加学習処理機能を各デバイス20側に設けるものであってもよい。この場合に、デバイス20側で生成した追加学習済モデルをサーバ装置10に送信する構成であってもよいが、追加学習済モデル全体はサーバ装置10には送信せずに、追加学習済モデルの選択に必要な情報のみをサーバ装置10に送信する構成であってもよい。他のデバイス20が同じ追加学習済モデルを必要としたときにだけ、サーバ装置10若しくは必要とするデバイス20に直接送信する構成とすることができる。これにより、サーバ装置10に必要なデータ領域を縮小することが可能となる。
【0042】
前記第1の実施の形態においては、
図1に示すように、1つのサーバ装置10と複数のデバイス201〜20nが通信ネットワーク30を介して接続される構成を例に説明を行ったが、これに限定されるものではなく、例えば、複数のサーバ装置10が格納された共有モデル(追加学習済モデルも含む)を相互に認識した状態で通信ネットワーク30を介して通信可能に構成することで、他のサーバ装置10から共有モデルを検索してデバイスに対して提供可能としてもよい。このように複数のサーバ装置と複数のデバイスからなる学習済モデル提供システムを構成することで、複数のサーバ装置10の何れかに記憶された共有モデルをデバイス20に対して提供可能となるため、より膨大なデータの選択肢の中から最適な共有モデルを選択可能となる。
【0043】
前記第1の実施の形態においては、追加学習処理部13における追加学習の対象データは、そのデバイスでのみ取得したデバイスデータを使って学習していたが、これにとどまる必要はなく、同一環境・条件の他のデバイスで取得したデータを使用したり、同一環境・条件の他のデバイスで生成した学習済モデルを使用して更新したりしてもよい。また、同一環境・条件の複数のデバイスにおいてそれぞれ生成された追加学習済モデルを混合して混合学習済モデルを生成するようにしてもよい。学習モデルの混合については、既知の様々な手法が適用可能である。
【産業上の利用可能性】
【0044】
本発明は、学習済モデルを用いた推論処理を必要とする分野であればどのような分野であっても適用可能な技術であり、学習済モデルのデータベースとして運用することが可能である。
【符号の説明】
【0045】
10 サーバ装置
11 デバイスデータ取得部
12 対象共有モデル選択部
13 追加学習処理部
14 追加学習済モデル管理部
15 記憶部
20、201〜20n デバイス
30 通信ネットワーク