図面 (/)

技術 異種環境におけるエッジデバイスのためのモデルフィルタリングおよびモデルミキシングによる機械学習

出願人 株式会社PreferredNetworks
発明者 ジャスティン、ビー.クレイトン岡野原大輔西川徹比戸将平久保田展行大田信行得居誠也
出願日 2020年4月23日 (10ヶ月経過) 出願番号 2020-076844
公開日 2020年8月27日 (6ヶ月経過) 公開番号 2020-129390
状態 未査定
技術分野 イメージ分析 学習型計算機
主要キーワード 誤動作検出 ミキシングモジュール 選定モジュール グローバルモデル 汚染センサ デジタル表示画面 身体センサ モデルフィルタ
関連する未来課題
重要な関連分野

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

図面 (9)

課題

解決手段

エッジデバイス100は、通信モジュールデータ収集デバイスメモリ、機械学習モジュールおよびモデルミキシングモジュールを含む。エッジデバイスは、収集データを第1のタスクのモデルで分析し、結果を出力し、モデルを更新して局所モデルを作成する。エッジデバイスは、異種グループ内の他のエッジデバイスと通信し、局所モデルに対する要求を異種グループに送信し、異種グループから局所モデルを受信する。エッジデバイスは、第2のタスクに関連する第2の局所モデルを含む構造メタデータによって、局所モデルをフィルタリングする。エッジデバイスは、第2の局所モデルのミキシング演算を実行して、第2のタスクに関連する混合モデルを生成し、混合モデルを異種グループに送信する。

概要

背景

機械学習デバイスは、機械学習モデルを用いて、収集データを処理し、結果を出力する。機械学習デバイスはフィードバックを使用して、機械学習モデルを更新または改良することができる。例えば、機械学習デバイスは、回帰分析モデルを使用して予測を行い、その予測が正しかったかどうかを示すフィードバックに基づいて回帰分析モデルを更新することができる。様々なタイプの機械学習モデルが存在する(例えば、線形回帰モデル、単純ベイズ分類器)。機械学習モデルは、処理されるデータの量が大きくなり得、かつ/またはリアルタイムデータ処理が望まれ得る「ビッグデータ」問題に対処するために一般的に使用される。

概要

異種環境におけるエッジデバイスのためのモデルフィルタリングおよびモデルミキシングによる機械学習を提供する。エッジデバイス100は、通信モジュールデータ収集デバイスメモリ、機械学習モジュールおよびモデルミキシングモジュールを含む。エッジデバイスは、収集データを第1のタスクのモデルで分析し、結果を出力し、モデルを更新して局所モデルを作成する。エッジデバイスは、異種グループ内の他のエッジデバイスと通信し、局所モデルに対する要求を異種グループに送信し、異種グループから局所モデルを受信する。エッジデバイスは、第2のタスクに関連する第2の局所モデルを含む構造メタデータによって、局所モデルをフィルタリングする。エッジデバイスは、第2の局所モデルのミキシング演算を実行して、第2のタスクに関連する混合モデルを生成し、混合モデルを異種グループに送信する。

目的

本開示は、異種環境におけるエッジデバイスのためのモデルフィルタリングおよびモデルミキシングによる新規革新的な機械学習技術を提供する

効果

実績

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

この技術が所属する分野

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

請求項1

エッジデバイスであって、複数の異なるエッジデバイスと通信するように構成された通信モジュールと、第1のタイプのデータを収集するように構成されたデータ収集デバイスと、前記データ収集デバイスによって収集データを格納するように構成されたメモリと、機械学習モジュールと、モデルミキシングモジュールと、を備え、前記エッジデバイスは、第1の所定のタスクに関連する第1のモデルを使用して、前記データ収集デバイスによって収集された第1のデータを分析し、予測分類クラスタリング異常検出、および認識のうちの少なくとも1つを含む結果を出力し、前記結果の正確さに基づいて、前記第1のモデルを更新して、前記第1の所定のタスクに関連する第1の局所モデルを作成し、エッジデバイスの異種グループ内の少なくとも1つの他のエッジデバイスと通信し、前記エッジデバイスの異種グループは、少なくとも第1のエッジデバイスおよび第2のエッジデバイスを含み、前記第1のエッジデバイスは前記第1のタイプのデータを収集して分析し、前記第2のエッジデバイスは異なる第2のタイプのデータを収集して分析し、局所モデルに対する要求を前記エッジデバイスの異種グループに送信し、前記エッジデバイスの異種グループから第1の複数の局所モデルを受信し、構造メタデータによって前記第1の複数の局所モデルをフィルタリングし、前記第1の複数の局所モデルは、第2の複数の局所モデルを含み、前記第2の複数の局所モデルの各々は第2の所定のタスクに関連し、前記第2の複数の局所モデルのミキシング演算を実行して、前記第2の所定のタスクに関連する混合モデルを生成し、前記混合モデルを前記エッジデバイスの異種グループに送信するように構成されるエッジデバイス。

請求項2

前記第1のタイプのデータはビデオ画像データであり、前記第2のタイプのデータは速度データである、請求項1に記載のエッジデバイス。

請求項3

前記エッジデバイスは、コンテキストメタデータによって前記複数の局所モデルをフィルタリングするようにさらに構成される、請求項1に記載のエッジデバイス。

請求項4

前記エッジデバイスは、データ分布によって前記複数の局所モデルをフィルタリングするようにさらに構成される、請求項1に記載のエッジデバイス。

請求項5

前記エッジデバイスは、前記複数の局所モデルをクラスタリングするようにさらに構成される、請求項1に記載のエッジデバイス。

請求項6

前記ミキシング演算は、前記複数の局所モデルのグループのサイズおよび前記エッジデバイスのコンピュータパワーを使用して決定される、請求項1に記載のエッジデバイス。

請求項7

前記ミキシング演算は平均化演算である、請求項1に記載のエッジデバイス。

請求項8

前記ミキシング演算は、遺伝的アルゴリズム演算である、請求項1に記載のエッジデバイス。

請求項9

前記ミキシング演算は列挙演算である、請求項1に記載のエッジデバイス。

請求項10

前記ミキシング演算はアンサンブル演算である、請求項1に記載のエッジデバイス。

請求項11

前記第1の所定のタスクは、前記第2の所定のタスクと同じタスクである、請求項1に記載のエッジデバイス。

請求項12

前記エッジデバイスは、前記第1の局所モデルを前記混合モデルに置き換えるようにさらに構成される、請求項1に記載のエッジデバイス。

請求項13

前記第1の複数の局所モデルは、前記第2の複数の局所モデルとは異なる第3の複数の局所モデルを含み、前記エッジデバイスは、前記第3の複数の局所モデルのミキシング演算を実行して、前記第2の所定のタスクとは異なる第3の所定のタスクに関連する第2の混合モデルを生成するようにさらに構成される、請求項1に記載のエッジデバイス。

請求項14

前記エッジデバイスは、ショッピングカートデバイスおよび監視カメラのうちの1つである、請求項1に記載のエッジデバイス。

請求項15

前記エッジデバイスは、自動車内に組み込まれている、請求項1に記載のエッジデバイス。

請求項16

前記エッジデバイスは、現金自動預け払い機である、請求項1に記載のエッジデバイス。

請求項17

命令を格納するコンピュータ可読媒体であって、前記命令は、複数の異なるエッジデバイスと通信するように構成された通信モジュールと、第1のタイプのデータを収集するように構成されたデータ収集デバイスと、前記データ収集デバイスによって収集データを格納するように構成されたメモリと、機械学習モジュールと、モデルミキシングモジュールと、を含むエッジデバイスによって実行された場合に、前記エッジデバイスに対して、第1の所定のタスクに関連する第1のモデルを使用して、前記データ収集デバイスによって収集された第1のデータを分析させ、予測、分類、クラスタリング、異常検出、および認識のうちの少なくとも1つを含む結果を出力させ、前記結果の正確さに基づいて、前記第1のモデルを更新して、前記第1の所定のタスクに関連する第1の局所モデルを作成し、エッジデバイスの異種グループ内の少なくとも1つの他のエッジデバイスと通信させ、前記エッジデバイスの異種グループは、少なくとも第1のエッジデバイスおよび第2のエッジデバイスを含み、前記第1のエッジデバイスは前記第1のタイプのデータを収集して分析し、前記第2のエッジデバイスは異なる第2のタイプのデータを収集して分析し、局所モデルに対する要求を前記エッジデバイスの異種グループに送信させ、前記エッジデバイスの異種グループから第1の複数の局所モデルを受信させ、構造メタデータによって前記第1の複数の局所モデルをフィルタリングさせ、前記第1の複数の局所モデルは、第2の複数の局所モデルを含み、前記第2の複数の局所モデルの各々は第2の所定のタスクに関連し、前記第2の複数の局所モデルのミキシング演算を実行して、前記第2の所定のタスクに関連する混合モデルを生成させ、前記混合モデルを前記エッジデバイスの異種グループに送信させる、コンピュータ可読媒体。

請求項18

