(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024006959
(43)【公開日】2024-01-17
(54)【発明の名称】機械学習を利用したシステム、端末、サーバ、方法、及び、プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240110BHJP
G06F 9/50 20060101ALI20240110BHJP
【FI】
G06N20/00
G06F9/50 150C
【審査請求】有
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023070239
(22)【出願日】2023-04-21
(62)【分割の表示】P 2022106509の分割
【原出願日】2022-06-30
(11)【特許番号】
(45)【特許公報発行日】2023-12-14
(71)【出願人】
【識別番号】391021684
【氏名又は名称】菱洋エレクトロ株式会社
(74)【代理人】
【識別番号】110000523
【氏名又は名称】アクシス国際弁理士法人
(72)【発明者】
【氏名】村田 淳
(72)【発明者】
【氏名】青木 英介
(72)【発明者】
【氏名】越田 高広
(72)【発明者】
【氏名】菊田 敦
(72)【発明者】
【氏名】池田 彬
(72)【発明者】
【氏名】原 泰彦
(72)【発明者】
【氏名】藤井 浩
(72)【発明者】
【氏名】亀岡 瑶
(72)【発明者】
【氏名】平野 元洋
(72)【発明者】
【氏名】安部 仁也
(72)【発明者】
【氏名】村上 公介
(57)【要約】
【課題】複数の学習済みモデルを利用可能なシステムにおいて利便性を向上させる手段を提供することを目的とする。
【解決手段】
一側面において、以下の発明が提供される。
機能分散型人工知能プラットフォームシステムであって、
前記システムは、
機能分散型の形式で、複数の学習済みモデルを含むクラウドと、
前記複数の学習済みモデルの一部を選択して取得することが可能であり、尚且つ、前記学習済みモデルを実行することができるエッジ端末と、
前記エッジ端末にモニタリングデータを送信することが可能なモニタリングツールと、
を含む、システム。
【選択図】
図1
【特許請求の範囲】
【請求項1】
機能分散型人工知能プラットフォームシステムであって、
前記システムは、
機能分散型の形式で、複数の学習済みモデルを含むクラウドと、
前記複数の学習済みモデルの一部を選択して取得することが可能であり、尚且つ、前記学習済みモデルを実行することができるエッジ端末と、
前記エッジ端末にモニタリングデータを送信することが可能なモニタリングツールと、
を含む、システムであって、
前記システムは、少なくとも3段階の機能分散が含まれ、
1段階目の機能分散は、出力データの形式及び判断内容に応じた分散であり、
2段階目の機能分散は、データ処理の得意・不得意に応じた分散であり、
3段階目の機能分散は、入力データの形式及び性質に応じた分散である、
システム。
【請求項2】
請求項1のシステムであって、
前記エッジ端末は、プログラムを備え、
前記プログラムは、
・前記学習済みモデルを選択するためのインタフェースを表示するステップと、
・サンプルデータを、前記クラウドにアップロードするステップと、
・前記アップロードに応答して送信される前記クラウドからのデータを受信するステップであって、前記データは適切な学習済みモデルを抽出するために使用される、ステップと、
・学習済みモデルを取得するステップと
を実行する、システム。
【請求項3】
請求項1のシステムであって、
前記エッジ端末は、プログラムを備え、
前記プログラムは、
・前記学習済みモデルを選択するためのインタフェースを表示するステップと、
・ユーザからの操作に応答して、要求する学習済みモデルのプロパティ情報を受信するステップと、
・前記プロパティ情報を、前記クラウドにアップロードするステップと、
・前記アップロードに応答して送信される前記クラウドからのデータを受信するステップであって、前記データは適切な学習済みモデルを抽出するために使用される、ステップと、
・学習済みモデルを取得するステップと
を実行する、システム。
【請求項4】
請求項1のシステムであって、前記クラウドは、各学習済みモデルと関連づけられた各付随データを更に備え、
前記エッジ端末は、新たな学習済みモデル又はその差分を取得する際に、以前の学習済みモデルと関連づけられた付随データと、新たな学習済みモデルに関連づけられた付随データとの差分を取得するように構成される、システム。
【請求項5】
請求項1のシステムであって、前記エッジ端末は、学習モジュールを備え、
前記学習モジュールは、
学習用データを用いて、学習済みモデルを構築させるステップを実行する、
システム。
【請求項6】
請求項1のシステムであって、前記システムは、機械学習用サーバを更に備え、
前記機械学習用サーバは、学習モジュールを備え、
前記学習モジュールは、
学習用データを用いて、学習済みモデルを構築させるステップを実行する、
システム。
【請求項7】
請求項5又は6のシステムであって、
前記学習モジュールは、
構築された前記学習済みモデルを、当該学習済みモデルのプロパティ情報とともに、前記クラウドにアップロードするステップを、
実行する、
システム。
【請求項8】
請求項5のシステムであって、
前記学習モジュールは、
学習済みモデルのプロパティ情報と、第1の学習用データとの少なくともいずれかを、前記クラウドに送信するステップと、
前記クラウドから、第2の学習用データを受信するステップと、
前記第1の学習用データと前記第2の学習用データとを用いて学習済みモデルを構築させるステップと、
を実行するシステム。
【請求項9】
請求項6のシステムであって、
前記学習モジュールは、
学習済みモデルのプロパティ情報と、第1の学習用データとの少なくともいずれかを、前記クラウドに送信するステップと、
前記クラウドから、第2の学習用データを受信するステップと、
前記第1の学習用データと前記第2の学習用データとを用いて学習済みモデルを構築させるステップと、
構築された前記学習済みモデルを前記エッジ端末に直接又は前記クラウドを介して送信するステップと、
を実行するシステム。
【請求項10】
請求項1のシステムであって、
前記エッジ端末は、プログラムを備え、
前記プログラムは、
・前記学習済みモデルを選択するためのインタフェースを表示するステップと、
・ユーザからの操作に応答して、要求する学習済みモデルのプロパティ情報を受信するステップと、
・前記プロパティ情報を、前記クラウドにアップロードするステップと、
・前記アップロードに応答して送信される前記クラウドからのデータを受信するステップであって、前記データは適切な学習済みモデルを抽出するために使用される、ステップと、
・学習済みモデルを取得するステップと
を実行し、
前記クラウドは、学習済みモデルと、当該学習済みモデルの前記プロパティ情報との関連付け情報を記憶しており、
前記クラウドは、学習済みモデル配信モジュールを備え、前記学習済みモデル配信モジュールは、前記エッジ端末からの前記プロパティ情報と、前記関連付け情報に少なくとも基づいて、学習済みモデルの選択を行う、
システム。
【請求項11】
請求項1のシステムであって、
前記エッジ端末は、学習用データ提供モジュールを備え、前記学習用データ提供モジュールは、ユーザ識別情報と、学習用データと、当該学習用データのプロパティ情報とを、前記クラウドにアップロードするステップを実行し、
前記クラウドは、前記学習用データと、前記学習用データの前記プロパティ情報とを関連付けて記憶し、且つ、前記ユーザ識別情報を学習用データ提供者として記録し、
前記エッジ端末は、学習済モデル取得モジュールを備え、前記学習済モデル取得モジュールは、前記ユーザ識別情報を用いて前記クラウドにアクセスして、学習済モデル及び/又は学習用データの取得をリクエストするステップを実行する、
システム。
【請求項12】
請求項1のシステムに備えられるためのクラウドであって、
前記クラウドは、前記エッジ端末に、前記複数の学習済みモデルの一部を選択して送信することが可能である、クラウド。
【請求項13】
請求項2のシステムに備えられるためのクラウドであって、
前記クラウドは、プログラムを備え、
前記プログラムは、
・前記エッジ端末から送信される前記サンプルデータを、受信するステップと、
・前記サンプルデータに基づいてデータを送信するステップであって、前記データは適切な学習済みモデルを抽出するために使用される、ステップと、
・前記エッジ端末からのリクエストに応答して、学習済みモデルを送信するステップと
を実行する、クラウド。
【請求項14】
請求項3のシステムに備えられるためのクラウドであって、
前記クラウドは、プログラムを備え、
前記プログラムは、
・前記エッジ端末から送信される、前記要求する学習済みモデルの前記プロパティ情報を受信するステップと、
・前記プロパティ情報に基づいて前記データを送信するステップであって、前記データは適切な学習済みモデルを抽出するために使用される、ステップと、
・学習済みモデルを送信するステップと、
を実行する、クラウド。
【請求項15】
請求項4のシステムに備えられるためのクラウドであって、
前記クラウドは、新たな学習済みモデル又はその差分を前記エッジ端末に送信する際に、以前の学習済みモデルと関連づけられた付随データと、新たな学習済みモデルに関連づけられた付随データとの前記差分を送信するように構成される、
クラウド。
【請求項16】
請求項8のシステムに備えられるためのクラウドであって、
前記クラウドは、前記エッジ端末から、前記学習済みモデルの前記プロパティ情報と、前記第1の学習用データとの少なくともいずれかを受信し、
前記受信に基づいて、前記第2の学習用データを前記エッジ端末へ送信する、
クラウド。
【請求項17】
請求項9のシステムに備えられるためのクラウドであって、
前記クラウドは、前記エッジ端末から、前記学習済みモデルの前記プロパティ情報と、前記第1の学習用データとの少なくともいずれかを受信し、
前記受信に基づいて、前記第2の学習用データを前記エッジ端末へ送信する、
クラウド。
【請求項18】
請求項10のシステムに備えられるためのクラウドであって、
前記クラウドは、プログラムを備え、
前記プログラムは、
・前記エッジ端末から送信される、前記要求する学習済みモデルのプロパティ情報を受信するステップと、
・前記プロパティ情報に基づいて前記データを送信するステップであって、前記データは適切な学習済みモデルを抽出するために使用される、ステップと、
・学習済みモデルを送信するステップと
を実行する、クラウド。
【請求項19】
請求項11のシステムに備えられるためのクラウド。
【請求項20】
機能分散型人工知能プラットフォームシステムであって、
前記システムは、
機能分散型の形式で、複数の学習済みモデルを含むクラウドと、
前記複数の学習済みモデルの一部を選択して取得することが可能であり、尚且つ、前記学習済みモデルを実行することができるエッジ端末と、
前記エッジ端末にモニタリングデータを送信することが可能なモニタリングツールと、
を含む、システムであって、
前記クラウドは、各学習済みモデルと関連づけられた各付随データを更に備え、
前記エッジ端末は、新たな学習済みモデル又はその差分を取得する際に、以前の学習済みモデルと関連づけられた付随データと、新たな学習済みモデルに関連づけられた付随データとの差分を取得するように構成され、
前記付随データは、テーブル形式であり、
前記付随データは、以下のうちいずれか1以上を含む、システムであって、
・学習済みモデルに入力するデータを調節するための処理内容及びパラメータ
・学習済みモデルが出力した値に基づいて動作するための処理内容及びパラメータ
・学習済みモデルが行う処理に関連するパラメータ
・プロパティ情報のデータ
前記付随データは、学習済みモデルが出力した値に基づいて動作するための処理内容及びパラメータを少なくとも含む、システム。
【請求項21】
請求項20のシステムに備えられるためのクラウドであって、
前記クラウドは、新たな学習済みモデル又はその差分を前記エッジ端末に送信する際に、以前の学習済みモデルと関連づけられた付随データと、新たな学習済みモデルに関連づけられた付随データとの前記差分を送信するように構成される、
クラウド。
【請求項22】
請求項20のシステムに備えられるためのエッジ端末。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習を利用したシステム、端末、サーバ、方法、及び、プログラムに関する。
【背景技術】
【0002】
機械学習は、人工知能の一種であり、そして、経験からの学習により自動で改善するコンピュータアルゴリズムである。近年、コンピュータの計算速度の向上に伴い、急速に機械学習の応用範囲が拡大されている。
【0003】
サーバが学習済みモデルを生成して、別の端末に当該学習済みモデルを提供し、端末が、学習済みモデルを用いて入力データを処理する場合がある。特許文献1では、エッジデバイスにインストールされている旧学習済みモデルを新学習済みモデルにアップデートする学習済みモデルアップデートシステムが開示されている。また、特許文献1では、学習済みモデルのアップデート方法として、旧学習済みモデルを完全に置き換えるアップデートだけでなく、旧学習済みモデルとの差分だけを置き換えるパターンも言及している。
【0004】
特許文献2では、複数の学習済みモデルのリスト情報を受信する受信手段、及び、複数の学習済みモデルから学習済みモデルを選択する選択手段等を開示している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第6759472号公報
【特許文献2】特開2021-72600号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
機械学習利用増大、及び技術発展に伴い、現在では、1種類の学習済みモデルを利用するのではなく、複数の学習済みモデルを使い分けるケースが増大している。そこで、本開示は、複数の学習済みモデルを利用可能なシステムにおいて利便性を向上させる手段を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するための発明は、一側面において、以下の発明を包含する。
【0008】
(発明1)
機能分散型人工知能プラットフォームシステムであって、
前記システムは、
機能分散型の形式で、複数の学習済みモデルを含むクラウドと、
前記複数の学習済みモデルの一部を選択して取得することが可能であり、尚且つ、前記学習済みモデルを実行することができるエッジ端末と、
前記エッジ端末にモニタリングデータを送信することが可能なモニタリングツールと、
を含む、システム。
【0009】
(発明2)
発明1のシステムであって、
前記エッジ端末は、プログラムを備え、
前記プログラムは、
・前記学習済みモデルを選択するためのインタフェースを表示するステップと、
・サンプルデータを、前記クラウドにアップロードするステップと、
・前記アップロードに応答して送信される前記クラウドからのデータを受信するステップであって、前記データは適切な学習済みモデルを抽出するために使用される、ステップと、
・学習済みモデルを取得するステップと
を実行する、システム。
【0010】
(発明3)
発明1又は2のシステムであって、
前記エッジ端末は、プログラムを備え、
前記プログラムは、
・前記学習済みモデルを選択するためのインタフェースを表示するステップと、
・ユーザからの操作に応答して、要求する学習済みモデルのプロパティ情報を受信するステップと、
・前記プロパティ情報を、前記クラウドにアップロードするステップと、
・前記アップロードに応答して送信される前記クラウドからのデータを受信するステップであって、前記データは適切な学習済みモデルを抽出するために使用される、ステップと、
・学習済みモデルを取得するステップと
を実行する、システム。
【0011】
(発明4)
発明1~3いずれかのシステムであって、前記クラウドは、各学習済みモデルと関連づけられた各付随データを更に備え、
前記エッジ端末は、新たな学習済みモデル又はその差分を取得する際に、以前の学習済みモデルと関連づけられた付随データと、新たな学習済みモデルに関連づけられた付随データとの差分を取得するように構成される、システム。
【0012】
(発明5)
発明1~4いずれかのシステムであって、
前記エッジ端末は、プログラムを備え、
前記プログラムは、
複数の学習済みモデルを各々実行し、
各学習済みモデルからの判定結果の組み合わせに基づいて所定の動作を実行する、
システム、
あるいは、
前記プログラムは、
少なくとも1つの学習済みモデルを実行し、
前記モニタリングツールからデータを取得し、
学習済みモデルからの判定結果と、前記データの組み合わせに、少なくとも基づいて所定の動作を実行する、
システム。
【0013】
(発明6)
発明1~5いずれかのシステムであって、前記エッジ端末は、学習モジュールを備え、
前記学習モジュールは、
学習用データを用いて、学習済みモデルを構築させるステップを実行する、
システム。
【0014】
(発明7)
発明1~6いずれかのシステムであって、前記システムは、機械学習用サーバを更に備え、
前記機械学習用サーバは、学習モジュールを備え、
前記学習モジュールは、
学習用データを用いて、学習済みモデルを構築させるステップを実行する、
システム。
【0015】
(発明8)
発明6又は7のシステムであって、
前記学習モジュールは、
構築された前記学習済みモデルを、当該学習済みモデルのプロパティ情報とともに、前記クラウドにアップロードするステップを、
実行する、
システム。
【0016】
(発明9)
発明1~8いずれかのシステムであって、
前記エッジ端末は、第1学習済みモデルと、第2学習済みモデルと、第3学習済みモデルとを少なくとも備え、
前記第1学習済みモデルは、前記第2学習済みモデルからの出力値と、前記第3学習済みモデルからの出力値とを、少なくとも入力値として受信するように構成され、場合により、前記モニタリングツールからデータを入力値として受信するように構成されてもよく、
前記第2学習済みモデル及び前記第3学習済みモデルからの各出力値に対応する各入力値に対して、重みづけが設定され、
前記モニタリングツールからの入力値を受信する場合には、当該入力値に対しても重みづけが設定される、
システム。
【0017】
(発明10)
発明6のシステムであって、
前記学習モジュールは、
学習済みモデルのプロパティ情報と、第1の学習用データとの少なくともいずれかを、前記クラウドに送信するステップと、
前記クラウドから、第2の学習用データを受信するステップと、
前記第1の学習用データと前記第2の学習用データとを用いて学習済みモデルを構築させるステップと、
を実行するシステム。
【0018】
(発明11)
発明7のシステムであって、
前記学習モジュールは、
学習済みモデルのプロパティ情報と、第1の学習用データとの少なくともいずれかを、前記クラウドに送信するステップと、
前記クラウドから、第2の学習用データを受信するステップと、
前記第1の学習用データと前記第2の学習用データとを用いて学習済みモデルを構築させるステップと、
構築された前記学習済みモデルを前記エッジ端末に直接又は前記クラウドを介して送信するステップと、
を実行するシステム。
【0019】
(発明12)
発明1~11いずれかのシステムであって、
前記エッジ端末は、プログラムを備え、
前記プログラムは、
・前記学習済みモデルを選択するためのインタフェースを表示するステップと、
・ユーザからの操作に応答して、要求する学習済みモデルのプロパティ情報を受信するステップと、
・前記プロパティ情報を、前記クラウドにアップロードするステップと、
・前記アップロードに応答して送信される前記クラウドからのデータを受信するステップであって、前記データは適切な学習済みモデルを抽出するために使用される、ステップと、
・学習済みモデルを取得するステップと
を実行し、
前記クラウドは、学習済みモデルと、当該学習済みモデルの前記プロパティ情報との関連付け情報を記憶しており、
前記クラウドは、学習済みモデル配信モジュールを備え、前記学習済みモデル配信モジュールは、前記エッジ端末からの前記プロパティ情報と、前記関連付け情報に少なくとも基づいて、学習済みモデルの選択を行う、
システム。
【0020】
(発明13)
発明1~12いずれかのシステムであって、
前記エッジ端末は、学習用データ提供モジュールを備え、前記学習用データ提供モジュールは、ユーザ識別情報と、学習用データと、当該学習用データのプロパティ情報とを、前記クラウドにアップロードするステップを実行し、
前記クラウドは、前記学習用データと、前記学習用データの前記プロパティ情報とを関連付けて記憶し、且つ、前記ユーザ識別情報を学習用データ提供者として記録し、
前記エッジ端末は、学習済モデル取得モジュールを備え、前記学習済モデル取得モジュールは、前記ユーザ識別情報を用いて前記クラウドにアクセスして、学習済モデル及び/又は学習用データの取得をリクエストするステップを実行する、
システム。
【0021】
(発明14)
発明1のシステムに備えられるためのクラウドであって、
前記クラウドは、前記エッジ端末に、前記複数の学習済みモデルの一部を選択して送信することが可能である、クラウド。
【0022】
(発明15)
発明2のシステムに備えられるためのクラウドであって、
前記クラウドは、プログラムを備え、
前記プログラムは、
・前記エッジ端末から送信される前記サンプルデータを、受信するステップと、
・前記サンプルデータに基づいてデータを送信するステップであって、前記データは適切な学習済みモデルを抽出するために使用される、ステップと、
・前記エッジ端末からのリクエストに応答して、学習済みモデルを送信するステップと
を実行する、クラウド。
【0023】
(発明16)
発明2のシステムに備えられるためのエッジ端末。
【0024】
(発明17)
発明3のシステムに備えられるためのクラウドであって、
前記クラウドは、プログラムを備え、
前記プログラムは、
・前記エッジ端末から送信される、前記要求する学習済みモデルの前記プロパティ情報を受信するステップと、
・前記プロパティ情報に基づいて前記データを送信するステップであって、前記データは適切な学習済みモデルを抽出するために使用される、ステップと、
・学習済みモデルを送信するステップと、
を実行する、クラウド。
【0025】
(発明18)
発明3のシステムに備えられるためのエッジ端末。
【0026】
(発明19)
発明4のシステムに備えられるためのクラウドであって、
前記クラウドは、新たな学習済みモデル又はその差分を前記エッジ端末に送信する際に、以前の学習済みモデルと関連づけられた付随データと、新たな学習済みモデルに関連づけられた付随データとの前記差分を送信するように構成される、
クラウド。
【0027】
(発明20)
発明4のシステムに備えられるためのエッジ端末。
【0028】
(発明21)
発明5のシステムに備えられるためのエッジ端末。
【0029】
(発明22)
発明6のシステムに備えられるためのエッジ端末。
【0030】
(発明23)
発明7のシステムに備えられるための機械学習用サーバ。
【0031】
(発明24)
発明8のシステムに備えられるためのエッジ端末又は機械学習用サーバ。
【0032】
(発明25)
発明9のシステムに備えられるためのエッジ端末。
【0033】
(発明26)
発明10のシステムに備えられるためのクラウドであって、
前記クラウドは、前記エッジ端末から、前記学習済みモデルの前記プロパティ情報と、前記第1の学習用データとの少なくともいずれかを受信し、
前記受信に基づいて、前記第2の学習用データを前記エッジ端末へ送信する、
クラウド。
【0034】
(発明27)
発明10のシステムに備えられるためのエッジ端末。
【0035】
(発明28)
発明11のシステムに備えられるためのクラウドであって、
前記クラウドは、前記エッジ端末から、前記学習済みモデルの前記プロパティ情報と、前記第1の学習用データとの少なくともいずれかを受信し、
前記受信に基づいて、前記第2の学習用データを前記エッジ端末へ送信する、
クラウド。
【0036】
(発明29)
発明11のシステムに備えられるためのエッジ端末。
【0037】
(発明30)
発明12のシステムに備えられるクラウドであって、
前記クラウドは、プログラムを備え、
前記プログラムは、
・前記エッジ端末から送信される、前記要求する学習済みモデルのプロパティ情報を受信するステップと、
・前記プロパティ情報に基づいて前記データを送信するステップであって、前記データは適切な学習済みモデルを抽出するために使用される、ステップと、
・学習済みモデルを送信するステップと
を実行する、クラウド。
【0038】
(発明31)
発明13のシステムに備えられるためのクラウド。
【0039】
(発明32)
発明13のシステムに備えられるためのエッジ端末。
【発明の効果】
【0040】
一側面において、本開示のシステムのクラウドでは、機能分散型の形式で、複数の学習済みモデルを含む。これにより、ユーザの個別の事情に応じた学習済みモデルを利用することができる。
【図面の簡単な説明】
【0041】
【
図4】一実施形態における情報処理装置の構成を示す。
【
図5】一実施形態における情報処理装置の構成を示す。
【
図8】一実施形態における学習済みモデルの管理テーブルを示す。
【
図9】一実施形態における学習済モデルの取得のフローを示す。
【
図10】一実施形態における学習済モデルの使用のフローを示す。
【
図11】一実施形態における学習済モデルの取得のためのインタフェースを示す。
【
図12】一実施形態における学習済モデルの取得のフローを示す。
【
図13】一実施形態における学習済みモデルの管理テーブルを示す。
【
図14】一実施形態における学習済モデルの取得のフローを示す。
【
図15】一実施形態における学習済モデルの取得のためのインタフェースを示す。
【
図16】一実施形態における学習済モデルの取得のフローを示す。
【
図17】一実施形態における学習済みモデルに付随するデータの例を示す。
【
図18】一実施形態における学習済みモデルに付随するデータの例を示す。
【
図19】一実施形態における学習済みモデルからの判定結果の組み合わせに基づいて所定の動作を実行する例を示す。
【
図20】一実施形態における動作内容を決定するテーブルを示す。
【
図21】一実施形態におけるエッジ端末の学習のフローを示す。
【
図22】一実施形態における学習用サーバの学習のフローを示す。
【
図23】一実施形態における統合判断の概念を示す。
【
図24】一実施形態における統合判断の概念を示す。
【
図25】一実施形態におけるクラウドからの学習用データ取得のフローを示す。
【
図26】一実施形態における学習用データ群の管理テーブルを示す。
【
図27】一実施形態におけるエッジ端末等からクラウドへの学習用データの提供のフローを示す。
【
図28】一実施形態におけるクラウドからエッジ端末等への学習済みモデル取得のフローを示す。
【発明を実施するための形態】
【0042】
以下、本発明を実施するための具体的な実施形態について説明する。以下の説明は、本発明の理解を促進するためのものである。即ち、本発明の範囲を限定することを意図するものではない。
【0043】
1.応用分野
一実施形態において、本開示のシステム等は、様々な産業分野で使用することができる。即ち、機械学習を活用する産業分野において利用することができる。例えば、本開示のシステムは、以下の産業分野で利用可能である:生産ライン、建物内の管理(例えば、デパート、空港など)、工事現場などでの音声通信、データ分析等。
【0044】
2.システム構成
一実施形態において、本開示は、システムに関する。別の一実施形態において、本開示は、当該システムを構成する各要素に関する。当該システムを構成する要素は、クラウド(又はクラウドサーバ)、サーバ、端末、プログラム、及び、当該プログラムが記憶された非一時的記憶媒体を含む。また、別の一実施形態において、本開示は、これらのシステム、及び/又は、当該システムの構成要素を用いる方法に関する。
【0045】
一実施形態における、本開示のシステムの構成を、
図1に示す。ネットワークを通して、複数のエッジ端末が、クラウドサーバと接続されている。
図1においては、クラウドサーバは一台のハードウェアとして表現されているが、複数台の物理的なハードウェアに分散されてもよい。エッジ端末については、複数台の端末として表現されているが、理論上は一台の端末であってもよい。ただし、クラウドサーバを利用する場合は、複数のユーザが共同利用するケースが多いため、典型的には、システムは、複数のエッジ端末を有する。
【0046】
一実施形態における、本開示のシステムの構成を、
図2に示す。
図1のシステムとの違いは、クラウドサーバとは別のサーバが含まれている点が挙げられる。当該別のサーバは、例えば、学習用データを用いて、学習済みモデルを生成すること、追加学習を行うこと等を目的として設けてもよい。クラウドサーバと同様、
図2においては、サーバは一台のハードウェアとして表現されているが、複数台の物理的なハードウェアに分散されてもよい。
【0047】
また、サーバは、オンプレミスとして実装されてもよい。例えば、
図3に示すように、エッジ端末は、各顧客ユーザの所有するネットワーク(例えば、LAN、WAN等)ごとに対応して設けられてもよく、そして、同じネットワーク内に、各顧客の所有するオンプレミスのサーバが設けられてもよい。
【0048】
3.ハードウェア構成
上述したクラウドサーバ、学習用サーバ、エッジ端末などは、典型的な情報処理装置として実装される。具体的には、
図4に示すように、情報処理装置は、メモリ、プロセッサ、記憶媒体、通信モジュールを備えることができる。
【0049】
また、
図5に示すように、エッジ端末は、別途センサを更に備えてもよい。あるいは、図には示さないが、エッジ端末は、センサからの情報を取得可能なように、センサと接続されてもよい。この場合において、エッジ端末とセンサの接続は、直接的であってもよく、間接的であってもよい。直接的な接続の場合、両者は、例えば、USB等の接続規格で接続されてもよい。間接的な接続の場合、センサは、情報処理装置一部として搭載され、当該情報処理装置と、エッジ端末とが、USB等の接続規格、ネットワーク等を通して接続されてもよい。
【0050】
センサは、特に限定されず、例えば、以下の物が含まれる:人感センサ(例えば、ヒトの立ち入りを検出)、超音波センサ(例えば、対象物までの距離間異常を検出)、音センサ(例えば、感音、マイク等。異常音などにより異常を検知)、圧力センサ(例えば、容器等密閉空間内の圧力の異常な上昇などを検知)、電流及び/又は電圧センサ(例えば、装置の稼働状況を監視)、エンコーダ(例えば、ロータリエンコーダ、リニアエンコーダ、例えば、ロボットアームの関節部の角度異常の検出)、水分量センサ、ガスセンサ(例えば、O2/CO2センサ、臭気等)、光センサ(カメラ、赤外線センサ、照度センサ等も含む。例えば、熱、温度に関する異常を検出、暗室など光厳禁のエリアでの光漏れを検出、或いは、カメラなどでの異常物体の存在の認識)、湿度センサ、温度センサ、気圧センサ、ジャイロセンサ(例えば、建物や地面の傾きなどを検知)、磁気センサ、加速度センサ(例えば、地震や振動などの検知)等。
【0051】
一実施形態において、システムは、更にモニタリングツールを備える。当該モニタリングツールは、監視対象のデータを、エッジ端末に送信する役割を果たす。モニタリングツールは、情報処理装置として実装されてもよい。また、モニタリングツールは、センサを備えてもよい(センサの具体例は上述の通り)。モニタリングツールは、監視モジュールを備えてもよく、当該監視モジュールは、少なくとも部分的にプログラムとして実装されてもよい。監視モジュールは、例えば、スイッチング操作の履歴、ユーザのログイン履歴などの履歴をデータとして取得することができる。そして、このようなデータをエッジ端末に送信することができる。
【0052】
4.定義
【0053】
4-1.「機能分散型」
「機能分散型」とは、複数の機能を1つの学習済みモデルが担う形態ではなく、機能ごとに、複数の学習済みモデルが担う形態を意味する。「機能分散型」は、少なくとも2段階の機能分散が含まれる(
図6参照)。
【0054】
1つめは、出力データの形式及び判断内容に応じた分散である。例えば、同じ画像データ(例えば、100ピクセル×100ピクセルの画像データであって、1ピクセルにつき、RGBを0~255で表現する形式等)を入力として受信する学習済みモデルであっても、使用目的は様々である。使用目的の例として、ヒトの顔の認識を目的にするもの、生産ラインでの検品、自動運転、金型付着物検知などが挙げられる。そして、目的によって、異なる学習済みモデルが担う。
【0055】
2つめは、データ処理の得意・不得意に応じた分散である。例えば、同じ形式の出力データであっても、学習済みモデルによって、正解率が異なることがある。これは、学習済みモデルによって、得意・不得意があるためである。例えば、音声認識を例にとると、ノイズが全くない静かな環境での判定と、工事現場などでの大きな物質音がある環境での判定と、周囲の人の声がノイズとして存在する環境での判定とでは、同じ音声認識の学習済みモデル同士でも、正解率が分かれることがある。このような場合に、以下のように複数の学習済みモデルに得意分野を分散させることができる:(1)静かな環境での音声認識が得意な学習済みモデル、(2)工事現場などでの大きな物質音がある環境での音声認識が得意な学習済みモデル、(3)周囲の人の声がノイズとして存在する環境での音声認識が得意な学習済みモデル。
【0056】
また、
図6の例に示すように、同じ金型に対する認識であって(即ちインプット形式は同じ)、付着物の有無の判断を行う(同じアウトプット、即ち、付着物の有り無しの判断)ものであっても、金型の種類によって、学習済みモデルの得意不得意が分かれる。
【0057】
好ましい実施形態において、「機能分散型」は、少なくとも3段階の機能分散が含まれる(
図7参照)。この場合には、更に、入力データの形式及び性質に応じた分散が含まれる。例えば、画像データ、音声データ、センサなどによる記録データ、時系列データ、及び、文章等は、互いに入力データの形式を異にする。そして、こうした違いに応じて、異なる学習済みモデルが、入力データの処理を担う(例えば、画像認識、音声認識、データ認識、言語処理等)。
【0058】
4-2.「画像」
本明細書で述べる画像とは、特に断りがない限り、動画、及び静止画のいずれか1以上を含む。画像データについても同様であり、画像データは、動画データ、及び静止画データのいずれか1以上を含む。ファイル形式は特に限定されず、当分野で公知の形式であればよい(静止画のファイル形式の例として、JPG、GIF、PNG等、動画のファイル形式の例として、MP4等)。
【0059】
4-3.「音声」「音声認識」
また、本明細書で述べる音声とは、肉声、物質音、及び両者の混合物を含む。したがって、「音声認識」は、狭義では、人間の肉声の認識を意味するが、広義では、ヒト以外の肉声の認識(例えば、動物の鳴き声)、及び、物質音(乗り物のエンジン音等)の認識も含む。また、音声データのファイル形式は特に限定されず、当分野で公知の形式であればよい(例えば、MP3等)。
【0060】
4-4.「クラウド」
特記しない限りは、本明細書における用語「クラウド」は、「クラウドサーバ」と相互置換可能に使用される。したがって、実態としては、物理的な情報処理装置又はそのクラスタ構成された集合体を指す。典型的には、「クラウド」は、PaaS又はそれ以上(SaaS)のサービスを提供することができる。
【0061】
4-5.「学習用データ」
学習用データは、学習済みモデルを生成するために必要となるデータである。例えば、学習用データは、ラベル付けがされてもよい(例えば、画像データに所定の情報がラベル付けされており、所定の情報には、OKかNGかの情報が含まれる)。
【0062】
4-6.「モジュール」
モジュールは、特記しない限りは、ハードウェアとして実装されてもよく、ソフトウェアとして実装されてもよく、或いはその組み合わせとして実装されてもよい。例えば、通信モジュールは、Ethnernet(登録商標)ボードによって実装されてもよい。また、本開示のいくつかの本実施形態において実行されるステップはプログラムによって実装されてもよい。
【0063】
5.機能分散型人工知能プラットフォームシステム
一実施形態において、本開示は、機能分散型人工知能プラットフォームシステムに関する。当該システムは
機能分散型の形式で、複数の学習済みモデルを含むクラウドと、
複数の学習済みモデルの一部を選択して取得することが可能であり、尚且つ、学習済みモデルを実行することができるエッジ端末と、
エッジ端末にモニタリングデータを送信することが可能なモニタリングツールと
を含む。
【0064】
別の一実施形態において、本開示は、上記システムのクラウド、エッジ端末等に関する。あるいは、別の一実施形態において、本開示は、上記システム、クラウド、エッジ端末のいずれかを使用する方法に関する。別の一実施形態において、本開示は、上記システム、クラウド、エッジ端末のいずれかで動作するためのプログラム、及び、当該プログラムが記憶された媒体に関する。
【0065】
5-1.クラウド
クラウドには、機能分散型の形式で複数の学習済みモデルが記憶されており、多種多様なユーザのニーズに沿って、適切な学習済みモデルを提供することができる。
図6では、金型付着物検知、顔認証、生産ライン検品、自動運転などの例が開示されているが、提供する学習済みモデルの機能は、これらに限定されない。また、
図7では、画像認識、音声認識、データ認識、言語処理などの例が開示されているが、提供する学習済みモデルの機能は、これらに限定されない。
【0066】
複数の学習済みモデルを管理するため、クラウドに記憶される学習済みモデルは、学習済みモデルを特定するための識別子が割り当ててもよい。クラウドは、当該学習済みモデルの記憶アドレスと、当該学習済みモデルの識別子をペアで記憶した管理データ(例えば、テーブル、
図8)を記憶してもよい。
【0067】
また、学習済みモデルをデータとして記憶するため形式は、特に限定されず、当分野で公知の形式であればよい。一例をあげると、ニューラルネットワークの構造(例えば、層の数、ノードの数、活性化関数の定義等)と、パラメータ(例えば、各ノード間の重みづけ等)を定義したファイルを記憶してもよい。ファイルの内容は、テキスト形式でもよく、バイナリ形式であってもよい。
【0068】
また、学習済みモデルは、広義では機械学習を利用したモデルであるが、典型的には、深層学習を利用したニューラルネットワークであってもよい。深層学習を利用したニューラルネットワークの種類も特に限定されず、DNN、CNN、RNN、LSTM、GAN等、当分野で公知のネットワークを利用することができる。また、ニューラルネットワーク以外の例としては、線形回帰、ロジスティック回帰等の統計モデル等が挙げられる。
【0069】
また、好ましい実施形態において、クラウドは、学習用データを用いて学習させて学習済みモデルを生成するための学習モジュールを備えてもよい。また、クラウドは、学習済みモデルを配信するための学習済みモデル配信モジュールを備えてもよい。また、クラウドは、学習用データを記憶してもよい。
【0070】
5-2.エッジ端末
エッジ端末は、例えば、
図1、
図2、
図3等に示すように、ネットワークを通して、クラウドと通信可能に接続される。
【0071】
エッジ端末は、学習済みモデル取得モジュール、学習済みモデル実行モジュール等を備える。学習済みモデル取得モジュールは、接続先のクラウド及び/又はクラウドとは別のサーバに記憶されている複数の学習済みモデルの中から、特定の学習済みモデルを選択して取得するためのプログラムである。また、学習済みモデル実行モジュールは、取得した学習済みモデルを用いて、判定を行うためのプログラムである。例えば、学習済みモデル実行モジュールは、入力データを、取得した学習済みモデルにインプットし、学習済みモデルから出力データを取得することができる。
【0072】
5-3.モニタリングツール
モニタリングツールは、センサから取得された測定値をデジタル化し、そして、エッジ端末に送信することができる。また、モニタリングツールは、センサ以外からのデータ(例えば、操作ログなどの監視データ等)をデジタル化し、そして、エッジ端末に送信することができる。なお、モニタリングツールとエッジ端末は、物理的に同一のハードウェア内で実装されてもよく、或いは、別々のハードウェアで実装されてもよい。
【0073】
5-4.学習済モデルの取得
図9を参照しながら、学習済モデルの取得の処理を説明する。エッジ端末の学習済みモデル取得モジュールは、クラウドと通信し、学習済みモデルを特定するための識別子の情報とともに、学習済みモデル取得のリクエストを送信することができる(
図9のステップ10)。
【0074】
好ましくは、クラウドは、選択可能な学習済みモデルのリストの情報(学習済みモデルを特定するための識別子の情報を含む)を、予めエッジ端末に送信することができる。そして、エッジ端末の学習済みモデル取得モジュールは、インタフェース(例えば、ディスプレイ表示)を通して、選択可能な学習済みモデルのリストを表示することができる。ユーザがリストを選択する動作を行うと、エッジ端末の学習済みモデル取得モジュールは、クラウドと通信し、学習済みモデルを特定するための識別子の情報とともに、学習済みモデル取得のリクエストを送信してもよい。
【0075】
エッジ端末からのリクエストを受信すると、クラウドの学習済みモデル配信モジュールは、エッジ端末に対して、学習済みモデルの配信を行う(
図9のステップ20)。
【0076】
エッジ端末の学習済みモデル取得モジュールは、配信された学習済みモデルをインストールする。既存の学習済みモデルが存在する場合、新たな学習済みモデルに置換(例えば、更新)してもよく、或いは、既存の学習済みモデルを残したまま、新たな学習済みモデルを追加してもよい(30)。
【0077】
5-5.学習済モデルの使用
図10を参照しながら、エッジ端末が学習済モデルを利用して種々の判定を行う処理を説明する。エッジ端末は、まずモニタリングツールからデータを取得する(
図10のステップ10)。エッジ端末の学習済みモデル実行モジュールは、データを、学習済みモデルに入力する(
図10のステップ20)。その後、エッジ端末の学習済みモデル実行モジュールは、学習済みモデルの出力値を取得する(
図10のステップ30)。
【0078】
好ましい実施形態において、
図10のステップ10と
図10のステップ20の間で、学習済みモデル実行モジュールは、入力されるデータを加工及び/又は調整したうえで、学習済みモデルに入力してもよい。例えば、画像認識の分野の場合であれば、学習済みモデル実行モジュールは、画像を2値化する加工、輪郭等を強調する補正、特定の色彩を除去する補正などを実行してもよい。例えば、音声認識の分野の場合であれば、学習済みモデル実行モジュールは、特定の周波数の音を除去、物質音の除去などを実行してもよい。
【0079】
別の好ましい実施形態において、
図10のステップ30の後で、学習済みモデル実行モジュールは、学習済みモデルの出力に基づいて所定のアクションを実行してもよい。例えば、異常検知を判定する学習済みモデルの場合であれば、学習済みモデル実行モジュールは、アラート通知を送信する処理を実行してもよい。
【0080】
以上のようなシステム構成及び処理により、個々のユーザにとって都合のよい学習済みモデルを選択して利用することができる。
【0081】
5-6.機能分散型の意義
重要なのは、クラウドが、機能分散型の形式で複数の学習済みモデルを備える点である。理想としては、ユーザが活用する学習済みモデルの種類が少ない方が望ましい。例えば、自動運転の判断をする学習済みモデルであれば、夜間、雨、晴れの日、逆光などあらゆる条件で、1種類の学習済みモデルで十分であれば理想的である。例えば、音声を認識する学習済みモデルであれば、静かな環境、騒音のひどい環境(例えば、工事現場、飛行場など)、他人の会話がバックグラウンドで流れるような環境など多種多様な環境で、1種類の学習済みモデルで十分であれば理想的である。
【0082】
しかし、実際には条件及び/又は環境が変わると、学習済みモデルの出す判定の正解率が下がるケースが多い。そして、不得意な部分について学習を図ると、結果として、得意な部分についての判定の正解率が損なわれる可能性もある。
【0083】
一実施形態において、本開示のクラウドは、機能分散型の形式で複数の学習済みモデルを備える。これにより、同じ内容の判定を行うケースであっても、詳細な条件及び/又は環境に応じて、更に適切な学習済みモデルを使い分けることができる。
【0084】
これにより、ユーザにとっては、条件及び/又は環境の変化が原因となって正解率が低下するという問題を低減することが可能となる。
【0085】
6.学習済みモデルの選択1(自動選択)
更なる実施形態において、エッジ端末は、学習済みモデル取得モジュールを備える。当該モジュールは、プログラムによって実装されてもよい。
プログラムは、
・学習済みモデルを選択するためのインタフェースを表示するステップと、
・サンプルデータを、クラウドにアップロードするステップと、
・アップロードに応答して送信されるクラウドからのデータを受信するステップであって、データは適切な学習済みモデルを抽出するために使用される、ステップと、
・学習済みモデルを取得するステップと
を実行することができる。
【0086】
クラウドには多種多様な学習済みモデルが含まれている。したがって、エッジ端末から、特定の学習済みモデルを取得するためには、マッチングを行うための手段を実装することが好ましい。学習済みモデル取得モジュールは、そのためのインタフェースを表示する。
【0087】
図6、
図7、
図11、
図12、
図13、
図14等に言及しながら、インタフェースの例を示す。まず、エッジ端末は、予めモニタリングツールから取得されたデータをローカルに保存する(
図12のステップ10)。
図11の例では、モニタリングツールは、金型の状況をカメラで撮影するツールであり、デジタル化した金型の写真データがエッジ端末に予め保存されている。
【0088】
学習済みモデル取得モジュールは、ユーザからの操作等に応答して、金型の写真データをサンプルデータとしてクラウドにアップロードする(
図12のステップ20)。例えば、
図11の例では、参照ボタンをクリックすることで、ユーザは、フォルダ内の画像データを参照し、選択することができる。これに応答して、
図11内の写真の欄に、選択した金型の写真データが表示される。好ましくは、必要となる学習済みモデルのタイプを選択して、当該選択された情報もアップロードする。
図11の例では、プルダウン形式で、学習済みモデルのタイプを選択して、「金型付着物検出」が選択されている。
【0089】
更に、学習済みモデル取得モジュールは、ユーザからのアップロードボタンのクリックする操作に応答して、当該写真データを、クラウドに送信する。好ましくは、学習済みモデル取得モジュールは、必要となる学習済みモデルのタイプを指定する情報も、更にクラウドに送信する。
【0090】
次にクラウドは、送信されたサンプルデータに基づいて、データのプロパティを判定する(
図12のステップ30)。このため、クラウドは、学習用データ解析モジュールを備える。学習用データ解析モジュールは、サンプルデータの特性を分析するための機能を備える。例えば、学習用データ解析モジュールは、サンプルデータのファイルの種類(例えば、画像データ、音声データ、チャートデータ等)の判断を行うことができる。さらには、学習用データ解析モジュールは、サンプルデータの特性の判断を行うことができる。例えば、
図11の例では、金型成型品の色、金型の形、シングル・マルチ成型といった特性を判別することができる。
【0091】
サンプルデータのファイルの種類の判別は、ファイルの拡張子等の判別も含め、公知の手段により可能である。
【0092】
また、サンプルデータの特性の判断については、例えば、学習済みモデルを設けることで判別することが可能となる。一例として、機能分散型の定義の項で述べた2つめの特性を判別するための学習済みモデルを予め設けてもよい。
図6及び
図7の例においては、「黒色金型付着物検知」、「白色金型付着物検知」、「2個造形金型付着物検知」、「4個造形金型付着物検知」といった判定が、学習済みモデルにおいてなされる。
【0093】
クラウドの学習用データ解析モジュールは、当該判定結果に基づいて、候補となる学習済みモデルを、クラウド内の複数の学習済みモデルの中から選択してもよい(
図12のステップ40)。選択する仕組みについては特に限定されないが、クラウドは、学習済みモデルと、当該学習済みモデルのプロパティ情報との関連付け情報を備えてもよい。例えば、
図13に示すように、管理テーブルを用いて検索するようにしてもよい。この場合には、テーブルにおいて、学習済みモデルに対応するプロパティが記憶されている。そして、学習用データ解析モジュールの判定結果を用いてマッチする学習済みモデルが抽出される。
【0094】
また、変形例としては、クラウドの学習用データ解析モジュールは、判定結果を出力する際に1つのプロパティ又は学習済みモデルだけに絞るのではなく、確率などを伴いながら複数の判定結果を出力しておよい。例えば、
図6及び
図7の例においては、「黒色金型付着物検知」が10%、「白色金型付着物検知」が20%、「2個造形金型付着物検知」が30%、「4個造形金型付着物検知」が40%といった判定を出力してもよい。
【0095】
その場合には、抽出されたそれぞれの4種類のプロパティごとに、候補となる学習済みモデルを抽出してもよい。ただし、ユーザにとってどれが最もお勧めとなる学習済みモデルかが分かるよう、エッジ端末を通してユーザに提示する際には、各々の確率の高さを優先順位に反映させてもよい。
【0096】
学習済みモデルを選択した後は、クラウドの学習用データ解析モジュールは、選択された学習済みモデルのリストをエッジ端末に送信してもよい(
図12のステップ50)。好ましい実施形態において、クラウドの学習用データ解析モジュールは、サンプルデータの判定結果を併せて送信してもよい。
【0097】
エッジ端末の学習済みモデル取得モジュールは、インタフェースを通して、選択された学習済みモデルを表示してもよい(
図14のステップ10)(
図11の右端の学習済みモデルのリストの欄参照)。確率を伴った複数のプロパティに基づいて学習済みモデルを抽出した際には、その確率に基づいて、優先順位をつけて表示してもよい。また、好ましい実施形態において、エッジ端末の学習済みモデル取得モジュールは、インタフェースを通して、サンプルデータの判定結果を表示してもよい(
図11のプロパティの欄参照)。
【0098】
ユーザの操作に応答して、エッジ端末の学習済みモデル取得モジュールは、指定された学習済みモデルを得るためのリクエストを行う。例えば、
図11に示すように、ユーザが欲しい学習済みモデルにチェックを入れ、取得をクリックすることで、リクエストが実行される。この際には、エッジ端末の学習済みモデル取得モジュールは、クラウドの学習済みモデル配信モジュールに、学習済みモデルを特定する識別子とともにリクエストを送信することができる(
図14のステップ20)。その後、エッジ端末は、新たな学習済みモデルを取得する(
図14のステップ30)。
【0099】
新しい対象についての判別を行う際に、どのような学習済みモデルを選択すればよいか、ユーザにとって想像がつかないケースがある。こうした場合であっても、上記の構成により、ユーザは、適切な学習済みモデルを選択して利用することができる。
【0100】
7.学習済みモデルの選択2(ユーザによるプロパティ指定)
更なる実施形態において、エッジ端末は、学習済みモデル取得モジュールを備える。当該モジュールは、プログラムによって実装されてもよい。
プログラムは、
・学習済みモデルを選択するためのインタフェースを表示するステップと、
・ユーザからの操作に応答して、要求する学習済みモデルのプロパティ情報を受信するステップと、
・プロパティ情報を、クラウドにアップロードするステップと、
・アップロードに応答して送信されるクラウドからのデータを受信するステップであって、データは適切な学習済みモデルを抽出するために使用される、ステップと、
・学習済みモデルを取得するステップと
を実行することができる。
【0101】
クラウドには多種多様な学習済みモデルが含まれている。したがって、エッジ端末から、特定の学習済みモデルを取得するためには、マッチングを行うための手段を実装することが好ましい。学習済みモデル取得モジュールは、そのためのインタフェースを表示する。
【0102】
図15、及び
図16等に言及しながら、インタフェースの例を示す。まず、エッジ端末は、マッチングを行うための手段として、学習済みモデルに関連づけされたプロパティ情報を検索条件として受け付けるインタフェースを提供することができる。例えば、
図15の例では、金型を判別する学習済みモデルの選択に関するインタフェースを示す。ここでは、色、及び、一度に成型できる数の組み合わせが検索条件として表示される。ユーザからの操作に応じて、特定の検索条件が指定できる。
図15ではチェックボックスを通して検索条件が指定される(
図16のステップ10)。
【0103】
「この条件で検索」をクリックした後は、学習済みモデル取得モジュールは、クラウドに接続して、検索条件として指定されたプロパティ情報をアップロードすることができる(
図16のステップ20)。
【0104】
クラウドの学習済みモデル配信モジュールは、上記プロパティ情報を受信する。クラウドの学習済みモデル配信モジュールは、プロパティ情報に基づいて、プロパティ情報にマッチする候補となる学習済みモデルを抽出することができる(
図16のステップ30)。選択する仕組みについては特に限定されないが、例えば、
図13に示すように、管理テーブルを用いて検索するようにしてもよい。この場合には、テーブルにおいて、学習済みモデルに対応するプロパティが記憶されている。そして、エッジ端末から送信されたプロパティ情報を用いてマッチする学習済みモデルが選択される。
【0105】
学習済みモデルを選択した後は、クラウドの学習済みモデル配信モジュールは、選択された学習済みモデルのリストをエッジ端末に送信してもよい(
図16のステップ40)。
【0106】
その後のエッジ端末の動作は、セクション「
6.学習済みモデルの選択1」で説明した方法と同様の方法を実行することで、学習済みモデルを取得することができる(例えば、
図14のフローに示すように)。
【0107】
8.アップロード及び/又はダウンロードの軽量化
一実施形態において、本開示のシステムでは、クラウトとエッジ端末との間で、ダウンロード、及び/又は、アップロードするデータの軽量化を実現することができる。
【0108】
一実施形態において、クラウドは、各学習済みモデルと関連づけられた各付随データを更に備え、
エッジ端末は、新たな学習済みモデル又はその差分を取得する際に、以前の学習済みモデルと関連づけられた付随データと、新たな学習済みモデルに関連づけられた付随データとの差分を取得するように構成される。
【0109】
前記クラウドは、複数の学習済みモデルだけでなく、各学習済みモデルと関連づけられた付随データを更に備えることができる。この付随データは、1つの学習済みモデルごとに設けられる。当該付随データの内容は特に限定されないが、例示として以下の内容が挙げられる。
・学習済みモデルに入力するデータを調節するための処理内容(例えば、サブルーチン、アプリケーション等を含む)及びパラメータ
・学習済みモデルが出力した値に基づいて動作するための処理内容(例えば、サブルーチン、アプリケーション等を含む)及びパラメータ
・学習済みモデルが行う処理に関連するパラメータ
・プロパティ情報のデータ
【0110】
こうしたデータの保存形式は特に限定されず、例えば、テーブル形式であってもよい。また、本明細書で述べる「テーブル」の形式は、典型的には、2次元であるが、必要に応じて、3次元又はそれ以上であってもよい。
【0111】
学習済みモデルに入力するデータを調節するための処理内容及びパラメータの例を
図17に示す。
図17では、処理内容とパラメータが同一のテーブル内で表現されているが、それぞれ別のテーブルで管理されてもよい。
【0112】
図17では、画像認識、音声認識、データ認識の例を示す。例えば、画像データを予め2値化しておく必要がある場合には、所定のパラメータを基準として、各ピクセルを0か1に設定する処理を行い、2値化したデータを学習済みモデルに入力するケースもある。その場合、境界値となるパラメータによって、学習済みモデルの成績が変わる可能性がある。このような場合には、学習済みモデルの配信と併せて、
図17に示すデータをエッジ端末に送信することが好ましい。エッジ端末は、当該付随データに基づいて入力データを予め処理することができる。
【0113】
他の例では、音声認識においては、マイクの指向性(単一なのか、多方向なのか)によって、得られる音声データが異なってくる。そして、学習済みモデルにおける音声認識の成績にも影響を及ぼし得る。学習済みモデルごとに適切な設定がありうるため、新たな学習済みモデルを取得する際には、こうしたパラメータや処理内容のデータを併せて取得することが好ましい。
【0114】
同様に、データ分析においては、入力値として採用すべき値について、外れ値が混じっていると、学習済みモデルの成績に影響を及ぼす可能性がある。そこで、正解率を高める目的などから、入力データについて、外れ値を除外するように設定してもよい。そして、外れ値の境界値などを、
図17に示す形で予め設定してもよい。
【0115】
学習済みモデルが出力した値に基づく動作するための処理内容及びパラメータでは、学習済みモデルの出力値に応じて、所定の動作を行う場合に使用される。例えば、
図18は、画像認識の学習済みモデルにおいて、故障を検知する判定を行う場合の例を示す。学習済みモデルは、出力値として故障の確率を出力する。ここで、故障の確率が50%を超える場合には、エッジ端末の学習済みモデル実行モジュールは、
図18のテーブルを参照し、判定値51-100の場合の処理を実行する。具体的には、エッジ端末の学習済みモデル実行モジュールは、機械の動作を停止する処理、管理者に向けてアラートを送信する処理、故障が起きた瞬間の状況の写真データを記録する処理などを実行する。
【0116】
学習済みモデルが行う処理に関連するパラメータとしては、例えば、ハイパーパラメータ等が挙げられる。ハイパーパラメータの例としては、ニューラルネットワークの層の数
各層に設定したユニット(例えば、パーセプトロン)数、損失関数を最小化するパラメータ探索アルゴリズムの種類(例えば、Adam等)、上記探索アルゴリズム利用時に設定する引数、学習率等が挙げられる。
【0117】
プロパティ情報のデータとしては、学習済みモデルを検索するための検索条件に関する項目が含まれる。
【0118】
例えば、金型の画像認識の学習済みモデルの場合、大きさ、形状、金型による成型物の色のカテゴリなどが挙げられる。
【0119】
人の肉声認識の学習済みモデルの場合、ノイズ環境の種類(例えば、騒音の有無、バックグラウンドでの人の声の有無など)、認識言語、認識対象(例えば、男性、女性、成人、子供など)等が挙げられる。
【0120】
データの認識の学習済みモデルの場合、分析対象(例えば、気象データ、株価チャート等)、判定項目(例えば、将来の予測値、トレンドの変化の有無等)等が挙げられる。
【0121】
以上のように、各学習済みモデルと関連づけられた付随データの例としては、上述の様々なデータが挙げられる。
【0122】
したがって、新たな学習済みモデルを取得する際、或いは、既存の学習済みモデルのバージョンアップ等を行う場合には、こうしたデータも新たに取得されてもよい。
【0123】
好ましい実施形態において、エッジ端末が新たな学習済みモデルに切り替える際に、付随データは、差分のみがクラウドから取得される。即ち、付随データは、全て入れ替えるのではなく、エッジ端末側にある付随データと、当該データに対応し、且つ、クラウド側に存在する付随データとの異なる部分だけを、差分データとして、クラウド側(例えば、クラウドの学習済みモデル配信モジュール)は、エッジ端末に送信する。そして、エッジ端末の学習済みモデル取得モジュールは、受信した差分のデータを反映させる処理を行う。
【0124】
また、差分だけの更新は、上記付随データだけでなく、例えば、学習済みモデルに対して行ってもよい。
【0125】
上記の差分だけを送信することを実現するため、クラウド側には、各エッジ端末に送信した付随データ、学習済みモデル等の履歴を保持してもよい。これにより、クラウド側からの配信時に、送信先のエッジ端末側で保持する付随データの状況の情報を取得することができる。
【0126】
また、後述するように、エッジ端末側で、新たに学習させた学習済みモデル、及び、アップデートした付随データが存在する場合、こうしたデータを、クラウド側に登録する際にも、差分を利用したアップデートを実施してもよい。
【0127】
9.複数の学習済みモデルを用いた判定
一実施形態において、エッジ端末は、プログラムを備え、
前記プログラムは、
複数の学習済みモデルを各々実行し、
各学習済みモデルからの判定結果の組み合わせに基づいて所定の動作を実行する
ことができる。
【0128】
別の実施形態において、エッジ端末は、プログラムを備え、
前記プログラムは、
少なくとも1つの学習済みモデルを実行し、
モニタリングツールからデータを取得し、
学習済みモデルからの判定結果と、前記データの組み合わせに、少なくとも基づいて所定の動作を実行する
ことができる。
【0129】
一例を、
図19を参照しながら説明する。例えば、エッジ端末は、マイクから取得した音声信号をデジタル化したデータを受信することができる。また、エッジ端末は、音声処理モジュールを搭載し、デジタル化した音のデータから、肉声データ及び物質音(例えば肉声以外の音)データを分離して生成することができる。
【0130】
エッジ端末は、2種類の学習済みモデルを備える。1つめは、物質音用学習済みモデルであり、物質音が何の音であるかを判定する機能を有する。2つめは、肉声用学習済みモデルであり、ヒトの音声を認識する機能を有する。
【0131】
ここで、例えば、スマートハウスなどで、ヒトが「窓を開けて」と発声した場合、マイクは、ヒトの肉声を取得し、同時に環境音も取得する。その後、肉声と環境音を含む音声信号はデジタル化され、その後、環境音データと肉声データに分離され、それぞれの学習済みモデルに入力される。肉声用学習済みモデルでは、「ま/ど/を/あ/け/て」というフレーズである旨の出力判定を行う。一方の物質音用学習済みモデルでは、例えば、戸外の雨の音、強風の音などを検出し、「外では雨が降っている」「強風が吹いている」などの判定を行う。
【0132】
図19の判定モジュールは、例えば、エッジ端末に備えられ、そして、各々の学習済みモデルからの出力結果を受け取り、次に実行する動作を決定する。例えば、上記の例では、判定モジュールは、「外では雨が降っているかもしれませんが窓を開けても大丈夫でしょうか?」「外では強い風が吹いているかもしれませんが窓を開けても大丈夫でしょうか?」といった音声を出力する動作を実行することを決定してもよい。
【0133】
仮に、物質音用学習済みモデルで、特に音が検出されなかった場合には、判定モジュールは、「かしこまりました。窓を開けます」という音声を出力すること、及び、話者のいる部屋の窓を開けるという動作を実行することを決定することができる。
【0134】
このように複数の学習済みモデルを組み合わせて活用することでより高度な動作が実現可能となる。複数の学習済みモデルを組み合わせて判断する際に、判定モジュールは、判断テーブルなどを参照して、次の動作を決定してもよい。例えば、
図20に示すように、肉声に認識結果と、環境判定結果の組み合わせにより、次に行う動作、返答する内容などを判定モジュールが決定することができる。
【0135】
別の例では、学習済みモデルとモニタリングツールを組み合わせた判定を行ってもよい。例えば、学習済みモデルはヒトの肉声を認識することができ、「部屋の温度が暑い」「お風呂のお湯が熱い」といったフレーズである旨の判定を行うことができる。
【0136】
一方で、モニタリングツールは、部屋の気温、お風呂のお湯の温度をデータとして取得することができる。
【0137】
判定モジュールは、学習済みモデルからの判定結果と、モニタリングツールからの温度測定データとを取得し、温度を下げるかどうかの判断を出力することができる。例えば、学習済みモデルの判定結果では部屋が暑いという声が認識されたとしても、モニタリングツールからのデータで室内の温度が十分に低い場合には、判定モジュールは、室内の温度を現状通り維持するという判定を行うことができる。
【0138】
このように少なくとも1つ学習済みモデルとモニタリングツールとを組み合わせて活用することでより高度な動作が実現可能となる。判定モジュールが判断テーブルを活用できる点は、上記と同じである。
【0139】
10.クラウド以外による学習済みモデルの構築
【0140】
一実施形態において、クラウドは、学習用データを用いて学習させて学習済みモデルを生成するための学習モジュールを備えてもよい。しかし、別の実施形態において、エッジ端末、及び/又は、前記クラウドとは別のサーバが、学習モジュールを備えてもよい。例えば、エッジ端末は、学習モジュールを備えてもよい。また、前記クラウドとは別のサーバは、機械学習用サーバとして機能し、当該サーバは学習モジュールを備えてもよい。学習モジュールは、一からの学習を実行することもでき、或いは、追加学習を実行することもできる。追加学習とは(転移学習、強化学習、ファインチューニングなどを含む)、既に学習済みモデルとして構築されたモデルについて、再度学習用データを入力して再度学習させることを指す。
【0141】
例えば、上記の手段により、クラウドから適切と思われる候補の学習済みモデルを取得したものの、或いは、モデル新規作成用のデータファイル(例えば、初期設定状態の学習済みモデル)(未学習モデルとも言う)をユーザが準備し新規作成させたものの、ユーザが使用する環境では、正解率において改善の余地がある可能性がある。あるいは、別の例では、クラウド内の学習済みモデルを検索してみたものの、完全に目的と合致する学習済みモデルが存在せず、類似の学習済みモデルを取得して活用を試みる可能性がある。
【0142】
10-1.エッジ端末での学習
図21を参照しながら、エッジ端末を用いて学習する例を説明する。まず、エッジ端末において、学習用データを取得する(
図21のステップ10)(典型的にはローカルにデータを記憶する)。これは、例えば、ユーザがこれまでの運用で得られたデータなどを用いて準備することができる(例えば、上記金型の例であれば、金型に付着物がある場合の写真、及び、金型に付着物がない場合の写真、並びに、正解データの組み合わせ)。
【0143】
次に、上記の仕組み(例えば、
図15又は
図13等のインタフェースを通して)で、学習済みモデル取得モジュールが、学習済みモデルを取得し(
図21のステップ20)、エッジ端末にインストールする。必要に応じて、上述した付随データも併せて取得して準備してもよい。あるいは、一から学習させる場合には、初期設定状態の学習済みモデルを準備する。
【0144】
そして、エッジ端末の学習モジュールは、学習用データと学習済みモデル(あるいは初期設定状態の学習済みモデル)を使用して学習を実行する(
図21のステップ30)。必要に応じて、エッジ端末の学習モジュールは、付随データの内容も適宜変更することができる。例えば、エッジ端末の学習モジュールは、正解率向上のため、付随データ中のパラメータを変更することができる。
【0145】
学習実行後は、エッジ端末の学習モジュールは、学習前と学習後の差分を取得することができる。例えば、学習済みモデルの層の数、ノードの数、重みの数値などの差分を、エッジ端末の学習モジュールは、記憶することができる。さらには、付随データについても、学習前と学習後の差分を取得することができる。
【0146】
エッジ端末の学習モジュールは、学習によって生じた新たな学習済みモデルを、クラウドにアップロードすることができる(
図21のステップ40)。この際には、エッジ端末の学習モジュールは、新たな学習済みモデル全体をアップロードしてもよいし、可能であれば(例えば、クラウドが学習前の学習済みモデルを備える場合には)、学習前の学習済みモデルを特定する識別子の情報と、その差分をアップロードしてもよい。
【0147】
また、付随データについても変更された部分がある場合、エッジ端末の学習モジュールは、変更部分の情報をクラウドにアップロードしてもよい。
【0148】
さらに、好ましくは、エッジ端末の学習モジュールは、新たに生成した学習済みモデルのプロパティ情報をクラウドにアップロードしてもよい。プロパティ情報は、エッジ端末を通してユーザが入力した情報に基づいてもよい。プロパティ情報がアップロードさせることにより、クラウド側で、
図13等に示すような形式で、学習済みモデルとプロパティ情報を管理することができる。そして、適切な学習済みモデルを検索するときに、プロパティ情報に基づいて候補となる学習済みモデルを抽出することができる。
【0149】
以上の過程により、ユーザは、ユーザの環境に最適化された学習済みモデルを取得することができる。一方で、クラウド側にとって有利な点は、クラウドが備える複数の学習済みモデルを充実させることができる。
【0150】
10-2.学習用サーバでの学習
上記の例では、エッジ端末を用いて学習させていたが、別の例では、別途学習用サーバを設けてもよい。例えば、
図2又は
図3に示すように、エッジ端末に接続可能な形で、別途学習用サーバを設けてもよい。
【0151】
学習済みモデルを用いた判定処理がプロセッサなどのリソースに対してもたらす負荷は、さほど大きくないが、一方で、学習済みモデルを構築するための学習処理に対してもたらす負荷は、比較的大きい。エッジ端末自体は、元々は学習済みモデルを用いた判定処理を主たる目的として採用されている。したがって、ハードウェアのリソースが充実していない可能性がある。
【0152】
そこで、別途学習用サーバを採用することで、エッジ端末のリソースをブラッシュアップすることなく、追加学習が可能となる。また、クラウド側で学習させる場合、クラウドの使用料金等のコストが発生する可能性があり、別途学習用サーバを代わりに使用することでそうしたコストを低減できる可能性がある。
【0153】
学習用サーバは、学習済みモデル取得モジュール、学習モジュール、及び、学習済みモデル配信モジュールを備える。
図22を参照しながら、学習用サーバでの追加学習の流れを説明する。
【0154】
学習用サーバは、学習用データを取得する(
図22のステップ10)。例えば、ユーザがこれまでの運用で得られたデータなどを用いて準備することができる。
【0155】
次に学習用サーバは、学習済みモデルを準備する(
図22のステップ20)。例えば、学習用サーバは、エッジ端末と通信可能に接続される。そして、学習用サーバの学習済みモデル取得モジュールは、エッジ端末が備える学習済みモデルを送信するようリクエストをすることができる。これに応答して、エッジ端末側の学習済みモデル配信モジュールは、エッジ端末が備える学習済みモデルを送信することができる。あるいは、一から学習させる場合には、初期設定状態の学習済みモデルを準備する。
【0156】
次に、学習用サーバの学習モジュールは、学習用データと学習済みモデル(あるいは初期設定状態の学習済みモデル)とを用いて学習を実行することができる(
図22のステップ30)。これにより、新たな学習済みモデルが形成される。
【0157】
学習用サーバの学習済みモデル配信モジュールは、クラウド又はエッジ端末に、新たな学習済みモデルを送信することができる(
図22のステップ40)。好ましくは、学習用サーバの学習済みモデル配信モジュールは、新たな学習済みモデルに対応する新たなプロパティ情報、及び/又は付随データを併せて送信することができる。新たなプロパティ情報、及び/又は付随データ自体は、ユーザが適宜設定することができる。
【0158】
クラウドは、新たな学習済みモデルを、クラウド内に登録することができる。また、クラウドは、新たなプロパティ情報とともに、新たな学習済みモデルを、例えば、
図8、
図13等に示すテーブルに追加登録してもよい。
【0159】
エッジ端末は、新たな学習済みモデルを(好ましくは新たなプロパティ情報、及び/又は付随データとともに)受信し、ローカルの記憶媒体に記憶することができる。そして、新たな学習済みモデルを利用した判定をエッジ端末の学習済みモデル実行モジュールが実行することができる。
【0160】
また、変形例として、エッジ端末は、新たな学習済みモデルを(好ましくは新たなプロパティ情報、及び/又は付随データとともに)、クラウドから受信してもよい。換言すれば、新たな学習済みモデルは、学習用サーバからクラウドへ、そして、クラウドからエッジ端末へ配信されてもよい。
【0161】
11.統合型判定
一実施形態において、エッジ端末は、複数の学習済みモデルを備えることができる。ここで、第1学習済みモデルと、第2学習済みモデルと、第3学習済みモデルとを少なくとも備えることができ、
第1学習済みモデルは、第2学習済みモデルからの出力値と、第3学習済みモデルからの出力値とを、少なくとも入力値として受信するように構成され、
第2学習済みモデル及び第3学習済みモデルからの各出力値に対応する各入力値に対して、重みづけが設定されてもよい。
【0162】
場合により、第1学習済みモデルは、モニタリングツールからデータを入力値として受信するように構成されてもよい。その場合には、モニタリングツールからの入力値に対して重みづけが設定されてもよい。
【0163】
例えば、
図23に示すように、エッジ端末は、音認識の学習済みモデルと、画像認識の学習済みモデルを含む2種類の学習済みモデルを備えることができる。各々の学習済みモデルは、環境音データ及び撮像データを入力として受け取り、判定を行う。
【0164】
例えば、配管のガス漏れを例にとると、ガスが漏れているときの音を検出するために、音認識の学習済みモデルを使用することができ、そして、ガスが漏れているときの状態を画像として検出するため画像認識の学習済みモデルを使用することができる。
【0165】
各々は、環境音及び撮像データから、配管のガス漏れの有無を判定することができる。しかし、両者の判定が食い違う可能性がある。例えば、画像認識の学習済みモデルでは、故障ありと判定し、音認識の学習済みモデルでは、故障なしと判定する可能性がある。
【0166】
このような状態が生じる原因として、例えば、周辺で濃霧が発生し、得られる画像が不鮮明であること、或いは、霧自体を漏れたガスとして検出してしまうこと等が挙げられる。
【0167】
こうした問題に対処する目的で、統合判断用の学習済みモデルを3番目の学習済みモデルとして導入してもよい。この3番目の学習済みモデルは、音認識の学習済みモデルと、画像認識の学習済みモデルの各々からの判定値を入力として受け取ることができる。その際に、音認識の学習済みモデルからの判定結果を優先させるため、音認識の学習済みモデルからの判定の重みづけW1を大きくすることができる。一方で、画像認識の学習済みモデルからの判定結果の優先度を下げるため、画像認識の学習済みモデルからの判定の重みづけW2を小さくすることができる。
【0168】
また、
図23の例では、統合判断用の学習済みモデルに入力される判定値は2種類であるが、それ以上の数の判定値が入力されてもよい。
【0169】
重みづけについては、静的ではなく動的であってもよい。例えば、上記のケースでは、画像認識の重みよりも音声認識の重みを大きく設定していた。しかし、環境に応じて、音声認識の重みよりも画像認識の重みを大きく設定してもよい。例えば、周辺のノイズが大きい環境、ガス漏れの音と紛らわしい音が頻発する環境等においては、画像認識の重みを大きくした方がよい可能性がある。
【0170】
こうした重みづけの変更を行うための重みづけ調整モジュールを、エッジ端末は備えてもよい。また、重みづけ調整モジュールは、適宜センサなどと通信可能に接続されてもよく、センサからの情報に基づいて環境の変化を検出し、重みづけの調整を行ってもよい。
【0171】
変形例として、
図24に示すように、エッジ端末は、内部又は外部にモニタリングツールを備えてもよい。そして、モニタリングツールからの測定値をデジタル化したデータを、入力値として、統合判断用の学習済みモデルに入力してもよい。その際に、別の学習済みモデルの出力値と同様に、モニタリングツールからの測定値をデジタル化したデータについても重みづけを設定してもよい。
【0172】
12.クラウドからの学習用データの取得
上記「10.クラウド以外による学習済みモデルの構築」の例においては、エッジ端末又は学習用サーバが学習を実行していた。
【0173】
更なる実施形態において、学習モジュールは、
学習済みモデルのプロパティ情報と、第1の学習用データとの少なくともいずれかを、クラウドに送信するステップと、
クラウドから、第2の学習用データを受信するステップと、
第1の学習用データと第2の学習用データとを用いて学習済みモデルを構築させるステップと、
を実行することができる。
【0174】
また、学習用サーバが学習を実行する場合においては、構築された学習済みモデルをエッジ端末に直接又はクラウドを介して送信するステップを学習モジュールが実行することができる。
【0175】
ユーザが学習済みモデルを利用する環境は多種多様である。そして、入力するデータも多種多様である。したがって、クラウドから候補となる学習済みモデルを取得したとしても、学習済みモデルがすぐに使用できる常用であるとは限らない。
【0176】
即ち、ユーザが使用する入力データに対して高い正解率を実現できるようにするべく、再学習させたい場合がある。
【0177】
また、外部から学習済みモデルを構築するのではなく、インハウスで、初期設定状態の学習済みモデルに基づいて、ユーザが新たな学習済みモデルを構築させたい場合がある。
【0178】
そこで、インハウスの学習用データのみならず、クラウドから追加の学習用データを取得して、両者を学習に活用することで、高い正解率を有する学習済みモデルを構築することができる。
【0179】
図25、
図26等を参照しながら、処理の流れを以下説明する。まず、ユーザは学習用データを準備する(
図25のステップ10)。そして、学習用データは、エッジ端末又は学習用サーバに記憶される。次に、学習用データに対するプロパティ情報をユーザが設定し、当該プロパティ情報のデータは、エッジ端末又は学習用サーバに記憶される(
図25のステップ20)。
【0180】
エッジ端末又は学習用サーバの学習モジュールは、クラウドと通信し、そして、学習用データとプロパティ情報のうち少なくともいずれかを送信する(
図25のステップ30)。
【0181】
送信後、クラウドの学習用データ管理モジュールは、学習用データとプロパティ情報のうち少なくともいずれかに戻づいて、クラウド内の学習用データを検索する(
図25のステップ40)。
【0182】
クラウドは、学習用データを記憶している。その際に、例えば、
図26に概念的に示すように、クラウドは、各学習用データの集合を、学習用データ群として取り扱うことができる。各学習用データ群には、プロパティ情報が付加される。
図26では、金型の画像認識の例において、金型のプロパティ情報が記憶されている状態を示す。
図26では、金型のプロパティ情報に関連付けされた複数の学習用データが記憶されている。
【0183】
クラウドの学習用データ管理モジュールは、エッジ端末又は学習用サーバから受信したプロパティ情報に基づいてどの学習用データ群が適切かを選択することができる。また、クラウドの学習用データ管理モジュールは、エッジ端末又は学習用サーバから受信した学習用データに基づいてどの学習用データ群が適切かを選択することができる(例えば、エッジ端末又は学習用サーバからの学習用データと、クラウドの学習用データ群との類似度合いの判定などを通して)。
【0184】
適切な学習用データ群を抽出した後、クラウドの学習用データ管理モジュールは、クラウドの内の学習用データ群の少なくとも一部となる学習用データを、エッジ端末又は学習用サーバに送信する(
図25のステップ50)。
【0185】
エッジ端末又は学習用サーバの学習モジュールは、学習を実行する(
図25のステップ60)。ここで、学習用データとしては、エッジ端末又は学習用サーバがクラウドに送信した学習用データと、クラウドから受信した学習用データとを使用する。
【0186】
学習用サーバにて学習が行われる場合、学習が完了した後は、学習用サーバは、学習済みモデルを、エッジ端末に送信することができる。
【0187】
なお、クラウドの学習用データ管理モジュールは、エッジ端末又は学習用サーバから受信したプロパティ情報及び学習用データを、記憶することができる。その際には、クラウドの学習用データ管理モジュールは、受信した学習用データを、どの学習用データ群に割り当てるかを判断することができる。当該判断は、受信したプロパティ情報等に基づいてもよい。また、該当する学習用データ群がないと判断した場合には、クラウドの学習用データ管理モジュールは、新たな学習用データ群を登録してもよい。
【0188】
13.ユーザがクラウドに学習用データを提供
【0189】
一実施形態において、クラウドは、学習済みモデルだけでなく、学習用データも記憶する。こうした学習用データは、ユーザ側から提供されてもよい。ただし、ユーザがクラウドに学習用データを提供するインセンティブとして、クラウド側は、ユーザに所定の学習済みモデル及び/又は学習用データを提供するように構成されてもよい。
【0190】
より具体的には、当該実施形態において、
エッジ端末は、学習用データ提供モジュールを備え、学習用データ提供モジュールは、ユーザ識別情報と、学習用データと、当該学習用データのプロパティ情報とを、クラウドにアップロードするステップを実行し、
クラウドは、学習用データと、学習用データのプロパティ情報とを関連付けて記憶し、且つ、ユーザ識別情報を学習用データ提供者として記録し、
エッジ端末は、学習済モデル取得モジュールを備え、学習済モデル取得モジュールは、ユーザ識別情報を用いて前記クラウドにアクセスして、学習済モデル及び/又は学習用データの取得をリクエストするステップを実行する。
【0191】
この際に、エッジ端末が取得可能な学習済みモデル及び/又は学習用データは、エッジ端末から提供された学習用データ及び/又はユーザ識別情報に少なくとも基づいて決定される。
【0192】
図27及び
図28を参照しながら、上記フローについて説明する。まず、エッジ端末の学習用データ提供モジュールは、学習用データをクラウドに送信することができる(
図27のステップ10)。ユーザは、クラウド側ではなく、エッジ端末側(又は自身が使用可能な学習用サーバ)で学習させる際に、学習用のデータを所持している可能性が高い。
【0193】
あるケースでは、学習用データは、上述したようにクラウド側から提供される可能性がある。別のケースでは、ユーザ自身で学習用データを準備している可能性がある。後者のケースにおいて、学習用データは、ユーザ自身だけにとって価値のあるものとは限らず、他のユーザにとっても、或いはクラウド側にとっても有用となる可能性がある。ユーザ自身で準備した学習用データをクラウドに送信することで有効利用を実現することができる。
【0194】
学習用データをクラウドに送信する際には、エッジ端末の学習用データ提供モジュールは、併せて、ユーザ識別情報と、学習用データのプロパティ情報とを提供することができる。
【0195】
エッジ端末側からのデータ受信後、クラウドの学習用データ管理モジュールは、前記学習用データと、前記学習用データのプロパティ情報とを関連付けて記憶し(
図27のステップ20)、且つ、前記ユーザ識別情報を学習用データ提供者として記録する(
図27のステップ30)。
【0196】
学習用データのプロパティ情報は、クラウドが、学習用データを記録及び管理する際に有用となる。例えば、
図26のような形で、学習用データを、学習用データ群として管理する際に、当該群に属する学習用データがどのようなプロパティ情報を有するかを記録することができる。そして、クラウド側で、必要な学習用データを抽出する際に有用となる。
【0197】
ユーザ識別情報を記録した後、クラウドの学習用データ管理モジュールは、学習用データを提供するインセンティブとして、ユーザへの学習済モデルの提供に関する特典、及び/又は、ユーザへの学習用データの提供に関する特典を付与する(
図27のステップ40)。
【0198】
特典の実現方法は特に限定されない。例えば、学習用データ管理モジュールは、ユーザ識別情報ごとにポイントを記録しておき、学習用データを提供するたびにポイントを加算する処理を実行してもよい。そして、クラウド側から、任意の学習済みモデル、及び/又は、学習用データを提供するたびに、ポイントを減算する処理を実行してもよい。
【0199】
特典に関する別の実現方法において、学習用データ管理モジュールは、所定の学習済みモデル及び/又は学習用データの取得権限及び利用権限をユーザに付与してもよい。例えば、ユーザ側から提供してもらった学習用データを利用して構築された学習済みモデルの取得権限及び利用権限をユーザに付与してもよい。別の例では、ユーザ側から提供してもらった学習用データと同じプロパティ情報に該当する学習用データ群に関する取得権限及び利用権限をユーザに付与してもよい。さらに別の例では、学習用データを入力値としてプロパティ情報の少なくとも一部を自動判別する学習済みモデルに関する取得権限及び利用権限をユーザに付与してもよい。
【0200】
その後、ユーザは、エッジ端末の学習済モデル取得モジュール又は学習用データ取得モジュールを通して、クラウドとの接続において、ユーザ認証を行う(
図28のステップ10)。
【0201】
認証完了後、エッジ端末の学習済モデル取得モジュール又は学習用データ取得モジュールは、特定の学習済みモデル又は学習用データの取得のリクエストを行う(
図28のステップ20)。
【0202】
クラウド側の学習済みモデル配信モジュール又は学習用データ配信モジュールは、ユーザ認証の際に得られたユーザ識別情報に基づいて、権限の有無の判断を行う(
図28のステップ30)。具体的には、ユーザ識別情報によって特定されるユーザが、指定された学習済みモデル又は学習用データの取得権限及び利用権限があるかどうかを判断する。
【0203】
ポイント制などにより、取得上限及び/又は利用上限が設定されている場合には、クラウド側の学習済みモデル配信モジュール又は学習用データ配信モジュールは、学習済みモデル又は学習用データの取得により上限を超えないかどうかを判断することができる。
【0204】
一方で、個々の学習済みモデル又は学習用データごとに権限を管理している場合には、クラウド側の学習済みモデル配信モジュール又は学習用データ配信モジュールは、当該管理データにアクセスして、権限の有無の判断を行うことができる。
【0205】
権限がないと判断された場合には、クラウド側の学習済みモデル配信モジュール又は学習用データ配信モジュールは、リクエスト元のエッジ端末に、エラーを通知する。一方で、権限があると判断された場合には、クラウド側の学習済みモデル配信モジュール又は学習用データ配信モジュールは、指定された学習済みモデル又は学習用データを送信する(
図28のステップ40)。
【0206】
以上、本発明の具体的な実施形態について説明してきた。上記実施形態は、本発明の具体例に過ぎず、本発明は上記実施形態に限定されない。例えば、上述の実施形態の1つに開示された技術的特徴は、他の実施形態に適用することができる。また、特記しない限り、特定の方法については、一部の工程を他の工程の順序と入れ替えることも可能であり、特定の2つの工程の間に更なる工程を追加してもよい。本発明の範囲は、特許請求の範囲によって規定される。
【符号の説明】
【0207】
1000 システム
1010 クラウドサーバ
1020 エッジ端末
1030 サーバ(例えば、学習用サーバ)
1040 プロセッサ
1050 メモリ
1060 記憶媒体
1070 通信モジュール
1080 センサ
【手続補正書】
【提出日】2023-08-09
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数の学習済みモデルを含む人工知能プラットフォームシステムであって、
前記システムは、
前記複数の学習済みモデルを含むクラウドと、
前記複数の学習済みモデルの一部を選択して取得することが可能であり、尚且つ、前記学習済みモデルを実行することができるエッジ端末と、
前記エッジ端末にモニタリングデータを送信することが可能なモニタリングツールと、
を含む、システムであって、
前記複数の学習済みモデルは、出力データの形式及び判断内容が異なる複数の学習済みモデルを含み、
前記複数の学習済みモデルは、データ処理の得意・不得意の度合いが異なる複数の学習済みモデルを含み、
前記複数の学習済みモデルは、入力データの形式及び性質が異なる複数の学習済みモデルを含む、
システムであって、
前記エッジ端末は、学習用データ提供モジュールを備え、前記学習用データ提供モジュールは、ユーザ識別情報と、学習用データと、当該学習用データのプロパティ情報とを、前記クラウドにアップロードするステップを実行し、
前記クラウドは、前記学習用データと、前記学習用データの前記プロパティ情報とを関連付けて記憶し、且つ、前記ユーザ識別情報を学習用データ提供者として記録し、
前記エッジ端末は、学習済モデル取得モジュールを備え、前記学習済モデル取得モジュールは、前記ユーザ識別情報を用いて前記クラウドにアクセスして、学習済モデル及び/又は学習用データの取得をリクエストするステップを実行する、
システム。
【請求項2】
複数の学習済みモデルを含む人工知能プラットフォームシステムであって、
前記システムは、
前記複数の学習済みモデルを含むクラウドと、
前記複数の学習済みモデルの一部を選択して取得することが可能であり、尚且つ、前記学習済みモデルを実行することができるエッジ端末と、
前記エッジ端末にモニタリングデータを送信することが可能なモニタリングツールと、
を含む、システムであって、
前記複数の学習済みモデルは、出力データの形式及び判断内容が異なる複数の学習済みモデルを含み、
前記複数の学習済みモデルは、データ処理の得意・不得意の度合いが異なる複数の学習済みモデルを含み、
前記クラウドは、各学習済みモデルと関連づけられた各付随データを更に備え、
前記エッジ端末は、新たな学習済みモデル又はその差分を取得する際に、以前の学習済みモデルと関連づけられた付随データと、新たな学習済みモデルに関連づけられた付随データとの差分を、前記クラウドから取得するように構成され、
前記付随データは、テーブル形式であり、
前記付随データは、以下のうちいずれか1以上を含む、システムであって、
・学習済みモデルに入力するデータを調節するための処理内容及びパラメータ
・学習済みモデルが出力した値に基づいて動作するための処理内容及びパラメータ
・学習済みモデルが行う処理に関連するパラメータ
・プロパティ情報のデータ
前記付随データは、学習済みモデルが出力した値に基づいて動作するための処理内容及びパラメータを少なくとも含む、システム。
【請求項3】
請求項2のシステムに備えられるためのクラウドであって、
前記クラウドは、新たな学習済みモデル又はその差分を前記エッジ端末に送信する際に、以前の学習済みモデルと関連づけられた付随データと、新たな学習済みモデルに関連づけられた付随データとの前記差分を送信するように構成される、
クラウド。
【請求項4】
請求項2のシステムに備えられるためのエッジ端末。