IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ワイズ ラブズ,インコーポレイテッドの特許一覧

特表2024-522333カスタマイズ識別モデルのガイドあり次展開トレーニング
<>
  • 特表-カスタマイズ識別モデルのガイドあり次展開トレーニング 図1
  • 特表-カスタマイズ識別モデルのガイドあり次展開トレーニング 図2
  • 特表-カスタマイズ識別モデルのガイドあり次展開トレーニング 図3
  • 特表-カスタマイズ識別モデルのガイドあり次展開トレーニング 図4
  • 特表-カスタマイズ識別モデルのガイドあり次展開トレーニング 図5
  • 特表-カスタマイズ識別モデルのガイドあり次展開トレーニング 図6
  • 特表-カスタマイズ識別モデルのガイドあり次展開トレーニング 図7
  • 特表-カスタマイズ識別モデルのガイドあり次展開トレーニング 図8A
  • 特表-カスタマイズ識別モデルのガイドあり次展開トレーニング 図8B
  • 特表-カスタマイズ識別モデルのガイドあり次展開トレーニング 図9A
  • 特表-カスタマイズ識別モデルのガイドあり次展開トレーニング 図9B
  • 特表-カスタマイズ識別モデルのガイドあり次展開トレーニング 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-18
(54)【発明の名称】カスタマイズ識別モデルのガイドあり次展開トレーニング
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240611BHJP
   G06T 7/00 20170101ALI20240611BHJP
   G06F 18/213 20230101ALI20240611BHJP
   G06F 18/214 20230101ALI20240611BHJP