エッジデバイスによって実行される方法であって、エッジデバイス内の通信モジュールによって、複数の異なるエッジデバイスと通信するステップと、データ収集デバイスにより第1のタイプのデータを収集するステップと、前記データ収集デバイスによって収集データをメモリに格納するステップと、第1の所定のタスクに関連する第1のモデルを使用して、前記データ収集デバイスによって収集された第1のデータを分析するステップと、予測、分類、クラスタリング、異常検出、および認識のうちの少なくとも1つを含む結果を出力するステップと、前記結果の正確さに基づいて、前記第1のモデルを更新して、前記第1の所定のタスクに関連する第1の局所モデルを作成するステップと、エッジデバイスの異種グループ内の少なくとも1つの他のエッジデバイスと通信するステップであって、前記エッジデバイスの異種グループは、少なくとも第1のエッジデバイスおよび第2のエッジデバイスを含み、前記第1のエッジデバイスは前記第1のタイプのデータを収集して分析し、前記第2のエッジデバイスは異なる第2のタイプのデータを収集して分析するステップと、局所モデルに対する要求を前記エッジデバイスの異種グループに送信するステップと、前記エッジデバイスの異種グループから第1の複数の局所モデルを受信するステップと、構造メタデータによって前記第1の複数の局所モデルをフィルタリングするステップであって、前記第1の複数の局所モデルは、第2の複数の局所モデルを含み、前記第2の複数の局所モデルの各々は第2の所定のタスクに関連するステップと、前記第2の複数の局所モデルのミキシング演算を実行して、前記第2の所定のタスクに関連する混合モデルを生成するステップと、前記混合モデルを前記エッジデバイスの異種グループに送信するステップと、を含む方法。

請求項19

コンテキストメタデータによって前記複数の局所モデルをフィルタリングするステップをさらに含む、請求項18に記載の方法。

請求項20

データ分布によって前記複数の局所モデルをフィルタリングするステップをさらに含む、請求項18に記載の方法。

技術分野

0001

優先権主張
本出願は、2015年1月22日に出願された米国特許出願第14/602,843号の優先権を主張するものであり、その開示の全体は参照により本明細書に組み込まれる。

背景技術

0002

機械学習デバイスは、機械学習モデルを用いて、収集データを処理し、結果を出力する。機械学習デバイスはフィードバックを使用して、機械学習モデルを更新または改良することができる。例えば、機械学習デバイスは、回帰分析モデルを使用して予測を行い、その予測が正しかったかどうかを示すフィードバックに基づいて回帰分析モデルを更新することができる。様々なタイプの機械学習モデルが存在する(例えば、線形回帰モデル、単純ベイズ分類器)。機械学習モデルは、処理されるデータの量が大きくなり得、かつ/またはリアルタイムデータ処理が望まれ得る「ビッグデータ」問題に対処するために一般的に使用される。

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

0003

本開示は、異種環境におけるエッジデバイスのためのモデルフィルタリングおよびモデルミキシングによる新規革新的な機械学習技術を提供する。例示的な実施形態では、エッジデバイスは、複数の異なるエッジデバイスと通信するように構成された通信モジュールと、第1のタイプのデータを収集するように構成されたデータ収集デバイスと、データ収集デバイスによって収集データを格納するように構成されたメモリと、機械学習モジュールと、モデルミキシングモジュールと、を含む。エッジデバイスは、第1の所定のタスクに関連する第1のモデルを使用して、データ収集デバイスによって収集された第1のデータを分析し、予測、分類クラスタリング異常検出、および認識のうちの少なくとも1つを含む結果を出力し、結果の正確さに基づいて、第1の所定のタスクに関連する第1の局所モデルを作成するために第1のモデルを更新するように構成することができる。エッジデバイスは、エッジデバイスの異種グループ内の少なくとも1つの他のエッジデバイスと通信することができ、エッジデバイスの異種グループは、少なくとも第1のエッジデバイスおよび第2のエッジデバイスを含み、第1のエッジデバイスは第1のタイプのデータを収集して分析し、第2のエッジデバイスは異なる第2のタイプのデータを収集して分析する。エッジデバイスは、局所モデルに対する要求をエッジデバイスの異種グループに送信し、エッジデバイスの異種グループから第1の複数の局所モデルを受信することができる。エッジデバイスは、構造メタデータによって第1の複数の局所モデルをフィルタリングすることができ、第1の複数の局所モデルは、第2の複数の局所モデルを含み、その各々は第2の所定のタスクに関連する。エッジデバイスは、第2の複数の局所モデルのミキシング演算を実行して、第2の所定のタスクに関連する混合モデルを生成し、混合モデルをエッジデバイスの異種グループに送信することができる。

0004

開示された方法および装置のさらなる特徴および利点は、以下の詳細な説明および図面に記載され、それらから明らかになるであろう。

図面の簡単な説明

0005

本開示の例示的な実施形態による、エッジデバイスの一例のブロック図である。
本開示の例示的な実施形態による例示的な機械学習モジュールのブロック図である。
本開示の例示的な実施形態による、エッジデバイスの異種グループを示す高レベルブロック図である。
本開示の例示的な実施形態による、エッジデバイスの異種グループを示すブロック図である。
本開示の例示的な実施形態による、エッジデバイスの異種グループにおける機械学習の例示的なプロセスを示すフローチャートである。
本開示の例示的な実施形態による、機械学習の例示的なプロセスを示すフローチャートである。
本開示の例示的な実施形態による、混合モデルを生成するための例示的なプロセスを示すフローチャートである。
本開示の例示的な実施形態による、エッジデバイスの異種グループにおける機械学習のための例示的なプロセスを示す流れ図である。

実施例

0006

図1は、本開示の例示的な実施形態による、エッジデバイス100の一例のブロック図である。例示的な実施形態では、エッジデバイス100はビデオカメラであってもよい。別の例示的な実施形態では、エッジデバイス100はショッピングカートであってもよい。エッジデバイス100は、他のデバイスとの通信、データ収集、機械学習を行うことができるデバイスである。例示的な実施形態では、エッジデバイス100は、中央サーバー中間サーバーデータレポジトリゲートウェイルータなどを含む、データ接続されたデバイスの大規模分散ネットワークエッジ、すなわち最外層にある。エッジデバイス100は、記録デバイス(例えば、デジタルカメラ、ビデオカメラ、オーディオレコーダ)、都市管理デバイス(例えば、駐車センサ交通センサ水質デバイス)、車両(例えば、自動車トラック)、身体センサ(例えば、活動センサバイタルサインセンサ歩数計)、環境センサ(例えば、気象センサ汚染センサ空気品質センサ)、ウェアラブルコンピューティングデバイス(例えば、スマートウォッチ眼鏡衣類)、パーソナルコンピュティングデバイス(例えば、携帯電話タブレットラップトップ)、ホームデバイス(例えば、家電製品サーモスタット照明ステムセキュリティシステム)、広告デバイス(例えば、ビルボード情報キオスク)などを含む多種多様なデバイスを含んでもよい。エッジデバイス100は、通信モジュール102と、データ収集デバイス104と、メモリ106と、機械学習モジュール108と、グループ決定モジュール110と、リーダー選定モジュール112と、モデルミキシングモジュール114と、調整モジュール116と、を含むことができる。

0007

通信モジュール102は、同じタイプ(例えば、複数のビデオカメラ)または異なるタイプ(例えば、ビデオカメラおよびショッピングカート)の他のエッジデバイス100を含む他のデバイスと通信するように構成される。例えば、以下でさらに詳細に説明するように、通信モジュール102は、インターネット、もしくは任意の適切な広域ネットワークローカルエリアネットワーク、ゲートウェイ、または他の通信チャネルもしくはネットワークを含む、1つまたは複数のネットワークもしくは通信チャネルを介して他のデバイスと通信するように構成されてもよい。例えば、通信モジュール102は、セルラーネットワーク(例えば、4G、3G、GSM)、無線ローカルエリアネットワーク(例えば、Wi−Fi)、衛星(例えば、VSAT)、または無線通信の任意の適切な形態(例えば、ブルートゥースRFID、NFC、IrDA、Li−Fi)により用いられる複数のプロトコルを介して無線通信するように構成されてもよい。また、例えば、通信モジュール102は、別のエッジデバイス100に有線接続(例えば、イーサネット登録商標)、DSL、USB、RS−232、同軸ケーブル)するように構成されてもよい。さらに、通信モジュール102は、例えば、タッチスクリーンディスプレイで実現されるグラフィカルユーザインターフェースを介して、ユーザと通信することができる。ユーザは、エッジデバイス100に特定のタスクを実行するよう要求し、かつ/またはエッジデバイス100から情報を受信することができる。したがって、通信モジュール102は、1つまたは複数の通信プロトコルを使用して1つまたは複数の通信インターフェースを介して通信するように構成されたハードウェアおよび/またはソフトウェアを含むことができる。

0008

データ収集デバイス104は、センサ、検出器、または実世界の特性(例えば、速度、加速度ショッピングカート内品目、手の動き、形状、温度、角度、音声認識単語認識トルクスリップベル)を表すデータのリアルタイム収集に適した任意のデバイスであってもよい。データ収集デバイス104は、連続するデータストリームを受信し、または周期的な基準(例えば、ミリ秒、秒、分毎)でデータを収集することができ、それは収集されるデータのタイプおよびデータストリームの変動性に一般的に依存することがある。データ収集デバイス104は、通常、特定のタイプのデータを収集するように具体的に構成された特定のハードウェアおよび/または物理的構造(例えば、画像センサ加速度計ジャイロスコープセンサ温度計高度計ホール効果センサ速度計光検出器流量センサひずみゲージトルクセンサタコメータクリノメータマイクロフォン磁力計電圧計電流計オーム計化学センサ圧力センサ降雨センサ湿度計ヒュミスタ風速計地震計ガイガーカウンタなど)を含む。例示的な実施形態では、1つのエッジデバイス100は、異なるタイプのデータを収集する複数の異なるデータ収集デバイス104を含むことができる。データ収集デバイス104は、収集データをメモリ106に提供する。例示的な実施形態では、メモリ106は、ビデオ画像データ(例えば、VRAM)などの大量のデータを受け取り、格納するための専用メモリであってもよい。したがって、メモリ106は、例えば、エッジデバイス100の高スループットかつ低レイテンシ仕様を満たすために、タスク特有の特殊なハードウェアを有することができる。メモリ106は、バッファシフトレジスタなどの異なるメモリの階層を含むことができる。メモリ106は、収集データを一時的に格納するように構成されてもよいし、収集データが機械学習モジュール108にもはや必要でなくなると、上書きされてもよい。

