(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-21
(54)【発明の名称】エッジデバイスに展開されたモデルによる機械学習への自己教師あり共同アプローチ
(51)【国際特許分類】
G06N 3/098 20230101AFI20240214BHJP
G06V 10/778 20220101ALI20240214BHJP
H04N 7/18 20060101ALI20240214BHJP
G06N 20/00 20190101ALI20240214BHJP
【FI】
G06N3/098
G06V10/778
H04N7/18 D
G06N20/00 130
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023548633
(86)(22)【出願日】2022-02-11
(85)【翻訳文提出日】2023-10-06
(86)【国際出願番号】 US2022016117
(87)【国際公開番号】W WO2022174033
(87)【国際公開日】2022-08-18
(32)【優先日】2021-02-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】522066573
【氏名又は名称】ワイズ ラブズ,インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100141553
【氏名又は名称】鈴木 信彦
(72)【発明者】
【氏名】チェン リン
(72)【発明者】
【氏名】カマニ モハンマドマフディ
(72)【発明者】
【氏名】ユ ジョンジエ
【テーマコード(参考)】
5C054
5L096
【Fターム(参考)】
5C054CA04
5C054CC02
5C054FC12
5C054HA19
5L096BA02
5L096CA05
5L096KA04
(57)【要約】
ここで紹介するのは、従来のアプローチの欠点に対処する機械学習モデルを開発すること及び展開することへのアプローチである。本明細書で説明される前記アプローチの1つの目標は、開発プロセスの間、手作業で分類することの前記必要性を削減又は排除することである。これを達成するために、監視システムは、そのエッジデバイス及びサーバシステムの間の共同に依拠する自己教師あり学習及び知識の蒸留を実現しうる。まとめると、自己教師あり学習及び知識の蒸留は、いかなる人間の加入無しに推論の質を向上するために、必要であれば、エッジデバイスに展開されたモデルが直ちにトレーニング及び更新されることを確実にする。
【選択図】
図4
【特許請求の範囲】
【請求項1】
定められた物体が包含されていることを示すようにラベル付けされた画像を獲得し、
前記画像をトレーニングデータとしてモデルへ提供することによって定められた物体のインスタンスを検出するように前記モデルをトレーニングし、
前記トレーニングされたモデルを、監視される環境に配置されるカメラに送信する
ように構成されるサーバシステムと、
前記環境の第一の一連の画像を生成し、
前記環境へ適合した前記トレーニングされたモデルのローカルバージョンを作成するために、前記第一の一連の画像の分析に基づいて、前記トレーニングされたモデルのパラメータを調整する
ように構成される前記カメラとを備える、監視システム。
【請求項2】
前記カメラはさらに、
前記環境の第二の一連の画像を生成し、
前記トレーニングされたデータの前記ローカルバージョンを、前記第二の一連の画像に含まれる各画像へ適用して一連の出力を作り出し、
前記トレーニングされたモデルの前記ローカルバージョンによって作り出された、前記一連の出力における信頼性を示す測定基準を計算し、
前記測定基準を閾値と比較し、
前記測定基準が前記閾値を下回るとの判定に応答して前記パラメータを再調整する
ように構成される、請求項1に記載の監視システム。
【請求項3】
前記カメラは、前記トレーニングされたモデルの前記ローカルバージョンが最後に調整されてから、前記環境の所定の数の画像がキャプチャされたという判定に応答して、前記調整を実行するように構成される、請求項1に記載の監視システム。
【請求項4】
前記カメラはさらに、前記調整されたパラメータに関する情報を、前記サーバシステムへ送信するように構成される、請求項1に記載の監視システム。
【請求項5】
前記カメラは、前記サーバシステムが前記トレーニングされたデータを送信する複数のカメラのうちの1つであり、各カメラは前記トレーニングされたモデルの異なるローカルバージョンを独立して作成する、請求項1に記載の監視システム。
【請求項6】
前記複数のカメラは、監視対象の前記環境に配置されている、請求項5に記載の監視システム。
【請求項7】
エッジデバイスによって、前記エッジデバイスによって生成されたデータへ適用したときに関心のあるイベントを識別するようにトレーニングされたモデルを、サーバシステムから取得すること、及び
前記エッジデバイスによって、前記エッジデバイスが配置された環境に適合した前記モデルのローカルバージョンを作成するように、前記モデルのパラメータを調整すること
を含む、方法。
【請求項8】
さらに、本質的に一時的でないコンテンツの変動を発見するために、前記エッジデバイスによって、時間の経過とともに生成された前記データを監視することを含む、請求項7に記載の方法。
【請求項9】
さらに、前記エッジデバイスによって、
前記コンテンツの変動に対応する前記データの一部を識別すること、
クラウドベースモデルを、第一の出力を作り出すために前記データの前記一部に適用し、前記クラウドベースモデルを前記モデルのローカルバージョンよりも強力にすることを引き起こすこと、
第二の出力を作り出すために、前記モデルの前記ローカルバージョンを前記データの前記一部へ適用すること、
前記第一及び第二の出力の間の類似点を示す測定基準を計算すること、及び
前記測定基準に基づいて前記モデルの前記ローカルバージョンの前記パラメータを変更することによって、
前記コンテンツの変動を発見することに応答して前記モデルのローカルバージョンを調整すること
を含む、請求項8に記載の方法。
【請求項10】
前記引き起こすことは、
前記データの前記一部を、前記サーバシステムへ送信すること、及び
前記データの前記一部へ適用されたときに、前記モデルによって生成された前記第一の出力を、前記サーバシステムから受信すること
を含む、請求項9に記載の方法。
【請求項11】
前記エッジデバイスはカメラであり、前記データは前記環境の画像を含む、請求項7に記載の方法。
【請求項12】
サーバシステムによって、タスクを実行するようにトレーニングされるべきモデルを識別すること、
前記サーバシステムによって、前記タスクを実行するためにトレーニングされるグローバルモデルを作り出すために、前記モデルへトレーニングデータを提供すること、
前記サーバシステムによって、前記グローバルモデルのバージョンを、関心のある環境を監視することを担うエッジデバイスへ供給すること、
前記サーバシステムによって、前記グローバルモデルを前記エッジデバイスによって生成されたデータへ適用するために、前記エッジデバイスからの要求を示す入力を受信すること、及び
前記サーバシステムによって、前記データを前記エッジデバイスへ適用したときに、前記グローバルモデルによって生成された出力を提供すること
を含む、方法。
【請求項13】
前記供給することは、関心のある前記環境の前記エッジデバイスの配置の前に実行される、請求項12に記載の方法。
【請求項14】
前記供給することは、関心のある前記環境の前記エッジデバイスの配置の後に実行される、請求項12に記載の方法。
【請求項15】
前記エッジデバイスはカメラであり、
前記グローバルモデルは、画像における物体のインスタンスを検出するようにトレーニングされ、
前記トレーニングデータは一連の画像及び付随するラベルを含み、それぞれが前記対応する画像の中の前記物体の位置を特定する、
請求項12に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
種々の形態は監視システム及び、それらの監視システムのエッジデバイスにおけるソフトウェア実装モデルの開発及びトレーニングのための関連する技法に関係する。
【0002】
関連するアプリケーションへの相互引用
本出願は、「SELF-SUPERVISED COLLABORATIVE APPROACH TO MACHINE LEARNING BY MODELS DEPLOYED ON EDGE DEVICES」と題された米国出願第63/148,852号に対する優先権を主張し、2021年2月12日に出願し、あらゆる目的の引用は本出願に組み込まれる。
【背景技術】
【0003】
「監視」という単語は、態度、活動、及び他の情報の変化を、所与の環境における人々及びアイテムを保護する目的で、監視することを言う。一般的に監視は、所与の環境がデジタルカメラ、光源、錠、動作検出装置などの電子デバイスを使用して監視されることを必要とする。まとめると、これらの電子デバイスは、「監視システム」又は「セキュリティシステム」の「エッジデバイス」と呼ばれる。
【0004】
監視システムでより一般的になりつつある1つの概念は、エッジインテリジェンスである(「エッジ分析」とも呼ばれる)。エッジインテリジェンスは、情報を処理し、その情報を他の場所へ送信する前に決断を下す監視システムに含まれる電子デバイスの能力を言う。例として、デジタルカメラ(又は単に「カメラ」)は、それらの画像が目的地へ送信される前に、デジタル画像(又は単に「画像」)に含まれる物体を発見することを担いうる。目的地は、さらなる画像の分析を担うコンピュータサーバシステムとなりうる。
【0005】
局所的にタスクの実行が可能なことは、電子デバイスによって生成される情報の規模が増大を続けるにつれて、ますます重要となる。例えば、住居の環境を監視するように設計された監視システムは、いくつかのカメラを含むと仮定する。それらの各カメラは、数メガピクセル(MP)のサイズの高精細画像を生成できうる。これらの高精細画像が住居の環境へのより優れた洞察を提供する一方で、より大きなサイズは、大きな帯域幅及び保管要件のために、これらの画像を扱うのを難しくする。この理由のために、もしあるのなら、定められた時間の枠にわたって対象のカメラによって生成された画像を、さらなる分析のために監視システムの他のコンポーネントに転送すべきことを決定することが有益となりうる。エッジインテリジェンスは、重要だと思われるそれらの画像のみが、これらのカメラによって転送されることを確実にするために使用されうる。これは、監視システムは、例えば住居の玄関前に誰もいない間の数時間よりも、未知の個人が住居の扉へ近づく間の数分により関心がある前提に基づく。
【図面の簡単な説明】
【0006】
【
図1】監視される環境中に配置された複数のエッジデバイスを含む、集中型監視システム高水準の図示である。
【
図2】どのようにしてエッジデバイスによって生成されるデータの環境状況が時間の経過とともに変化し、それによってその情報の分類も時間の経過とともに変化するかの図示である。
【
図3】共同フレームワークに従って設計されたアルゴリズムの例のための概要を含む図である。
【
図4】エッジデバイスによって利用されるモデルのために実行される自己教師ありカスタマイズのための、監視システムの高水準な概要図を含む図である。
【
図5】物体検出のためにトレーニングされたローカルモデルによって作り出された出力における平均の信頼性が、どのようにしてローカルモデルが更新されるときに確定するための継続中の手法において算出されるかを示す高水準なフローチャートを含む図である。
【
図6】対象のイベントを識別するために、監視中に生成されたデータへのローカルモデルの利用を担うエッジデバイスに関する通信の、高水準な図示である。
【
図7】エッジデバイスが展開された環境へ適合されたローカルモデルを作成するためのプロセスのフロー図を含む図である。
【
図8】監視される環境へ展開されたエッジデバイスによって、ローカルモデルの適合を容易にするためのプロセスのフロー図を含む図である。
【
図9】本明細書で説明される少なくとも一部のプロセスを実現できる処理システムの例を示す図である。
【0007】
本明細書で説明する技術の様々な特徴は、図面に関して詳細な説明の精査から当業者には明らかになるであろう。実施形態は、図面に例として及び制限ではなく図示されている。図面は図示の意図で様々な実施形態を描くが、当業者であれば代替の実施形態を本技術の原理から逸脱することなく利用できることを認識するであろう。従って、特定の実施形態が図面に示されているが、本技術は様々な修正に従う。
【発明を実施するための形態】
【0008】
エッジインテリジェンスは、監視システムに含まれる少なくともいくつかの電子デバイスによって適用される機械学習モデル(又は単に「モデル」)を要求しうる。これらの電子デバイスは、データが監視システムへ入る点を意味するために、これらの電子デバイスは「エッジデバイス」として呼ばれうる。エッジデバイスのためのモデルを開発する従来のアプローチは、データが収集され、ラベル付けされ、さらにトレーニングのために使用されることを必要とする。さらに、トレーニングされたモデルは、エッジデバイスの展開の前に適切な出力を作り出す能力が向上するように調整されうる。これらの出力は、「予測」又は「推論」として呼ばれうる。トレーニングされたモデルは、エッジデバイス又はその周囲の環境の特性が適切に説明されることを確実にするように調整されうる。
【0009】
トレーニングに使用されるデータをラベル付けすることは、通常は計画的及び規則的に行われ、よって適時のモデルの展開は抑制する傾向にある。言い換えると、ラベル付けすることは、上で説明した従来のアプローチの主要なボトルネックとなる傾向がある。大量のラベル付けされたデータは、モデルをトレーニングするために、エッジデバイスの展開のための異なる準備を要求する。しかしながら、必要とされる人間の関与の量によって、ラベル付けすることは高価なだけでなく時間を消費する。
【0010】
さらに、任意の次のモデルの更新は、従来のアプローチが再度完全に完了されることを要求する。例えば、物体認識のためにトレーニングされたモデルの第一のバージョンは、直ちにカメラに展開されると仮定する。その後は、カメラによって生成された画像において、物体をより良く認識できるためのモデルが望ましいであろうことが決定されうる(例えば、開発者又は製造者によって)。例として、モデルの第一のバージョンは、昼間の照明条件の下で入手された画像を使用してトレーニングされることがあり、それゆえに、夜間の照明条件の下で入手された画像を検査するときに、乏しいパフォーマンスを経験しうる。このようなシナリオにおいて、夜間の照明条件の下でより良く物体をすることができるモデルの第二のバージョンを作り出すために、夜間の照明条件の下で入手された画像を使用してさらにモデルをトレーニングすることが望ましいであろう。そのとき、モデルの第一のバージョンと入れ替えるために、モデルの第二のバージョンはカメラへ展開される。このアプローチは実に煩わしく、モデルが次の展開を発展させることを困難にする。
【0011】
ここに導入するのは、上記で言及した従来の方法の欠点に対処するモデルを開発し、次に展開するアプローチである。本明細書で説明されるアプローチの1つの目的は、開発プロセスの間、手作業でラベル付けする必要を削減する又は排除することである。これを果たすために、監視システムはそのエッジデバイス及びサーバシステム間の共同に頼る自己教師あり学習を実現しうる(「クラウドシステム」とも呼ばれる)。自己教師あり学習は、それらのエッジデバイスへ展開されるモデルが人のいかなる介入無しに、必要に応じて直ちにトレーニングされ、次に更新されることを確実にする。
【0012】
監視システムの少なくとも一部のエッジデバイスは、予測又は推論の意図のためのモデルを実施しうる。それらのモデルは、局所的な利用に関してパフォーマンスを向上するために入力として提供される状況、コンテンツ、又はデータに基づいて変更されうる。
図4に示さあれるように、本明細書で説明される共同フレームワークに関わる3つの異なるモデルが存在する場合があり、すなわち、
・サーバシステム上で利用可能な監視されたトレーニングデータを使用して、種々のエッジデバイスで動作するようにトレーニングされたグローバルモデル(ω)。さらに以下に検討されるように、グローバルモデルは、推論を意図として使用される種々のエッジデバイスへ配信されうる。
・エッジモデル
は、グローバルモデルの局所化されたバージョンを意味する。エッジモデル(「ローカルモデル」又は「生徒モデル」と呼ばれる)は、グローバルモデルと同様の構造及びパラメータサイズを持つ。しかしながら、本明細書で説明される共同フレームワークを使用して、各エッジモデルのパラメータは、対応するエッジデバイスから生成されるデータに基づいて、更新及び局所化することができる。
・グローバル及びエッジモデルよりも、たいていはより複雑な構造及び大きなパラメータサイズを持つ、クラウドベースモデル(Ω)(又は単に「クラウドモデル」)。クラウドモデル(「監視モデル」とも呼ばれる)によるインターフェースは、高度な計算の要求のために、サーバシステム上でのみ作成される。クラウドモデルは、グローバルモデル及びエッジモデルよりも豊富な特徴表現を持つために、エッジモデルのために知識を蒸留する、知識の蒸留で使用することができる。
【0013】
エッジデバイス及びサーバシステムは、データを使用した自己教師ありトレーニングを容易にすることだけでなく、データを収集及び増大する能力がある分散型監視システムを意味する。これらの全てのアクションは、エッジデバイスによって実施されるモデルの質を強めるために、自動的に実行することが可能である。高い水準において、上記の共同アプローチは、各エッジデバイスが、特に生成、取得、又は他の方法で獲得されるデータのために適応されたカスタマイズモデルの開発が可能であることを確実にする。一部の実施形態において、ローカルモデルがそれらのローカルモデルによって使用されるデータの環境の変動に応答して、エッジデバイスによって永久に適合するためにトレーニングすることは継続的に実行される。言い換えると、対応するモデルに入力として与えられるデータの変化の原因となる各エッジデバイスは、そこで実行する対応するモデルを更新するように構成される。しかしながら、この更新はエッジデバイスによって実現されることを必ずしも必要としないことに留意されたい。さらに以下で検討されるように、更新はエッジデバイス、サーバシステム、若しくは携帯電話、タブレットコンピュータ、又は監視システムの基地局のような仲介デバイスによって実現されうる。
【0014】
まとめると、本明細書で説明するアプローチのいくつかの核となる様態が存在し、
・第一に、エッジクラウド共同スキームに従って、それらのエッジデバイスによって生成されたデータを担うために、エッジデバイス展開されたモデルへ独立して適合するためのエンドツーエンドフレームワーク、
・第二に、いかなる人間の介入又は監視無しに動くように設計された、トレーニングプロセス、及び
・第三に、各エッジデバイスのデータ分類において、データの変化に直ちに適合できるように、トレーニングプロセスは継続的に実行される。
【0015】
本明細書で説明するアプローチは特に、カメラ、光源、錠、センサーなどのようなエッジデバイスに展開されたモデルに適しうる。しかしながら、実施形態は特定のモデル及びエッジデバイスに言及して説明されうる一方で、本技術は他のモデル及びエッジデバイスへ類似して応用しうることに留意されたい。例えば、説明する目的のために、ある実施形態が、カメラによって生成された画像に含まれる物体のインスタンスを認識するために設計されたモデルの状況において記述されうる。このようなモデルは、「物体認識モデル」と呼ばれうる。しかし、それら当業者は、本技術は他のモデルの型及び他のエッジデバイスの型に類似して応用できうることを認識するだろう。
【0016】
さらに、実施形態は図示の意図のためのコンピュータ実行可能命令において説明されうる。本技術の様態は、ハードウェア、ファームウェア、又はソフトウェアによって実現されうる。例えば、エッジデバイスは周囲の環境を表すデータを生成するように構成され、データを入力としてモデルへ提供しうる。エッジデバイスはその時に、モデルによって作り出される出力に基づいて、適したアクションの道筋を決定することができる。エッジデバイスはまた、定期的又は連続的な基準でデータを検査しうる。エッジデバイスが、データの状況又はコンテンツにおいて意味のある変動があることを決定した場合、次にエッジデバイスは、モデルをアップデートするためのプロセスを開始する。「意味のある変動」という用語は、モデを作り出した出力の有用性に影響するデータの変化に言及しうる。例として、カメラによる監視の下の住居の中の家具が、色又は形態において変化すると、カメラによって生成される画像の状況が変化する。この状況の変化は、パフォーマンスの低下に耐えるためにカメラに存在する物体認識モデルを生じうる。よって、パフォーマンスを高度に保つことを確実にするために、物体認識モデルを状況の変化に適合することが望ましい場合がある。他の例として、気象の季節の変化のために、外部の環境(例えば裏庭)監視を担うカメラによって利用される物体認識モデルを定期的に更新することが望ましい。
【0017】
(専門用語)
この説明における「ある実施形態」又は「一部の実施形態」の引用は、記述される特徴、関数、構造、又は特性が、少なくとも1つの実施形態に含まれることを意味する。このような句の出現は、必ずしも同じ実施形態を指すものではなく、これらは、相互に互いを排除する代替の実施形態を示すものでもない。
【0018】
本文脈が他に明示的に要求しない限り、「備える」、「備えている」、及び「から構成される」という語は、排他的又は網羅的な意味ではなく包含的な意味(すなわち、「含むが制限されない」の意味)に解釈すべきである。「基づいて」という語もまた、包含的な意味に解釈すべきである。従って、他に記載されない限り、「基づいて」という語は、「少なくとも一部基づいて」を意味するものとする。
【0019】
「接続された」、「結合された」、及びこれらの変種の語は、直接又は間接の何れかのオブジェクト間の何れの接続又は結合も含むものとする。接続又は結合は、物理的、論理的、又はこれらの組み合わせとすることができる。例えば、オブジェクトは、物理的接続を共有しないにも関わらず互いに電気的に又は通信可能に結合することができる。
【0020】
「モジュール」という語は、ソフトウェア、ファームウェア、又はハードウェアを広義に言及するために用いることができる。モジュールは、一般的には1又は複数の入力に基づいて1又は複数の出力を生成する機能的構成要素である。コンピュータプログラムは、1又は複数のモジュールを含むことができる。従って、コンピュータプログラムは、異なるタスクの完了を担う複数のモジュール又は全てのタスクの完了を担う単一のモジュールを含むことができる。
【0021】
「又は」という語は、複数の項目のリストに関して用いられる時に、以下の解釈、すなわち、リストの項目の何れか、リストの項目の全て、及びリストの項目の何れかの組み合わせの全てを網羅するものとする。
【0022】
本明細書に記述する処理の何れかで実行されるステップの順番は例示的なものである。しかしながら、物理的な可能性に反しない限り、ステップは、様々な順番及び組み合わせで実行することができる。例えば、本明細書に記述する処理にステップを追加、又は処理から取り除くことができる。同様に、ステップを置き換えるか又は再順序付けすることができる。従って、何れの処理の説明も制限のないものとする。
【0023】
(監視システムの概要)
図1は、監視するために環境104中へ展開された、種々のエッジデバイス102a-nを含む集中型監視システム100の高水準の図示を含む。
図1のエッジデバイス102a-nはカメラである一方で、他の型のエッジデバイスが、カメラに追加して又は代わりに環境104中へ展開されうる。一方で、環境104は例えば家庭又はビジネスとなりうる。
【0024】
一部の実施形態において、これらのエッジデバイス102a-nはネットワーク110aによって、1又は複数のコンピュータサーバ(又は単に「サーバ」)を備えるサーバシステム106と直接通信することができる。その他の実施形態において、これらのエッジデバイス102a-nは仲介デバイス108によって、サーバシステム106と間接的に通信することができる。仲介デバイス108はそれぞれのネットワーク110b-cによって、エッジデバイス102a-n及びサーバシステム106へ接続されうる。ネットワークa-cは、パーソナルエリアネットワーク(PANs)、ローカルエリアネットワーク(LANs)、ワイドエリアネットワーク(WANs)、メトロポリタンネットワーク(MANs)、セルラーネットワーク、又はインターネットがなりうる。例えば、エッジデバイス102a-nはBluetooth(商標登録)、近距離無線通信(NFC)、又は他の近距離通信プロトコルによって仲介デバイスと通信することがあり、エッジデバイス102a-nはインターネットによって、サーバシステム108と通信しうる。
【0025】
一般的に、仲介デバイス108で実行するコンピュータプログラムはサーバシステム106によって支援され、これによってサーバシステム106との通信を容易にすることができる。仲介デバイス108は例えば、携帯電話、タブレットコンピュータ、又は基地局となることができる。よって、仲介デバイス108は常に環境104に止まる、又は仲介デバイス108は定期的に環境104へ入る。
【0026】
集中型監視システムにおいて、テストデータセットで受け入れられるパフォーマンスが達成されるまで監視手法におけるサーバシステム106によってグローバルモデルが作成され、次にトレーニングされる。グローバルモデルは次に、推論のためにエッジデバイス102a-nへ展開される。上記のように、このプロセスは、データを収集して次に注釈をつける及びラベル付けする、グローバルモデルをトレーニングして次に調整する、並びにグローバルモデルを種々のエッジデバイスへ展開することに関わる。このプロセスによって作り出されたグローバルモデルは推論のために、同様の型の全てのエッジデバイスへ展開される。例として、サーバシステム106によってトレーニング及び調整された物体認識モデルは、関心のある環境104に展開された全てのカメラによって実現されうる。しかしながら、データの分類は、1つのエッジデバイスから他のものへ、又は単一のエッジデバイスであっても時間の経過とともに劇的に変化しうるために、グローバルモデルは主として適さない。簡単に言えば、グローバルモデルは、エッジデバイス102-nが展開された異なる位置の微妙な差異を入手できなくなる。このように、パフォーマンスが一貫せず、エッジデバイス102a-nにわたって時間の経過とともに実際に劣化しうる。そのうえ、グローバルモデルのそれぞれのバージョンをトレーニングするためにエッジデバイス102a-nによって生成された注釈するデータは、適時的な手法において達成することが不可能でない場合、労力を要する及び困難であるために、単に実用的でない。
【0027】
本明細書で説明する共同アプローチは、エッジデバイス102a-nに、それらのそれぞれのデータ分類に基づいてグローバルモデルを調整させることによって、これらの問題へ取り組むように試みる。よって、エッジデバイスは、自身のデータに基づいて適合された、自身のカスタマイズされたモデルを持ちうる。さらに以下で検討されるように、いかなる人間の介入の必要を排除するために、これは自己教師あり手法が行われることが可能である。
【0028】
図2は、どのようにしてエッジデバイスによって生成されるデータの環境状況が時間の経過とともに変化し、それによって、そのデータ分類もまた時間の経過とともに変化するかを図示する。この理由のために、これらのデータ分類の局所的な変化に適合するために、エッジモデルに利用されるモデルを更新することが望ましいことがある。
図2において、監視される環境の決まった景色を持つようなエッジデバイス(ここでは、カメラ)が展開されている。この景色の状況(例として、拝啓)は、関心のある物体と同じように、時間の経過とともに劇的に変動しうる。エッジデバイスによって生成されるデータ(例えば画像)のこの分類の変動は、データのためにエッジデバイスによって利用されるモデルのパフォーマンスに大いに影響を与えうる。このように、環境の状況の変化(さらにデータのコンテンツ)にモデルが適することを確実にするために、モデルを更新することは重要である。
【0029】
これを達成することの主な変化のうちの1つは、エッジデバイスによって生成されるデータが、グラウンドトゥルースラベル(「グラウンドトゥルース注釈」とも呼ばれる)を持たないことである。さらにデータは、ファインチューニングのような既知の技法を使用してモデルを更新するために監視される様式で使用することができない。この変化に対処するために、及び任意の人間の介入の要求を避けるために、自己教師あり学習はより強力なモデルに対してパフォーマンスを一致させながら、各エッジデバイスにおけるデータの表現の学習を試みるための知識の蒸留方法へ組み合わされることが可能である。さらに以下に検討されるように、このアプローチはエッジデバイスに利用されるローカルモデルによって作り出される出力、及びエッジデバイスが通信接続されたサーバシステムに利用されるグローバルモデルによって作り出される出力の比較に依拠する。これを達成するために、ラベル付けされていないデータに基づいて監視を実行することに関連する一部の疑似タスク(「補助タスク」とも呼ばれる)は定義され、主な目標に関係する特定のタスクの損失を最小限にするために使用される必要がある場合がある。モデルの主な目標は、エッジデバイスの型に依存する。例えば、カメラによって展開されたモデルの主な目標は、物体検出となりうる。疑似タスクの目標は特に重要でない一方で、それらのタスクのパフォーマンスは、主な目標のための各エッジデバイスにおけるデータ分類の表現の向上を助ける。
【0030】
まとめると、本明細書で説明される共同アプローチは、3つの問題に対処するために開発された。第一に、エッジデバイスに利用されるモデルのパフォーマンスの劣化となりうる、エッジデバイスによって生成されたデータの分類における転換である。第二に、エッジデバイスへ展開されたモデルの調整のために使用されるデータを人間がラベル付けすることに固有のコスト及び遅延である。第三に、モデルのパフォーマンを必然的により一層劣化させるデータのラベル付けを担う人間からの不正確なフィードバックである。
【0031】
(モデルの適合のための共同アプローチの概要)
本明細書で説明されるアプローチの2つの主な目標が存在する。第一に(及び主要な)目標は、監視システムのエッジデバイスへ独立して適合されたカスタマイズされたモデルを持つことである。第二の目標は、ローカルコンポーネント(例えば、エッジデバイス)及びリモートコンポーネント(例えばサーバシステム)を含む監視システムとの共同における知識の蒸留方法と組み合わされた自己教師あり手法で第一の目標を達成することである。各目標は、異なる構成要素によっていくつかの程度を調べられる。
【0032】
第一の目標のために、最も密接に関連する作業は、連合学習の状況の個別化へ焦点を当てられる。連合学習においての目標は、エッジデバイスに分散されたデータを使用して、それらのエッジデバイスによって生成されたデータへ直接アクセスすることなく、グローバルモデルを学習することである。そのような設定で、エッジデバイスは自身のデータの制御を維持するが、それら自身のデータを使用するサーバシステムによって、提供されるグローバルモデルをアップデートすることができる。連合学習の状況における個別化の目標は、各エッジデバイスの、それ独自のテストデータに基づくローカルモデルの一般化能力を向上することである。しかしながら、連合学習の状況における個別化へのほぼ全てのこれらのアプローチは、(i)ラベル付けされたデータに頼り、(ii)監視手法でローカルモデルを更新する。さらに、各ローカルモデルの更新は、対応するエッジデバイスに留められ、さらに監視システムのその他の部分へ中継及び運搬されない。
【0033】
第二の目標に対していくつかの構成要素は、自己教師あり手法で推論タスクを完了することにおけるモデルのパフォーマンスを向上するために、どのようにテストデータ又はラベル付けされていないデータを使用するかを調査される。主として、これらの取り組みはモデルをトレーニングする間は使用されない分類外のデータで、推論の期間においてより良い結果を達成するために試みられる。これらの取り組みは通常は、監視の他の形態を提供するための補助タスクの作成に関連する。損失関数は補助タスクのために定義される場合があり、モデルは損失関数に基づいて更新されうる。例えば、カメラによって生成された画像を回転すること、さらに回転の角度を分類するために、出力としてモデルによって作り出された特徴表現の最上部に類別層を追加することは、監視の形態を導入する単純な補助タスクである。上記のように、これらの取り組みの究極の目標は、分布外のサンプルのためにモデルの表現能力を向上することで、本明細書で説明されたアプローチのように、主要なタスクを直接向上することが必須でなかった。
【0034】
よって、上記の目標を達成するための取り組みがあった。しかしながら、本明細書で説明されるアプローチは、いくつかの様態において有利である。
【0035】
第一に、知識の蒸留は類別タスクにおいて、モデルの圧縮のためにいくらか広範囲に使用される。しかしながら、これらは知識の蒸留をその他のタスクへ適用するために、物体認識及び物体検出のようないくつかの取り組みを持つ。ここで、知識の蒸留は教師モデルの支援とともに生徒モデルの表現力を向上するために、自己教師あり学習技法へ組み合わされる。フレームワークが図示の目的のために物体認識の状況において説明されうる一方で、アプローチはその他のタスクとして認識されるのが可能なことに留意されたい。
【0036】
第二に、自己教師あり学習のための個別化されたアプローチがいくつかのタスクの状況で検討される一方で、本明細書で説明されるアプローチは、今までにない手法で自己教師あり学習を利用する。高い水準で、アプローチは、いかなる人間の干渉無しに、エンドツーエンド開発(例えば、作成、トレーニング、及び調整)が達成できることを確実にするために設計される。
【0037】
第三に、エッジデバイスに利用されるモデルのパフォーマンスは、容易に測定することができる。これは、パフォーマンスの劣化を直ちに発見させる。モデルのパフォーマンスが、特定の大きさの時間(例えば、数時間又は数日)に閾値より下に低下するとき、そのデータへ適切に適応することを確実にするために、モデルは自動的に適合されうる。ローカルモデルは、対応するエッジデバイスによって生成されたデータの分類の転換に矛盾無く適合されるように、この適合手順は永久に実行されうる。
【0038】
第四に、エッジデバイスに展開された生徒モデルと、サーバシステムに展開された教師モデルの間の共同は、高度なパフォーマンスを維持できることを確実にする。本明細書で説明されるアプローチでは、教師モデルが、知識の蒸留及び自己監視を通して生徒モデルの表現力を強める又は向上するために使用されうる引用として役立ちうる。
【0039】
(A.共同フレームワークの導入)
エッジデバイスは、タスクに関わる出力(「予測」又は「推論」とも呼ばれる)を作り出すためのモデルを生成するデータを提供することができる。タスクは、エッジデバイス自身の特質に依存する。例えば、エッジデバイスがカメラの場合、そのときタスクはカメラによって生成された画像に物体を検出しうる。これを行うために、カメラはそれらの物体を検出、及びバウンディングボックスを使用して各検出された物体を局所化するためにトレーニングされたモデルを利用しうる。モデルをトレーニングするために、異なる状況のそれらの物体の画像は、トレーニングデータとしてモデルへ与えられうる。しかしながら、トレーニングデータがどれだけ多様であっても、そのモデルを利用されるカメラから生成されうる画像の全ての分類をキャプチャできない。よって、モデルのパフォーマンスは、コンテンツの条件においてトレーニングデータと共通点のない画像を生成するカメラにおいて劣化する。
【0040】
ここで導入したのは、この問題に対処するために開発された共同フレームワークである。向上したトレーニング及び展開前の調整に単に依拠するよりも、共同フレームワークは、対応するエッジデバイスによって生成されたデータに基づいて、モデルを次の展開に適合させる。例えば、グローバルモデルは物体検出のためのサーバシステムによってトレーニングされると仮定する。グローバルモデルは次に、関心のある環境全体へ展開されたカメラへ提供される。本明細書で説明される共同フレームワークを使用して、グローバルモデルの各ローカルバージョンは、対応するカメラによって生成された画像のコンテンツを明らかにするために適合されうる。
【0041】
グローバルモデルのローカルバージョンを更新するために、エッジデバイスは通常、更新に使用する各サンプル(例えば、画像)のために、ラベル(例えば、タグ及びバウンディングボックス)へのアクセスを持つ必要がある。しかしこれらのラベルは、人間の干渉無しには利用できず、よって監視学習は、グローバルモデルのローカルバージョンの更新のために使用することができない。この理由のために、共同フレームワークは、グローバルモデルのローカルバージョンに適合するための知識の蒸留への追加において、自己教師あり学習に役立つことができる。
図3は、共同フレームワークに従って設計されたアルゴリズムの例のための概要を含む。例として、エッジデバイスに実現されたグローバルモデルのローカルバージョンは適合される仮定する。上に述べたように、グローバルモデルのローカルバージョンは、「ローカルモデル」として呼ばれうる。これを行うために、エッジデバイスは第一に、適合プロセスで使用するためにデータを集めなければならない。この「新しいデータ」はローカルモデル及び教師モデルへ与えられることがあり、ローカルモデルの異なる層で作り出された出力が計算されうる。そのとき、2つの異なる損失は、ローカルモデルの更新のために使用される。
【0042】
第一の損失は、「知識の蒸留損失」と呼ばれる。高い水準で、この設定における知識の蒸留の概念は、特徴表現の期間に教師モデルはローカルモデルよりも強力になると思われる。よって、データの新しい分類がローカルモデルの信頼性小さくなることを引き起こすシナリオにおいて、より価値のある特徴代表のあるグローバルモデルは、新しい分類へ適合するためのローカルモデルを助けうる。これは知識の蒸留の損失を利用して行うことが可能で、新しいデータのローカルモデル及びグローバルモデルの特徴表現がどのように異なるかキャプチャする。知識の蒸留損失からの勾配更新は、ローカルモデルの適合の向上のために使用されうる。
【0043】
第二の損失は、「自己教師ありタスク損失」又は「自己教師あり損失」と呼ばれる。このシナリオの新しいデータのために利用可能なラベルが存在しないために、自己教師ありタスクはローカルモデルを更新するために定義されなければならない。自己教師ありタスクは、ローカルモデルのパラメータを更新するために使用されうる、その独自の損失を持つ。視覚収束モデルのための自己教師ありタスクの多様性が存在し、任意のこれら自己教師ありタスクは共同フレームワークで一様に使用される。
【0044】
図3に示されるように、これらの損失及び対応する勾配はローカルモデルの更新に使用されうる。特に、これらの損失及び対応する勾配は、ローカルモデルのパラメータを更新するために使用される場合があり、それによってエッジデバイスの展開後のローカルモデルを調整する。
【0045】
知識の蒸留の損失のために、特徴表現は異なる水準で使用することが可能で、出力分類確率(「クラス分類確率」とも呼ばれる)は、ローカルモデルの特徴を、対応する教師モデルの特徴に一致させるために使用することができる。この損失は、出力分類確率のための特徴マップ及びカルバック・ライブラー(K-L)情報量のためのユークリッド距離のような知識の蒸留損失を含みうるが、限定されない。
【0046】
自己教師あり損失のために、モデルの主な目標と異なる疑似タスクは、監視の手段として導入されうる。疑似タスクはエッジデバイスの特質、エッジデバイスによって生成されるデータの特質、又はローカルモデルの特質に基づきうる。例えば、疑似タスクは各疑似タスクからの更新の質を決定するための勾配の多様性又はシャープレイ値のような測定基準を使用して、各デバイスのために選ばれうる。各疑似タスクは損失関数に対応し、疑似タスクの総合的な損失を使用して、グローバルモデルを、その表現がエッジデバイスによって生成されるデータの生成を担うように適応するように、更新することができる。例として、
の異なる疑似タスクが
のような損失関数とともに使用される場合、そのとき自己教師ありタスクのための合計の損失は、以下のように記述できる
【数1】
ここで、
は、i番目のエッジデバイスにおいて、
のデータ及びモデルパラメータ
を伴う自己教師ありタスクの損失である。
の異なる疑似タスクの損失のための関数
は集合関数であって、
は、i番目のエッジデバイスのタスク
のために生成された対応するラベルである。集合関数は異なるエッジデバイスの異なる形態を持ちうる。例えば、集合関数は異なるタスクにわたって加重平均を持ちうる。モデルパラメータに関連するこの損失関数にわたる勾配を使用して、ローカルモデルの特徴表現は、エッジデバイスによって生成されたデータの新しい分類に適合するために更新されうる。
【0047】
その後、エッジデバイスは生成されたデータから洞察を得るために、適合されたローカルモデルを使用できる。言い換えると、エッジデバイスはデータから推論を得るために、適合したローカルモデルを使用できる。
図4は、自己教師ありカスタマイズがエッジデバイスによって利用されるモデルのために実行する監視システムの、高水準の概要図を含む。この場面において、教師モデル
はクラウドで維持され、例えばインターネットによってアクセス可能なサーバシステムである。グローバルモデル
はエッジデバイスによって教師モデルとして使用され、その各々がローカルモデル
として言及されるより少ない計算集約型バージョンを動作しうる。各ローカルモデル
は、対応するエッジデバイスによって生成されたデータに基づいて適合される場合があり、それによって
として表される適合したローカルモデルを作り出す。勾配の逆伝搬、及びローカルモデルの更新のための計算は、任意の以下の場所で扱われうる
・エッジデバイス自身がそれらの勾配を計算し、生成されたデータに基づいてモデルを更新できる。通信コストが最小及びデータのプライバシーを保護できるために、このオプションが望まれる。
・サーバシステムは、エッジデバイスへ展開されたローカルモデルのための更新の計算を担うことがある。サーバシステムが、対応するエッジデバイスによって生成されたデータのみを使用して各ローカルモデルに適合するように、これはサイロ化(siloed)された手法によって行われる。この場面において、データは各エッジデバイスによってサーバシステムへ伝達され、次にグローバルモデルのカスタマイズされたバージョンは各エッジデバイスへ送り返されうる。
・仲介デバイスは、エッジデバイスへ展開されたローカルモデルのための更新の計算を担いうる。仲介デバイスはサーバシステム及び/又は監視システムに含まれるエッジデバイスへ、通信で接続されうる。仲介デバイスの例は、携帯電話、タブレットコンピュータ、及び基地局を含む。一般的に、仲介デバイスはエッジデバイスより優れた計算力を持ち、よってローカルモデルの更新に必要な計算をより良く扱うことができる。
【0048】
対応するエッジデバイスによって生成されるデータの分類における変化を担うようにローカルモデルが継続的に更新可能であるために、共同フレームワークが実現されうる。しかしながら、ローカルモデルの継続的な更新に必要とされる重要な計算リソースによって、共同フレームワークはローカルモデルが必要なときのみ更新されることを確実にする機構を持つ。重大な難題は、更新が起こる必要がある頻度を定義することである。更新はローカルモデルを正確に維持するのに十分であるように定期的に起こるべきであるが、監視システムのパフォーマンスが帯域幅の制限又はリソースの処理によって損害を受けることがそれほど頻繁になるべきではない。更新手順を開始するのに最適な時間を自動的に確定するために、エッジデバイスは、時間の経過とともに作り出される出力のモデルの信頼性を監視する。信頼性が所定の時間の大きさの閾値の下に低下し、閾値の下を維持するとき、エッジデバイスは更新手順を開始することができる。あるいは、エッジデバイスは、ローカルモデルが最後にトレーニングされてから確実なデータ量(例えば、確実な画像の数)が生成されたという決定に応答して、更新手順を開始しうる。上に述べられるように、更新手順はまた、サーバシステム又は仲介デバイスによって引き起こされうる。したがって、更新手順を開始するために、i個のエッジデバイスにおけるモデルの平均の信頼性水準(
によって表される)は、所定の時間の間隔の閾値(
として表される)の下へ低下し、閾値の下を維持する必要がある。
図5は、物体検出のためにトレーニングされたローカルモデルによって作り出された出力における平均の信頼性が、どのようにしてローカルモデルが更新されるべき時を設定するための継続中の手法で算出されうるかを例示する高水準のフローチャートを含む。
【0049】
(B.共同フレームワークの実現のための方法論)
図6は、関心のあるイベントを識別するために環境を監視する間に生成されたデータへのローカルモデルの利用を担うエッジデバイス600に関連する通信の高水準の図示を含む。例としてエッジデバイスは、それらの画像に包含される物体を検出するために、モデルを住居の画像へ適用することを担うカメラとなりうる。
図6において、エッジデバイス600はサーバシステム650と通信することによって、モデルを適合するための手順を完了する。しかしならが、それらの当業者は、サーバシステム650によって実行されるアクションは、エッジデバイス600が通信で接続された仲介デバイスによっても実行されうることを認識するだろう。
【0050】
初めに、エッジデバイス600は、サーバシステム650からグローバルモデルを獲得しうる(ステップ601)。一部の実施形態において、グローバルモデルは、エッジデバイス600の展開前(例えば、プロセスを制作又は較正する間)にサーバシステム650によって獲得される。一部の実施形態において、グローバルモデルは、エッジデバイス600の展開の後に、サーバシステム650によって獲得される。例えば、関心のある環境へ展開されるとすぐに、エッジデバイス600は直接又は非接続のどちらでも、サーバシステム650との接続を確定されうる。このようなシナリオにおいて、サーバシステム650はグローバルモデルの最新のバージョンを、エッジデバイス600へ送信する。
【0051】
その後、エッジデバイス600はグローバルモデルをエッジデバイス600によって生成されたデータへ適用しうる(ステップ602)。グローバルモデルがデータへ適用された各時間、予測又は推論の代表である出力が作り出されうる。上記の例に再度言及すると、エッジデバイスが時間の経過とともに環境の画像を生成するカメラの場合、各画像において物体の存在を示しうる(例えば、ラベル及びバウンディングボックスを使用して)。
【0052】
時間の経過とともに、エッジデバイス600はグローバルモデルのパフォーマンスを監視することができる。例えば、エッジデバイス600はグローバルモデルが適用されるいかなるときも、信頼性を示す測定基準を計算しうる。よって、エッジデバイス600は出力が正確であるかどうかに関して、グローバルモデルのパフォーマンスを継続的に追跡しうる。測定基準が閾値を超過する場合、次にエッジデバイス600は、グローバルモデルが十分に効果的に実行していることを推論しうる(それゆえに、変化のないことが必要である)。しかしながら、測定基準が閾値を超過しない場合、エッジデバイス600は、グローバルモデルのパフォーマンスが適合に値するのに十分に不足することを推論しうる。よって、エッジデバイス600は、グローバルモデルによって作り出された出力の分析に基づいて、適合が必要であることを決定しうる(ステップ603)。
【0053】
エッジデバイス600はそのとき、エッジデバイス600によって生成されたデータのために適合されたグローバルモデルのローカルバージョンを作成できる(ステップ604)。再度、エッジデバイス600は閑居の画像を生成するカメラであることを仮定する。このようなシナリオにおいて、エッジデバイスは時間の経過とともに生成された一連の画像を獲得することが可能で、さらに第一の一連の出力を作り出すために、グローバルモデルのローカルバージョンを適用することが可能である。上記で述べられるように、これらの出力は、一連の画像の中の一定の物体を示すラベル及びバウンディングボックスの代表となりうる。そのうえ、エッジデバイス600は、一連の画像をサーバシステム650へ送信しうる。サーバシステム650は第二の一連の出力作り出すために、自身のグローバルモデルのバージョンを一連の画像へ適用しうる。通常、サーバシステム650によって実現される教師モデルは、エッジデバイス600によって実現されたグローバルモデルのローカルバージョンよりも、より計算的に強力になる。これらのモデルは例えば、エッジデバイス600及びサーバシステム650に利用可能なリソースを計算する差異によって異なりうる。そのうえ、サーバシステム650によって実現されるグローバルモデルは、エッジデバイス600によって最初に獲得されてから、さらにトレーニング及び調整されうる。第一及び第二の一連の出力を比較することによって、エッジデバイス600は、どのようにしてエッジデバイス600が展開された環境(それから、エッジデバイス600が生成するデータ)を担うグローバルモデルのローカルバージョンを調整するか、確定することができる。
【0054】
一部の実施形態において、エッジデバイス600はサーバシステム650へ、グローバルモデルのローカルバージョンに関する情報を送信する(ステップ605)。例えば、エッジデバイスが一部である監視システムに関わるデジタルプロファイルにおいて、サーバシステム650は単にこの情報を記憶する。あるいは、サーバシステム650はその他のエッジデバイスを向上させるために、この情報を使用しうる。例えば、この情報は、グローバルモデルのトレーニングへ組み入れられることがあり、又はエッジデバイス600のように、同様の監視システムの一部であるその他のエッジデバイスを調整するために、この情報は使用されうる。よって、改善はエッジデバイス600を一部とする監視システム全体にわたって統合されうる。例えば、エッジデバイス600が家の裏庭に展開されたカメラの場合、そのときグローバルモデルのローカルバージョンの適合を通して手に入れられるいくつかの洞察は、家の表庭に展開された他のカメラによって適用されうる。
【0055】
グローバルモデルのローカルバージョンをエッジデバイス600によって生成されたデータに継続的に適合するために、
図6に示されるプロセスは反復して実行された(及びたいていはされるだろう)ことに留意されたい。よって、データが時間の経過とともにエッジデバイス600によって生成される間に、ステップ602-604は繰り返し実行されうる。
【0056】
図7は、エッジデバイスが展開された環境へ適合されたローカルモデルを作成するための、プロセス700のフロー図を含む。初めに、エッジデバイスは局所的に記録するサーバシステムから、モデルのバージョンを獲得することができる(ステップ701)。このグローバルモデルのバージョンは、局所的に(例えば、エッジデバイス上に)記録されるために、ローカルモデルとして言及されうる。
【0057】
エッジデバイスは次に、ローカルモデルが、エッジデバイスが展開された環境へ適合されることを確実にするために、エッジデバイスによって生成されたデータに基づいてローカルモデルのパラメータを調整することができる(ステップ702)。例えば、エッジデバイスはデータに適合されるとすぐに、ローカルモデルによって作り出された出力の分析に基づいて、パラメータを調整しうる。他の例として、エッジデバイスは、データへ適用されるとすぐにローカルモデルによって作り出された(i)出力、及びデータへ適用されるとすぐに教師モデルによって作り出された(ii)出力の比較に基づいてパラメータを調整しうる。通常、データは教師モデルが適用できるように、必ずサーバシステムへ送信して戻される。しかしながら、エッジデバイスで十分にリソースを処理することが可能な場合、エッジデバイスは、ローカルモデルによる出力のみが推論を目的に使用されうるとしても、ローカルモデル及び教師モデルをデータへ適用できうる。
【0058】
それゆえに、エッジデバイスは特質の中で一時的でない分類における変動を発見するために、時間の経過とともに生成されたデータを監視することができる(ステップ703)。言い換えると、エッジデバイスは状況(さらにコンテンツ)の変動を発見するために生成されたデータを監視できる。これを達成するために、エッジデバイスは自身のデータよりも、データに適用されるとすぐに、ローカルモデルによって作り出された出力を検査しうる。例えば、エッジデバイスはパフォーマンスが向上、低下、又は同様に維持されるかどうか決定するために、ローカルモデルによって作り出された出力における信頼性を追跡しうる。エッジデバイスが、パフォーマンスが低下していることを発見した場合、例えば出力の信頼性を閾値と比較することによって、次にエッジデバイスは適合手順を開始しうる。よって、エッジデバイスは、環境での変動がローカルモデルのパフォーマンスに影響することの発見に応答するローカルモデルを調節しうる(ステップ704)。
図7のステップ704は、実質的に
図6のステップ604と類似しうる。
【0059】
図8は、監視される環境へ展開されたエッジデバイスによるローカルモデルの適合を相違にするための、プロセス800のフロー図を含む。最初に、サーバシステムはタスクを実行するようにトレーニングされたモデルを識別できる(ステップ801)。タスク(さらにはモデル)は、エッジデバイスに基づく。たとえば、エッジデバイスがカメラの場合、モデルは画像から物体を検出できるものがなりうる。
【0060】
サーバシステムは、タスクを実行するようにトレーニングされたグローバルモデルを作り出すために、モデルへトレーニングデータを提供できる(ステップ802)。一般的に、トレーニングデータは個人によって特定されたサンプル及び対応するラベルを含む。上記の例に再度言及すると、モデルが画像の中の物体を検出するためにトレーニングされる場合、次にトレーニングデータは各画像において物体の位置を明確にする、付随するバウンディングボックスとともに一連の画像を含みうる。トレーニングデータを入力としてモデルへ提供して、モデルにトレーニングデータから物体の存在を示す特性を学習させる。
【0061】
サーバシステムは次に、グローバルモデルのバージョンをエッジデバイスへ提供できる(ステップ803)。一部の実施形態において、これはユーザへの販売の前に起こるプロセスを制作又は較正する間に起こる。一部の実施形態において、これはユーザによって監視される環境の中での展開の次に起こる。例えば、展開された後に、エッジデバイスはサーバシステムとの接続を開始し、次にグローバルモデルの最も新しいバージョンを要求する。このグローバルモデルのローカルバージョンは、「ローカルモデル」と呼ばれうる。その後、エッジデバイスはローカルモデルを、推論又は予測の代表である出力を作り出すために生成されたデータに適用しうる。
【0062】
一部の実施形態において、サーバシステムは、グローバルモデルを適用するためのエッジデバイスからの要求を示す入力を受信する(ステップ804)。例えば、エッジデバイスが、ローカルモデルはエッジデバイスによって生成されたデータに基づいて適合されるべきことを決定すると仮定する。このような場面において、エッジデバイスは、先述のようにどのようにしてローカルモデルによって作り出された出力の比較に基づくローカルモデルを、グローバルモデルによって生成された出力に適合するか決定しうる。よって、エッジデバイスは、サーバシステムがグローバルモデルをエッジデバイスによって生成されたデータに適用することを要求しうる。サーバシステムは、グローバルモデルによって作り出された出力が存在する場合は、エッジデバイスへ提供できる(ステップ805)。
図7に言及して先述したように、エッジデバイスはそれらの出力に基づいて、ローカルモデルを適合することができうる。
【0063】
あるいは、サーバシステムは先述のようにローカルモデルの適合を担いうる。このような実施形態において、エッジデバイスはまた、ローカルモデルによって作り出された出力がある場合、サーバシステムへ送信しうる。サーバシステムは、ローカルモデルとしての使用のためにローカルモデルをエッジシステムへ提供されることができるグローバルモデルのバージョンを適合するために、(i)ローカルモデルによって作り出された出力、及び(ii)グローバルモデルによって作り出された出力を使用することができる。
【0064】
可能性に反する場合を除いて、これらのステップは種々の順番及び組み合わせで実行されうる。例えば、エッジデバイスはパフォーマンスを確定するために、推論の目的のためのモデルを同時に適用し、ローカルモデルによって作り出された出力を検査できうる。他の例として、
図6-8のプロセスのいくつかのステップは、その出力の分析が、適切な点を過ぎてパフォーマンスが劣化していることを示すときはいつでも、ローカルモデルが適合されることを確実にするために繰り返し実行されうる。そのうえ、当業者は
図6-7のプロセスが、同様の監視システムの異なるエッジデバイスによって同時に実行されうることを認識するだろう。例えば、監視システムが関心のある環境の異なる位置に展開された複数のエッジデバイスを含むと仮定する。このような場面において、他のエッジデバイスがそれ自身のローカルモデルがいかなる変化も要求しないことを決定しうる一方で、1つのエッジデバイスが、それ自身のローカルモデルが適合されるべきであることを決定しうる。同様に、
図8のプロセスの複数の実体は、異なるエッジデバイスのために、サーバシステムによって独立して及び同時に実行されうる。
【0065】
その他のステップはまた、一部の実施形態に含まれうる。一例として、ローカルモデルを適合することを通して少しずつ集められる情報は、先述のような統合された手法で適用されうる。例として、定められた環境の1つのエッジデバイスによって利用されるローカルモデルに対して作られた適合はまた、定められた環境の他のエッジデバイスによって利用されるローカルモデルに対して作られうる。他の例として、ローカルモデルの適合に関する情報は、個人によるレビューのため表面化されうる。例えば、監視システムのオーナーは、監視システムに含まれるエッジデバイスによって利用されるローカルモデルが更新されたときはいつでも通知されうる(例えば、携帯電話又はタブレットコンピュータのようなコンピューティングデバイス上で実行するコンピュータプログラムによって)。
【0066】
(処理システム)
図9は、本明細書で説明される少なくとも一部のプロセスを実現することができる処理システム900の例を例示するブロック図である。例えば、処理システム900のコンポーネントはエッジデバイス、仲介デバイス、又はサーバシステムでホストされうる。
【0067】
処理システム900は、1又は複数の中央処理装置(プロセッサ)902、メインメモリ906、不揮発性メモリ910、ネットワークアダプタ912、ビデオディスプレイ918、入力/出力デバイス920、コントロールデバイス922(例えば、キーボード又はポインティングデバイス)、記憶媒体926を含むドライブユニット924、及びバス916へ通信で接続された信号生成デバイス930を含みうる。バス916は、適切なブリッジ、アダプタ、又はコントローラーによって接続される、1又は複数の物理的なバス又はポイントツーポイント接続を意味する抽象概念として例示される。バス916はしたがって、システムバス、ペリフェラルコンポーネントインターコネクト(PCI)バス又はPCI-Expressバス、ハイパートランスポート又はインダストリスタンダードアーキテクチャ(ISA)バス、スモールコンピュータシステムインタフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、Inter-Integrated Circuit (I2C)バス、又はInstitute of Electrical and Electronics Engineers (IEEE)標準1394バス(「ファイアワイヤ」としても呼ばれる)を含むことができる。
【0068】
処理システム900は、デスクトップコンピュータ、タブレットコンピュータ、携帯電話、ゲームコンソール、音楽プレーヤー、ウェアラブル電子デバイス(例えば、時計又はフィットネストラッカー)、ネットワーク接続(「スマート」)デバイス(例えば、テレビ又はホームアシスタントデバイス)、仮想/拡張現実システム(例えば、ヘッドマウントディスプレイ)、又は他の電子デバイスの類似するプロセッサアーキテクチャを共有することがあり、これは処理システム900が取るアクションを特定する命令の一式(連続的又は異なるように)を実行することができる。
【0069】
メインメモリ906、不揮発性メモリ910、及び記憶媒体926は単一の媒体として示される一方で、「機械可読媒体」及び「記憶媒体」の用語は、1又は複数の命令の一式928を記憶する単一の媒体又は複数のメディア(例えば集中型/分散型データベース又は関連づくキャッシュ及びサーバ)を含むであろう。また、「機械可読媒体」及び「記憶媒体」の用語は、処理システム900による実行のために命令の一式を記憶すること、エンコードすること、又は伝送することが可能な任意の媒体が含まれるものとする。
【0070】
一般的に、本開示の実施形態を実現するために実施される手順は、オペレーティングシステム又は特定のアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、又は命令の順番(総合して「コンピュータプログラム」と呼ばれる)の一部として実現されうる。コンピュータプログラムは典型的に、電子デバイスの種々のメモリ及びストレージデバイスにおける種々の時間にセットされた1又は複数の命令(例えば、命令904、908、928)を備えている。プロセッサ902によって読み取られる及び実施されるとき、命令は、処理システム900が本開示の種々の様態に関連する要素を実施するためのオペレーションを実行することを引き起こす。
【0071】
そのうえ、実施形態は完全に機能する電子デバイスの状況において説明された一方で、当業者は、技術のいくつかの様態は、多様な形態のプログラム製品として分散されることができることを認識するであろう。本開示は、分類をもたらすために使用される機械又はコンピュータ可読メディアの特定の型に関係無く適用する。
【0072】
機械及びコンピュータ可読メディアのさらなる例は、揮発及び不揮発メモリデバイス910、リムーバブルディスク、ハードディスクドライブ、及び光ディスク(例えば、Compact Disk Read-Only Memory(CD-ROMS)及びDigital Versatile Disks(DVDs))のような記憶可能型メディア、並びにデジタル及びアナログ通信リンクのような透過型メディアを含む。
【0073】
ネットワークアダプタ912は、処理システム900が処理システム900の外部の構成要素とともに、処理システム900及び外部の構成要素によってサポートされる任意の通信プロトコルを通じて、ネットワーク914のデータを仲介することを可能にする。ネットワークアダプタ912は、ネットワークアダプタカード、無線ネットワークインタフェースカード、ルーター、アクセスポイント、無線ルーター、スイッチ、マルチレイヤスイッチ、プロトコルコンバータ、ゲートウェイ、ブリッジ、ブリッジルーター、ハブ、デジタルメディアレシーバー、リピーター、又はそれらの任意の組み合わせを含むことができる。
【0074】
ネットワークアダプタ912は、ネットワークにおいてアクセス許可又はプロキシデータを支配及び/又は管理するファイアウォールを含みうる。ファイアウォールはまた、異なるマシン及び/又はアプリケーションの間の信頼の変化する水準を追跡しうる。ファイアウォールは、マシン及びアプリケーションの一式の間、マシン及びマシン間、又はアプリケーション及びアプリケーション間の所定のアクセス権の一式を実施することができるハードウェア、ファームウェア、又はソフトウェアコンポーネントの任意の組み合わせを持つ任意の数のモジュールとなりうる(例えば、これらの構成要素の間で共有する通信量及びリソースの流れを統制する)。加えて、ファイアウォールは個人、マシン、又はアプリケーションによる物体のアクセス権及びオペレーション権、及び許可の権利が有効である状況を含む許可を詳述するアクセスコントロールリストへのアクセスを管理及び/又は持つ。
【0075】
(注釈)
先述の請求される主題の種々の実施形態は、図示及び説明の意図のために提供された。これは、請求される主題を網羅的になるように又は開示した厳密な形態に制限するように意図したものではない。多くの修正及び変化は当業者に明白となるであろう。実施形態は発明の原理、及びその実践的なアプリケーションを最良に説明するために選択及び説明され、それによって当業者が、請求される主題、種々の実施形態、及び熟考された特定の用途へ適する種々の修正を理解できるようにする。
【0076】
発明を実施するための形態が一定の実施形態及び熟考された最良のモデルの説明を説明するとはいえ、本技術は、発明を実施するための形態がどれほど詳細に明白にされていても、多くのやり方で実践できる。実施形態は、明細書によって網羅されるまでの間に、それらの具体化の詳細において著しく変化させうる。種々の実施形態の一定の特徴又は様態を説明するときに使用される特定の専門用語は、専門用語が結びつく技術の任意の特定の特性、特徴、又は様態に限定するために専門用語がここで再定義されることを意味するように理解されるべきでない。一般的に、以下の請求で使用される用語は、それらの用語が本文で明示的に定義されない限りは、本明細書で開示された特的の実施形態に技術を制限するように解釈されるべきではない。よって、実際の技術範囲は、開示された実施形態だけでなく、実施形態を実践及び実現する全ての同様のやり方を網羅する。
【0077】
本明細書において使用される文言は、主として読みやすいこと及び教育的である意図のために選択された。これは主題を描写する又は定めるために選択されていない場合がある。したがって、発明を実施するための形態によってではなく、むしろ本明細書に基づく主張で発する任意の請求によって技術範囲が制限されることを意図する。よって、種々の実施形態の開示は実例となることを意図するが、以下の請求に規定されるように技術範囲を制限しない。
【国際調査報告】