【FI】
G06N20/00
G06T7/00 350B
G06F18/213
G06F18/214
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023568315
(86)(22)【出願日】2022-05-03
(85)【翻訳文提出日】2024-01-09
(86)【国際出願番号】 US2022027522
(87)【国際公開番号】W WO2022235707
(87)【国際公開日】2022-11-10
(31)【優先権主張番号】63/183,473
(32)【優先日】2021-05-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.FIREWIRE
(71)【出願人】
【識別番号】522066573
【氏名又は名称】ワイズ ラブズ,インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100141553
【弁理士】
【氏名又は名称】鈴木 信彦
(72)【発明者】
【氏名】チェン ツォンウェイ
(72)【発明者】
【氏名】チェンヌパティ ヴィジャヤ ナーガ ジョス サマンス
(72)【発明者】
【氏名】チェン リン
(72)【発明者】
【氏名】リウ ティアンチアン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA02
5L096CA02
5L096HA11
5L096JA22
5L096KA04
(57)【要約】
ここで紹介するのは、ユーザが、ユーザの監視システムに検出、認識又は別に識別させたいことを定めることを可能にするトレーニングシステムである。簡単のため、教育することを目的に所定のユーザによって提供されるユースケースは、「スキル」と呼ばれることがある。監視システムは、それぞれのユーザによって提供された各々のスキルを、限られた数のサンプルから学習することができる。例えば、従来の学習アプローチとは対照的に、所定のユーザは、いくらかのサンプル、又はさらに単一のサンプルを提供するのみのことがある。
【選択図】図8A
【特許請求の範囲】
【請求項1】
方法であって、
エッジデバイスを含む監視システムによって実装可能なスキルを作成する要求を示す第一の入力を受け取ること、
前記エッジデバイスによって生成された複数のサンプルであって、
前記監視システムが現在識別することができない物体又はイベントの実例を表しており、
複数のカテゴリに対応しており、前記複数のサンプルの各々が前記複数のサンプルのうちの少なくとも1つに関連付けられる
複数のサンプルの選択を示す第二の要求を受け取ること、
前記複数のカテゴリの各々に対して一意である潜在空間において、前記複数のサンプルを表す複数のエンベディングを作り出すために、前記複数のサンプルの各々を入力としてモデルへ提供すること、及び
前記スキルに関連付けられるデータ構造において、前記複数のエンベディングを行うことによって、前記スキルのためにサポートセットを形成すること
を含む、方法。
【請求項2】
前記スキルは、正確に2つのカテゴリに関連付けられるバイナリスキルである、請求項1に記載の方法。
【請求項3】
前記スキルは、少なくとも3つのカテゴリに関連付けられるマルチクラススキルである、請求項1に記載の方法。
【請求項4】
新しいサンプルの獲得を示す第三の入力を受け取ること、
エンベディングを作り出すために、前記新しいサンプルを、入力として前記モデルへ提供すること、
前記エンベディングを、前記サポートセットに含まれる前記複数のエンベディングに対して比較すること、及び
前記比較の結果に基づいて、予測を出力すること
をさらに含む、請求項1に記載の方法。
【請求項5】
前記予測は、前記第一の入力において指定される前記複数のカテゴリのうちの1つへの、前記新しいサンプルの割り当てを表す、請求項4に記載の方法。
【請求項6】
前記エッジデバイスはカメラを含み、前記複数のサンプルの各々はデジタル画像を表す、請求項1に記載の方法。
【請求項7】
前記エッジデバイスはマイクロフォンを含み、前記複数のサンプルの各々は音声ファイルを表す、請求項1に記載の方法。
【請求項8】
前記エッジデバイスによって生成された少なくともいくつかのサンプルへの適用のためのサポートセットを、エッジデバイスへ送信することをさらに含む、請求項1に記載の方法。
【請求項9】
方法であって、
監視システムのエッジデバイスによって生成されたサンプルを獲得すること、
エンベディングを作り出すために、前記サンプルを入力としてモデルへ提供すること、
前記エンベディングを、エンベディングのセットであって、各々が前記セットに含まれる少なくとも1つのエンベディングに関連付けられる複数のカテゴリをユーザが定めるトレーニングオペレーションの一部として生成された、前記エンベディングのセットに対して比較すること、及び
前記比較の結果に基づいて、予測を出力すること
を含む、方法。
【請求項10】
前記予測は、前記複数のカテゴリのうちのカテゴリへの前記サンプルの割り当てを表し、前記カテゴリは、前記エンベディングに最も密接に対応するように前記セットにおけるいずれかのエンベディングを判定することに対応する、請求項8に記載の方法。
【請求項11】
前記監視システムによって生成されたデータの獲得を示す入力を受け取ること、及び
前記データに含まれる1又は複数の値が、パターン定義パラメータに一致することを決定することを含み、
前記獲得することは、前記決定することに応じて行われる、請求項8に記載の方法。
【請求項12】
前記監視システムの別のエッジデバイスによって前記データが生成される、請求項11に記載の方法。
【請求項13】
ユーザから、推論フェーズを開始する要求を示す入力を受け取ることを含み、前記獲得することは、前記受け取ることに応じて行われることである、請求項8に記載の方法。
【請求項14】
前記獲得することは、時刻がユーザによって指定された時間的な基準に一致することの決定に応じる、請求項8に記載の方法。
【請求項15】
前記出力することは、
前記監視システムを管理することができるコンピュータープログラムを介してアクス可能なインターフェース上に、前記予測を表示させること
を含む、請求項8に記載の方法。
【請求項16】
前記エッジデバイスはカメラを含み、前記サンプルはデジタル画像を表す、請求項8に記載の方法。
【請求項17】
前記エッジデバイスはマイクロフォンを含み、前記サンプルは音声ファイルを表す、請求項8に記載の方法。
【請求項18】
前記獲得すること、前記提供すること、前記比較すること、及び前記出力することは、前記エッジデバイスに実装されたシステムによって行われる、請求項8に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、「Guided Post-Deployment Training of Customized Event, Object, and Sound Recognition Models」と題された米国出願第63/183,473号に対する優先権を主張し、2021年5月3日に出願した、あらゆる目的の引用は本出願に組み込まれる。
【背景技術】
【0002】
種々の実施形態は、監視システム、及びそれらの監視システムによってカスタマイズされたソフトウェア実装モデルを学習することに対して関連付けられる技法に関連する。
【0003】
「監視」という用語は、所定の環境において人々又はアイテムを保護することを目的として、行為、行動及び他の変化する情報のモニタリングを指す。一般的に、監視は、デジタルカメラ、ライト、鍵、動作検出器等の電子デバイスを使用して監視される所定の環境を要求する。まとめると、これらの電子デバイスは、「監視システム」又は「セキュリティシステム」の「エッジデバイス」と呼ぶことができる。
【0004】
監視システムにおいてより一般的になってきているある概念は、エッジインテリジェンスである。エッジインテリジェンスは、他の場所への情報の送信の前に、情報を処理し、決断するための、監視システムに含まれるエッジデバイスの能力を指す。一例として、デジタルカメラ(又は単に「カメラ」)は、画像が目的地へ送信される前に、デジタル画像(又は単に「画像」)に含まれる物体の発見を担う。目的地は、更なる画像の分析を担うコンピューターサーバシステムとなりうる。エッジインテリジェンスは、コンピューターサーバシステムが、監視システムに含まれるエッジデバイスによって生成された情報を処理するクラウドインテリジェンスの代案として、一般的に見られる。
【0005】
局地的に、すなわちエッジデバイス自身においてタスクを行うことは、エッジデバイスによって生成される情報が、規模を増大させ続けるにつれて、だんだんと一般的になってきた。例えば、住居環境を監視するように設計される監視システムが、いくつかのカメラを含むと仮定する。これらのカメラの各々は、監視システムのために調べるための高解像度画像の生成を可能にすることができる。これらの画像を調べるために、各カメラは、それぞれの画像に、対象の物体を検出するために、ソフトウェア実装モデル(又は単に、「モデル」)を適用することができる。一般的に、各モデルは、異なる物体を検出するために設計され、次にトレーニングされる。
【0006】
ユーザは一般に、彼らの監視システムを、一定の物体を検出するように適応させようとする。例えば、所定のユーザは、監視システムに、ユーザ自身、ユーザの子ども又はユーザのペットを認識する方法を学ばせることを望む。これを達成するために、新しいモデルは、新しい物体の「クラス」又は「カテゴリ」を検出するように設計され、次にトレーニングされる必要がある。しかしながら、これらのモデルを実装することは、些細なことではない。これは特に、多様な性能を備える多数のエッジデバイスを持つ、洗練された監視システムに当てはまる。
【図面の簡単な説明】
【0007】
図1】監視されるべき環境中に配置された種々のエッジデバイスを含む、監視システムの高レベルの図解である。
図2】エッジベースの推論システム、及びクラウドベースの推論システムの高レベルの図解である。
図3】トレーニングシステムの高レベルの図解である。
図4図3のカスタムイベント認識モジュールによって行われるような、トレーニングフェーズ及び推論フェーズの高レベルの図解である。
図5図3のカスタム物体検出モジュールによって行われるような、トレーニングフェーズ及び推論フェーズの高レベルの図解である。
図6図3のカスタム音声認識モジュールによって行われるような、トレーニングフェーズ及び推論フェーズの高レベルの図解である。
図7】システムのパフォーマンスを向上させるためのモデルを反復して選択するためプロセスのフロー図である。
図8A】新しいスキルを作成するためのプロセスの、高レベルの図解である。
図8B】トレーニングシステムによって生成されるインターフェースによって、ユーザによるスキルが作成できる方法のフローチャートである。
図9A】スキルのあるモデルを運用するプロセスの、高レベルの図解である。
図9B】トレーニングシステムによって、既存のスキルを実装することができる方法を図解するフローチャートである。
図10】本明細書で説明する少なくともいくつかのプロセスを実装することができる処理システムの例を図解する、ブロック図である。
【0008】
本明細書で説明する技術の種々の特徴は、発明を実施するための形態と図面を併せた検討から、当業者により明らかとなるだろう。実施形態は例として説明され、図面の内容で制限しない。図面は、図解を目的に種々の実施形態を表現するとはいえ、本技術の定義から外れることなく、当業者は、代替となる実施形態を利用できることが認識できるであろう。したがって、特定の実施形態が図面に示される一方で、本技術は種々の変更が容易である。
【発明を実施するための形態】
【0009】
監視システムがより洗練されるにつれて、可聴コンテンツ、視覚コンテンツ又はその他のデータの分析を通して、異なるカテゴリの物体を検出できることの重要性は、同様に増大する。一例として、監視システムの製造業者は、彼らの物体検出サービスに、人、動物、乗り物、及びパッケージを含む、さらなるカテゴリを追加することを始めてきた。監視システムに、広範囲の物体を検出することを可能にするだけでなく、例えば、特定の個人、ペットなどを検出するために個別化させる。
【0010】
しかしながら、従来の方法で、データ収集プロセスへ物体の新しいカテゴリを追加することは、時間がかかる。最初に、新しいカテゴリに関連付けられたデータが供給されなければならない。このデータは、新しいカテゴリを検出するようにモデルをトレーニングするために使用されるために、このデータは「トレーニングデータ」と呼ぶことができる。次に、新しいカテゴリは、全ての既存のカテゴリに加えて、トレーニングデータにアノテーションしなければならない。新しいモデルは、エッジデバイスの多量の例(及び、それゆえに、監視システムのユーザ)にわたって十分に実行されるべきであり、可能な限り多くのユースケースを包含するために供給される十分なトレーニングデータを要求することが、トレーニングデータをアノテーションする主な理由である。現在の発展経路は、大量のユーザに適するコンピュータープログラムを組み立てることに力を入れているために、これは、個別化されたインテリジェンスサービスを求める個々のユーザの必要とすることを満たすことできるトレーニングシステムの発展を制限する。
【0011】
ここで紹介するのは、ユーザに、彼らの監視システムが、検知する、認識する又は別の方法で識別するようにしたいものを、定めさせるトレーニングシステム(又は単に、「システム」)である。監視システムへアクセス可能なシステムの文脈において、実施形態が説明されうる一方で、システムは、監視システムに実装されることを必ずしも必要としないことに留意されたい。システムの様態は、監視システム(及び、より明確には、エッジデバイス)、監視システムが通信接続された仲介デバイス、又は監視システムが通信接続されたサーバシステムで実装されうる。
【0012】
簡単のために、少なくとも1つのエッジデバイスに学ばせることを目的とする、所定のユーザから提供されるユースケースは、「スキル」と呼ぶことができる。監視システムは、限られた数の例から、それぞれのユーザから提供される各々のスキルを学習することができる。例えば、従来の学習アプローチに対して、所定のユーザは、いくつかの例、又はそれどころか1つの例のみ提供する場合がある。簡単に言えば、システムは、限られた数のユーザが、日々の慣例の一部の際に遭遇する(さらには「ロングテールカテゴリ」と呼ばれる)異例のカテゴリを認識する先述の課題への解決方法を表す。
【0013】
システムは、所定の種類のエッジデバイスによって利用されるモデルの文脈において説明することができる一方で、システムは、カメラ、ライト、鍵、センサー等を含む種々のエッジデバイスに渡って、利用可能となりうることに留意されたい。例えば、図解を目的として、カメラによって生成された画像の物体を認識するために設計され、次にトレーニングされるモデルの文脈において、実施形態を説明することができる。このようなモデルは、「物体認識モデル」と呼ぶことができる。しかしながら、当業者は、本技術は、他の種類のモデル及び他の種類のエッジデバイスに同様に適用可能であることを認識することができるであろう。例えば、類似のアプローチは、音声センサーによって生成される音声の分析を通して、物体又はイベントを認識するためにモデルが代わりに設計され、次にトレーニングされるイベントに取り入れることができる。したがって、システムは、可聴コンテンツ、視覚コンテンツ又は他のデータに及ぶことができる。
【0014】
さらに下記のように、システムの1つの利点は、エッジインテリジェンスが、それらのエッジデバイスによって実装される方法を正確に理解していないことがあるユーザ
に利用しやすく、かつユーザによって配置されるエッジデバイス向けに設計されることである。したがって、伝統的にエッジインテリジェンスインターフェースの開発を担う開発者によってのみ使用可能な、より洗練されたトレーニングシステムに対して、本システムはこれらのユーザへのプラットフォームとして役立つことができる。
【0015】
実施形態は、説明を目的とするコンピューター実行可能命令の文脈において説明することができる。しかしながら、本技術の様態は、ハードウェア、ファームウェア又はソフトウェアによって実装することができる。例えば、エッジデバイスは、周囲の環境の代表となるデータを生成するように構成し、データを入力として、モデルへ提供することができる。モデルは、エッジデバイスに備わる場合がある、又はモデルは、サーバシステムに備わる場合があり、エッジデバイスは、直接的又は間接的のどちらかで通信接続される。モデルは、出力として、データに対するエンベディングを作り出すことができ、エンベディングは、ユーザによってカスタムスキルが定められたトレーニングオペレーションの一部として作成されたエンベディングのセットに対して比較することできる。エンベディングが、セットに含まれるエンベディングに対応する程度に基づいて、予測を作成することができる。
(専門用語)
【0016】
本明細書における、「ある実施形態」又は「いくつかの実施形態」への参照は、説明される特徴、機能、構造又は特性は、少なくとも1つの実施形態に含まれることを意味する。このような句の出現は、必ずしも同様の実施形態を参照せず、また必ずしも相互に排他的な別の実施形態に言及しない。
【0017】
文脈が明らかに異なることを必要としない限り、「備える」、「備えている」、「から成る」という用語は、排他的な又は網羅的な意味でなく、包含的な意味で解釈されるべきである。「に基づく」の用語は、また、包含的な意味で解釈されるべきである。よって、他に述べられない限りは、「に基づく」という用語は、「少なくとも一部に基づく」の意味を意図する。
【0018】
「接続した」、「結合した」、及びそれらのいかなる異形は、直接的又は間接的に関わらず、物体間のいかなる接続又は結合を含むことを意図する。接続/結合は、物理的、論理的、又はそれらの組み合わせとすることができる。例えば、物体は、物理的な接続を共有しないにもかかわらず、電気的又は通信的に、互いに結合することができる。
【0019】
「モジュール」という用語は、ソフトウェア、ファームウェア、又はハードウェアに対して広く参照することができる。モジュールは、1又は複数の入力に基づいて、1又は複数の出力を静止絵する、典型的な機能の構成要素である。コンピュータープログラムは、1又は複数のモジュールを含むことができる。よって、コンピュータープログラムは、異なるタスクを完了することを担う複数のモジュール、又は全てのタスクを完了することを担う単一のモジュールを含むことができる。
【0020】
複数のアイテムのリストへの参照において使用されるとき、「又は」という用語は、リストのいかなるアイテム、リストの全てのアイテム、及びリストのいかなるアイテムの組み合わせ、の全ての解釈を包含することを意図する。
【0021】
本明細書で説明するいかなるプロセスにおいて行われるステップのシーケンスは、模範的なものである。しかしながら、物理的な可能性に反しない限りは、ステップは、種々のシーケンス及び組み合わせにおいて行われることができる。例えば、ステップは本明細書で説明するプロセスを追加する又は取り除くことができる。同様に、ステップは、取り替える又は整理しなおすことができる。よって、いかなるプロセスの説明は、オープンエンドとなることを意図する。
【0022】
(監視システムの概要)
図1は、監視するために環境104全体に配置される種々のエッジデバイス102a-nを含む、監視システム100の高レベルの図解を含む。図1のエッジデバイス102a-nは、カメラである一方で、他の種類のエッジデバイスが、カメラに追加して、又はカメラの代わりに環境104の全体に配置されうる。エッジデバイスの他の例は、ライト、鍵、動作検出器、ドアベル、サーモスタットなどを含む。一方では、環境104は、例えば、家庭又は企業となりうる。
【0023】
いくつかの実施形態において、これらのエッジデバイス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と通信することができる。
【0024】
一般的に、仲介デバイス108上で実行するコンピュータープログラムは、サーバシステム106によってサポートされ、よって、サーバシステム106との通信を容易にすることができる。仲介デバイス108は、例えば、モバイルフォン、タブレットコンピューター、又は基地局を含むことができる。よって、仲介デバイス108は、常に環境104にとどまることができる、又は仲介デバイス108は、定期的に環境104に入ることができる。
【0025】
歴史的に、図1に示すような監視システムは、「集中型」手法において動作した。つまり、エッジデバイス102a-nによって生成された情報は、分析のためにサーバシステム106へ送信され、サーバシステム106は、情報の分析を通して見識を得ただろう。このアプローチのある利点は、サーバシステム106は、一般的に計算的に厳しいモデルの利用によく適した。しかしながら、通信リソースは、サーバシステム106へ、情報を送信することを必要とし、一般的に「グローバルモデル」と呼ばれる、サーバシステムによって適用されたモデルは、エッジデバイス102a-nに対して適応させない場合がある。
【0026】
エッジインテリジェンスは、これらの問題に取り組む努力で、だんだんと一般的になってきた。「エッジインテリジェンス」という用語は、例えばその情報の他の場所への送信の前に、情報を局所的に処理するエッジデバイス102a-nの能力を指す。エッジインテリジェンスとともに、監視システムは、「分散型」手法において動作する。分散型監視システムにおいて、グローバルモデルは、サーバシステム106によって作成し、エッジデバイス102a-nに配置することができる。一方で、各デバイスは、独自のデータに基づいて、一般的に、「ローカルモデルと呼ばれる、独自のグローバルモデルのバージョンの調整を可能にすることができる。
【0027】
図2は、エッジベース推論システム200及びクラウドベース推論システム202の高レベルの図解を含む。エッジベース推論システムを用いて推論を行うことは、通信リソースに関しては、基礎をなすデータ(例えば、画像)は、エッジデバイス206から離れることを必要としないために、及び計算リソースに関しては、エッジデバイス204が比較的「軽量」なために、低コストである。エッジベース推論システムによって推論を行うことは、通信リソースに関しては、基礎をなすデータ(例えば、画像)は、エッジデバイス206から離れることを必要としないために、及び計算リソースに関しては、エッジデバイス204は比較的「軽い」ために、低コストであるが、一般的に、より悪いパフォーマンスをもたらすだろう。クラウドベース推論システム202によって推論を行うことは、通信リソースに関しては、基礎となるデータ(例えば、画像)が、エッジデバイス208からコンピューターサーバシステム210(又は単に、「サーバシステム」)へ送信されることを必要とするために、及び計算リソースに関しては、クラウドモデル212が、比較的「重い」ために、よりコストがかかるが、一般的にはより良いパフォーマンスをもたらすであろう。他の方法で述べられない限り、本明細書で説明するアプローチは、システムが、エッジベース推論システム200又はクラウドベース推論システム202の一部として実装されるかどうかに関わらず、同様に適用可能である。
【0028】
(対象の物体、イベント及び行為のユーザ指定)
上記のように、個々で紹介するのは、ユーザに、ユーザの監視システムに認識、検出又は別に識別してほしいことを定めさせるシステムである。例は、次に限らないが、(i)ガスコンロが点いているかどうか、又はスクールバスが到着したかどうかのようなイベント、(ii)車がガレージにあるかどうか、又は道の周辺にゴミ箱があるかどうかのような物体の存在、及び(iii)人が正面玄関の近くに荷物を届けているかどうか、又は幼児が泣いているかどうかのような行為を含む。システムによってもたらされる認識性能を使用して、ユーザは、カスタマイズされた通知、警告、リマインダー、自動スケジュールなどを続いて作ることを許されうる。
【0029】
さらに以下のように、システムは、仲介デバイス(例えば、図1の仲介デバイス108)によって実行可能なコンピュータープログラムをサポートすることができる。例えば、コンピュータープログラムは、モバイルフォンによって実行可能なモバイルアプリケーションの形態となりうる。コンピュータープログラムを通じて、ユーザは、監視システムにおいて、エッジデバイスによって生成された可聴コンテンツ又は視覚コンテンツを調査するためのインターフェースへ、アクセスできることがある。いくつかのエッジデバイスは、可聴コンテンツを生成することができるのみとなりうる一方で、他のエッジデバイスは、ビデオコンテンツを生成するのみとなりうる。いくつかのエッジデバイスは、可聴及び視覚コンテンツを生成できる場合がある。例えば、マイクロフォンとともに設備されたカメラは、(例えば、ビデオクリップの形態において)音声ファイル及び対応する画像を生成できうる。さらに、エッジデバイスは、可聴コンテンツ又は視覚コンテンツを生成できない場合があるが、かわりに(例えば、アクセスイベントのような、イベントの時間を示す)いくつかの他の形態のデータを生成しうる。
【0030】
推論を通して、ユーザは、ユーザの入力を、カスタムカテゴリでラベル付けすることができる。例えば、ユーザは、イベントの検出の見本として、所定の入力をラベル付けすることができる又はユーザは、物体の存在の見本として、処理の入力をラベル付けすることができる。この「ラベルデータ」は、システムによって使用され、各カテゴリに対して一意である潜在空間における入力データを表す低次元エンベディングを生成することができる。これらのエンベディングは、システムに、例えば、可聴コンテンツ又は視覚コンテンツ(例えば、単一の画像又はビデオクリップ)の形態の新しいイベントを、ユーザによってラベル付けされたカテゴリへ分別させる。
【0031】
いくつかの実施形態において、システムは、監視下の場面において対照的なパターンを探すことによって、スキルをユーザへ推奨することができる。例えば、システムは、ユーザに関心のありうるパターンを表面化することができる。加えて又は代わりに、システムは、ユーザの関心のあるパターンを確立するために、ユーザの管理を調べることがある。関心は、エッジデバイスによって生成された例を調査することに時間をかけて分析すること通して決定することができる。ユーザは、これらの推奨を使用して、かれらのスキルを作ることができうる。
【0032】
システムの実施形態は、ユーザによって提供される入力データ上でのイベント認識、物体検出、及び音声検出のために作られる3つの主要なサブコンポーネントを持つことができる。以下でより詳しく明らかにする新しいカテゴリを学習するためのプロセスは、いくつかはシステムによって自動的に生成することがあり、及びいくつかはユーザによって手動で提出することがある、異なる種類の要求を介して、有効化されうる。システムのパフォーマンスは、各ユーザによって提供される入力データに依存するために、適切なモデルを選択する能力をユーザに提供して、各ユーザが解決を望む課題の必要とすることを満たすことが重要である。簡単に言うと、各ユーザが課題を解決できることを確実にするために、ユーザは、適切なモデルを選択するための柔軟性を持つべきである。ある実施形態において、いくつかの手法で所定のユーザから定められるプログラムのパフォーマンスを向上させるために、システムは反復モデル選択をもたらす。これらのアプローチは、入力データの質を向上するための推奨から、複雑なシナリオの課題を学習するためにより深く及びより複雑なアーキテクチャ(例えば、ニューラルネットワーク)を使用することに及ぶ。
【0033】
(機械学習における挑戦の概要)
過去数年にわたって、タスクを達成するための機械学習の能力は、指数関数的に増大してきた。私たちは、画像においてより良簡単に検出される猫から、自己運転する車両に及ぶ向上を目にしてきた。しかしながら、モデルの開発、トレーニング、及び向上の伝統的なアプローチは、それらのモデルがトレーニングされるデータセットのバイアスによって、悪化する。物体認識、物体検出、インスタンスセグメンテーションなどの進歩は、不均衡なデータセットで成熟したパフォーマンスを証明したが、新しいカテゴリを一般化する際は、モデルは今もなお悪化しがちである。簡単に言えば、伝統的なアプローチを新しいカテゴリへ適合させることは、挑戦的なタスクである。
【0034】
監視システムの製造者は、より多くのカテゴリを、人々、車、及び荷物を含む彼らの物体検出サービスへ追加することを始めた。上記のように、これは、監視システムに広範囲の物体を検知することを可能にするだけでなく、例えば、特定の個人、ペットなどを検出するために、個別化させる。しかしながら、従来の方法で、物体の新しいカテゴリをデータ収集プロセスへ追加することは、時間がかかる。最初に、新しいカテゴリに関連付けられたトレーニングデータが供給されるべきであり、次にトレーニングデータは、新しいカテゴリ及びいかなる既存のカテゴリでアノテーションされるべきである。新しいモデルは、エッジデバイスの多量の例(及び、それゆえに、監視システムのユーザ)にわたって十分に実行されるべきであり、可能な限り多くのユースケースを包含するために供給される十分なトレーニングデータを要求することが、トレーニングデータをアノテーションする主な理由である。現在の発展経路は、大量のユーザに適するコンピュータープログラムを組み立てることに力を入れているために、これは、個別化されたインテリジェンスサービスを求める個々のユーザの必要とすることを満たすことできるトレーニングシステムの発展を制限する。
【0035】
幸いにも、少量学習、自動機械学習(「自動ML」又は「AutoML」とも呼ばれる)などにおける最近の進歩によって、各ユーザ及びエッジデバイスに対して、はるかに少ないトレーニングデータによって、高パフォーマンスのカスタマイズモデルを学習することが可能である。本開示において、システムは、ユーザによって定めることができる「いかなるもの」を認識することができることが説明される。このシステムは、各ユーザへ、監視システムがユーザに対して解決することを望む課題を定める能力をもたらす。これを達成するために、ユーザは課題の異なる実例を表す例を提供することができ、これらの例は、ユーザによって識別されるそれらのシナリオと全く異なりうる未来のシナリオにおいて、課題を解決する方法を学習するために、システムによって使用されうる。加えて、このシステムは、例えばユーザに、入力として提供される例を更新させる、又は完全に新しい例を提供させるなど、彼らの課題への解決方法を向上するために、フィードバックを提供することができる。システムは、問題解決する及びユーザの期待へのパフォーマンスを向上する、広範囲のツール及びガイドをまた、もたらすことができる。要するに、システムは、ユーザの監視システムによってごく普通に遭遇するが、広い(例えば、グローバル)範囲でのトレーニングを保証するほど十分に一般的でない、ロングテールカテゴリを解決することを目標にする。
【0036】
(個別化モデル生成の概要)
ここで紹介するシステムは、類似のイベント、障害又は行為の未来の発生を予測するために、ユーザが、新しいカタログの各々へ少数の例を提供することができるプラットフォーム及びエンドツーエンドソリューションを提供することを目標にする。例えば、ユーザは、画像、ビデオクリップ又は音声クリップの形態において、わずか3、4又は5つの例によって新しいカテゴリを定めることができうる。これを達成するために、システムは、少量学習によって成される進歩に影響を与える。少量学習(few-shot learning)(「low-shot learning」とも呼ばれる)は、トレーニングデータが限られた情報を包含する、機械学習方法の種類である。機械学習の一般の実践は、モデルが処理できる限り多くのデータを提供するべきである一方で、少量学習は、インサイトが、限られた数の例の分析を通して得させる。これは機械学習において、鍵となる挑戦である。
【0037】
コンピュータービジョン及び言語のような、重要な分野における最近の発展にもかかわらず、伝統的な機械学習方法(例えば、深層学習方法)は、多量のラベル付けされたトレーニングデータを要求することを除いて新しいコンセプトを学習することに対する、説得力のある解決方法を提供しない。他方で、最近傍と同種のようないくつかのノンパラメトリックの方法は多量のトレーニングデータを要求しないが、パフォーマンスは、入力として提供されるトレーニングデータを表すために使用される特徴に基づく。
【0038】
(A.少量学習)
少量学習において、ディープニューラルネットワークは、入力として提供されるラベル付けされたトレーニングデータを表すために、最良の特徴(「エンベディング」とも呼ばれる)を学習するために使用することができる。次に、パラメトリック又はノンパラメトリック法は、新しい例をカテゴリに分類するために使用することができる。言い換えると、パラメトリック又はノンパラメトリック法は、サポートに対するクエリを分類するために使用することができる。少量学習における最早のアプローチは、「マッチングネットワーク」と呼ばれる。マッチングネットワークとともに、エンベディング及び分類は、エンドツーエンドの微分可能最近傍分類子を形成するために組み合わされる。
【0039】
マッチングネットワークは最初に、高次元の例を低次元空間へ埋め込み、次の方程式によって説明するように、最近傍分類の一般化された形態を実行する。
この意味は、モデルの推論
はサポートセットのラベルyiの加重和となり、重みはクエリ例
とサポートセット例xiとの間の、対になる類似の関数
である。式1におけるラベルyiは、ワンホットエンドラベルベクトル(one-hot ended label vectors)(例えば、[1,0,0]はカテゴリ1を表す、[0,0,1]はカテゴリ3を表すなど)である。
【0040】
少量学習における別の顕著な成果は、プロトタイプネットワークである。重要な仮定は、その周辺のカテゴリ(Sk)の集合からのサンプルである、各カテゴリごとのエンベディングが存在することである。この単一のプロトタイプ表現(ck)は、単に、以下に示すような、カテゴリkにおける個々のサンプルの意味である。
【0041】
(B.オペレーションフェーズ)
システムは、オペレーションの2つの主なフェーズ、すなわち、トレーニングフェーズ及び推論フェーズを持つ。トレーニングフェーズにおいて、ユーザは、(例えば、仲介デバイス上で実行するコンピュータープログラムを介してアクセス可能な)インターフェースを通して、入力としてラベル付けされた例を提供することができ、それらのラベル付けされた例に基づいて、スキルを定めることができる。スキルは、乗り物が、ガレージ内に停車しているかどうか認識するように単純にすることができる。これは、バイナリスキルの例である。2以上のカテゴリを持つマルチクラススキルは、インターフェースを通して定められうる。例えば、ユーザは、ユーザが、監視システムに、ガレージに0、1又は2つの乗り物があるかどうか認識できるようになってほしいことを示すために、ラベル付けされた例を入力することができる。
【0042】
スキルを定めた後、ユーザは次に、少なくとも1つの例を、スキルにおける各カテゴリへ提供することができる。一般的に、これらの例は、インターフェースを通して提供されたそれらのラベル付けされた例の中から選ばれる。しかしながら、システムがユーザに、追加の例又は異なる例を入力することを促すシナリオもありうる。例えば、システムは、ラベル付けされた例の分析を通じて、学習目的のためには、その量が不十分であることを決定しうる。特定の例として、システムは、画像が不適当にラベル付けされたこと、又はラベルが適するセグメントに関連づけられたように見えないことを発見しうる。このようなシナリオにおいて、システムは通知によって、さらに情報が必要であることを示しうる。
【0043】
その後、システムは、トレーニングフェーズを始めるために、ユーザからの要求を示す入力を受け取りうる。いくつかの実施形態において、システムは、十分な数(例えば、1、3又は5)のラベル付けされた例が、スキルにおける各カテゴリに対して提供された決定に応じて、トレーニングフェーズを開始するのみである。トレーニングフェーズの一部として、システムは、各ラベル付けされた例の低次元エンベディングを抽出し、サポートセットの形態で、入力データを表すことができる。このサポートセットは、新しいサンプルを比較して、推論フェーズの間に例外のない予測を作成することができる。
【0044】
一般的に、ユーザは、それぞれのスキルの根拠において、推論フェーズを要求する方法又は時を選ぶことが可能になる。よって、各スキルのための推論フェーズは、異なるトリガーとなるアクションに基づいて開始されうる。トリガーとなるアクションの例は、次を含む。
・動作イベントを示す動きは、可聴コンテンツ又は視覚コンテンツの分析を通して認識される、動作。
・手動の要求(例えば、仲介デバイス上で実行するコンピュータープログラムを通じた入力)を示す入力が受け取られ、推論フェーズを開始する、又は推論フェーズを始めるための、日、週、月又は年の好まれる時間の代表となる一時的な基準を定める、要求。
・対象の物体が、視覚コンテンツの分析を通して検出される、物体検出。
・音声イベントを示す音声は可聴コンテンツを通じて認識される、音声検出。
【0045】
図3は、システム300の高レベルの図解を含む。システム300は、ユーザが、適用されたスキルの作成を通じてカスタマイズすることに関心のある監視システム310へ、通信で接続される。システム300の様態は、監視システム308へアクセス可能なサーバシステムにおいて、又は監視システム308へアクセス可能な仲介デバイスにおいて、監視システム310に(例えば、そのエッジデバイスに)実装されうる。よって、システム300は、図1に示すいかなる構成要素に実装されうる。しかしながら、システム300は一般的に、仲介デバイス上で実施するコンピュータープログラムを介してアクセス可能である。コンピュータープログラムは、例えば、モバイルフォン上で実行するモバイルアプリケーション、又はタブレットコンピューター又はラップトップコンピューター上で実行するウェブブラウザとなりうる。
【0046】
図3に示すように、システム300は、4つの主要な構成要素、すなわち、カスタムイベント認識モジュール302、カスタム物体検出モジュール304、カスタム音声認識モジュール306、及びスキルライブラリ308を含む。これらの構成要素は、以下で詳細に論じ、特徴は、特定の構成要素への参照とともに論じられうる一方で、当業者は、他に述べられずとも、これらの構成要素が類似の性能を持ちうることを認識するであろう。カスタムイベント認識モジュール302は、監視システム310によって監視されている環境において、カスタムイベント、行為及び物体を認識する能力を与える、サポートする又は別にもたらすことを担いうる。カスタム物体検出モジュール304は、一般的な物体を検出し、次にインジケーター(バウンディングボックス又は座標)の使用を通じて、環境において、それらの一般的な物体をローカライズすることを担いうるそのうえ、カスタム物体検出モジュール304は、ユーザによって定められるカスタムカテゴリを用いて、それらの一般的な物体を分類することを担いうる。カスタムイベント認識は、カスタム音声認識モジュールを通じて、視覚コンテンツから可聴コンテンツへ及びうる。その上、カスタム物体検出モジュール304は、ユーザによって定められたカスタムカテゴリを用いて、それらの一般的な物体を分類することを担うことがある。カスタム音声認識モジュール306は、監視システム310の1又は複数のエッジデバイスによって静止される可聴コンテンツを処理することによって、犬が吠えること、赤ん坊が泣くこと、警察のサイレン及びユーザに定められる他のカテゴリのようなイベントを認識できる場合がある。
【0047】
いくつかのエッジデバイスは、可聴コンテンツ及び視覚コンテンツを生成できる場合があることに留意されたい。例として、マイクロフォンを備えるカメラは、対応する音声とともにビデオクリップを生成できる場合がある。このようなシナリオにおいて、システム300は、可聴コンテンツの分析のためのカスタム音声認識モジュール306と同様に、視覚コンテンツの分析のために、このようなエッジデバイスによって生成されるデータを、カスタムイベント認識モジュール302へ提供しうる。
【0048】
一方で、スキルライブラリ308は、ユーザによって定められたスキルを含みうる。スキルライブラリ308の性質は、その位置に依存しうる。仲介デバイス上でスキルライブラリ308が維持される実施形態において、スキルライブラリ308は、監視システムに対してユーザによって定められたそれらのスキルを含むのみの場合がある。同様に、(例えば、基地局又はエッジデバイス上の)監視システム上でスキルライブラリ308が維持される実施形態において、スキルライブラリ308は、監視システム310に対してユーザによって定められたそれらのスキルを含むのみの場合がある。サーバシステム上でスキルライブラリ308が維持される実施形態において、スキルライブラリ308は、他の監視システムに関連付けられる他のユーザによって定められたスキルを含みうる。代わりに、スキルライブラリ308は、データ構造において維持される複数のスキルライブラリのうちの1つとなる場合があり、各スキルライブラリは、異なるユーザ(さらには、異なる監視システム)に関連付けられる場合がある。よって、他のスキルライブラリとともにデータ構造に記憶されたとしても、スキルライブラリ308は、「サイロ化」されうる。
【0049】
(C.カスタムイベント認識)
図4は、図3のカスタムイベント認識モジュール302によって行われる際の、トレーニングフェーズ400、及び推論フェーズ402の高レベルの図解を含む。最初に、システムは、重要な情報が利用可能であるスキルによって、対象の領域を提供するユーザを示す入力を受け取ることができる。例として、ユーザは、対象のイベントに対応する画像の一部を認識することができる。カスタムイベント認識モジュール302は、図4に示すように、画像から対象の領域を切り取ることができ、カスタムイベント認識モジュール302は、トレーニングするためのモデル406の要求に匹敵するために、必要に応じて切り取られた領域404を前処理することができる。オペレーションを前処理することの例は、(i)対象の領域を切り取ること、(ii)カラースケールを変換すること、(iii)一時的に理解することの達成を助けることができる、低レベルのエンベディングを抽出するために選ばれたフレーム(「キーフレーム」とも呼ばれる)又は全てのフレームを使用すること、(iv)セマンティックセグメンテーション、骨組み、アテンションマスク又は処理された情報の他の形態を抽出すること、及び、(v)音声ファイルを、スペクトログラムへ変換することを含む。
【0050】
モデル406は次に、切り取られた領域404に対して、低次元エンベディング408を抽出する。例えば、システムは、ディープニューラルネットワークを使用して、入力として役立つ切り取られた領域404に対して、低次元エンベディング408を抽出することができる。ディープニューラルネットワークのアーキテクチャは変更することができ、それによって異なるパフォーマンスの結果となりうる。一方で、エンベディング表現は、ディープニューラルネットワークから抽出された特徴に基づいて変更することができる。低次元エンベディング408は、異なるスケール及び異なる階層の抽出から情報を獲得するために、ディープニューラルネットワークの最終レイヤから、又はディープニューラルネットワークの複数のレイヤから、情報を抽出されうる。
【0051】
このプロセスは、各カテゴリの各サンプルに対して繰り返される場合があり、結果の表示、すなわちエンベディング408は、データベース410へ記憶することができる。データベース410は、所定のスキルに対する「サポートセット」として参照されうる。サポートセット410は、各カテゴリごとに分割され及びラベル付けされた入力データの低レベルの表現を含むことができる。例として、2つのカテゴリがあるときに、トレーニングフェーズ400に対するサポートセット410は、低レベルの表現の2つのラベル付けされたセットを含みうる。
【0052】
その後、システムから推論要求を受け取ることができる。例えば、画像は、トレーニングフェーズ400において定められたスキルのために、監視システムの一部であるカメラによって獲得される場合がる。このようなシナリオにおいて、カスタムイベント認識モジュール302は、切り取られた領域412を作り出すために、ガイドとしてトレーニングフェーズ400においてユーザによって提供される、対象の領域を使用する画像を取り入れることができる。カスタムイベント認識モジュール312は、必要に応じて切り取られた領域412を前処理することができ、低次元エンベディング414を抽出するために、切り取られた領域412を、モデル406へ通すことができる。次に、カスタムイベント認識モジュール302は、予測を作成するために、例えば、余弦又はユークリッド距離を使用して、低次元エンベディング414を、サポートセット410と比較することができる。高いレベルにおいて、予測は、切り取られた領域412が、トレーニングフェーズ400の一部として定められたスキルを満たす又は匹敵するかどうかに関しての決定の代表となりうる。さらに、カスタムイベント認識モジュール302は、予測のために、信頼スコアを推定することができる。信頼スコアは、予測の不確かさを理解するために使用されうる。
【0053】
いくつかの実施形態において、カスタムイベント認識モジュール302によって作成される予測は、最後の予測を作成する前に、信頼性を統計するために、時間窓全体で平均することができることに留意されたい。よって、カスタムイベント認識モジュール302は、時間の間隔にわたってその出力を監視する場合があり、最後の予測をより信頼できるものにすることができる。信頼性の閾値は、予測が監視される間に、時間窓の継続時間と同様に変更することができる。
【0054】
トレーニングフェーズ400の一部として、ユーザは、推論フェーズの402の一部として調べるべきサンプルを定めうる。例えば、ラベル付けされた例が、所定のエッジデバイス(例えば、裏庭に設置されたカメラ)によって生成されたことをユーザは指定することができる、又はシステムは決定することができる。識別子のような所定のエッジデバイスを示す情報は、サポートセット410へ付加することができ、サポートセット410は、推論ステージ402の間、所定のエッジデバイスによって生成されたサンプルに適用するのみとなる。よって、ユーザは、監視システムのスキルをカスタマイズするだけでなく、ユーザはそれらのスキルが、合理的に使用されるべき方法を示すことができる。加えて又は代わりに、システムは、各サポートセットを、対応するラベル付けされた例として、同様のエッジデバイスによって生成されたそれらのサンプルにのみ適用するように学習することができる。より考えられた、及び効果的な手法において、サポートセットを適用することは、より高速な予測となるだけでなく、計算リソースに関して大きく節約することができる。
【0055】
(D.カスタム物体検出)
カスタムイベント認識に対して、カスタム物体検出は、対象の領域を抽出するために、物体検出器によって作り出された出力を使用することがある。「物体検出器」という用語は、一般的に、ピクセルデータの分析を通じた特定のクラスにおいて、物体の実例を検出するために設計された及びトレーニングされた専門のモデルを参照するために使用される。図5は、図3のカスタム物体検出モジュール304によって行われる際の、トレーニングフェーズ500、及び推論フェーズ502の高レベルの図解を含む。カスタム物体検出モジュール304は、ユーザが比較的少ない(例えば、3、5又は10)対象の物体を定めることによって、スキルを作成することを可能にすることができる。特定の例のように、ユーザは、ユーザのガレージに、図5に示すようにBMW X5及びTesla Model Xのような異なる種類の車を認識するスキルを定めることが可能となる場合がある。この例における対象の物体は車であるが、当業者は、アプローチが他の種類の物体に対しても同様に適用可能であることを認識するであろう。
【0056】
トレーニングフェーズ500において、ユーザは、対象の物体を識別することができ、それによってカテゴリを定め、次に、対象の各物体に対して例を提供することができる。この点で、例えば、ユーザは、BMW X5を含む複数の画像、及びTesla Model Xを含む複数の画像を識別する。カスタム物体検出モジュール304は次に、切り取られた領域504を作り出すために、これらの車に対応する画像の領域を切り取ることができる。カスタム物体認識モジュール304は、必要に応じて切り取られた領域504を前処理することができ、次に切り取られた領域504を、データベース510(スキルのための「サポートセット」とも呼ばれる)へ保存することができる低レベルエンベディングのために、モデル506へ提供することができる。
【0057】
その後、推論要求は、システムに受け取られうる。例えば、画像は、トレーニングフェーズにおいてスキルが定められた監視システムの一部であるカメラから獲得される場合がある。推論フェーズ502において、カスタム物体検出モジュール304は、初めに、推論要求がユーザから引き起こされた決定に応じて、物体検出器へ画像を提供することができる。物体検出器は、始めに、対象の物体の存在をチェックする。いかなる所定の物体の不在において、カスタム物体検出モジュール304は、対象の物体が見つからなかったというステータスを出力することができる。代わりに、少なくとも1つの物体が見つかった場合、各々の対象の物体に対応する領域512を切り取ることができ、切り取られた領域512は、必要に応じて前処理することができ、次に切り取られた領域512に対して低レベルのエンベディング514を抽出することができる。いくつかのシナリオにおいて、複数の対象の物体が、単一の画像において見つけられうる。このようなシナリオにおいて、カスタム物体検出モジュール304によって、複数のエンベディングが抽出されうる。エンベディングの数に関係なく、カスタム物体検出モジュール304は、各エンベディングにおける予測を作成するために、各エンベディングをサポートセット510と比較することができる。次に、物体検出器によって対応する物体が検出される初期領域へ、各予測を割り当てることができる。
【0058】
(E.カスタム音声認識)
カスタムイベント認識と同様に、カスタム音声認識はユーザへ、カスタム音声を認識するプラットフォームを提供することができる。図6は、図3のカスタム音声認識モジュール306によって行われるような、トレーニングフェーズ600及び推論フェーズ602の高レベルの図解を含む。トレーニングフェーズ600において、システムは、スキルを定めるために、ユーザからの要求を示す入力を受け取ることができる。一般的に、図6で示すように、要求は、各カテゴリに対して少なくとも1つの例604によって達成される。カスタム音声認識モジュール306は次に、必要に応じて例604を前処理することができ、それから、低レベルエンベディング608を抽出するために、例604を、モデル606へ提供することができる。カスタム音声認識モジュール306は、低レベルエンベディング608を、データベース610(スキルのための「サポートセット」とも呼ばれる)に記憶することができる。
【0059】
推論が要求されたとき、カスタム音声認識モジュール306は、スキルが定められた監視システムに含まれるエッジデバイスによってエッジデバイスによって生成された新しいサンプル612を獲得することができる。カスタム音声認識モジュール306は、必要に応じて新しいサンプル612を前処理することができ、それから、低レベルエンベディング614を抽出するために、新しいサンプル612を、モデル606へ提供することができる。信頼スコアに加えて予測を決定するために、低レベルエンベディング614を、サポートセット610に対して比較することができる。
【0060】
(F.向上したパフォーマンス対する反復モデル選択)
システムのパフォーマンスは、スキルの複雑性、ユーザによって提供される例の多様性、場面の変化(例えば、周辺の照明、周辺の雑音、天気、外観など)などを含む、複数の要因に依存する。これらのバリエーションを説明する、及び満足なパフォーマンスを確実にするために、システムは、反復モデル選択をサポートすることができる。反復モデル選択は、次のオペレーションを提案される場合がある。
【0061】
図7は、システムのパフォーマンスを向上するために、モデルを反復して選択するプロセスのフロー図を含む。最初に、システムはモデルのパフォーマンスを、予め決められた質の閾値に対して比較する方法を確立することができる。言い換えると、システムは、モデルのパフォーマンスが十分に良いかどうかを決定することができる(ステップ701)。パフォーマンスが十分に良いイベントにおいて、システムは、パフォーマンスが質の閾値を下回るまでモデルを実装し続けることができる(ステップ702)。
【0062】
パフォーマンスが質の閾値を下回るとき、又はパフォーマンスが最初に質の閾値より低くなる場合は、システムは、誤って分類されたデータを修正し、それからモデルを再トレーニングすることができる(ステップ703)。再び、システムは、パフォーマンスが質の閾値を下回るまでモデルを実装し続けることができる(ステップ704)。
【0063】
パフォーマンスが質の閾値を下回るとき、例えば、学習のためにより多様な例を提供するために、システムはさらなるトレーニングデータを追加することができる(ステップ705)。次に、システムは拡大したトレーニングデータを使用して、モデルを再トレーニングすることができる。再び、システムは、パフォーマンスが質の閾値を下回るまで、モデルを実装し続けることができる(ステップ706)。
【0064】
パフォーマンスが質の閾値を下回るとき、システムは、モデルの複雑性を増大することができる(ステップ707)。例えば、モデルがニューラルネットワークの場合、システムは層の数を増大する、すなわちニューラルネットワークを「深くする」ことができる。再び、システムは、パフォーマンスが質の閾値を下回るまで、モデルを実装し続けることができる(ステップ708)。
【0065】
パフォーマンスが質の閾値を下回るとき、システムは、パラメトリック機械学習アルゴリズムをトレーニングすることができる(ステップ709)。パラメトリック機械学習アルゴリズム(「パラメトリック分類子」とも呼ばれる)は、単に既知の形態に適用されるように機能するアルゴリズムである。高いレベルにおいて、パラメトリック分類子は、対応する機能に対する形態を選択し、次にトレーニングデータから機能に対する係数を学習する。再度システムは、パフォーマンスが質の閾値を下回るまで、モデルを実装し続けることができる(ステップ710)。パフォーマンスが再び質の閾値を下回るとき、システムは、パフォーマンスを向上する試みにおいて、物理マーカー又は他のデータの質の向上を試みることができる(ステップ711)。
【0066】
(スキルを作成する及び実装する方法論)
図8Aは、新しいスキルを作成するためのプロセス800の高レベルの図解である。図8Aに示すように、ユーザ802は最初に、コンピューティングデバイス804上で実行するコンピュータープログラムを通して、インターフェースへアクセスすることができる。コンピューティングデバイス804は、図1の仲介デバイス108となりうる。インターフェースを通して、ユーザ802は、分類スキームの異なるカテゴリに対応するラベル付けされた例を提供することができる。例えば、ユーザ802は、ユーザの監視システムによって実装されるとき、ガレージの扉が開いている又は閉まっているかどうかを示すスキルを定めることに関心があると仮定する。これを達成するために、ユーザ802は、少なくとも1つのガレージの扉の開いた画像、及び少なくとも1つのガレージの扉の閉じた画像をアップロードすることができる。これらのイメージは、監視システムの一部であるエッジデバイスによって生成されることがある。例えば、これらの画像は、ガレージの内部に設置されたガレージの扉の方向へ向くカメラによって生成されることがある、又はこれらの画像は、ガレージの外部に設置されたガレージの扉の方向へ向くカメラによって生成されることがある。スキルの性質に基づきながら、システム806は、画像に対するエンベディングを抽出すること、それによって上記のようにサポートセットとしてそれらのエンベディングを保存することによって、スキルをプログラムに従って定義することができる。サポートセットを、図8Aに示すサーバシステムへ保存することができる、又はサポートセットをほかの場所(例えば、コンピューティングデバイス804又は監視システムの基地局)へ保存することができる。
【0067】
ラベル付けされた例の基礎となるデータは、複数のやり方で獲得することができることを留意されたい。ユーザは、イベントの記録、監視システムによって検出されたイベントの選択、又はシステムによって推奨されるイベントの選択を開始することによって、例えば、システムのパフォーマンスの向上を助けることができる、特定のスキルに対する活動中の学習ベースの方法を使用して、各スキルのカテゴリへ例を提供することができる。
【0068】
さらに、監視システムは、可聴コンテンツ(例えば、オーディオクリップの形態)、及び視覚コンテンツ(例えば、静止画像及びビデオクリップ)をサポートすることができる。これらの入力形式は、異なるフォーマットにおいてアクセスすることができる。例えば、画素データがRGB又はYUVフォーマットである画像を獲得することがある、又は画素データが赤外線値を表す画像を獲得することがある。
【0069】
一方では、図8Bは、新しいスキルが、システム806によって生成されるインターフェース802を介してユーザ802によって作成される方法を図解するフローチャートを含む。最初に、ユーザ802は、ラベル付けされた例を入力としてシステム806へ提供することによって、スキルを定めることができる。上記のように、ラベル付けされた例は、スキルが生成された監視システムに含まれる1又は複数のエッジデバイスから収集されたサンプルを表すことがある。いくつかの実施形態において、コンピュータープログラムは、ユーザがスキルを定めることができることを通して、監視システムのエッジデバイスによって生成されるサンプルの調査を可能にする。したがって、ユーザ802は、エッジデバイスによって生成されたサンプルを直ちに調査し、それから、ラベル付けされたサンプルとして使用するためにそれらのサンプルの一部を選択することができる場合がある。
【0070】
代わりに、ユーザ802は、既存のスキルに対して新しいトレーニングデータを追加することを選ぶことがある(ステップ812)。例えば、監視システムは既に、車両がガレージ内に現在停められているかどうかを決定することができると仮定しても、ユーザ802は監視システムに、複数の車両のうちのどれがガレージ内に現在駐車していることを指定するように学ばせることを望む。このようなシナリオにおいて、ユーザ802は、複数の車両の各々の画像を選択することができ、それらの画像はラベル付けされた例として役立つことができる。
【0071】
ユーザ802が、新しいスキルを作成すること又は既存のスキルを変更することに関心があるにせよ、ラベル付けされた例は、低レベルエンベディングを抽出するために、モデルによって処理することができる(ステップ814)。これらの低レベルエンベディングは、スキルに対する「サポートセット」と呼ばれることがある。モデルは、例えば、ディープニューラルネットワークとなりうる。システムは次に、サポートセットをサーバシステムに保存させることができる(ステップ816)。サーバシステム上でシステムが実行されている実施形態において、サポートセットは、単にメモリへ引き渡されることがある。しかしながら、システムが他の場所(例えば、コンピューティングデバイス804上)へ配置される実施形態において、システムは、サポートセットをサーバシステムへ送信することができる。
【0072】
図9Aは、スキルとともにモデルを運用するプロセス900の高レベルの図解を含む。初めに、システム902は、スキルを設定することのトリガーとなるアクションを示す入力を受け取ることができる。例えば、システム902は、パターン定義パラメータに一致するエッジデバイスによって生成されたデータに含まれる、1又は複数の値を発見することがある。パターン定義パラメータは、データの性質に依存しうる。例えば、データがカメラによって生成された画像を表す場合、引き金となるアクションは、少なくとも1つの画像において、予め決められたサイズを上回る物体の発見となりうる。別の例として、データが、マイクロフォンによって生成された音声を表す場合、トリガーとなるアクションは、人が近くにいる音の存在、又は特定の音(例えば、赤ん坊の泣き声、車両の警笛など)の発見となりうる。
【0073】
上で図4~6を参照しながら述べるように、エンベディングを作り出すために、データの少なくとも一部を、システム902によってモデルへ提供することができる。システム902は、エンベディングを、トレーニングフェーズの一部としてスキルのために確立されるサポートセットと比較することができる。エンベディング及びサポートセットにおけるエンベディングの間の類似の程度に基づいて、システムは、予測を出力することができる。図8Aの例を再度参照すると、ユーザが、ガレージの扉が現在開いている又は閉じているかどうかを決定するためのスキルを定める場合、予測は、ガレージの扉が現在空いている又は閉じているかどうかを示すことができる。
【0074】
そのスキルは、オープンエンド又はクローズドエンドの状態として定められうることに留意されたい。ここで、例えば、厳密に2つの可能性、すなわち、ガレージの扉は開いている又は閉じていて、ユーザはトレーニングフェーズの間、各可能性のラベル付けされたエビデンスを提供した。そのため、システム902は、新しいサンプルのエンベディングが、サポートセットにおいてガレージの扉が開いているエンベディングにより類似する、又はサポートセットにおいてガレージの扉が閉じているエンベディングにより類似するかどうかに基づいて、適切な予測を決定することができる。しかしながら、システム902のいくつかの実施形態は、スキルをよりオープンエンドにすることを可能にすることがある。例えば、ユーザは監視システムに、ガレージの扉が現在空いている又は閉じているかどうかを決定するように学ばせることを望むと仮定する。しかしながら、ユーザは、状態のうちの1つのラベル付けされた例(例えば、閉じたガレージの扉)へのアクセスのみを有する。このようなシナリオにおいて、システム902は、スキルをプログラムに従って定めることがあり、推論フェーズの間、予測は(i)エンベディングが、サポートセットに十分に一致するという決定に応じてガレージの扉が閉じる、及び(ii)エンベディングが、サポートセットに十分に一致しないという決定に応じてガレージの扉が開く、となる。よって、ラベル付けされた例がトレーニングを目的に提供されなくても、システム902は、一定の状態を推論することができる場合がある。
【0075】
一方では、図9は、システム902によって既存のスキルを実装することができる方法を図解するフローチャートを含む。最初に、システム902は、トリガーとなるアクションの発見を示す入力を受け取ることができる(ステップ904)。上記のように、トリガーとなるアクションは、監視システムのエッジデバイスから生成されたデータの分析を通して発見されることがある。代わりに、トリガーとなるアクションは、既存のスキルを実装するためのユーザからの要求を表すことがある。例えば、ユーザはインターフェースを通じて、ユーザが、既存のスキルが、所定のエッジデバイスによって生成されたデータ上で実装してほしいということを、指定することができる。
【0076】
システム902は、サンプルの生成を担うエッジデバイスからの獲得を通じてサンプルを獲得し、エンベディングを生成するために、サンプルをモデルへ提供することができる(ステップ906)。そのあと、システムは予測を作成するために、サポートセットに対してエンベディングを比較することができる(ステップ908)。サポートセットは、トレーニングフェーズの間にトレーニングデータとして提供された、ラベル付けされた例に対して計算されたエンベディングの収集物を表す。予測は、システム902によるデータ構造に保存されることがある。データ構造が、(例えばインターネットを介して)監視システムへアクセス可能なサーバシステム上で維持されうるとしても、データ構造は、監視システムに関連付けられることがある。加えて又は代わりに、システム902は、予測が作り出される監視システムへ関連付けられたユーザがアクセス可能なインターフェース上で、予測の表示をさせることがある。
【0077】
(処理システム)
図10は、少なくとも本明細書で説明したいくつかのプロセスを実装することができる処理システム1000の例を図解するブロック図である。例えば、処理システム1000の構成要素は、エッジデバイス、仲介デバイス又はサーバシステム上でホストされることがある。
【0078】
処理システム1000は、プロセッサ1002、メインメモリ1006、不揮発性メモリ1010、ネットワークアダプタ1012、ビデオディスプレイ1018、入力/出力デバイス1020、コントロールデバイス1022(例えば、キーボード又ポインティングデバイス)、ストレージ媒体1026を含むドライブユニット1024、及びバス1016と通信で接続される信号生成デバイス1030を含むことができる。バス1016は、適切なブリッジ、アダプタ又はコントローラーによって接続される、1又は複数の物理的なバス又はポイントツーポイント接続を表す抽象概念として図解される。バス1016はしたがって、システムバス、Peripheral Component Interconnect (PCI)bus又は PCI-Express bus、HyperTransport又はindustry standard architecture(ISA)、small computer system interface (SCSI)bus、universal serial bus (USB)、Inter-Integrated Circuit (I2C)bus、又はInstitute of Electrical and Electronics Engineers (IEEE)standard 1394 bus(「Firewire」とも称される)を含むことができる。
【0079】
処理システム1000は、デスクトップコンピューター、タブレットコンピューター、モバイルフォン、ゲームコンソール、音楽プレーヤー、ウェアラブル電子デバイス(例えば、時計又はフィットネストラッカー)、ネットワーク接続(「スマート」)デバイス(例えば、テレビ又はホームアシスタントデバイス)、仮想/拡張現実システム(例えば、ヘッドマウントディスプレイ)、又は(順次的な又は異なる)処理システム1000によって取られるアクションを指定する命令のセットを実行可能な別の電子デバイスのような、類似のプロセッサアーキテクチャを共有することがある。
【0080】
メインメモリ1006、不揮発性メモリ1010及びストレージ媒体1026が単一の媒体となるように示す一方で、「マシン可読媒体」及び「ストレージ媒体」という用語は、命令1028の1又は複数のセットを保存する単一又は複数のメディア(例えば、集中型/分散型データベース及び/又は関連付けられたキャッシュ及びサーバ)を含むように理解されるべきである。「マシン可読媒体」及び「ストレージ媒体」という用語は、処理システム1000による実行のために保存する、エンコードする又は運ぶことのできるいかなる媒体を含むようにまた理解されるべきである。
【0081】
一般に、開示の実施形態を実装するために実行するルーチンは、オペレーティングシステムの一部又は特定のアプリケーション、構成要素、プログラム、物体、モジュール又は命令の順番(「ひとまとめにして、コンピュータープログラム」と称される)として実装することができる。コンピュータープログラムは、電子デバイスの種々のメモリ及びストレージデバイスにおける種々の時間にセットされた1又は複数の命令(例えば、命令1004、1008、1028)セットを典型的に含む。プロセッサ1002によって読み込まれる及び実行されるとき、命令は、本開示に種々の様態に関わる要素を実行するために、処理システム1000にオペレーションを行わせる。
【0082】
そのうえ、実施形態は、完全に機能する電子デバイスの文脈において説明した一方で、当業者は、本技術のいくつかの様態は、多様な形態においてプログラム製品として配布することができると認識するであろう。本開示は、配布をもたらすために使用されるマシン可読又はコンピューター可読メディアの特定の種類に関わらず、適用する。
【0083】
マシン可読及びコンピューター可読メディアのさらなる例は、揮発性及び不揮発性メモリデバイス1010のような記録可能メディア、リムーバブルディスク、ハードディスクドライブ、及び光学ディスク(例えば、コンパクトディスクリードオンリーメモリ(CD-ROMS)及びデジタルバーサタイルディスク(DVD))、及びデジタル及びアナログ通信リンクのような送信型メディアを含む。
【0084】
ネットワークアダプタ1012は、処理システム1000が、処理システム1000の外部にある実体とともに、処理システム1000及び外部の実体によってサポートされるいかなる通信プロトコルを通じて、ネットワーク1014におけるデータを仲介できるようにする。
【0085】
ネットワークアダプタ1012は、ネットワークにおけるデータへのアクセス/プロキシの許可を支配及び/又は管理するファイアウォールを含むことがある。ファイアウォールはまた、異なるマシン及び/又はアプリケーションの間の信頼の変化するレベルを追跡することができる。ファイアウォールは、マシンとアプリケーション、マシンとマシン、又はアプリケーションとアプリケーションのセットの間のアクセス権の予め決められたセットを強制することができるハードウェア、ファームウェア又はソフトウェア構成要素の任意の組み合わせを持つ任意の数のモジュールとなることがある(例えば、これらの実体の間で共有する通信量及びリソースのフローを統制するために)。ファイアウォールは、個人、マシン又はアプリケーションによる物体のアクセス及びオペレーション権限を含む許可、及び許可権限が有効である状況を詳述するアクセスコントロールリストへのアクセスを加えて管理する及び/又は持つことがある。
【0086】
(注釈)
請求する題目の種々の実施形態の先述の説明は、図解及び説明を目的に提供してきた。網羅的になるように、又は題目を開示した厳密な形態に制限することを意図していない。多くの修正及び変更が、当業者に認識されるであろう。実施形態は、発明の原理及びその実践的なアプリケーションを最良に説明するために選んで説明し、それによって、当業者に、請求する題目、種々の実施形態及び熟考された特定の用途に適した種々の修正の理解を可能にする。
【0087】
発明を実施するための形態が、熟考された一定の実施形態及び最良の方式を説明するとはいえ、本技術は、詳述する発明を実施するための形態がどれだけ明らかでも、多くの手法で実践することができる。明細書に包含されながら、実施形態は、それらの実施の詳細において著しく異なる。種々の実施形態の一定の特徴又は様態を説明するときに使用する個々の専門用語は、専門用語が、本明細書において、専門用語が関連付けられる任意の特定の性質、特徴又は技術の様態に限定されるように再定義されることを暗示するように受け取られるべきでない。一般的に、ここで用語が明白に定義されていない限りは、次の特許請求の範囲において使用する用語は、本技術を明細書において開示した特定の実施形態に制限するように解釈されるべきでない。よって、実際の技術範囲は、開示した実施形態だけでなく、実施形態を実践する又は実装する全ての同意義の方法を包含する。
【0088】
明細書において使用する言葉は、読みやすく指導的である目的のために、主に選択した。これは、題目の範囲を定める又は線引きをするために選択されていないことがある。それゆえに、技術範囲が、この発明を実施するための形態によってではなく、本書基づく出願において発する任意の特許請求の範囲によって制限されることを意図した。よって、種々の実施形態の開示は、次の特許請求の範囲において定めるように技術範囲の例証となることを意図するが、制限しない。
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図9A
図9B
図10
【国際調査報告】