0009

機械学習モジュール108は、データ収集デバイス104によって収集されて、メモリ106に格納されたデータを使用して、機械学習モデルを実行する。機械学習モジュール108は、収集データを入力として受け取り、収集データを用いて機械学習モデルを実行し、予測、分類、クラスタリング、異常検出、および/または認識を行い、結果として出力する。機械学習モデルは、結果を反復的に更新することができる。例えば、機械学習モデルは、メモリに格納された利用可能な収集データを全て使用して連続的に実行してもよく、連続的な結果または周期的な結果を生成してもよい。例えば、収集されるデータのボリュームおよび速度が比較的低い(低密度および/または低速)場合には、機械学習モデルは周期的にしか実行されず、各結果が出力された後一定期間休止してもよく、その間に新しいデータが収集される。各機械学習モデルは、所定のタスク(例えば、品目の予測、レジでの共謀窃盗の認識、捜索指令(BOLO)警告のための容疑者の認識、コーナリング速度の分類)に関係する。例えば、ショッピングカート・エッジデバイス100の機械学習モデルでは、所定のタスクは、品目を消費者に提案することであってもよい。消費者がショッピングカートを押しながら、食料雑貨店ショッピングの中を歩いている間に、ショッピングカートの機械学習モジュール108は、その品目を消費者に提案すればその消費者が最も購入しそうな品目に関する予測を出力することができる。この予測は、消費者のカート内の他の品目に基づくことができる。さらに、消費者の年齢性別人種および/または民族性などの追加の情報を用いて、どの品目が最も購入される可能性が高いかの予測を行うこともできる。例示的な実施形態では、機械学習モジュール108は、いくつかの機械学習モデルを含むことができ、各機械学習モデルは、サブセットまたはカテゴリ(例えば、40以上の男性消費者のカテゴリ)に固有であってもよく、その場合には、状況および機械学習モデルを特定するために使用される変数の数に応じて、1つの所定のタスクに対して2、4、8、または16の異なるモデルを選択することができる。

0010

図2は、本開示の例示的な実施形態による例示的な機械学習モジュール108のブロック図である。機械学習モジュール108は、インターフェースモジュール202、モデル選択モジュール204、および1つもしくは複数の機械学習モデル206を含むことができる。本明細書で説明するように、機械学習モデル206は、簡潔にするために単にモデル206と呼ぶことがある。インターフェースモジュール202は、機械学習モジュール108と、エッジデバイス100内の他のモジュールまたは構成要素(例えば、メモリ106、通信モジュール102)との間のインターフェースである。モデル選択モジュール204は、どの所定のタスクが分析されるかを含む情報を受信し、所定のタスクについて適切なモデル206(例えば、40歳以上の男性消費者)を選択するために、複数のモデル206から選択するための情報を含むことができる。図2に示すように、モデル1は所定のタスクAに関連し、モデル2、3および4は異なる所定のタスクBに関連し、モデル5は別の異なる所定のタスクCに関連する。例示的な実施形態では、エッジデバイス100はタスクを定期的に切り替えることができる。例えば、第1の所定のタスクは営業時間中に処理されてもよく、数時間後に第2の異なる所定のタスクが処理されてもよい。モデル206は、例えば、製造時に、エッジデバイス100に提供されてもよく、あるいは、新しいモデル206として、またはモデル206の更新されたバージョンとして、後で別のデバイスからエッジデバイス100にロードされてもよい。機械学習モデル206は、収集データを入力として処理して、モデル206の出力として結果を生成するように実行される実行可能コンポーネント210を含む。機械学習モデル206は、モデルのタイプ(例えば、線形分類器線形またはロジスティック回帰モデル決定木、クラスタリングモデル、ベイジアンモデル、ニューラルネットワーク)およびモデルの構造(例えば、パラメトリック固定構造または非パラメトリック、パラメータの数と構造、入力変数出力変数データ型フィーチャ定義)などの構造メタデータ212を含む。構造メタデータ212は、モデル206が何であるか、およびモデル206が何をするかを識別するための任意の必要な情報を含むことができるので、モデル206は、以下により詳細に説明するように分散型機械学習に使用することができる。機械学習モデル206はまた、モデルが動作していたかまたは動作しているコンテキスト状況を記述することができるコンテキストメタデータ214(例えば、データ収集環境、モデル履歴、モデル安定性)を含むことができる。例示的な実施形態では、コンテキストメタデータは、ビデオカメラ・エッジデバイス100の地理的位置を示すことができ、ビデオカメラが暗い環境もしくは明るい環境、および/または屋内環境もしくは屋外環境で動作していることを示すことができる。機械学習モデル206は、結果ログ216を含み、これは、例えばある期間の結果または特定の数の結果を格納することができる。結果ログ216はまた、例えば、モデル206の分析に有用であり得る概略統計または他の情報を含むことができる。結果ログ216は、以前にメモリ106に格納されていたが、新しい収集データによって上書きされた収集データの要約を含むことができる。機械学習モデル206は、モデル206からの結果出力に対するフィードバックに基づいてモデル206を更新すべきかどうかを決定する更新モジュール218を含む。例えば、モデル206が正しい予測を行う場合には、これはモデルを更新すべきであることを示すものではないが、モデル206が誤った予測を行う場合には、これはモデルが改良され得ることを示す傾向がある。したがって、更新モジュール218は、内部分析に基づいて機械学習モデル206を更新することができ、更新する外部命令に基づいて更新することもできる。モデル206が更新モジュール218によって更新されると、モデル206は、モデル206が常駐する特定のエッジデバイス100に対して局所的であり、したがって、グローバルモデル206とは対照的に、局所モデル206と呼ぶことができる。製造業者は、新しいエッジデバイス100にグローバルモデル206を提供することができ、各エッジデバイス100は、それらのモデル206を更新して、グローバルモデル206とは異なる局所モデル206が得られる。局所モデル206は、グローバルモデル206が提供するよりも特定の環境においてより良い結果を提供するように、特定の環境に基づいて訓練することができる。

0011

グループ決定モジュール110は、どのエッジデバイス100が、そのグループのメンバーであるエッジデバイス100上の機械学習モデル206の分析に参加するグループを形成するかを決定する。グループメンバーシップは、エッジデバイス100間の地理的近接度に基づいてもよい。リーダー選定モジュール112は、どのエッジデバイス100がエッジデバイスのグループのリーダーとして機能すべきかを決定する。リーダーは、グループの全てのメンバーからの入力を受信することができる合意プロトコルを使用して選出することができる。モデルミキシングモジュール114は、リーダーエッジデバイス100によって、グループ内の異なるエッジデバイス100からの局所モデル206をミキシングして、混合モデル206を作成するために使用される。モデルミキシングモジュール114は、混合モデル206に応じていくつかの異なる技術を使用してモデル206をミキシングすることができる。調整モジュール116は、通信モジュール102、データ収集デバイス104、メモリ106、機械学習モジュール108、グループ決定モジュール110、リーダー選定モジュール112、およびモデルミキシングモジュール114のプロセスを調整することができる。エッジデバイス100は、中央処理ユニットを有することができ、様々な特定のタスク専用の1つまたは複数のさらなるプロセッサを有することもできる。各エッジデバイス100は、1つまたは複数のプロセッサ、メモリ、バスなどを使用することができる。また、通信モジュール102、データ収集デバイス104、メモリ106、機械学習モジュール108、グループ決定モジュール110、リーダー選定モジュール112、モデルミキシングモジュール114、および調整モジュール116の各々は、1つまたは複数のプロセッサ、メモリ、バスなどを使用することができる。通信モジュール102、データ収集デバイス104、メモリ106、機械学習モジュール108、グループ決定モジュール110、リーダー選定モジュール112、モデルミキシングモジュール114、および調整モジュール116のうちの1つまたは複数によって、プロセッサ、メモリ、および任意の他の構成要素が共有されてもよい。例示的な実施形態では、通信モジュール102、データ収集デバイス104、メモリ106、機械学習モジュール108、グループ決定モジュール110、リーダー選定モジュール112、モデルミキシングモジュール114、および調整モジュール116の各々は、互いのモジュールまたはコンポーネントとは異なる専用のハードウェアおよびソフトウェアを使用する。

0012

図2に示すエッジデバイス100は、センサを用いて物理的世界とインターフェースし、次いでセンサによって収集データを使用して、機械学習モデル206を自律的に実行し、機械学習モデル206を用いて実行される機械学習に関する他のデバイスと通信することができる。ショッピングカートの例に関して、エッジデバイス100は、エッジデバイス100の全ての構成要素および機能を一体的に含むショッピングカートであってもよいし、あるいはショッピングカートは、既存の標準ショッピングカートに固定されるように構成されたインストールされたエッジデバイス100を含んでもよい。したがって、例えば、食料品店は、通常のショッピングカートにエッジデバイス100を取り付けることができる。別の例示的な実施形態では、通常の自動車は、自動車内の既存のデータ収集デバイスを使用するソフトウェアモジュールダウンロードすることによって、エッジデバイス100を形成するように適合された牽引制御システムを含むことができる。さらに、多種多様な異なるタイプのデバイスをエッジデバイス100(例えば、ショッピングカート、自動車、サーモスタット、GPSデバイス)に適合させることができ、したがって、エッジデバイス100が別の異なるタイプのエッジデバイス100と通信する際に、エッジデバイス100の異種グループを形成することができる。エッジデバイスの異種グループは、同じタイプのデバイスであって、同じタイプのデータ収集および同じタイプの機械学習を実行するエッジデバイス100のみを含む、エッジデバイス100の同種のグループとは異なっている。

0013

図3Aは、本開示の例示的な実施形態による、エッジデバイスの異種グループを示す高レベルブロック図である。異種グループ300は、両方とも同じタイプのエッジデバイス100(例えば、両方ともビデオカメラ302)である2つのエッジデバイス302a、302bを含む。異種グループ300はまた、それぞれ異なるタイプのデバイス100(例えば、サーモスタット1台、現金自動預け払い機1台、およびショッピングカート1台)である3つのエッジデバイス304、306、308をさらに含む。サーバー310は、ネットワーク312を介して1つまたは複数のエッジデバイス302a、302b、304、306、308と通信することができる。サーバー310は、1つまたは複数のエッジデバイス100と通信することができる。例示的な実施形態では、サーバー310は、1つまたは複数のエッジデバイス100および1つまたは複数の異なるサーバー(例えば、中央サーバー)と通信する中間サーバーである。例示的な実施形態では、サーバー310は、クラウドコンピューティングを実行する「クラウド」の一部であってもよい。サーバー310は、情報および/またはコマンドをエッジデバイス100に提供することができ、例えば局所モデル206の履歴および/または精度に関する情報を受信することができる。例えば、サーバー310は、製造業者の更新に基づいて、更新されたモデル206を提供することができる。サーバー310は、エッジデバイスと同じ機能の多くを実行することができるが、エッジデバイス100とは異なり、サーバー310は、データ収集デバイス104を使用してデータ収集を実行しない。ネットワーク312は、1つまたは複数のネットワークおよび/または通信経路を含むことができ、ピアツーピアネットワークとして構成することができる。例示的な実施形態では、異種グループ300は、任意のタイプのネットワーク312(例えば、LAN、WAN、Wi−Fi、BT、Z波、衛星、地上波など)内で構成することができ、任意の適切なネットワークトポロジ(例えば、メッシュ、バス、グリッド、リング、スターツリーライン)で構成することができる。

0014

図3Bは、本開示の例示的な実施形態による、エッジデバイスの異種グループを示すブロック図である。図3Bに示すように、異種グループ300は、エッジデバイス302a、302b、304、306、308a、308b、308cの半接続メッシュネットワークとして提供され、それは4つの異なるタイプのエッジデバイス(例えば、ビデオカメラ302、サーモスタット304、現金自動預け払い機306、およびショッピングカート308)を含む。本明細書で説明するように、エッジデバイス100を参照する場合に、2つの異なるタイプのエッジデバイス302、304は、異なる符号302、304(例えば、ビデオカメラとサーモスタット)、または同じタイプの2つのエッジデバイスは、同じタイプの複数の異なるエッジデバイス(例えば、2つのビデオカメラ302)が参照されていることを示す文字「a」および「b」を付した同じ符号302aおよび302bによって示すことができる。また、エッジデバイス100は、エッジデバイス100が同じタイプかまたは異なるタイプのエッジデバイス100であるかどうかを特定することなく、符号100で参照されてもよい。

0015

例示的な実施形態では、異種グループ300内で複数の異なるタイプのネットワーク通信(例えば、Wi−Fi、4G、BT、NFC、Li−Fi、IrDA)を使用することができるが、1つのタイプの通信しかできないエッジデバイス100が別のエッジデバイス100を有する異種グループ300に存在する可能性があり、それは両方の形式の通信が可能な仲介者として機能するエッジデバイス100を介してしか、異なるタイプの通信ができない。例示的な実施形態では、ネットワーク312は、無線モバイルアドホック・メッシュ・ネットワーク(例えば、MANET、VANET、SPAN)であってもよい。例示的な実施形態では、ネットワーク312はスキャッタネットであってもよい。本明細書で説明するように、エッジデバイス100の異種グループ300は、簡潔にするために、単にグループ300と呼ぶことができる。グループ300は、しばしばグループ300内で変化を受けやすい。例えば、グループ300内のエッジデバイス100は、グループ300との通信を予期せず失う場合がある。例えば、エッジデバイス100は、電力を失うことがあり(例えば、プラグが抜かれる、および/またはバッテリ切れる)、干渉(例えば、山、雨)のために接続が制限されているかまたは接続されない領域に移動することがあり、あるいはユーザがスイッチを切ることもある。したがって、グループ300は、静的ではなく、むしろ、通常、異なるエッジデバイス100が自発的におよび/または予期せずにグループ300に出入りすることによって動的に変化する異種環境において、通常、動作している。例示的な実施形態では、本願で説明したように、異種グループ300は、ショッピングカート、自動車、監視カメラ、現金自動預け払い機、GPSデバイス、医療デバイスロボット遠隔制御煙検知器ヘッドマウントディスプレイのうちの1つまたは複数を含むエッジデバイス100、あるいは任意の他のエッジデバイス100を有することができる。例示的な実施形態では、異種グループ300は、Internet of Things(IoT)の一部である複数のエッジデバイス100を含み、IoTは急速に成長しており、既に何十億ものデバイスを含んでいる。図3Bに示すように、エッジデバイス302aは、リーダーエッジデバイス302aとして指定されており、リーダーエッジデバイス302aは、グループ300のリーダーとして機能するデバイスであり、これについては後でさらに詳しく説明する。

0016

図4は、本開示の例示的な実施形態による、エッジデバイスの異種グループにおける機械学習の例示的なプロセスを示すフローチャートである。プロセス400は、図4に示すフローチャートを参照して説明しているが、プロセス400に関連する動作を実行する他の多くの方法を使用することができることが理解されよう。例えば、ブロックのうちのいくつかは順序が変更されてもよく、特定のブロックが他のブロックと組み合わされてもよく、また記載されたブロックのうちのいくつかは任意である。

0017

例示的なプロセス400は、機械学習モデルの実行から開始することができる(ブロック402)。例えば、エッジデバイス100は、機械学習モデル206を使用して画像データを分析して予測を行うことができる。エッジデバイス308がショッピングカートである場合の例示的な実施形態では、ショッピングカートによって実行されるモデル206は、品目を消費者に提案する所定のタスクに関連し得る。エッジデバイス302がビデオカメラである場合の例示的な実施形態では、ビデオカメラによって実行されるモデル206は、共謀窃盗の認識の所定のタスクに関連し得る。例示的な実施形態では、エッジデバイス100は、例えば、2つの異なるタスクに向けられた2つの異なる機械学習モデル206が同時に実行されている場合には、複数の機械学習モデル206を同時に実行する。2つの異なる機械学習モデル206は、同じ収集データを使用してもよく、または異なるデータ収集デバイス104(例えば、画像センサおよびマイクロフォン)から収集された異なるデータを使用してもよい。また、いくつかの機械学習モデル206は、異なるデータ収集デバイス104から収集された複数の異なるタイプのデータを使用することができる。

0018

例示的なプロセス400は、異種エッジデバイス間の通信を含む(ブロック404)。例えば、エッジデバイス100は、範囲内の様々な異なるタイプのエッジデバイス302、304、306、308との接続を求める定期的なピングメッセージを送信することができる。例示的な実施形態では、ビデオカメラおよびショッピングカートは、ショッピングカートがビデオカメラに近接したときに、例えば、チェックアウトレーンにおいて、消費者がショッピングカート内の商品代金支払っているときに通信することができる。例示的な実施形態では、範囲は、ピングメッセージの存続時間または中間デバイスを介したホップ数に基づいて設定される。例示的な実施形態では、その範囲は、信号電力、干渉など(例えば、電力クラスおよび干渉のない視線に基づく30フィートのブルートゥース範囲)によって規定される有効範囲に限定され得る。例示的な実施形態では、その範囲は地理描写によって設定されてもよい。機械学習モデル206の実行および異種エッジデバイス100間の通信が、同時に発生することがあり得るので、エッジデバイス100は、既知のエッジデバイス100との通信を維持し、例えば、通信の範囲内で移動した新しく利用可能なエッジデバイス100との新たな接続を行い、その間にデータ収集デバイス104によって収集データの着信ストリーム上で機械学習モデル206を継続的に実行する。

0019

通信エッジデバイス100は、グループ300の構築を実行する(ブロック406)。例えば、グループ300のグループメンバーシップおよびリーダーが決定される。例示的な実施形態では、図3Bに示すように、エッジデバイス302a、302b、304、306、308a、308b、308c(例えば、ビデオカメラ、サーモスタット、現金自動預け払い機、およびショッピングカート)がグループ300のメンバーであると決定され、グループ300はリーダーエッジデバイス302aを一括して決定することができる。グループ300のメンバーは、異種グループ300内の分散型機械学習に関与してもよく、リーダーエッジデバイス302a(例えば、ビデオカメラ)は、グループ300の分散型機械学習を導くことができる。例えば、リーダーエッジデバイス302aは、異なるエッジデバイス(例えば、302aおよび302b)のモデル206をミキシングするべきかどうかを決定するために、グループ300と定期的に通信するための構造を決定することができる。また、グループ300は、サーバー310(例えば、中間サーバー)と通信することができ、サーバー310は、グループ300を監視し(例えば、モデル206の履歴およびミキシングに関する情報を記録する)、および/または更新されたモデル206をグループ300に提供することができる。例示的な実施形態では、サーバー310は、グループ300の構築に参加することができる。また、サーバー310は、多くの異なるグループ300を監視してもよく、局所モデル206の履歴および精度に関する情報を受信してもよい。例示的な実施形態では、グループメンバーシップおよびリーダーエッジデバイス302aの決定は、エッジデバイス100間の地理的近接度および/または接続信号強度に基づくことができる。

0020

混合モデルが生成される(ブロック408)。例えば、リーダー302aは、エッジデバイス100から局所モデル206を要求し、受信した局所モデル206をミキシングする。例示的な実施形態では、ビデオカメラであるリーダー302aは、2つのショッピングカートからの2つの局所モデル206をミキシングして、品目を消費者に提案することに関連する混合モデル206を生成する。さらに詳細に後述するように、リーダー302aは、どのモデル206がミキシング可能であるかを判定し、ミキシング可能なモデル206をミキシングすることが適切であるかどうかを判定することができる。

0021

混合モデルがグループに分配される(ブロック410)。例えば、リーダー302aは、混合モデル206をエッジデバイス100に送信し、局所モデル206を更新する。次いで、混合モデル206は、グループ300内のエッジデバイス100によって実装され得る(ブロック412)。例えば、エッジデバイス100は、その局所モデル206を混合モデル206に置き換える。例示的な実施形態では、ショッピングカートはそれぞれ、リーダー302aから受信された混合モデル206により消費者への品目を提案するための局所モデル206を置き換える。例示的なプロセス400は、設定された間隔で周期的に繰り返される進行中のプロセスであってもよい。例えば、ブロック402〜412は、通常、30秒の期間にわたって発生し得るが、この期間の持続時間は、例えば、収集されるデータの速度および量(例えば、1秒、5分)、リーダー302aの計算能力、エッジデバイス100間の通信速度、必要とされるモデルミキシングの程度などに応じて短くなったり、長くなったりしてもよい。例えば、期間が1秒である場合には、収集データは数秒以内に非常に変化する可能性があり、モデル206が可能な限り正確であることが重要であり得る(例えば、自己運転機能を備えた自動車)。一方、期間が5分である場合には、収集データは、数分の経過にわたって比較的小さな変化を含むことがあるので、モデル206の精度は重要ではない可能性がある(例えば、駐車可能性の予測)。期間は、一般に、異種エッジデバイス100間の通信が維持されている間に機械学習モデル206が実行される第1のフェーズ(ブロック402および404)と、グループ300が構築され、グループ100内のエッジデバイスによってモデル206がミキシングされ、配信され、実装される第2のフェーズ(ブロック406〜412)と、を含む。第1および第2のフェーズは、通常、オーバーラップしてもよく、第2のフェーズの開始は、同期またはタイムアウト期間を必要とする場合がある。通常、第1のフェーズは、期間の大部分を構成する。また、期間は、例えばグループ300内のエッジデバイス100の数、リーダー302aの計算能力に基づいて、イベントによってトリガされた場合に(例えば、消費者がチェックアウトするたびに、消費者のショッピングカートが第2のフェーズを開始してもよい)、モデル206の変更または更新を必要とする収集データの重要な変更に基づいて、動的に決定されてもよい。

0022

図5は、本開示の例示的な実施形態による、機械学習の例示的なプロセスを示すフローチャートである。プロセス500について、図5に示すフローチャートを参照して説明しているが、プロセス500に関連する動作を実行する他の多くの方法を使用することができることが理解されよう。例えば、ブロックのうちのいくつかは順序が変更されてもよく、特定のブロックが他のブロックと組み合わされてもよく、また記載されたブロックのうちのいくつかは任意である。

0023

例示的なプロセス500は、データ収集デバイスから収集データを受信することから開始することができる(ブロック502)。例えば、ショッピングカート内の品目を含むデータストリームがタグリーダから受信される。ショッピングカートは、タグリーダ(例えば、RFIDリーダー)および位置検出デバイス(例えば、GPSデバイス)などの複数のデータ収集デバイス104を含むことができる。例えば、買い物客が食料品店を移動すると、ショッピングカートに入れた品目を、タグリーダを使用して識別することができる。メモリ106は、どの品目がショッピングカートに置かれているか、およびショッピングカートが店舗内に位置しているかを示すデータを定期的に格納することができる。例えば、メモリ106は、0.5秒毎に現在の場所およびショッピングカート内の品目のリストを格納することができ、したがって、店舗全体にわたって買い物客の行動ログを作成することができる。例示的な実施形態では、店舗は、上の1,000個の異なる商品を追跡し、これらの品目の1つがショッピングカートに入れられると、その商品の有無を示すようにベクトルが更新される。例えば、1000個の品目のうちの品目3と5がショッピングカートに置かれると、1,000項のベクトルが<0,0,1,0,1,0,0,...,0>に更新され、店舗内の位置およびタイムスタンプと共に格納され得る。店舗内の全ての品目が、ショッピングカート内のタグリーダによって読み取り可能なタグ(例えば、RFIDタグ)を有さなければならないわけではないことを理解されたい。

0024

収集データは、所定のタスクに関連するモデルを用いて分析されてもよい(ブロック504)。例えば、ショッピングカートによって収集データストリームを分析して、品目の予測を行い、それを買い物客に提案することができる。例示的な実施形態では、モデル206は、買い物客に提案された場合に、所定の日にモデル206によって提案され得る所定の品目リストから購入される最も有望な品目である品目を予測することができる。例えば、買い物客に提案された品目は、高い利益率の品目であってもよいし、および/または過剰に在庫されているか間もなく期限切れの品目であってもよい。例示的な実施形態では、モデル206は、提案することができる3つの品目のリスト(例えば、宝くじチケットペストリートレイ、またはフラワーブーケ)を有することができる。モデル206は、カート内に置かれた品目、滞留時間(例えば、1つの場所で10秒以上)、店舗を通る移動(例えば、通路の順序およびバイパス通路)、曜日時刻休日または特別イベント(例えばスーパーボウル)などを分析することができる。例えば、収集データは、モデル206の実行可能コンポーネント210の入力変数として入力され、消費者が一定期間立ち止まる(例えば、買い物客が製品興味を持っている、または決定している)滞留時間、品目がカートに置かれる順序、バイパスされる店の部分などを分析する。収集データは全て、モデル206によって分析されて、どの品目を買い物客に提案すべきかを予測することができる。例示的な実施形態では、モデル206は、単純ベイズ分類器を含むことができ、それは宝くじチケット、ペストリートレイ、およびフラワーブーケのそれぞれの購入確率を出力し、最も高い購入確率を有する品目を提案する品目とすることができる。上述したように、店舗内の全ての品目が、ショッピングカート内のタグリーダによって読み取り可能なタグ(例えば、RFIDタグ)を有さなければならないわけではないが、そのような品物は、品目を消費者に提案するためにモデル206によって考慮されなくてもよい。

0025

結果がモデルの分析に基づいて出力される(ブロック506)。例えば、実行可能コンポーネント210は、グローバルモデル206に基づいて、宝くじチケットを推薦することにより宝くじチケットを購入する可能性が最も高くなるという予測を行う。例えば、買い物客は、5つの品目をショッピングカートに入れ、次に実行可能コンポーネント210は、品目の購入確率を決定する(例えば、<宝くじチケット0.847>、<ペストリートレイ0.017>、<フラワーブーケ、0.136>)ことができる。したがって、モデル206は、宝くじチケットを買い物客に提案するべきであると予測する結果を出力することができる。例示的な実施形態では、通信モジュール102は、モデルから出力された結果に基づいて、例えばデジタル表示画面上に品目を提案することができる。また、例示的な実施形態では、提案した品目について消費者にクーポンを提供することもできる。モデル206によって出力される結果は、予測、分類、クラスタリング、異常検出、および/または認識を含むことができる。上述のように、メモリ106は、収集データを一時的に格納することができ、収集データが分析されて結果が出力されると、メモリ106は新しい収集データで上書きされる。例えば、メモリ106は、50ミリ秒毎、500ミリ秒毎、5秒毎、または5分毎に上書きされてもよい。

0026

結果の正確さがモデルによって判定される(ブロック508)。例えば、モデル206は、フィードバックを使用して、宝くじチケットが購入されたかどうかを判定する。例示的な実施形態では、ショッピングカートの通信モジュール102は、どの商品が購入されたかを示す情報を別のエッジデバイス100(例えば、レジ、ビデオ監視カメラ)から受信することができ、したがって、モデル206は、提案した品目が購入されたか購入されなかったかを判定することができる。場合によっては、エッジデバイス100は、出力された結果の正確さを判定するためのフィードバックを得ることができないことを理解されたい。

0027

このモデルは、所定のタスクに関連する局所モデルを作成するように更新される(ブロック510)。例えば、更新モジュール218は、グローバルモデル206のパラメータ値を変更して局所モデル206を作成する。例えば、消費者が宝くじチケットを購入することをショッピングカートが提案した後に宝くじチケットが購入されなかった場合には、更新モジュール218は、このフィードバックを訓練データとして使用して、モデル206のパラメータ値を更新することができる。局所モデル206は、比較的短時間の後に特定の環境に対して非常によく訓練され得る。環境が変化する場合には、モデル206は一般に、最適な結果を提供するために再度、通常は数回更新する必要がある。エッジデバイス100が動作する環境は、エッジデバイス100が異なる場所に移動するか、または環境が経時的に変化するか、またはこれらの両方の組み合わせのために変化し得る。

0028

上述のショッピングカートの例は単に例示的なものであり、モデル206は任意の適切な所定のタスクに関連し、所定のタスクに対処するための任意の適切なタイプのモデル206を含んでもよいことを理解されたい。例示的な実施形態では、モデル206は、食料品店におけるレジ係による共謀窃盗の認識に向けられてもよい。例えば、チェックアウトレーンに位置する監視ビデオカメラは、エッジデバイス100として動作することができる。ビデオカメラは、画像データのストリームを収集し、モデル206によって分析されて、レジ係の手の動きが、レジ係が消費者を呼び出すための品目を適切にスキャンしていないことを示していることを検出することができる。モデル206が、共謀窃盗が発生している、または発生しそうであると判断した場合には、または店の管理者にメッセージを送って、管理者が店の出口で消費者のバッグおよび領収書チェックすることができる。消費者がスキャンされなかった品目を持っていたかどうかに基づいて、フィードバックをモデル206に提供することができ、フィードバックに基づいてモデルを更新することができる。したがって、更新された局所モデル206は、レジ係の品目をスキャンするスタイル適応することができ、それは異なるレジ係の別のモデル206とは異なっていてもよい。

0029

別の例示的な実施形態では、モデル206は、自動車の目標コーナリング速度を決定する所定のタスクに関連してもよい。例えば、自動車は、予測される衝突に基づく自動制動、およびドライバへの警報または警告などの自己運転機能を含むことができる。例示的な実施形態では、自動車は、次に来るコーナー(例えば、道路カーブまたはターン)を分析するためのビデオカメラなどのデータ収集デバイス104を含むエッジデバイス100であってもよい。データ収集デバイス104は、曲がりの鋭さ、道路の傾斜、および道路のキャンバ、現在の速さもしくは速度、スリップ角、タイヤ舗装摩擦、自動車の重量、重量の分布湿度、温度などを決定するために使用されるデータストリームを提供することができる。モデル206は、次に来る各コーナーの目標速度を出力することができ、ブレーキ掛ける、または危険な状態をユーザに警告するなどのために自動車によって使用することができる。自動車内のデータ収集デバイス104(例えば、牽引制御システム)からコーナーを通って運転中に得られるフィードバック(例えば、タイヤスリップ車輪の差)をモデル206に提供することができる。自動車が走行するにつれて、更新モジュール218はフィードバックを使用してモデル206を改良することができ、それは場所の変化(例えば、砂漠、山)、天候の変化(乾燥、雨、、風、暑さ、凍結)、重量の変化(例えば、乗客乗り降りもしくは荷物の積み降ろし)、または他の任意の環境変化に基づいてもよい。

0030

図6は、本開示の例示的な実施形態による、混合モデルを生成するための例示的なプロセスを示すフローチャートである。プロセス600について、図6に示すフローチャートを参照して説明しているが、プロセス600に関連する動作を実行する他の多くの方法を使用することができることが理解されよう。例えば、ブロックのうちのいくつかは順序が変更されてもよく、特定のブロックが他のブロックと組み合わされてもよく、また記載されたブロックのうちのいくつかは任意である。

0031

例示的なプロセス600は、モデルに対する要求をエッジデバイスの異種グループに送信することから開始することができる(ブロック602)。例えば、リーダー302aは、局所モデル206に対する要求をグループ300にブロードキャストする。例示的な実施形態では、モデル206に対する要求は定期的に(例えば、30秒毎に)送信される。また、例示的な実施形態では、モデル206に対する要求は、ショッピングカートがチェックアウトレジスタにあるたびに、トリガイベント応答して送信される。したがって、例示的なプロセス600は、規則的な周期的間隔または散発的に開始されてもよい。また、例示的な実施形態では、サーバー310(例えば、中間サーバー)は、モデル206に対する要求をグループ300内のエッジデバイス100に送信することができる。

0032

次に、グループからモデルを受信することができる(ブロック604)。例えば、リーダー302aは、グループ300内の異なるエッジデバイス302b、308a、308b、308c(例えば、ビデオカメラ、ショッピングカート)から異なる所定のタスク(例えば、共謀窃盗の認識、品目の提案)に関連するいくつかの異なる局所モデル206を受信する。モデル206は、構造メタデータ212、コンテキストメタデータ214、および結果ログ216を含むことができ、リーダー302aは、受信したモデル206をミキシングできるか、および/またはミキシングするべきかを決定するためにそれを使用することができる。

0033

モデルは、構造メタデータによってフィルタリングすることができる(ブロック606)。例えば、モデル206は、モデルタイプ(例えば、単純ベイズ分類器、線形回帰モデル)、モデル構造(例えば、パラメトリック/固定構造、非パラメトリック)、変数、パラメータ、データタイプなどによってフィルタリングされてもよい。例えば、同じタイプおよび構造の異なるモデル206は、異なるタスクに関連し、異なる出力変数(例えば、提案された品目、共謀窃盗の認識、速度(マイル/時))を有することができる。また、同じタイプおよび構造の異なるモデル206は、同じタスク(例えば、製造機器誤動作検出)に関連するが、異なる入力変数(例えば、温度、振動、煙検出、ビデオ画像データ、音声データ)を有してもよい。さらに、同じタイプの入力変数および出力変数を有する異なるモデル206は、異なるタイプのモデル206であってもよいし、および/または異なる構造もしくはデータタイプを有してもよい。構造メタデータ212によるフィルタリングを使用して、モデル206をミキシングすることが望ましいかどうかを決定し、もしそうであれば、どのミキシング演算を用いてモデル206をミキシングすることができるかを決定することができる。例えば、モデル206をサブグループにフィルタリングすることができ、そのサブグループでは単一のサブグループ内のモデル206のみがミキシングされる。例えば、異なるまたは互換性のないデータタイプ(例えば、高精細度ビデオおよび低精細度ビデオ)である入力変数を使用するモデル206をミキシングすることは望ましくない場合がある。

0034

モデルは、コンテキストメタデータによってフィルタリングすることができる(ブロック608)。例えば、モデル206は、データ収集環境(例えば、屋外屋内)、モデル履歴(例えば、期間内の結果の量、期間中の正しい予測および誤った予測)、および/またはモデルの安定性(例えば、期間内の更新の数、期間内の更新の分散)によってサブグループにフィルタリングすることができる。コンテキストメタデータ214によってモデル206をサブグループにフィルタリングすることは、モデル206をクラスタリングすること(例えば、K平均、ボトムアップGMM)を含むことができる。例示的な実施形態では、モデル206の各々によって出力された結果(例えば、共謀窃盗の認識)の量が、ある期間にわたって他のモデル206よりも有意に低かった(例えば、疎データ)かどうかに基づいて、モデル206をフィルタリングおよび/またはクラスタリングすることができる。

0035

モデルは、データ分布によってフィルタリングすることができる(ブロック610)。例えば、モデル206は、収集データストリームの類似性によってフィルタリングされる。例示的な実施形態では、2つのビデオカメラが共謀窃盗の認識のためのモデル206を実行しているが、収集データストリームは全く異なる場合があり得る。例えば、1つのエッジデバイス302bが、レジ係が積極的に品目をスキャンし、買い物客を呼び出すデータストリームを有することがあり、異なるエッジデバイス302aが、レジ係が現在作業していない閉鎖したレジスタのデータストリームを受信することがある。この場合、エッジデバイス302a、302bのモデル206は、構造メタデータ212およびコンテキストメタデータ214によって1つのサブグループにフィルタリングすることができるが、データ分布によるフィルタリングによって、これらのモデル206を異なるサブグループに配置することができる。したがって、たとえ2つのモデル206が同一の構造メタデータを有し、同じ所定のタスクに関連していても、モデル206が公開されたデータストリームは完全に無関係である可能性があり、この場合には、これらのモデル206をミキシングすることによって、モデル206を改良することができず、実際にはモデル206を劣化させるおそれがある。

0036

さらにフィルタリングまたはクラスタリングされないサブグループは、ミックスグループと呼ばれ、ミキシンググループはミキシングの準備が整っているモデル206を含む。コンテキストメタデータによるフィルタリングおよび/またはフィルタリングされたモデル206のクラスタリングが適切でないか、または必要でない場合がある。例えば、同じ店舗に全てのショッピングカートがある場合には、ショッピングカートは類似したデータ分布を有するデータを収集していると考えられ、したがってクラスタリングは不要であり得る。他方、グループ300内のショッピングカートが異なる店舗にある場合には、コンテキストメタデータ(例えば、店舗の場所)によるフィルタリングおよび/またはクラスタリングを実行することができる。また、例えば、メタデータによるフィルタリングおよびデータ配信に基づいて、サブグループ内に2つのモデル206のみが提供される場合には、これらの2つのモデル206をミックスグループにクラスタリングする必要はなくてもよい。

0037

モデルに対する適切なミキシング演算が決定される(ブロック612)。例えば、列挙演算によるミキシングは、ミックスグループ内の2つの局所モデル206に適切である。様々なミキシング演算が、ミキシングモデルに対して可能であり、ミキシングするモデル206の数、要求される精度レベル、リーダー302aの計算能力などに基づいて、異なるミキシング演算を使用することができる。モデルミキシングモジュール114は、平均化演算遺伝的アルゴリズム演算(「GA演算」)、列挙演算、およびアンサンブル演算を行うことができる。例えば、アンサンブル演算を使用して、パラメトリック構造を持たないモデル206を別のモデルとミキシングすることができる。列挙演算ミックスグループのサイズが小さい場合には、最適精度を提供する列挙演算を使用することができる。ミックスグループのサイズが大きい場合は、GA演算または平均化演算を使用することができる。例示的な実施形態では、大きなサイズのミックスグループでは、リーダー302aのコンピュータ能力が高い場合には、GA演算を使用することができる。一方、リーダー302aの計算能力が低い場合には、平均化演算を使用することができる。

0038

モデルのミキシング演算が実行され、混合モデルが生成される(ブロック614)。例えば、リーダー302aは、列挙によって2つの局所モデル206をミキシングして、混合モデル206を作成する。別の例示的な実施形態では、食料品店は、買い物客に商品A、B、またはC(例えば、宝くじチケット、ペストリートレイ、またはフラワーブーケ)を提案する所定のタスクの10個の共通品目を追跡することができるショッピングカートを有する。例えば、ショッピングカートによって使用されるモデル206は、単純ベイズ分類器を含むことができ、店は、モデル206を実行する数百のショッピングカートを有することができ、モデル206は、例えば、過去15個のチェックアウトされたショッピングカートに基づいて、混合モデル206で定期的に更新することができる。例えば、モデルXは、カート1〜15からなるショッピングカートのグループから最近生成され、モデルYは、カート16〜30からなるショッピングカートの異なるグループから最近生成された。以下の表は、カート毎の単純化された例示的なデータを示し、10個の追跡されたアイテムのうちのどれが各ショッピングカートに置かれたか(1)、または各ショッピングカートに置かれなかったか(0)を含み、かつ、3つの提案した品目A、B、またはCのうちのどれが他の品目と併せて購入されたかを含む。

0039

上記の表1および表2に示すように、各モデルは、品目Aの5回の購入、品目Bの5回の購入、および品目Cの5回の購入に基づいている。しかし、モデルXとモデルYが基づいているデータストリームは異なるので、モデル206は、入力変数の同じセットに対して異なる結果を生成することができる。例えば、買い物客が品目2、品目6、品目8、品目9、および品目10をショッピングカートに入れたとすると、モデルXとモデルYは異なる品目を買い物客に提案するであろう。具体的には、例えば、モデルXは、単純ベイズ分類器を使用して、以下の購入確率を決定することができ、<宝くじチケット、0.847>、<ペストリートレイ、0.017>、<フラワーブーケ、0.136>、その結果、品目Aの宝くじチケットが提案される。モデルYは、表2に示すように異なる収集データを使用することに基づいて、以下の購入確率を決定することができ、<宝くじチケット、0.329>、<ペストリートレイ、0.153>、<フラワーブーケ、0.518>、その結果、品目Cのフラワーブーケが提案される。モデルYについては、品目Aの収集データ(例えば、品目1〜10の合計11)は、品目BおよびCの各々について収集データ(例えば、両方とも品目1〜10の合計25)と比較して比較的疎である。例えば、モデルXおよびモデルYは、平均化演算によるミキシングを使用してミキシングするのに適したものとして決定することができる。買い物客が品目2、品目6、品目8、品目9および品目10をショッピングカートに入れたとすると、モデルXおよびモデルYから生成された混合モデルは、品目Aの宝くじチケットを提案するであろう。また、マージ演算によるミキシングを使用して、モデルXとモデルYとをミキシングすることもでき、同様に、以下に示すように、品目Aの宝くじチケットを提案するであろう。

0040

上述のように、表3は、モデルミキシングがモデル206から出力される結果にどのように影響を及ぼすかについての例示的なデータを示し、異なるミキシング演算がどのようにして同じモデル206(例えば、モデルXおよびモデルY)をミキシングするための異なる結果を生じ得るかを示す。

0041

図7は、本開示の例示的な実施形態による、エッジデバイスの異種グループにおける機械学習のための例示的なプロセスを示す流れ図である。プロセス700について、図7に示す流れ図を参照して説明しているが、プロセス700に関連する動作を実行する他の多くの方法を使用することができることが理解されよう。例えば、ブロックのうちのいくつかは順序が変更されてもよく、特定のブロックが他のブロックと組み合わされてもよく、また記載されたブロックのうちのいくつかは任意であってもよいし、あるいは異なるデバイスによって実行されてもよい。

0042

例示的なプロセス700では、データは、例えば、ネットワーク312を介して、エッジデバイス302a、302n、304a、304nの間を流れることができる。エッジデバイス302a、302n、304a、304nは、任意のタイプのエッジデバイス100であってもよい。4つの特定のエッジデバイス302a、302n、304a、304nについてのプロセスが4つの別々の列に示されているが、より多くのエッジデバイス100がプロセス700に関与してもよく、1つまたは複数のサーバー310がプロセス700に参加してもよい。例えば、エッジデバイス302nは、エッジデバイス302aと同じタイプの第2の、第10の、または第50のデバイスを表すことができる。同様に、エッジデバイス304nは、エッジデバイス304aと同じタイプの第3の、第20の、または第100のデバイスを表すことができる。通常、全てのエッジデバイス302a、302n、304a、304nが互いに直接通信することができるわけではないので、通信は中間エッジデバイス(例えば302n、304a)を介して、および/または他のデバイス(例えば、ルータ、ゲートウェイ、サーバー310)を介して行われる。また、プロセス700は、第1のフェーズ750および第2のフェーズ760を示す。第1のフェーズ750では、エッジデバイス302a、302n、304a、304nがモデル206を実行し、他のエッジデバイス302a、302n、304a、304nと接続して通信を維持し、第2のフェーズ760では、グループ構築とモデルミキシングが行われる。

0043

例示的なプロセス700は、エッジデバイス302aがモデルを実行することで開始することができる(ブロック702a)。同様に、エッジデバイス302nがモデルを実行しており(ブロック702b)、エッジデバイス304aがモデルを実行しており(ブロック702c)、エッジデバイス304nがモデルを実行している(ブロック702d)。実行モデルのいずれかまたは全ては、局所モデル206であってもよい。上述のように、実行モデル206は、収集データを分析して、結果を出力することができる。第1のフェーズ750は、例えば、エッジデバイス302aが90の結果(例えば、毎秒2つの結果)を出力することができる45秒の持続時間を有することができるが、異なるエッジデバイス(例えば、304a)は、例えば、モデル206に応じて、かつエッジデバイス(例えば、304a)によって収集データストリームに応じて、より多くの結果またはより少ない結果を出力することができる。エッジデバイス302aは、エッジデバイス302nにピングメッセージ704aを送って、最初に接続を行い、次に接続を維持することができる。さらに、ピングメッセージ704b、704cが、例えばエッジデバイス302n、304a、304nの間で送信される。プロセス700では例示的な通信のみが示され、例えば、エッジデバイス302aから304nへのピングメッセージの方向通信を含む、より多くの通信が行われてもよいことを理解されたい。

0044

エッジデバイス302nではトリガイベントが発生する(ブロック706)。例えば、トリガイベントは、ショッピングカート内の品目の販売が完了した後のチェックアウトレーン内のショッピングカートであってもよい。また、例えば、トリガイベントは、時間に基づくイベント(例えば、第1のフェーズ750が開始してから45秒後)であってもよく、タイマー満了によってトリガされてもよい。例示的な実施形態では、エッジデバイス302nは、複数の異なるトリガイベントを有するように構成されてもよい。

0045

エッジデバイス302nでトリガイベントが発生すると、そのエッジデバイス302nは、他のエッジデバイス302a、304a、304nとのグループ構築を開始し、グループメンバーシップおよびリーダーを決定することによって、第2のフェーズ760に入ることができる(ブロック708)。エッジデバイス302a、304a、304nはまた、グループメンバーシップおよびリーダー(ブロック710a、710b、710c)を決定してもよい。例えば、エッジデバイス302nは、構築情報712a、712b、712cを他のエッジデバイス302a、304a、304nに送信することができ、それはグループメンバーシップを確立し、グループ決定モジュール110を使用してリーダーを選ぶ合意プロトコルを実行するための要求を含む。例えば、全てのエッジデバイス302a、302n、304a、304nは、それらがグループメンバーシップを有するべきであると決定してもよい。しかしながら、例えば、1つまたは複数のエッジデバイスは、例えば、貧弱な無線接続が、第2のフェーズ760で失敗するか、または問題を引き起こす可能性が高い場合には、グループメンバーシップを拒否することができる。さらに、エッジデバイス302a、302n、304a、304nのそれぞれは、現在の第2のフェーズ760のための新しいリーダー302aを決定することができる。例えば、以前の第2のフェーズ760では、エッジデバイス304nがリーダーとして動作してもよかったが、エッジデバイス304nはその時点で処理能力が限られている可能性があるので、異なるリーダーが選出される。上述したように、グループメンバーシップの決定およびリーダーの決定は、両方とも多くの異なる方法で実行されてもよく、特定の決定方法は、エッジデバイス302a、302n、304a、304nによって動的に使用されてもよい。

0046

リーダー302aが決定されると、モデル716に対する要求がリーダーによってブロードキャストされ得る(ブロック714)。モデル716に対する要求は、エッジデバイス302nからエッジデバイス304aおよびエッジデバイス304nに送ることができる。全てのエッジデバイス302n、304a、304nがモデル716に対する要求を受信すると、エッジデバイス302n、304a、304nは、それらの局所モデル720a、720b、720cをリーダー302aに提供する(ブロック718a、718b、718c)。リーダー302aが局所モデル720a、720b、720cを得ると、リーダー302aはモデルミキシングモジュール114を使用してモデルミキシングプロセスを開始する。

0047

リーダー302aは、局所モデル720a、720b、720cをフィルタリングしてミキシングする(ブロック722)。例えば、リーダー302aは、構造メタデータによるフィルタリング、コンテキストメタデータによるフィルタリング、およびデータ分布によるフィルタリングを実行して、ミックスグループを作成することができる。また、リーダー302aは、受信した局所モデル720a、720b、720cのうちの1つまたは複数を用いて、それ自体の局所モデル206をフィルタリングしてもよい。次に、局所モデル720a、720b、720cは、適切なミキシング演算を使用してミキシングされる。例えば、局所モデル720b、720cがミキシングされ、リーダー302a自体の局所モデル206および局所モデル720cがミキシングされる。リーダー302aは、混合モデル726a、726b、726cをエッジデバイス302n、304a、304nに配信する(ブロック724)。

0048

エッジデバイス302nは、混合モデル726aを実装する(ブロック728a)。例えば、混合モデル726aは、1つのタスク(例えば、母集団の異なるセグメントについてのモデル)に関連してもよく、あるいは複数の異なるタスク(例えば、共謀窃盗の認識またはBOLO警報)に関連してもよい。上述したように、エッジデバイス302nは、タスクを定期的に(例えば、時間間隔またはコマンドで)切り替えることができる。例えば、エッジデバイス302nは、共謀窃盗の認識(例えば、レジ係が品目をスキャンしているとき)とBOLO警報(例えば、チェックアウトレーンが空である)とを切り替えることができる。

0049

エッジデバイス304aは、混合モデル726bを実装する(ブロック728b)。また、エッジデバイス304nは、混合モデル726cを実装する(ブロック728c)。さらに、リーダー302aは、リーダー自体の局所モデル206のうちの1つが別のエッジデバイス302nからの局所モデル720cとミキシングされた場合には、混合モデル206を実装することができる。また、エッジデバイス302a、304a、304nは、リーダー302aによって受信された他のモデル720a、720b、720cおよびフィルタリングプロセスによっては、ミキシングに適したモデルがない可能性もあるので、混合モデル726a、726b、726cを受信しない場合があることを理解されたい。第2のフェーズ760は、例えば15秒の持続時間を有することができ、その後、第1のフェーズ750が再び開始する。

0050

以前に存在していた機械学習方法は、一般的には、同種の環境からのデータストリームを処理するのに有用であった。しかし、我々は、環境の変化が一般的である異種環境で利用可能なデータの量と速度を既存の方法では適切に処理できないことを認識している。より高度で高速なコンピュータおよび/またはネットワークハードウェアでこの問題に対処することは不十分であることが判明しており、それは、技術的に最も高度なコンピュータハードウェア、ソフトウェア、およびネットワーキング機能であっても、異種環境(例えば、接続が変化する異なるタイプのエッジデバイス100)における変化を処理することはできるが、我々が必要とする速度でデータ量を処理するのに適していないためである。換言すれば、既存の機械学習技術は、一般に、異種環境における機械学習を処理するには不十分である。一方、本明細書で提案するようなエッジデバイス100による異種環境における機械学習は、従来の方法およびシステムを用いては不可能であった異なる技術的アプローチをとる。したがって、本明細書に記載の方法およびシステムを使用することによって、エッジデバイス100および異種環境が改良される。

0051

本明細書に記載の開示された方法および手順の全ては、1つまたは複数のコンピュータプログラム、モジュール、またはコンポーネントを使用して実装できることが理解されよう。これらのモジュールまたはコンポーネントは、RAM、ROM、フラッシュメモリ磁気もしくは光学ディスク光学メモリ、または他の記憶媒体などの揮発性または不揮発性メモリを含む、任意の従来のコンピュータ可読媒体または機械可読媒体上の一連コンピュータ命令として提供されてもよい。命令は、ソフトウェアまたはファームウェアとして提供されてもよく、かつ/またはASICFPGA、DSPまたは他の同様のデバイスなどのハードウェアコンポーネントの全体または一部に実装されてもよい。命令は、1つまたは複数のプロセッサによって実行されるように構成することができ、1つまたは複数のプロセッサは、一連のコンピュータ命令を実行する場合に、開示された方法および手順の全部または一部の処理を実行し、または容易にする。

0052

本明細書に記載した主題の態様は、単独で、あるいは本明細書に記載した1つまたは複数の他の態様と組み合わせて、有用であり得る。以下の記述を限定することなく、本開示の例示的な態様では、エッジデバイスは、複数の異なるエッジデバイスと通信するように構成された通信モジュールと、第1のタイプのデータを収集するように構成されたデータ収集デバイスと、データ収集デバイスによって収集データを格納するように構成されたメモリと、機械学習モジュールと、モデルミキシングモジュールと、を含み、エッジデバイスは、第1の所定のタスクに関連する第1のモデルを使用して、データ収集デバイスによって収集された第1のデータを分析し、予測、分類、クラスタリング、異常検出、および認識のうちの少なくとも1つを含む結果を出力し、結果の正確さに基づいて、第1の所定のタスクに関連する第1の局所モデルを作成するために第1のモデルを更新し、エッジデバイスの異種グループ内の少なくとも1つの他のエッジデバイスと通信し、エッジデバイスの異種グループは、少なくとも第1のエッジデバイスおよび第2のエッジデバイスを含み、第1のエッジデバイスは第1のタイプのデータを収集して分析し、第2のエッジデバイスは異なる第2のタイプのデータを収集して分析し、局所モデルに対する要求をエッジデバイスの異種グループに送信し、エッジデバイスの異種グループから第1の複数の局所モデルを受信し、構造メタデータによって第1の複数の局所モデルをフィルタリングし、第1の複数の局所モデルは、第2の複数の局所モデルを含み、第2の複数の局所モデルの各々は第2の所定のタスクに関連し、第2の複数の局所モデルのミキシング演算を実行して、第2の所定のタスクに関連する混合モデルを生成し、混合モデルをエッジデバイスの異種グループに送信するように構成される。上記態様と組み合わせて使用することができる、本開示の別の例示的な態様によれば、第1のタイプのデータはビデオ画像データであり、第2のタイプのデータは速度データである。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、エッジデバイスは、コンテキストメタデータによって複数の局所モデルをフィルタリングするようにさらに構成される。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、エッジデバイスは、データ分布によって複数の局所モデルをフィルタリングするようにさらに構成される。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、エッジデバイスは、複数の局所モデルをクラスタリングするようにさらに構成される。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、ミキシング演算は、複数の局所モデルのグループのサイズおよびエッジデバイスのコンピュータ能力を用いて決定される。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、ミキシング演算は平均化演算である。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、ミキシング演算は遺伝的アルゴリズム演算である。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、ミキシング演算は列挙演算である。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、ミキシング演算はアンサンブル演算である。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、第1の所定のタスクは、第2の所定のタスクと同じタスクである。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、エッジデバイスは、第1の局所モデルを混合モデルに置き換えるようにさらに構成される。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、第1の複数の局所モデルは、第2の複数の局所モデルとは異なる第3の複数の局所モデルを含み、エッジデバイスは、第3の複数の局所モデルのミキシング演算を実行して、第2の所定のタスクとは異なる第3の所定のタスクに関連する第2の混合モデルを生成するようにさらに構成される。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、エッジデバイスは、ショッピングカートデバイスおよび監視カメラの一方である。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、エッジデバイスは自動車内に組み込まれる。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、エッジデバイスは現金自動預け払い機である。

0053

前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、コンピュータ可読媒体は命令を格納し、命令は、複数の異なるエッジデバイスと通信するように構成された通信モジュールと、第1のタイプのデータを収集するように構成されたデータ収集デバイスと、データ収集デバイスによって収集データを格納するように構成されたメモリと、機械学習モジュールと、モデルミキシングモジュールと、を含むエッジデバイスによって実行された場合に、エッジデバイスに対して、第1の所定のタスクに関連する第1のモデルを使用して、データ収集デバイスによって収集された第1のデータを分析させ、予測、分類、クラスタリング、異常検出、および認識のうちの少なくとも1つを含む結果を出力させ、結果の正確さに基づいて、第1の所定のタスクに関連する第1の局所モデルを作成するために第1のモデルを更新させ、エッジデバイスの異種グループ内の少なくとも1つの他のエッジデバイスと通信させ、エッジデバイスの異種グループは、少なくとも第1のエッジデバイスおよび第2のエッジデバイスを含み、第1のエッジデバイスは第1のタイプのデータを収集して分析し、第2のエッジデバイスは異なる第2のタイプのデータを収集して分析し、局所モデルに対する要求をエッジデバイスの異種グループに送信させ、エッジデバイスの異種グループから第1の複数の局所モデルを受信させ、構造メタデータによって第1の複数の局所モデルをフィルタリングさせ、第1の複数の局所モデルは、第2の複数の局所モデルを含み、第2の複数の局所モデルの各々は第2の所定のタスクに関連し、第2の複数の局所モデルのミキシング演算を実行して、第2の所定のタスクに関連する混合モデルを生成させ、混合モデルをエッジデバイスの異種グループに送信させる。

0054

前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、エッジデバイスによって実行される方法は、エッジデバイス内の通信モジュールによって、複数の異なるエッジデバイスと通信するステップと、データ収集デバイスにより第1のタイプのデータを収集するステップと、データ収集デバイスによって収集データをメモリに格納するステップと、第1の所定のタスクに関連する第1のモデルを使用して、データ収集デバイスによって収集された第1のデータを分析するステップと、予測、分類、クラスタリング、異常検出、および認識のうちの少なくとも1つを含む結果を出力するステップと、結果の正確さに基づいて、第1の所定のタスクに関連する第1の局所モデルを作成するために第1のモデルを更新するステップと、エッジデバイスの異種グループ内の少なくとも1つの他のエッジデバイスと通信するステップであって、エッジデバイスの異種グループは、少なくとも第1のエッジデバイスおよび第2のエッジデバイスを含み、第1のエッジデバイスは第1のタイプのデータを収集して分析し、第2のエッジデバイスは異なる第2のタイプのデータを収集して分析する、ステップと、局所モデルに対する要求をエッジデバイスの異種グループに送信するステップと、エッジデバイスの異種グループから第1の複数の局所モデルを受信するステップと、構造メタデータによって第1の複数の局所モデルをフィルタリングするステップであって、第1の複数の局所モデルは、第2の複数の局所モデルを含み、第2の複数の局所モデルの各々は第2の所定のタスクに関連する、ステップと、第2の複数の局所モデルのミキシング演算を実行して、第2の所定のタスクに関連する混合モデルを生成するステップと、混合モデルをエッジデバイスの異種グループに送信するステップと、を含む。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、方法は、コンテキストメタデータによって複数の局所モデルをフィルタリングするステップをさらに含む。前述の態様のうちの任意の1つまたは複数と組み合わせて使用することができる、本開示の別の例示的な態様によれば、方法は、データ分布によって複数の局所モデルをフィルタリングするステップをさらに含む。

0055

本明細書に記載した例示的な実施形態に対する様々な変更および修正は、当業者には明らかであることを理解されたい。そのような変更および修正は、本主題の趣旨および範囲から逸脱することなく、かつ意図する利点を損なうことなく行うことができる。したがって、そのような変更および修正は添付の特許請求の範囲によって包含されることが意図されている。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

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

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

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

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

関連性が強い人物一覧

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

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

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

関連する公募課題一覧

astavision 新着記事

サイト情報について

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

主たる情報の出典

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