特許第6972325号(P6972325)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

特許6972325ユーザ用の人工知能(AI)モデルに基づく可動式の自律型パーソナルコンパニオン
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6972325
(24)【登録日】2021年11月5日
(45)【発行日】2021年11月24日
(54)【発明の名称】ユーザ用の人工知能(AI)モデルに基づく可動式の自律型パーソナルコンパニオン
(51)【国際特許分類】
   G06N 3/00 20060101AFI20211111BHJP
   G06N 3/08 20060101ALI20211111BHJP
   G06N 20/00 20190101ALI20211111BHJP
【FI】
   G06N3/00 140
   G06N3/08
   G06N20/00
【請求項の数】20
【全頁数】44
(21)【出願番号】特願2020-518063(P2020-518063)
(86)(22)【出願日】2018年9月14日
(65)【公表番号】特表2020-535556(P2020-535556A)
(43)【公表日】2020年12月3日
(86)【国際出願番号】US2018051105
(87)【国際公開番号】WO2019067238
(87)【国際公開日】20190404
【審査請求日】2020年5月25日
(31)【優先権主張番号】15/724,011
(32)【優先日】2017年10月3日
(33)【優先権主張国】US
(31)【優先権主張番号】62/566,170
(32)【優先日】2017年9月29日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100099324
【弁理士】
【氏名又は名称】鈴木 正剛
(72)【発明者】
【氏名】エリック ベラン
(72)【発明者】
【氏名】ミカエル テイラー
(72)【発明者】
【氏名】表 雅則
【審査官】 松崎 孝大
(56)【参考文献】
【文献】 特表2017−524182(JP,A)
【文献】 米国特許出願公開第2015/0006715(US,A1)
【文献】 米国特許出願公開第2015/0365449(US,A1)
【文献】 YUE Ning et al.,A Gradient-based Adaptive Learning Framework for Efficient Personal Recommendation,Proceedings of the Eleventh ACM Conference on Recommender Systems,ACM,2017年08月27日,p.23-31
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00
G06N 3/08
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実行される方法であって、
前記コンピュータが、
ユーザの監視された行動に関連するデータにアクセスし、
前記データをクラス別に分類し、複数のクラスは、前記ユーザを含むユーザグループに関連する客観的データを識別する客観的データクラスと、前記ユーザに特有の主観的データを識別する主観的データクラスとを含むものであり、
前記ユーザを含む複数のユーザの監視された行動に関連する客観的データにアクセスし、
人工知能(AI)を実行するように構成される深層学習エンジンへの第1の入力のセットとして、前記ユーザの前記客観的データ、前記ユーザの前記主観的データ、及び前記複数のユーザの複数の客観的データを提供し、
前記第1の入力のセットに反応する場合のユーザの行動を予測する第1の複数の学習されたパターンを決定し、
前記第1の複数の学習されたパターンを含む前記ユーザのローカルAIモデルを構築する、
方法。
【請求項2】
前記深層学習エンジンへの第2の入力のセットとして、前記複数のユーザの前記客観的データを提供し、
前記第2の入力のセットに反応する場合の一般的なユーザの行動を予測する第2の複数の学習されたパターンを決定し、
前記第2の複数の学習されたパターンを含む前記複数のユーザ用のグローバルAIモデルを構築する、
請求項1に記載の方法。
【請求項3】
前記グローバルAIモデルを構築する場合に、前記複数のユーザの複数の主観的データの使用を制限する、
請求項2に記載の方法。
【請求項4】
前記ユーザの前記データの一部をローカル化された主観的データとして分類し、前記複数のクラスはローカル化された主観的データクラスを含む、前記分類し、
前記深層学習エンジンへの第3の入力のセットとして、前記ユーザの前記客観的データ、前記ユーザの前記主観的データ、前記ユーザの前記ローカル化された主観的データ、及び前記複数のユーザの前記客観的データを提供し、
前記第3の入力のセットに反応する場合のユーザの行動を予測する第3の複数の学習されたパターンを決定し、
前記第3の複数の学習されたパターンを含む前記ユーザのプライベートAIモデルを構築する、
請求項1に記載の方法。
【請求項5】
前記ユーザの前記ローカルAIモデルを構築する場合に、前記ローカル化された主観的データの使用を制限する、
請求項4に記載の方法。
【請求項6】
前記ユーザの前記ローカル化された主観的データのネットワーク配信を防止する、
請求項に記載の方法。
【請求項7】
前記ユーザの前記データの一部をセキュアデータとして分類し、前記複数のクラスはセキュアデータクラスを含むものであり、
いずれのAIモデルを構築する場合にも、前記ユーザの前記セキュアデータの使用を制限する、
請求項1に記載の方法。
【請求項8】
前記ユーザの前記データの一部をセキュアデータとして分類するための第1の命令を前記ユーザから受信し、
前記ユーザの前記セキュアデータを除去するための第2の命令を前記ユーザから受信し、
前記セキュアデータのあらゆる痕跡を削除する、
請求項7に記載の方法。
【請求項9】
前記データは、ゲームコントローラ入力、コンピュータ入力、コンピュータ操作、テキストクエリ、テキスト応答、口頭クエリ、口頭応答、身体合図、バイオメトリクス、ユーザアクション、眼球運動、及び口頭コミュニケーションのうちの少なくとも1つを含む、
請求項1に記載の方法。
【請求項10】
コンピュータによって方法を実行させるためのコンピュータプログラムを記憶するコンピュータ可読媒体であって、
ユーザの監視された行動に関連するデータにアクセスするためのプログラム命令と、
前記データをクラス別に分類するためのプログラム命令であって、複数のクラスは、前記ユーザを含むユーザグループに関連する客観的データを識別する客観的データクラスと、前記ユーザに特有の主観的データを識別する主観的データクラスとを含む、前記プログラム命令と、
前記ユーザを含む複数のユーザの監視された行動に関連する客観的データにアクセスするためのプログラム命令と、
人工知能(AI)を実行するように構成される深層学習エンジンへの第1の入力のセットとして、前記ユーザの前記客観的データ、前記ユーザの前記主観的データ、及び前記複数のユーザの複数の客観的データを提供するためのプログラム命令と、
前記第1の入力のセットに反応する場合のユーザの行動を予測する第1の複数の学習されたパターンを決定するためのプログラム命令と、
前記第1の複数の学習されたパターンを含む前記ユーザのローカルAIモデルを構築するためのプログラム命令と、を含む、
コンピュータ可読媒体。
【請求項11】
前記深層学習エンジンへの第2の入力のセットとして、前記複数のユーザの前記客観的データを提供するためのプログラム命令と、
前記第2の入力のセットに反応する場合の一般的なユーザの行動を予測する第2の複数の学習されたパターンを決定するためのプログラム命令と、
前記第2の複数の学習されたパターンを含む前記複数のユーザ用のグローバルAIモデルを構築するためのプログラム命令と、をさらに含む、
請求項10に記載のコンピュータ可読媒体。
【請求項12】
前記グローバルAIモデルを構築する場合に、前記複数のユーザの複数の主観的データの使用を制限するためのプログラム命令をさらに含む、
請求項11に記載のコンピュータ可読媒体。
【請求項13】
前記ユーザの前記データの一部をローカル化された主観的データとして分類するためのプログラム命令であって、前記複数のクラスはローカル化された主観的データクラスを含む、前記プログラム命令と、
前記深層学習エンジンへの第3の入力のセットとして、前記ユーザの前記客観的データ、前記ユーザの前記主観的データ、前記ユーザの前記ローカル化された主観的データ、及び前記複数のユーザの前記客観的データを提供するためのプログラム命令と、
前記第3の入力のセットに反応する場合のユーザの行動を予測する第3の複数の学習されたパターンを決定するためのプログラム命令と、
前記第3の複数の学習されたパターンを含む前記ユーザのプライベートAIモデルを構築するためのプログラム命令と、をさらに含む、
請求項10に記載のコンピュータ可読媒体。
【請求項14】
前記ユーザの前記ローカルAIモデルを構築する場合に、前記ローカル化された主観的データの使用を制限するためのプログラム命令をさらに含む、
請求項13に記載のコンピュータ可読媒体。
【請求項15】
前記ユーザの前記データの一部をセキュアデータとして分類するためのプログラム命令であって、前記複数のクラスはセキュアデータクラスを含む、前記プログラム命令と、
いかなるAIモデルを構築する場合にも、前記ユーザの前記セキュアデータの使用を制限するためのプログラム命令と、をさらに含む、
請求項10に記載のコンピュータ可読媒体。
【請求項16】
コンピュータシステムであって、
プロセッサと、
前記プロセッサに結合され、前記コンピュータシステムによって実行された場合に、前記コンピュータシステムに方法を実行させる命令が記憶されたメモリと、
を備え、前記方法は、
ユーザの監視された行動に関連するデータにアクセスし、
前記データをクラス別に分類し、複数のクラスは、前記ユーザを含むユーザグループに関連する客観的データを識別する客観的データクラスと、前記ユーザに特有の主観的データを識別する主観的データクラスとを含む、前記分類し、
前記ユーザを含む複数のユーザの監視された行動に関連する客観的データにアクセスし、
人工知能(AI)を実行するように構成される深層学習エンジンへの第1の入力のセットとして、前記ユーザの前記客観的データ、前記ユーザの前記主観的データ、及び前記複数のユーザの複数の客観的データを提供し、
前記第1の入力のセットに反応する場合のユーザの行動を予測する第1の複数の学習されたパターンを決定し、
前記第1の複数の学習されたパターンを含む前記ユーザのローカルAIモデルを構築する、
コンピュータシステム。
【請求項17】
前記方法は、更に、
前記深層学習エンジンへの第2の入力のセットとして、前記複数のユーザの前記客観的データを提供し、
前記第2の入力のセットに反応する場合の一般的なユーザの行動を予測する第2の複数の学習されたパターンを決定し、
前記第2の複数の学習されたパターンを含む前記複数のユーザ用のグローバルAIモデルを構築する、
請求項16に記載のコンピュータシステム。
【請求項18】
前記方法は、更に、
前記グローバルAIモデルを構築する場合に、前記複数のユーザの複数の主観的データの使用を制限する、
請求項17に記載のコンピュータシステム。
【請求項19】
前記方法は、更に、
前記ユーザの前記データの一部をローカル化された主観的データとして分類し、前記複数のクラスはローカル化された主観的データクラスを含むものであり、
前記深層学習エンジンへの第3の入力のセットとして、前記ユーザの前記客観的データ、前記ユーザの前記主観的データ、前記ユーザの前記ローカル化された主観的データ、及び前記複数のユーザの前記客観的データを提供し、
前記第3の入力のセットに反応する場合のユーザの行動を予測する第3の複数の学習されたパターンを決定し、
前記第3の複数の学習されたパターンを含む前記ユーザのプライベートAIモデルを構築する、
請求項16に記載のコンピュータシステム。
【請求項20】
前記方法は、更に、
前記ユーザの前記ローカルAIモデルを構築する場合に、前記ローカル化された主観的データの使用を制限する、
請求項19に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はインテリジェントなロボットに関し、より詳細には、自律ロボット内に実装されるユーザ向けの自動化コンパニオンに関し、また、人工知能によるコンパニオンの構築及び実装に関する。
【背景技術】
【0002】
現在、ロボットが実用化されている。ロボットはいつでも様々な理由でロボットの所有者である人間とインタラクトし得る。これらのロボットは、所有者にコンパニオンシップを与えるように設計されたロボット型ペットを含む何代ものロボットアシスタントにつながる。限られた処理能力及び限定的なフォームファクタに関わらず、これらの初期のロボット型ペットは、ある程度、自律的に動き回り、身近な環境を感知し、タスクを行うためにプログラム可能な知能を持ち、所有者の人間とインタラクト(例えば、話す、吠える、触れる等)することができる。これらの初期のロボット型ペットは、知能、オブジェクト感知、パーソナリティ、及び、動き等の1つまたは複数の特徴を促進するコンピュータ処理能力、視覚センサシステム、及び、調音器官という特徴があった。例えば、これらのロボット型ペットは、オブジェクト(例えば、ボール)とインタラクトし、ロボット型ペットの所有者とコミュニケーションし、環境とインタラクトし、所有者と遊び、移動することができる。また、これらのロボット型ペットは、ロボットサッカーリーグに参加するようにプログラムできる。さらに、これらのロボット型ペットは、所有者がインタラクションを通して育てると、成長し、大人になることができる。また、これらのロボット型ペットは、育て方に基づいたパーソナリティを形成できる。
【0003】
これらの初期のロボットは、知能、認識、支援、インタラクション、パーソナリティ、及び、動きの向上を部分的に含む次のレベルの能力に到達する用意がある。
【0004】
本開示の実施形態はこのような背景の下でなされたものである。
【発明の概要】
【0005】
本開示の実施形態は、ユーザの人工知能(AI)モデルを通じて実装される自律型パーソナルコンパニオンのためのシステム及び方法に関する。AIモデルは、コンテクスト(context)に応じた、つまり、環境、背景、前後関係あるいはコンテクストに応じた個人向けの支援あるいはサポートをユーザに提供するように構成される深層学習エンジンを通じて構築される。AIモデルは、様々な独自のオペレーティングシステムの下で動作する他のデジタル資産(たとえば、電話の連絡先、カレンダー、電話、ホームオートメーション、ゲームコンソールなど)を認識し、これらとデータを交換するように構成することができる。AIモデルは、モバイルプラットフォームに統合し、自律的に移動して、データの受信、データの収集、環境の検知、及びデータの配信を最良に行うように自身を位置調整するよう構成することができる。AIモデルは、処理のためにバックエンドサーバとインタラクト(interact)あるいは対話することができ、AIモデルは、ローカルレベルで要求を処理するか、またはローカルレベルで要求を前処理した後、バックエンドサーバでそれらの要求を完全に処理することができる。
【0006】
一実施形態では、対応するユーザにサービスを提供する自律型パーソナルコンパニオンにパーソナリティを与える人工知能モデル(AI)を構築するための方法を開示する。この方法は、ユーザの監視された行動に関連するデータにアクセスすることを含む。この方法は、データをクラス別に分類し、複数のクラスは、ユーザを含むユーザグループに関連するデータを識別する客観的データクラスと、ユーザに特有のデータを識別する主観的データクラスとを含む、分類することを含む。この方法は、ユーザを含む複数のユーザの監視された行動に関連する客観的データにアクセスすることを含む。この方法は、AIを実行する深層学習エンジンへの第1の入力のセットとして、ユーザの客観的データ、ユーザの主観的データ、及び複数のユーザの複数の客観的データを提供することを含む。この方法は、第1の入力のセットに反応する場合のユーザの行動を予測する複数の学習されたパターンを決定することを含む。この方法は、複数の学習されたパターンを含むユーザのローカルAIモデルを構築することを含む。
【0007】
他の実施形態では、対応するユーザにサービスを提供する自律型パーソナルコンパニオンにパーソナリティを与える人工知能モデル(AI)を構築するためのコンピュータプログラムを記憶する非一時的コンピュータ可読媒体を開示する。コンピュータ可読媒体は、ユーザの監視された行動に関連するデータにアクセスするためのプログラム命令を含む。コンピュータ可読媒体は、データをクラス別に分類するためのプログラム命令であって、複数のクラスは、ユーザを含むユーザグループに関連する客観的データを識別する客観的データクラスと、ユーザに特有の主観的データを識別する主観的データクラスとを含む、プログラム命令を含む。コンピュータ可読媒体は、ユーザを含む複数のユーザの監視された行動に関連する客観的データにアクセスするためのプログラム命令を含む。コンピュータ可読媒体は、人工知能(AI)を実行するように構成される深層学習エンジンへの第1の入力のセットとして、ユーザの客観的データ、ユーザの主観的データ、及び複数のユーザの複数の客観的データを提供するためのプログラム命令を含む。コンピュータ可読媒体は、第1の入力のセットに反応する場合のユーザの行動を予測する第1の複数の学習されたパターンを決定するためのプログラム命令を含む。コンピュータ可読媒体は、第1の複数の学習されたパターンを含むユーザのローカルAIモデルを構築するためのプログラム命令を含む。
【0008】
さらに他の実施形態では、コンピュータシステムを開示し、コンピュータシステムは、プロセッサと、プロセッサに結合され、コンピュータシステムによって実行された場合に、コンピュータシステムに方法を実行させる命令が記憶されたメモリと、を含む。コンピュータシステムによって実行されるこの方法は、ユーザの監視された行動に関連するデータにアクセスすることを含む。この方法は、データをクラス別に分類し、複数のクラスは、ユーザを含むユーザグループに関連する客観的データを識別する客観的データクラスと、ユーザに特有の主観的データを識別する主観的データクラスとを含む、分類することを含む。この方法は、ユーザを含む複数のユーザの監視された行動に関連する客観的データにアクセスすることを含む。この方法は、人工知能(AI)を実行するように構成される深層学習エンジンへの第1の入力のセットとして、ユーザの客観的データ、ユーザの主観的データ、及び複数のユーザの複数の客観的データを提供することを含む。この方法は、第1の入力のセットに反応する場合のユーザの行動を予測する第1の複数の学習されたパターンを決定することを含む。この方法は、第1の複数の学習されたパターンを含むユーザのローカルAIモデルを構築することを含む。
【0009】
本開示の他の態様は、本開示の原理を例として示す添付の図面と併せて、以下の詳細な説明から明らかになろう。
【0010】
本開示は、添付の図面と併せて以下の説明を参照することによって最も良く理解され得る。
【図面の簡単な説明】
【0011】
図1A】本開示の一実施形態による、ユーザの人工知能(AI)モデルを通じて実装される自律型パーソナルコンパニオンの図である。
図1B】本開示の一実施形態による、ユーザのAIモデルを構築するために使用される例示的なニューラルネットワークを示す図であり、AIモデルはユーザ用の自律型パーソナルコンパニオンを実装するために使用される。
図2】本開示の一実施形態による、ユーザのAIモデルを通じて実装される自律型パーソナルコンパニオンをサポートするシステムを示す図である。
図3A】本開示の一実施形態による、ユーザのAIモデルを通じて実装される自律型パーソナルコンパニオンのブロック図である。
図3B】本開示の様々な実施形態の態様を実施するために使用することができる例示的なデバイス100のコンポーネントを示す図である。
図4A】本開示の一実施形態による、ゲームアプリケーションをプレイするユーザのゲームプレイをサポートする自律型パーソナルコンパニオンを示す図である。
図4B】本開示の一実施形態による、図4Aで導入したユーザによってプレイされるゲームアプリケーションの3次元(3D)ゲーム世界と、ユーザの物理環境との統合を示す図であり、自律型パーソナルコンパニオンはユーザの視線の方向に応じて3Dゲーム世界の一部を物理環境に投影するように構成される。
図4C】本開示の一実施形態による、図4A図4Bで導入したゲームアプリケーションの3Dゲーム世界の統合の他の例を示す図であり、ゲームアプリケーションの3Dゲーム世界の拡張がディスプレイと並んで投影され、ディスプレイはゲームアプリケーションのメインの視野を表示し、拡張は3Dゲーム世界の一部を表示するか、またはゲームアプリケーションの補足情報を提供する。
図5】本開示の一実施形態による、ヘッドマウントディスプレイ(HMD)を使用して第1のユーザによりプレイされるゲームアプリケーションの3D仮想現実(VR)世界と物理環境との統合を示す図であり、自律型パーソナルコンパニオンはユーザの視線の方向に応じてVRゲーム世界の一部を物理環境に投影して、観客が第1のユーザのVRゲーム世界の体験に並行して参加できるように構成される。
図6A】本開示の一実施形態による、ユーザのAIモデルを通じて実装されるユーザ用の自律型パーソナルコンパニオンの例示的な形態を示す図である。
図6B】本開示の実施形態による、画像の投影、近接環境の感知、及び、補助音声の提供を部分的に含む多くの能力を有して構成される例示の自律型パーソナルコンパニオンを示す図である。
図6C】本開示の一実施形態による、1つまたは複数の特徴、例えば、画像キャプチャ及び画像投影を有するように構成されたドローンアセンブリを含む、例示の自律型パーソナルコンパニオンを示す図である。
図6D】本開示の一実施形態による、1つまたは複数の特徴、例えば、画像キャプチャ及び画像投影を有するように構成された回転上部を含む、例示の自律型パーソナルコンパニオンを示す図である。
図6E】本開示の一実施形態による、1つまたは複数の付属物を含む例示の自律型パーソナルコンパニオンを示す図であり、付属物は、コントローラの形態をとってよく、付属物/コントローラは、コンパニオンから取り外し可能であってよい。
図6F】本開示の実施形態による、自律型パーソナルコンパニオンの代替的なフォームファクタを示す図である。
図6G】本開示の実施形態による、自律型パーソナルコンパニオンの代替的なフォームファクタを示す図である。
図6H】本開示の実施形態による、自律型パーソナルコンパニオンの代替的なフォームファクタを示す図である。
図7】本開示の一実施形態による、複数のユーザ用の様々なAIモデルと、それらのAIモデルが実装され得る場所とを示す図である。
図8A】本開示の一実施形態による、対応するユーザの1つまたは複数のAIモデル間の関係を示す図である。
図8B】本開示の一実施形態による、対応するユーザのAIモデル内で定義される様々なブランチを示す図であり、各ブランチはユーザのサブAIモデルにつながり得る。
図9A】本開示の一実施形態による、対応するユーザについて監視され得る異なるタイプのユーザアクションを示す図である。
図9B】本開示の一実施形態による、図9Aで導入した異なるタイプのユーザアクションを使用して、様々なAIモデルが構築される態様を示す図である。
図10】本開示の一実施形態による、対応するユーザのAIモデルを構築するための方法を示す流れ図である。
【発明を実施するための形態】
【0012】
以下の詳細な説明は、説明のために多くの特定の詳細を含むが、当業者であれば、以下の詳細な説明への多くの変形例や変更例が本開示の範囲内にあることを理解するであろう。従って、以下に記載の本開示の態様は、本記載に続く請求項の一般性を失うことなく、かつそれに制限を課すことなく示されている。
【0013】
一般的には、本開示の様々な実施形態では、ユーザ向けのAIモデルを構築するための深層学習(機械学習とも呼ばれる)技術を実施あるいは実装するシステム及び方法を説明する。AIモデルは、可動式の自律型パーソナルコンパニオンを通じて実装され、自律型パーソナルコンパニオンは、コンテクストに応じた個人向けの支援をユーザに提供し、異なる独自のプラットフォームで動作する他のデジタル資産を認識し、これとデータを交換し、データを最適に受信、収集、または配信するために環境を自律的に移動し、環境を最適に検知及び/またはマッピングするために自律的に移動し、その他の機能を実行するように構成可能である。一部の実施態様では、自律型パーソナルコンパニオンは、処理のためにバックエンドサーバと対話するように構成可能であり、AIモデルは自律型パーソナルコンパニオンとバックエンドサーバとに分散され、自律型パーソナルコンパニオンは、ローカルレベルで要求を処理するか、またはローカルレベルで要求を前処理した後、バックエンドサーバでそれらの要求を完全に処理するように構成可能である。
【0014】
様々な実施形態の上記の大まかな理解を踏まえて、以下、実施形態の例示的な詳細を、様々な図面を参照して説明する。
【0015】
図1Aに、本開示の実施形態による、ユーザの対応するAIモデルを通じて実装される自律型パーソナルコンパニオンを構築及び実装するために使用されるシステム100Aを示す。具体的には、自律型パーソナルコンパニオン100は、デジタルコンパニオンとして、対応するユーザとインターフェースして、たとえばそのユーザにサービスを提供するように構成される。加えて、自律型パーソナルコンパニオン100は、ネットワーク150(たとえば、インターネット)を介してバックエンドサーバ(たとえば、パーソナルコンパニオンモデラ及びアプリケータ140)によってサポートされ得、バックエンドサーバは、各々がそれぞれのユーザに対応する個人向けのAIモデルを構築及び適用するための人工知能及び/または深層機械学習(あるいはディープラーニング)を、たとえば、深層機械学習エンジン190を介して提供する。たとえば、1つまたは複数のコンパニオン100a〜100nは、世界中の1つまたは複数の場所で複数のユーザをサポートするように構成される。
【0016】
各自律型パーソナルコンパニオン100は、その各ユーザにサービスを提供(例えば、サポート)する複数の能力あるいは機能を備えるように構成される。一般に、コンパニオン100は、ユーザのリクエストによりサービスを提供してもよく、または、(例えば、ユーザのニーズを感知する、または、コンテクストにおいて関連のある行動あるいはアクションを決定する、ランダムに生成するなどして)適切な時に、自律的にユーザにサービスを提供もしくは提案してもよい。例えば、自律型パーソナルコンパニオン100は、様々な操作(例えば、情報の検索、商品及び/またはサービスの購入等)を行うユーザの検索リクエストの処理等、デジタルアシスタンスをユーザに提供するように、ユーザに関連する検索リクエストを自律的に生成するように、コンテクストにおいてユーザに関連するアクション(例えば、食糧庫が空であり、パーティが前夜に開かれたことに気付いた後、電子商取引ベンダを通じたポテトチップスの購入)を自律的に生成するように、ゲームアプリケーションをプレイするユーザのゲーム支援をする(例えば、対応するゲームアプリケーションをナビゲートする助けになる助言及び援助を提供する)ように、また、物理的世界内の三次元(3D)ゲーム空間と他の特徴とを一体にすることによって、ゲームアプリケーションの表示されたゲーム空間を拡張するように、構成されてもよい。
【0017】
さらに、自律型パーソナルコンパニオン100は、ある期間を通じて、または、複数の期間を通じて、ユーザと会話する、デジタルアシスタンスをユーザに提供する、会話を通してユーザと関係を構築する、及び、ユーザに同行する等、ユーザに交友を提供してもよい。コンパニオン100は、人間または動物コンパニオンが応答するように、ユーザに応答を促してもよい。例えば、コンパニオン100は、コンパニオン100とユーザとの間でカードゲームのプレイ開始を提案してよい、または、ディスプレイ(例えば、コンパニオン100からリモートの固定のディスプレイ、または、コンパニオン100と一体のティスプレイ)のデジタルコンテンツを視聴することを提案してよい、または、ゲームコントローラを介して、ゲームアプリケーションをプレイするようにユーザに促してもよい。
【0018】
自律型パーソナルコンパニオン100によって行われるアクションの少なくとも一部は、コンテクストにおいてユーザに関連する。すなわち、コンパニオン100は、ユーザが現在いる環境をコンテクストに沿って認識し、ユーザにパーソナルなAIモデルを構築及び/またはアクセスできるので、コンパニオン100によって生成されたアクションは、ユーザが体験しているコンテクストに合わせることができる。例えば、ユーザが、一般的と思われるリクエスト(例えば、「昨夜のスコアはどうでしたか?」)をすると、ユーザと現在の日付のAIモデルに基づいて、コンパニオン100は、そのリクエストに対する現在のコンテクストを判断して、適切で関連した応答「ウォリアーズは101−97で勝利」と答える。AIモデルは、ユーザが、ウォリアーズのファンで、全米プロバスケットボール協会のゴールデンステート・ウォリアーズのゲームのみを常に追っていると規定するので、応答は、コンテクストにおいて関連している。さらに、AIモデルは、プレイオフ中の4月にユーザをNBAファンで、他のスポーツのスコアには関心が無い人と規定もしているので、応答は、ユーザとコンテクストにおいて関連している。現在の日付が4月なので、昨夜のウォリアーズのスコアは、コンパニオン100によってインターネットから検索できる。
【0019】
図1Aに示すように、多くのパーソナルコンパニオン100a〜100nは、ユーザの各デジタルコンパニオンとして、対応するユーザとインタフェースするように構成される。簡潔、明瞭にするために、コンパニオン100aを記載する。この記載は、コンパニオン100a〜100nが備える特徴を表す。詳細には、各コンパニオンは、可動のロボット105内で実施され、ロボットは、任意の適切なフォームファクタを採用してもよい。各コンパニオンは、人工知能110を通してサポートされ、人工知能110は、ロボット105にローカルに、及び、バックエンドサーバ140の両方に分散してもよい。一実施形態においては、ディプラーニング用に構成されており、このディープラーニングは、少なくとも、対応するユーザにサービスを部分的に提供するために使用されるローカルAIモデル120aの一部として構成されるAI110のために用いられる。AI110を用いて学習されるこの情報は、収集及び/または学習される情報の種類に応じて、ローカルAIモデル120aを構築するタスクが与えられ得るバックエンドサーバ140と共有されてもよく、共有されなくてもよい。例えば、機密情報は、ローカルで処理されて、ローカルAIモデル120aを構築してよいが、バックエンドサーバ140と共有されなくてもよい。
【0020】
さらに、コンパニオン100aのAI110は、ローカルAIモデルのバージョン120aを含み、モデル120aは、対応するユーザにパーソナルであり、AI110は、AIモデル120aを実施するように構成される。詳細には、「ローカルAIモデル」という用語は、AIモデルが特定または局所的なユーザに対応することを示して使用される。ロボット105のフォームファクタ内に記憶されたローカルAIモデル120aは、AIモデルの完全バージョンであってよい、または、AIモデルの完全バージョンと共に使用可能な能力の何らかのサブセットを自律的に提供するベースモデルであってよい。AIモデルの完全バージョンは、また、AIモデリング及びアプリケーションを提供するバックエンドサーバ140によって記憶され、アクセス可能である。従って、コンパニオン100aは、バックエンドサーバ140と独立して機能して(ローカルAIモデルの完全バージョンがロボット105に記憶される場合)能力の完全なセットを提供してもよく、(ローカルAIモデルの完全ではないバージョンがロボット105に記憶される場合)能力の限定的なセットを提供してもよい。他方、コンパニオン100aは、バックエンドサーバ140と協力して機能して、ローカルAIモデル120aによって提供される能力の完全なセットを提供してもよい。例えば、ロボット105のローカルAIモデル120aは、バックエンドサーバ140のローカルAIモデル120aと協力して働き(例えば、データを前処理してもよく)、バックエンドサーバ140のローカルAIモデル120aは、AI処理の大半を行うようにより良く(より速く、より多くのリソースで)構成される。
【0021】
図1Aに示すように、ローカルデータ115aはコンパニオン100aによって、たとえば、ロボット105によって収集される。ローカルデータ115aは、ロボット105のAI110によって使用されて、ロボット105に記憶されている任意のAI機能を使用してローカルAIモデル120aを構築することを手助けし得る。加えて、ローカルデータ115aは、バックエンドサーバ140のパーソナルコンパニオンモデラ及びアプリケータに配信されて、深層機械学習エンジン190のAI機能を使用してローカルAIモデル120aを構築し得る。図示のように、1人または複数のユーザをサポートするために、1つまたは複数のローカルAIモデル120a〜nが生成され、バックエンドサーバ140に記憶される。
【0022】
各コンパニオン100a〜100nのローカルデータ115が、バックエンドサーバのパーソナルコンパニオンモデラ及びアプリケータに配信されるので、各ローカルデータを集約してグローバルAIモデル130を生成し得る。集約されたローカルデータは、グローバルデータ135として記憶され得る。
【0023】
図1Bに、本開示の一実施形態による、パーソナルコンパニオンモデラ及びアプリケータ140の深層学習エンジン190によって実行される訓練あるいはトレーニングを通じて対応するユーザ用のローカルAIモデルを構築するために使用される例示的なニューラルネットワークを示す。具体的には、図1Aのシステム100A内のモデラ及びアプリケータ140は、自律型パーソナルコンパニオン100がユーザにサービスを提供する場合に有用かつ適切である、ユーザに関する全てを学習するように構成される。加えて、一実施形態では、ニューラルネットワークはコンパニオン100のAI110内に実装され得る。結果的に得られるユーザ用のローカルAIモデル120は、ユーザの、及びユーザに関連する、行動、バイオメトリクス、アクション、感情、期待、願望、好み、欲求、ニーズ、及び環境(状況の提供用)を一部として定義する。パーソナルコンパニオンモデラ及びアプリケータ140は、各自律型パーソナルコンパニオン101a〜101nに直接的にまたはネットワーク(たとえば、ローカルネットワーク、インターネットなど)を介して結合されるバックエンドサーバコンピューティングデバイスを含む任意のコンピューティングデバイスであり得る。
【0024】
具体的には、モデラ140内の深層学習または機械学習エンジン190は、ユーザに関連するローカルデータ115を分析するように構成され、ローカルデータ115は、一つには、自律型パーソナルコンパニオン100によって収集される。ローカルデータ115は、ユーザ(たとえば、コントローラ入力、要求、アクション、行動、応答など)、ならびにユーザの環境の監視に関連して収集される。以下で説明するように、コンパニオン100は、データを収集する目的で要求を監視及び/または実行する様々な機能(たとえば、カメラ、アクティブアクチュエータ、パッシブセンサ、コントローラ、マウス、スキャナなど)を備えて構成される。基本的に、ユーザに関連するあらゆる関連情報を収集及び使用して、一つには、ユーザを定義し、ユーザが置かれている状況を理解し、ユーザがどのように感じ、行動し、または様々な情況及び/または刺激に反応するかを予測し得る。したがって、深層学習エンジン190は、対応するローカルAIモデル120が最良のサービスをユーザに提供できるように、ユーザに関する全てを学習することができ、サービスはユーザによる最小限の入力で提供される。たとえば、AIモデル120を使用して(たとえば、深層学習エンジン190の実装を通じて)、ユーザにより行われた要求を理解し、ユーザが何を必要とするか、または望み得るかを予測し、それらの要求及び予測を満たすサービスを提供することができる。
【0025】
ローカルデータ115に加えて、他のデータ(たとえば、グローバルデータ135)が、複数のパーソナルコンパニオン100a〜nによって利用及び/または収集され、対応するユーザ用のローカルAIモデル120を構築する際にも使用され得る。基本的には、グローバルデータ135は、全てのユーザについて収集された全てのローカルデータ115を集約したものである。具体的には、一部のデータは一般的なものであり、全てのユーザ、または少なくともユーザの(様々なサイズの)サブセットについての全てのAIモデルを構築する場合に使用するのに適し得る。加えて、グローバルデータ135は、一般的に任意のユーザに使用され得るグローバルAIモデル130を構築するために使用され得る。さらに、グローバルデータ135は、様々なグローバルAIモデルを構築するために使用され得、そのそれぞれは、特定のユーザのグループ(たとえば、デモグラフィックスあるいは人口統計、地域、音楽の好み、教育などでグループ化されたもの)を対象とする。
【0026】
したがって、ローカルデータ115及びグローバルデータ135の一部は、深層学習エンジン190に供給される。深層学習エンジン190は、深層学習アルゴリズム、強化学習、または他の人工知能ベースのアルゴリズムを含む人工知能を利用して、対応するユーザ用のローカルAIモデル120を構築する。
【0027】
このようにして、学習及び/またはモデル化の段階中に、データは深層学習エンジン190によって使用されて、入力データのセットが与えられた場合の所与のユーザのリアクション、アクション、欲求、及び/またはニーズが予測される。これらのリアクション、アクション、欲求、及び/またはニーズは、一般にユーザの行動として分類され得、したがって、AIモデル120を使用して、何らかの入力データが与えられた場合に対応するユーザの行動を大まかに予測することができる。たとえば、入力データはユーザによる特定の要求であり得、AIモデル120を使用して応答を生成し、応答は自律型パーソナルコンパニオン100によって提供されるサービスに関連付けられる。加えて、入力データは、指示されたユーザ入力または要求に関係なく、ユーザのリアクション、アクション、欲求、及び/またはニーズを予測するために使用され得る、環境データを収集したものであり得る。たとえば、AIモデル120を使用して、ユーザが要求を明示的に配信する必要なく、ユーザが望み得る及び/または必要とし得るサービスを予測し得る。
【0028】
経時的に、あるいは時間と共に、AIモデル120は、おおよその入力データのセットに応じて、ユーザの行動、アクション、応答、欲求、及び/またはニーズを予測することができるようになる。たとえば、前に導入した例では、ユーザは4月のNBAスコアのみに興味があるので、ゲームのスポーツスコアの任意の要求を使用して、ユーザがゴールデンステートウォリアーズのファンであり、4月にそのユーザが、ウォリアーズがプレイしたゲームのスコアのみに興味があるという理解を含む、ユーザの欲求及びニーズを予測し、これらは全て、ウォリアーズがプレイした最新のゲームのスコアを有する(たとえば、AIモデル120を通じて実装される)応答につながる。他の例は、AIモデル120の構築を説明するのに役立つ。たとえば、AIモデル120を使用して、ユーザの特定のバイオメトリクスを定義することができる。1つのケースでは、パーソナルコンパニオンが接近する人物の足音を検知及び追跡し、それがAIモデル120に関連付けられた対応するユーザであると判定できるように、ユーザの歩行を定義することができる。AIモデル120を使用して、午後5時にユーザが普段家に戻り、座ってデジタルコンテンツを視聴すると判定することができる。したがって、パーソナルコンパニオン100は、ユーザが最近興味のあるコンテンツ(たとえば、医療ドラマ番組のビンジウォッチングをする、つまり、一気に見る)を、コンパニオン100へのユーザの要求時に既に再生中であるかまたは再生準備ができているディスプレイにアップロードし得る。
【0029】
ニューラルネットワーク190は、データセットを分析して、対応するユーザの応答、アクション、行動、欲求、及び/またはニーズを特定するための自動分析ツールの一例を表す。様々なタイプのニューラルネットワーク190が可能である。一例では、ニューラルネットワーク190は、深層学習エンジン190によって実装され得る深層学習をサポートする。したがって、教師ありまたは教師なし訓練を使用した深層ニューラルネットワーク、畳み込み深層ニューラルネットワーク、及び/または再帰型ニューラルネットワークを実装することができる。他の例では、ニューラルネットワーク190は、強化学習をサポートする深層学習ネットワークを含む。たとえば、ニューラルネットワーク190は、強化学習アルゴリズムをサポートするマルコフ決定過程(MDP)として構成される。
【0030】
一般に、ニューラルネットワーク190は、人工ニューラルネットワークなどの相互接続されたノードのネットワークを表す。各ノードはデータから何らか情報を学習する。相互接続を介してノード間で知識を交換することができる。ニューラルネットワーク190への入力は、ノードのセットを活性化する。次に、このノードのセットは他のノードを活性化して、入力に関する知識を伝播させる。この活性化処理は、出力が提供されるまで他のノードにわたって繰り返される。
【0031】
図示のように、ニューラルネットワーク190はノードの階層(hierarchy of nodes)を含む。最下位の階層レベル(hierarchy level)には、入力層191が存在する。入力層191は、入力ノードのセットを含む。たとえば、これらの入力ノードのそれぞれは、自律型パーソナルコンパニオン100によるユーザ及びユーザに関連する環境の監視及び/または問い合わせ中に、アクチュエータを介して能動的に、またはセンサによって受動的に収集されるローカルデータ115にマッピングされる。
【0032】
最上位の階層レベルには、出力層193が存在する。出力層193は、出力ノードのセットを含む。出力ノードは、たとえば、ローカルAIモデル120の1つまたは複数のコンポーネントに関連する決定(たとえば、予測)を表す。前述のように、出力ノードは、所与の入力のセットに対するユーザの予測または期待あるいは予想される応答、アクション、行動、欲求、及び/またはニーズを特定でき、入力は様々なシナリオ(たとえば、直接の要求、時刻、様々な行動パターンなど)を定義し得る。これらの結果を、以前の対話ならびにユーザ及び/または環境の監視から取得される所定の真の結果と比較して、深層学習エンジン190によって使用されるパラメータを改善及び/または修正するようにして、所与の入力のセットに対するユーザの適切な予測または予想される応答、アクション、行動、欲求、及び/またはニーズを反復的に特定することができる。すなわち、ニューラルネットワーク190内のノードは、パラメータを改善する場合にそのような決定を行うために使用できるAIモデル120のパラメータを学習する。
【0033】
具体的には、入力層191と出力層193との間に隠れ層192が存在する。隠れ層192は「N」個の隠れ層を含み、「N」は1以上の整数である。次に、各隠れ層はまた、隠れノードのセットを含む。入力ノードは隠れノードに相互接続される。同様に、隠れノードは出力ノードに相互接続されるので、入力ノードは出力ノードに直接相互接続されない。複数の隠れ層が存在する場合、入力ノードは最下位の隠れ層の隠れノードに相互接続される。次に、これらの隠れノードは次の隠れ層の隠れノードに相互接続され、以下同様に続く。2番目に上位の隠れ層の隠れノードは、出力ノードに相互接続される。相互接続は2つのノードを接続する。相互接続は学習可能な数値の重みを有し、ニューラルネットワーク190を入力に適応させ、学習可能にする。
【0034】
一般に、隠れ層192により、入力ノードに関する知識を、出力ノードに対応する全てのタスクの間で共有することが可能になる。そうするために、一実施態様では、隠れ層192を介して変換fが入力ノードに適用される。一例では、変換fは非線形である。様々な非線形変換fが利用可能であり、たとえば、正規化線形関数f(x)=max(0,x)などがある。
【0035】
ニューラルネットワーク190はまた、最適解を見つけるためにコスト関数cを使用する。コスト関数は、所与の入力xに対する、f(x)として定義されるニューラルネットワーク190によって出力される予測と、グラウンドトゥルースまたは目標値y(たとえば、期待される結果)との間の偏差を測定する。最適解は、最適解のコストよりも低いコストを有する解がない状況を表す。コスト関数の一例は、そのようなグラウンドトゥルースのラベルが利用可能なデータについての、予測とグラウンドトゥルース(ground truth)との間の平均二乗誤差である。学習処理中、ニューラルネットワーク190は、逆伝播アルゴリズムを使用して、コスト関数あるいは費用関数を最小化するモデルパラメータ(たとえば、隠れ層192内のノード間の相互接続の重み)を学習するための様々な最適化方法を採用することができる。そのような最適化方法の一例は、確率的勾配降下法である。
【0036】
ある例において、ニューラルネットワーク190の訓練データセットは、同じデータドメインからであってよい。例えば、ニューラルネットワーク190は、所与の入力セットまたは入力データに対して、ユーザの予測または期待される応答、アクション、振る舞い、欲求、及び/または、ニーズを学習するために訓練される。この説明においては、データドメインは、ユーザのベースライン入力データとのインタラクションのために収集されたセッションデータを含む。他の例においては、訓練データセットは、ベースライン以外の入力データを含む種々のデータドメインからである。
【0037】
したがって、ニューラルネットワーク190は、所与の入力のセットに対するユーザの予測または予想される応答、アクション、振る舞いあるいはビヘイビア(behavior)、欲求、及び/またはニーズを一部として予測または特定し得る。これらの予測結果に基づいて、ニューラルネットワーク190はまた、対応するユーザの(たとえば、環境及びユーザの)状況に応じたサービスを提供するために使用されるAIモデル120を定義し得る。
【0038】
図2に、本開示の一実施形態による、対応するユーザのローカルAIモデル120を通じて実装される自律型パーソナルコンパニオン100をサポートするシステム200を示す。パーソナルコンパニオン100は、ユーザの応答、アクション、行動、欲求、及び/またはニーズをとりわけ予測することが可能なローカルAIモデル120に基づいて、ユーザにサービスを提供するように構成される。
【0039】
前述のように、パーソナルコンパニオン100は、ローカルAIモデル120のモデル化と、ローカルAIモデルの適用とを実行するバックエンドサーバ140とは独立して、またはこれと連携して動作し得る。具体的には、バックエンドサーバ140は、対応するユーザをサポートし、サービスを提供するローカルAIモデル120を構築及び適用するために、任意の所与の入力のセット(たとえば、ユーザが推進または体験する所与のシナリオを定義するもの)に対するユーザの応答、アクション、行動、欲求、及び/またはニーズを一部として学習及び/またはモデル化するように構成される、前述の深層学習エンジン190を含む。具体的には、ローカルAIモデルビルダ210は、深層学習エンジンとインターフェースして、ストレージ230に記憶されている1つまたは複数のローカルAIモデル120a〜nを構築するように構成される。加えて、グローバルAIモデルビルダ215は、深層学習エンジンとインターフェースして、同じくストレージ230に記憶されている前述の1つまたは複数のグローバルAIモデル130a〜pを構築するように構成される。たとえば、AIモデルビルダ210及び215は、深層学習エンジン190内の対応するAIモデルを適用する目的で、入力層191、隠れ層192、及び出力層193の様々なノードを定義する、深層学習エンジン190内で定義されるパラメータを設定するように動作し得る。
【0040】
自律型パーソナルコンパニオン100は、そのフォームファクタ(たとえば、自律型ロボットシェル)内だけでなく、バックエンドサーバ140を介して、またはそれらの組み合わせによってローカルAIモデル120を実装し得る。前述のように、コンパニオン100は、たとえば、あまり複雑でないAI動作(たとえば、ルームライトをオンにする要求)を実行する場合、またはネットワーク接続が限られているか、もしくは存在しない場合に、バックエンドサーバから独立してローカルAIモデル120を実装し得る。加えて、コンパニオン100は、バックエンドサーバと連携してローカルAIモデル120を実装し得る。たとえば、コンパニオン100は、入力パラメータ(たとえば、実行される動作を定義するもの)を構造化または調整して、それらがバックエンドサーバ140に容易に配信されるようにする(たとえば、削減及び/または圧縮される)ためにローカル化されたローカルAIモデル120を介して予備動作を実行でき、AIモデル120内の人工知能の大部分は、AIモデルアプリケータ220及び/または深層学習エンジン190によって実行される。
【0041】
図2に示すように、自律型パーソナルコンパニオン100は、ユーザにサービスを提供できるように、ユーザと同じ環境内に配置される。コンパニオン100は、有線もしくは無線接続(図示せず)を介して直接的に、またはローカルネットワーク250経由で、1つまたは複数のデジタルまたは物理的オブジェクト及び/またはエンティティとインターフェースすることができ、ネットワーク250は有線または無線接続を含み得る。図2は、コンパニオン100と、様々なデジタル及び/または物理的オブジェクトとのインターフェースを示している。他のデジタル及び/または物理的オブジェクトとのさらなるインターフェースが考えられる。図示のように、コンパニオン100は、有線または無線接続を介して、直接的に(たとえば、有線または無線のピアツーピア通信)、またはローカルネットワーク250(たとえば、Bluetooth(登録商標)、Wi−Fi、ローカルエリアネットワークなど)経由で、ローカル環境内のオブジェクトとインターフェースし得る。加えて、ローカルネットワーク250は、ワイドエリアネットワークまたはインターネット150と通信可能に結合されて、ローカルネットワーク250経由で通信する様々なデジタル及び物理オブジェクトの、他のリモートオブジェクト(たとえば、バックエンドサーバ140、他のサーバなど)との通信を容易にする。
【0042】
たとえば、コンパニオン100は、コンパニオン100を再充電するため、またはベースステーションと通信してソフトウェア更新を受信するため、ならびにその他の例示的な使用例のために、ベースステーション260及びコンパニオン100の一方または両方を同一またはほぼ同一の場所に移動させるなどして、ベースステーション260とインターフェースし得る。
【0043】
加えて、コンパニオン100はローカルサーバ240とインターフェースでき、サーバ240は、ゲームコンソール241、タワーコンピュータ243などを含み得る。たとえば、ゲームコンソール241は、データのメインストリームをディスプレイ265に提供でき、また、メインストリームの概要または完全バージョンをコンパニオン100に提供でき、それによってコンパニオン100は有用な情報(たとえば、ゲーム支援)にアクセスでき、これは、ユーザのゲームプレイと同時に、ユーザに対して表示(たとえば、コンパニオン100のディスプレイを介して)または配信(たとえば、音声)することができる。タワー243は、コンパニオン100が管理または利用し得る追加の機能、たとえば、検索動作、ファイル記憶などを提供できる。
【0044】
一実施形態では、コンパニオン100は、コンパニオン100内に、またはコンパニオン100から離れて配置され得るマップ更新システム345とインターフェースし、及び/またはこれを実装し得る。マップ更新システム345は、コンパニオン100が配置されている環境を継続的にマッピングするように構成される。たとえば、更新は、コンパニオン100上で実行されている他のアプリケーションに対するバックグラウンドプロセスとして行われ得る。このようにして、オブジェクトあるいは物体が環境内を動き回るか、または新たに環境に導入されると、マップ更新システム345は、その動き及び/または導入を認識して、環境内のオブジェクト及び構造のマッピングを継続的に更新することができる。したがって、更新されたマッピングに部分的に基づいて、コンパニオン100はオブジェクトと衝突することなく環境内を動き回ることができる。コンパニオン100が動くことは、サービスを提供するための最良の位置にコンパニオンを配置するために必要であり得る。たとえば、コンパニオン100は、画像を投影するために使用される壁の近くに移動する必要があり得、または会話したり、要求に応えたりするなどの目的で、ユーザの話をより良好に聞くために、ユーザの近くに移動する必要があり得る。
【0045】
さらなる例として、コンパニオン100は、1つまたは複数のデジタル資産270とインターフェースして、それらの資産内の動作を制御したり、それらのデジタル資産内のデータにアクセスしたりし得る。たとえば、デジタル資産は、ローカルサーバ240などを介してプロセッサまたはオペレーティングシステム内に実装されるカレンダー機能を含み得、その場合、コンパニオン100は、カレンダー機能上で、エントリを更新または作成したり、差し迫ったカレンダーの日付を取得したりするなどのタスクが課せられ得る。
【0046】
さらに他の例では、コンパニオン100は、1つまたは複数の補助システム275とインターフェースし得る。たとえば、補助システム275は、ヘッドマウントディスプレイ(HMD)を含み得、それによって、パーソナルコンパニオンは、HMDを通して表示されている仮想現実(VR)コンテンツから、VRコンテンツに適合する、HMD内に表示される追加コンテンツ(たとえば、VRを拡張する情報を提供する、すなわち、拡張現実を実装するもの)を提供するための更新を受信し得る。
【0047】
また、コンパニオン100は、家の機能(たとえば、加熱及び冷却用のサーモスタット、空調つまみ、窓覆い、ネットワーク接続、デジタルコンテンツ配信及び提示、洗濯機及び乾燥機などの家電製品などの設定)を自動化するように構成されるホームオートメーションシステム280とインターフェースすることができる。したがって、コンパニオン100は、ユーザのゲームプレイと同時にディスプレイに最良の照明を提供するために、娯楽室の照明をオフにするようにホームオートメーションシステム280に命令し得る。
【0048】
加えて、コンパニオン100は、携帯電話285とインターフェースして、電話285によって提供される様々な機能にアクセスし、及び/またはこれらを制御し得る。たとえば、コンパニオン100は、電話285のストリーミング音楽機能に接続して、音楽をブロードキャストして流し得る。
【0049】
図3Aは、本開示の一実施形態による、ユーザのローカルAIモデルを通じて実装される自律型パーソナルコンパニオン100のブロック図である。前に導入したように、コンパニオン100は、対応するユーザとインターフェースして、ローカルAIモデル120を介して任意のタイプ(たとえば、デジタル、物理的など)のサービスを提供するように構成される。ローカルAIモデル120は、バックエンドサーバ140と連携して、ユーザの行動、応答、アクション、リアクション、欲求、及び/またはニーズを一部として予測する分散モデルであり得る。コンパニオン100の様々な例示的なコンポーネントを図3Aに示しているが、他の機能及び/またはコンポーネントが十分にサポートされる。
【0050】
図3Aに示すように、コンパニオン100は、全体的な動作を管理するように構成されるシステムコントローラ355を含む。たとえば、コントローラ355は、コンパニオン100の動作を容易にするために様々なコンポーネントによって使用可能なハードウェア及びソフトウェアリソースを管理し得る。加えて、コントローラ355は、コンポーネント間のインターフェース及び連携を含む、コンパニオン100内に提供される1つまたは複数のコンポーネント(たとえば、モーター320、深度センサ305など)を制御し得る。
【0051】
駆動コントローラ365は、コンパニオン100によって実装される可動性機能を管理するように構成される。運動能力は、一つには、モーターアセンブリ320(たとえば、電気、燃料など)、または他の推進のための手段と、動きをコンパニオン100に与えるように構成される駆動アセンブリ375とによって提供される。一部の実施態様では、駆動アセンブリ375は、コンパニオン100の動きを提供するように構成される1つまたは複数の車輪、あるいは他の手段(たとえば、ホバー機能)を含み得る。場合によっては、ジャイロスコープ380は、静止位置にいる間に、または移動中に、コンパニオン100を正しい向きに保つために、駆動コントローラ365に安定性情報を提供できる。
【0052】
コンパニオン100は、現在の環境を通じたコンパニオンのナビゲートを補助するように構成されるコンポーネントを含み得る。たとえば、深度センサ305及び近接センサ335は、環境内の固定オブジェクト及び移動オブジェクトに関する情報を提供できる。具体的には、近接センサ335は、コンパニオン100に非常に近接しているオブジェクトの場所を(たとえば、面を検出することにより)特定するように構成され得る。また、深度センサ305は、コンパニオン100の環境内の近くのオブジェクト及び遠くのオブジェクトの場所を特定するように構成され得る。すなわち、センサ305及び335は、環境内のコンパニオン100の配置に対するオブジェクトの深度を特定し、継続的な更新を通じて、環境内の(新しい、及び、更新された)オブジェクトの場所を含む環境のマッピングを生成することができる。加えて、深度センサ305は、オブジェクトが硬いか(たとえば、金属製の机)、柔らかいか(たとえば、ソファ)を判定するなど、オブジェクトの組成を特定するように構成され得る。深度センサ及び近接センサは、電磁場、誘導、無線周波数、熱変動、赤外線周波数、気流などの使用を含む、環境内のオブジェクトの場所及び/または組成を特定するための様々な技術の1つを採用し得る。さらに、オブジェクト情報(たとえば、オブジェクトの相対的な配置)を提供するために、ならびに他の用途及びサービス(たとえば、個人的な画像及びビデオのキャプチャ、ビデオゲームの録画、ユーザの日常活動の録画など)を提供するために、カメラ325及び/またはビデオレコーダ370によって画像がキャプチャされ得る。
【0053】
加えて、マップ更新システム345は、環境をマッピングするために、一つには、深度センサ305及び近接センサ335によって提供される情報を使用し得る。マッピングの目的で、建築設計図、カメラ325によってキャプチャされた画像、ビデオレコーダ370、及びマイクロフォン315などを含む他の情報及び/またはデータがアクセスされ得る。マッピングシステム345は、環境の3次元(3D)視野を提供するように構成され得る。たとえば、様々なコンポーネントによって収集されたデータ及び/または第三者の情報を使用して、環境の1つまたは複数のタイプのマッピングを生成することができる。これらのマッピングは、2次元マップと3Dマップとを含む。さらに、マップ更新システム345は、前述の1つまたは複数のツール(たとえば、深度センサ305及び近接センサ335など)を使用して、環境を継続的にマッピングする。たとえば、環境を動き回るオブジェクト、または環境に導入されたオブジェクトは検出可能であるので、それらのオブジェクトの場所が環境のマッピング内で更新される。他のタイプのマッピングには、環境の画像ツアー及びビデオツアーが含まれる。一実施形態では、この情報を使用して、ユーザの家をマッピングでき、部屋の場所を特定することができ、部屋の壁を分類することができ(たとえば、どの壁を投影スクリーンとして使用できるかを決定するため)、様々な部屋の現実画像及び仮想画像が記憶及び提供され得、家のビデオツアー及び仮想ツアーが生成され得る(たとえば、保険、不動産の展示などのため)。
【0054】
他の実施形態では、コンパニオン100は、娯楽、通信などの目的で表示(ディスプレイ)システム310を含み得る。たとえば、表示システム310は、ユーザによるインターネット検索の結果を提供する場合、または1つまたは複数の目的(たとえば、ユーザの一般的な健康に関する質問、ユーザによる様々な要求の明確化など)のためにユーザに問い合わせする場合などに、ユーザとコミュニケーションを行うために使用され得る。加えて、表示システム310は、プライマリゲームディスプレイ(ゲームコンソールからプライマリゲームストリームによってストリーミングされるゲームアプリケーションをプレイしているユーザのゲームプレイを表示する)、またはセカンダリゲームストリーム(たとえば、ユーザのゲームプレイに関連する情報)を提供するための補助ディスプレイとして使用され得る。表示システム310は、映画または他のデジタルコンテンツを表示するように構成され得る。表示システム310は、ディスプレイによって提供される画像またはビデオに関連して音声を提供するために、スピーカーまたはオーディオシステム330と連携して動作し得る。たとえば、ユーザのゲームプレイの音声は、ディスプレイ上に提示されるときに、ゲームプレイのビデオに関連付けられて、同期されて提示され得る。
【0055】
さらに、コンパニオン100は、娯楽、通信などの目的で投影システム340を含み得る。投影システムは、表示システム310と同様の機能を提供でき、これには、ユーザとのコミュニケーションの提供、またはコンソールもしくはバックエンドストリーミングサービスによって提供されるゲームアプリケーションからのプライマリストリームの表示、セカンダリデータストリームの提供(たとえば、二次情報もしくは補足情報を提供するか、またはプライマリディスプレイと組み合わせてゲーム世界の拡大視野を提供するゲームアプリケーションの補助画面として)、デジタルコンテンツの表示などが含まれる。加えて、投影システム340を介して他の機能が提供され得る。投影される画像は表示システムよりも大きくなり得るので、拡大表示オプションが提供され得る。たとえば、様々なタイプのビデオ及び/またはイメージング(たとえば、ホログラフィック、3Dなど)が、コンパニオン100の投影システム340を通じて提示され得る。
【0056】
ビデオレコーダ370及びマイクロフォン315(たとえば、オーディオレコーダ)の組み合わせは、コンパニオン100によって収集及び/または生成されたデジタル情報のビデオ及び/または音声をキャプチャするように構成される。たとえば、ゲームアプリケーションをプレイしているユーザのゲームプレイ(たとえば、ビデオ及び音声)が収集され、記憶され得る。ユーザがゲームアプリケーションをプレイしているときのユーザからの追加の音声などの追加情報が、ビデオレコーダ及びマイクロフォンによって収集され、ゲームプレイのビデオ及び音声と結合され得る。
【0057】
加えて、ユーザ追跡システム350は、ユーザの全体的な動き及び特定の動きを追跡するように構成され得る。全体的な動きには、環境内でのユーザの全体的な体の動きが含まれる。特定の動きは体の一部を対象とでき、たとえば、ユーザの頭または胴体の動きを特定する。たとえば、追跡システムは、ユーザの様々な体の部分の向きを特定し、頭または体の回転を追跡し得る。追跡システム350は、カメラ325もしくはビデオレコーダ370、深度センサ305、近接センサ335、または他の追跡センサ(たとえば、統合されたセンサもしくはサードパーティのセンサ、たとえば、ゲームコンソールを介して提供されるものなど)からの画像及びビデオを含む、1つまたは複数の他のコンポーネントによって提供されるデータを収集し得る。
【0058】
図3Bに、本開示の様々な実施形態の態様を実施するために使用することができる例示的なデバイス100のコンポーネントを示す。たとえば、図3Bは、一実施形態による、ユーザをサポートするサービスを提供するデバイスを実装するのに適した例示的なハードウェアシステムを示しており、このデバイスは、対応するユーザの行動、アクション、リアクション、応答、欲求、及び/またはニーズを一部として予測することが可能なローカルAIモデルを通じて実装されるサービスを提供するように構成される。このブロック図は、本発明の一実施形態を実践するのに適した、パーソナルコンピュータ、ビデオゲームコンソール、パーソナルデジタルアシスタント、または他のデジタルデバイスを組み込むことができるか、またはそれら自体とすることができるデバイス100を示している。デバイス100は、ソフトウェアアプリケーション及び任意選択でオペレーティングシステムを動作させるための中央処理装置(CPU)302を含む。CPU302は、1つまたは複数の同種または異種の処理コアで構成され得る。
【0059】
様々な実施形態によれば、CPU302は、1つまたは複数の処理コアを有する1つまたは複数の汎用マイクロプロセッサである。深層学習、コンテンツ分類、及びユーザ分類用に構成されるアプリケーションのうち、メディア及び対話型(インタラクティブ)エンターテインメントアプリケーションなどの、高度に並列かつ計算集約型のアプリケーション専用に適合されたマイクロプロセッサアーキテクチャを有する1つまたは複数のCPUを使用して、さらなる実施形態を実装することができる。たとえば、CPU302は、ユーザのユーザ行動、アクション、応答、リアクション、欲求、及び/またはニーズを一部として予測することに関する学習動作をサポート及び/または実行するように構成されるローカル化されたAIエンジン(たとえば、深層学習)110を含むように構成され得る。また、AIエンジン110は、コンパニオン100においてユーザのローカルAIモデル120を適用するように構成される。加えて、CPU302は、システムコントローラ355、駆動コントローラ365、マップ更新システム345など、図3Aに示すコンパニオン100のコンポーネントのうちの1つまたは複数によって提供される追加機能を提供できる。
【0060】
図示のように、マップ更新システム345は、コンパニオン100内に配置されたハードウェアベースのデバイスを通じて実装され得る。具体的には、マップ更新システム345は、コンパニオン100が配置されている環境のマッピングを生成するように構成される。このマッピングは、環境の空間内の位置を定義する新たに生成された及び/またはフォーマットされた座標系などの、局所的な測位システムを含み得る。たとえば、座標系は、全地球測位システム(GPS)、または3Dデカルト座標系、系の混合(たとえば、部屋ごとの個別の座標系と結び付けられた建物の部屋を画定する間取図)、または任意の適切な測位システムの値を組み込み得る。
【0061】
メモリ304は、CPU302によって使用されるアプリケーション及びデータを記憶する。ストレージ306は、アプリケーション及びデータ用の不揮発性ストレージ及び他のコンピュータ可読媒体を提供し、固定ディスクドライブ、リムーバブルディスクドライブ、フラッシュメモリデバイス、及びCD−ROM、DVD−ROM、Blu−ray(登録商標)、HD−DVD、または他の光学記憶デバイス、ならびに信号伝送及び記憶媒体を含み得る。ユーザ入力デバイス308は、1人または複数のユーザからのユーザ入力をデバイス100に伝達し、その例には、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、スチルまたはビデオレコーダ/カメラ、及び/またはマイクロフォンが含まれ得る。ネットワークインターフェース314は、デバイス100が電子通信ネットワークを介して他のコンピュータシステムと通信することを可能にし、ローカルエリアネットワーク及びインターネットなどのワイドエリアネットワークを介した有線または無線通信を含み得る。オーディオプロセッサ312は、CPU302、メモリ304、及び/またはストレージ306によって提供される命令及び/またはデータからアナログまたはデジタル音声出力を生成するようになされる。CPU302、メモリ304、データストレージ306、ユーザ入力デバイス308、ネットワークインターフェース310、及びオーディオプロセッサ312を含むデバイス100のコンポーネントは、1つまたは複数のデータバス322を介して接続される
【0062】
グラフィックサブシステム314は、データバス322及びデバイス100のコンポーネントとさらに接続される。グラフィックサブシステム314は、グラフィック処理ユニット(GPU)316及びグラフィックメモリ318を含む。グラフィックメモリ318は、出力画像の各ピクセルのピクセルデータを記憶するために使用されるディスプレイメモリ(たとえば、フレームバッファ)を含む。グラフィックメモリ318は、GPU316と同じデバイス内に統合し、GPU316とは別のデバイスとして接続し、及び/またはメモリ304内に実装することができる。ピクセルデータあるいは画素データは、CPU302からグラフィックメモリ318に直接提供することができる。あるいは、CPU302は、所望の出力画像を定義するデータ及び/または命令をGPU316に提供し、そこからGPU316は、1つまたは複数の出力画像のピクセルデータを生成する。所望の出力画像を定義するデータ及び/または命令は、メモリ304及び/またはグラフィックメモリ318に記憶することができる。一実施形態では、GPU316は、シーンのジオメトリ、ライティング、シェーディング、テクスチャリング、モーション、及び/またはカメラパラメータを定義する命令及びデータから出力画像のピクセルデータを生成するための3Dレンダリング機能を含む。GPU316は、シェーダプログラムを実行することが可能な1つまたは複数のプログラム可能な実行ユニットをさらに含むことができる。一実施形態では、GPU316は、AIまたは深層学習機能などのための追加の処理能力を提供するために、AIエンジン190’内に実装され得る。
【0063】
グラフィックサブシステム314は、ディスプレイデバイス310に表示されるか、または投影システム340によって投影される画像のピクセルデータをグラフィックメモリ318から定期的に出力する。ディスプレイデバイス310は、デバイス100からの信号に応答して視覚情報を表示することが可能な任意のデバイスとすることができ、これには、CRT、LCD、プラズマ、及びOLEDディスプレイが含まれる。デバイス100は、たとえば、アナログまたはデジタル信号をディスプレイデバイス310に提供することができる。
【0064】
本明細書に記載の実施形態は、任意のタイプのクライアントデバイス上で実行され得ることを理解されたい。一部の実施形態では、クライアントデバイスは、ヘッドマウントディスプレイ(HMD)、または投影システムである。
【0065】
図4A図4Cに、本開示の一実施形態による、対応するユーザの家庭環境内の自律型パーソナルコンパニオン100の1つの例示的な実施態様を示す。前述のように、コンパニオン100は、ローカルAIモデル120を介してユーザにサービスを提供するように構成され、AIモデル120は、ユーザの行動、応答、アクション、リアクション、欲求、及び/またはニーズを一部として予測するために、あらゆるバックエンドサーバから独立して動作でき、またはバックエンドサーバに配置されたAIモデル120と分散して動作し得る。コンパニオン100は様々なシナリオの下で多様なサービスを提供するように構成されるが、図4A〜4Cには、ユーザ450がゲームコンソール241上で実行されている(またはバックエンドサーバで実行され、ゲームコンソールを介してストリーミングされている)ゲームアプリケーションをプレイしており、コンパニオン100が、ユーザ450のゲームプレイの補足情報を提供することが可能であるシナリオを示す。
【0066】
図示のように、ユーザは娯楽室などの家庭環境410にいる。この部屋は2つの壁415A及び415Bを含む。環境410はソファ405を含む。ユーザはゲームコンソール241を利用することができる。具体的には、ゲームアプリケーションは、ユーザ450のゲームプレイに関連して、ゲームコンソール241(または他の任意のデバイス)を介して実行及び/またはストリーミングされ、ゲームプレイはコントローラ420などを介したユーザ入力に応答する。ゲームプレイのプライマリストリームが作成され、ゲームプレイのビデオがディスプレイ310に配信される。加えて、ゲームプレイの音声が、オーディオシステム(図示せず)を介して提供され得る。ゲームアプリケーションは公道のレーシングゲームであり得、ユーザはレースで車のドライバーをプレイしている。スクリーンショット425は、ディスプレイ310に配信されたビデオストリームの画像を示し、迫り来る道と、ステアリングホイール及びダッシュボードの様々な計器類とを示す、フロントガラスの外の、レースカーのダッシュボード越しの視界を含む。
【0067】
加えて、コンパニオン100は環境410にあり、ロボットフォームファクタ105と、ユーザ450のローカルAIモデル120を実装するように構成されるAI110とを含む。たとえば、AI110は、バックエンドサーバ140のAIエンジン190と連携するAIエンジン190’であり得る。AI110を通じて実装されるローカルAIモデル120は、一つには、ゲームプレイに関連するサービスをユーザ450に提供するように構成される。したがって、コンパニオン100は、ゲームアプリケーション及び/またはゲームプレイに関する情報を少なくとも受信するために、ゲームコンソール241に通信可能に結合され得る。たとえば、この情報は、ゲームのタイトル及びバージョン、ゲームプレイのゲーム状態を含み得る。加えて、コンパニオン100は、ゲームアプリケーションのセカンダリストリームで提供される情報を含み得る。たとえば、ゲームコンソール241は、ディスプレイ310上に提示するためのプライマリストリームと、コンパニオン100を介して(たとえば、ディスプレイ、投影、スピーカーなどを介して)提示されるセカンダリストリームとを生成し得る。
【0068】
一実施形態では、コンパニオン100は、ユーザのゲームプレイをサポートする補足情報を提供するように構成され、この情報は、ユーザと、ゲームアプリケーションをプレイする他のプレーヤーとのゲームプレイに関連し得る。この情報は、一部の実施態様では、ゲームアプリケーションに関連する一般的な情報を提供する。補足情報は、ゲームプレイを進める際の支援をユーザ450に提供できる。たとえば、支援は、ユーザ420が目標を達成する(たとえば、レベルをクリアする)のを手助けするコーチングの形であり得、ユーザがゲームアプリケーション内の目標を達成するのを大まかにまたは直接的に手助けするコントローラ入力を示す視覚的な手がかりを含み得る。コンパニオンアプリケーションを通じて提供される補足情報の詳細な説明は、2017年3月31日に出願された「GAME PLAY COMPANION APPLICATION」と題された同時係属中の特許出願、米国特許出願第15/476,597号に与えられており、その全体が引用により本明細書に組み込まれている。
【0069】
図4Bに、ゲームコンソール241とインターフェースして、図4Aで導入したユーザ450のゲームプレイに関連する補足情報を提供する自律型パーソナルコンパニオン100を示す。たとえば、図4Bは、ゲームコンソール241上で実行されるか、またはそれを介してストリーミングされるゲームアプリケーションをプレイしている環境410内のユーザ450を示している。具体的には、図4Bは、ゲームアプリケーションの3次元(3D)ゲーム世界と、ユーザの物理環境との統合を示している。図示のように、コンパニオン100は、ゲームアプリケーションの3Dゲーム世界の一部を物理環境410に投影するように構成される。たとえば、コンパニオン100は、スクリーンショット425を表示し続けているディスプレイ310に提示されているものを超えて3D世界の視野を拡張することができる。具体的には、コンパニオン100は、ディスプレイ310上に提示されている(スクリーンショット425を含む)プライマリビデオストリームと同時に、ビデオストリーム(スクリーンショット430を含む)をゲームアプリケーションのセカンダリ(2次)ストリームとして投影する。
【0070】
加えて、本開示の一実施形態によれば、コンパニオン100によって提供される投影は、ユーザ450の視線の方向に応じて行われ得る。たとえば、コンパニオン100の視線追跡システムまたはコンパニオン100と連携して動作する視線追跡システムは、ゲームプレイ中にユーザ450の視線の方向をキャプチャするように構成される。一例として、ユーザがレースをしている場合、環境410内で音が指向的に提供され得、これにより頭の動きが誘発され得る。図示のように、ユーザ450の頭は大きく右を向いている。ディスプレイ310上のプライマリストリーム内に表示される、右側を指す矢印など、他のトリガーがサポートされる。たとえば、コンパニオン100のサウンドロケータ及び投影システムは、ゲームアプリケーションのゲーム世界内の原点にも対応する環境410内の場所から発生する、または発生させられる音を生成し得る。この音は、ユーザ450によって操作されるドライバーを追い抜こうとしている競争相手のエンジンからのものであり得、ドライバーの右側、またはより詳細にはコックピットの右側で発生し得る。追い越しているレーサーをより良好に見るために、ユーザの頭が右を向くと、ユーザ450の視点から見たゲーム世界のその部分の投影が、エリア443内の壁415A上に提示され、ユーザによってプレイされるキャラクターの場所に対する、ゲーム世界におけるオブジェクトのほぼ適切な場所に投影が提示され、キャラクターの場所はユーザ450の物理的な場所に関連付けられる。図示のように、二次情報の投影のスクリーンショット430は、右側を通過するレースカーのナンバー78を含む。
【0071】
一実施形態では、エリア443は、以前に実現された環境410のマッピング処理中に発見されている場合がある。マッピング処理は、エリア443が補足情報及び/またはコンテンツを表示するのに適し得ることを発見している。コンパニオン100は、補足情報を適切に提示するために、環境410内で壁415A及び/またはユーザ450に対して自身を位置決めし得る。
【0072】
図4Cに、本開示の一実施形態による、図4A図4Bで導入したゲームアプリケーションの3Dゲーム世界の統合の他の例を示し、ゲームアプリケーションの3Dゲーム世界の拡張が、ユーザ450のゲームプレイのプライマリストリームを表示するディスプレイ310と並んで投影される。図示のように、二次情報または補足情報を壁415Aに投影する代わりに、情報はディスプレイ310のすぐ右側の壁415Bに投影される。たとえば、環境410のマッピング処理中に、壁415Aが画像の投影をサポートできないと判定され得る。すなわち、コンパニオン100が壁415Aに投影しても、ビデオストリームを見ることができない(たとえば、壁415Aが本棚を含む)。したがって、コンパニオン100は、特に、ゲームアプリケーションのプライマリビデオを表示しているディスプレイ310に対する、ゲーム世界における投影内のオブジェクトの場所の適切な感覚を依然として多少伝えるエリア440内の壁415Bに補足情報を投影し得る。他の実施態様では、投影は、ディスプレイ310に提示されるビデオストリームの拡張である。したがって、コンパニオン100は、図4Bで前に導入した、追い越し位置にあるレースカー番号78を含むスクリーンショット430を含む補足ビデオストリームをエリア440に投影する。スクリーンショット430は、ディスプレイ310上に提示されたキャラクタードライバーの視点(たとえば、スクリーンショット425)によって表されるコックピットの右側に投影される。
【0073】
一実施形態では、壁415Bへの投影は、ディスプレイ310から中心を外れたユーザ450の視線によってトリガされ、あるいは引き起こされ得る。図示のように、ユーザ450の頭は、ゲーム環境内のように約90度回転されるわけではなく、壁415Bのエリア440を見るために45度に近い。他の実施形態では、投影は、ゲームアプリケーションの実行中にコンパニオン100によって自律的に生成され得る。たとえば、強化されたユーザ体験を提供するために、補足情報がコンパニオン100によって自動的に投影され得る。その場合、他の補足情報が、環境410内の他の場所に他の時間に提供され得る。
【0074】
図5に、本開示の一実施形態による、ヘッドマウントディスプレイ(HMD)515を使用してユーザ550によりプレイされるゲームアプリケーションの3D仮想現実(VR)世界と、物理環境510との統合を示す。図5に示すように、ユーザ550は、ユーザ550のゲームプレイに関連して、ゲームコンソール241で実行されている(またはバックエンドサーバで実行され、ゲームコンソールまたは他の任意のデバイスを介してストリーミングされている)ゲームアプリケーションをプレイしており、ゲームプレイは、コントローラ420及び/またはHMD515の動きなどを介したユーザ入力に応答する。
【0075】
前述のように、コンパニオン100は、ローカルAIモデル120を介してユーザにサービスを提供するように構成され、AIモデル120は、ユーザの行動、応答、アクション、リアクション、欲求、及び/またはニーズを一部として予測するために、あらゆるバックエンドサーバから独立して動作でき、またはバックエンドサーバに配置されたAIモデル120と分散して動作し得る。コンパニオン100は、ロボットフォームファクタ105と、ユーザ550に対応するAIモデル120を実装するための人工知能とを含む。
【0076】
より具体的には、コンパニオン100は、ゲームアプリケーションの仮想現実(VR)ゲーム世界の一部を物理環境510に投影するように構成される。たとえば、VRゲーム世界の投影520は、環境510内の壁(図示せず)上に行われ得る。また、投影520は、コンパニオン100によって制御される物理ディスプレイを介して行われ得る。このようにして、ユーザ550が体験する視野あるいはビューは、観客555にも提示され得る。一実施形態では、本開示の一実施形態によれば、観客555がユーザ550のVRゲーム世界の体験に並行して参加できるようにするために、ユーザ550の視線の方向に応答して投影が行われる。したがって、環境510が投影に適している場合、ユーザ550がVRゲーム世界を見るときに向きを変えると、コンパニオン100もまた、VRゲーム世界内の適切な場所に近接して対応する環境510内の別の場所に投影520を変更し得る。すなわち、ユーザ550の頭が反時計回りに90度回転すると、投影520は、ユーザ550の左側であって、観客555の左側でもある壁に行われ得る。このようにして、観客は、コンパニオンアプリケーションによって物理環境510に投影されたVRゲーム世界の感覚を取得し得る。
【0077】
図6A図6Hに、本開示の実施形態による、自律型パーソナルコンパニオンの様々な例示的な形態を示し、コンパニオンは、図1図5に示したコンパニオン100によって実装され得る。図6A図6Hに示すコンパニオンは、ローカルAIモデル120を介して対応するユーザにサービスを提供するように構成され、AIモデル120は、ユーザの行動、応答、アクション、リアクション、欲求、及び/またはニーズを一部として予測するために、あらゆるバックエンドサーバから独立して動作可能であるか、またはバックエンドサーバに配置されたAIモデル120と分散して動作可能である。
【0078】
具体的には、図6Aに、本開示の一実施形態による、ユーザのAIモデルを通じて実装されるユーザ用のコンパニオン600Aの例示的な形態を示す。図6Aでは一般的なフォームファクタを示しているが、コンパニオン600Aは任意の適切なフォームファクタで実装され得る。たとえば、本体601は、上部よりも下部の直径が小さい円錐形を有するように図示している。上部ハウジング605は、コンパニオン600Aの追加の機能を容易にするために、本体601から突出し得る。
【0079】
具体的には、コンパニオン600Aは、下部に1つまたは複数の車輪609、またはコンパニオン600Aに2次元または3次元の可動性を提供するための任意の適切な手段を含む。このようにして、コンパニオン600Aは、そのサービスを提供するために必要に応じて環境内を動き回り得る。たとえば、コンパニオン600Aは、環境の最良の画像をキャプチャし、あるいはビデオ及び/または画像を投影するための最良の場所を選択するために、自主的に環境を動き回り得る。加えて、本体601は1つの場所で回転して、環境内でコンパニオン600Aに最良の向きを提供できる。
【0080】
図6Bに、本開示の実施形態による、画像の投影、近接環境の検知、及び補助音の提供を一部として含む一連の機能を備えて構成される例示的な自律型パーソナルコンパニオン600Bを示す。具体的には、図6Aで最初に導入した、本体601を備えた一般的なフォームファクタを有するコンパニオン600Bを示している。加えて、環境内での運動能力を表すために、車輪609を示している。
【0081】
コンパニオン600Bは、本体601の至る所に配置されたスピーカー610を含む。加えて、スピーカー610はコンパニオン600Bの他の部分、たとえば、上部ハウジング605に配置され得る。ディスプレイ310は、本体601の表面上に配置され、対応するユーザにサービスを実行する場合に情報及び/またはデータを提示するように構成される。たとえば、ディスプレイ310は、ユーザに応答を尋ねる場合にテキストを表示し、またはユーザからのクエリに応答してビデオまたはテキストを提示し得る。また、ディスプレイ310は他の補足情報、たとえば、ゲームアプリケーションをプレイしているユーザのゲームプレイに関連して生成されるものなどを提示し得る。
【0082】
コンパニオン600Bは、環境を検知するために使用される1つまたは複数のセンサを含み、センサはコンパニオン表面上の様々な場所に配置され得る。たとえば、深度センサ305は本体601の上部の表面に配置され得、深度センサは環境内の近くのオブジェクト及び遠くのオブジェクトの場所を特定するように構成される。また、1つまたは複数の深度センサ305を使用して、オブジェクトの組成またはオブジェクトの表面硬度を特定し得る。加えて、1つまたは複数の近接センサ335が上部ハウジング605の表面に配置され得、近接センサはコンパニオン600Bの近くのオブジェクトの場所を特定するように構成され得る。前述のように、深度センサ及び近接センサは、信号625で示すように、オブジェクトの場所を特定するための様々な技術(たとえば、電磁場、誘導、無線周波数、熱変動、赤外線周波数、気流あるいはエアフローなど)を採用し得る。
【0083】
加えて、本体601の上部は、環境の音声記録をキャプチャするように構成される1つまたは複数のマイクロフォン315を含む。たとえば、対応するユーザの音声を記録して、ユーザの生のリアクションをキャプチャでき、これは後で再生され得る。また、記録された音声は、カプセル650内に配置されたビデオレコーダ370によってキャプチャされた録画ビデオと同期され得る。また、画像カメラ325は、カプセル650内に配置され得る。画像カメラ325とビデオレコーダ370との組み合わせにより、コンパニオン600Bはユーザ及び/または環境のビデオ及び/または画像をキャプチャすることが可能になる。
【0084】
図示のように、カプセル650は、様々な程度の動き及び向きを有する。カプセル650はリフト機構655に取り付けられ、コンパニオン600Bの本体601に対して上下に動くことができる。たとえば、カプセル650は、カメラ325またはレコーダ370がオブジェクト(たとえば、壁、ソファ、家具、本棚など)によって遮られた場合などに、環境をより良好に見るために自身を持ち上げ得る。加えて、カプセル650は、静止した本体601に対して回転が起こるように、リフト機構655のシャフトを中心に回転し得る。
【0085】
コンパニオン600Bの上部ハウジングは、1つまたは複数の投影システム340を含み得る。前述のように、投影システム340は、環境の面(たとえば、部屋の壁)に補足情報を投影し得る。面は、前述のように、環境のマッピングを通じて決定され得る。補足情報は、コンパニオン600Bがユーザにサービスを提供しているときに、ユーザとコミュニケーションを行うために使用され得る。
【0086】
図6Cに、本開示の一実施形態による、画像キャプチャ及び画像投影などの1つまたは複数の機能を備えて構成されるドローンアセンブリ651を含む例示的な自律型パーソナルコンパニオン600Cを示す。図示のように、コンパニオン600Cは、大まかに表現した本体601、移動手段(たとえば、図示の車輪609)、ディスプレイ310、近接センサ335、及び投影システム340のプロジェクタを含む、前に導入した1つまたは複数の機能を有する。前に導入した他の機能は、明確さの目的で図示していない。
【0087】
具体的には、コンパニオン600Cは、休止位置にある場合に上部ハウジング605(またはアセンブリ651を受け入れることが可能な他の任意の適切な表面エリア)に結合されるドローンアセンブリ651を含む。たとえば、ドローンアセンブリ651は、バッテリーを充電する目的で上部ハウジング605とインターフェースし得る。別個のベースステーションなど、コンパニオン600Cから離れた他の休止場所が考えられる。さらに、ドローンアセンブリ651は、コントローラ355などのコンパニオン600Bの1つまたは複数のコンポーネントに通信可能に結合される。画像カメラ325及び/またはビデオレコーダ370は、画像及びビデオをキャプチャする目的でドローンアセンブリ651に配置され得る。投影システム640のプロジェクタなど、他の構成要素もアセンブリ651に配置され得る。
【0088】
図示のように、ドローンアセンブリ651は、環境内を動き回ることができる。動きを提供するための任意の適切な手段、たとえば、プロペラシステム、空気流システム、軽量空気システム、係留システムなどが考えられる。したがって、ドローンアセンブリ651は、環境全体を3次元に移動し、環境内で自身を回転させることができる。画像及び/またはビデオをキャプチャするためのより良好な位置にカメラ325及び/またはビデオレコーダ370を配置するために、移動が必要であり得る。たとえば、コンパニオン100の本体601及び上部ハウジング605に対応するポイントから捉えられる特定の方向の部屋の視野は、オブジェクトによって遮られ得る。ドローンアセンブリ651は、視野をキャプチャするために、オブジェクトによって妨害されない場所に(たとえば、真上に)配備され得る。
【0089】
図6Dに、本開示の一実施形態による、1つまたは複数の機能を備えて構成される回転式の上部630を含む例示的な自律型パーソナルコンパニオン600Dを示す。コンパニオン600Dは、対応するユーザのローカルAIモデル120を実装するのに適した異なるフォームファクタを示すために図示している。図示のように、コンパニオン600Dはベース620を含む。可動性手段、たとえば、車輪609’または前述の他の任意の適切な運動手段がベース620内に設けられる。
【0090】
具体的には、コンパニオン600Dは上部630を含み、上部630は、カメラ325、ビデオレコーダ370、深度センサ305、近接センサ335などを含み得る。説明のために、上部630は、ベース620を中心に回転可能であり得る。このようにして、コンパニオン600Dは、それ自身を、ユーザにサービスを最良に提供する方向に向けることができる(たとえば、ユーザとコミュニケーションあるいは通信を行うための良好な位置をとる)。すなわち、コンパニオン600Dの可動機能と、回転式の上部630とを組み合わせると、その環境内でコンパニオンの様々な向きが可能になる。たとえば、上部630は環境内のオブジェクトに向かって回転されて、カメラシステムにオブジェクトの良好な視野を与えるようにし得る。さらに、コンパニオン600Dは、オブジェクトの近くに移動して、カメラシステムにオブジェクトのより良好な視野あるいはビューを与えるようにし得る。
【0091】
一部の実施態様では、上部630の回転によって、コンパニオン600Dの感情を伝えたり、何らかの行動を表したりすることができる。その場合、上部630には、感情を示すようにプログラムされた多色照明が装備され得る。たとえば、ライトの帯631を上部630に図示している。帯631の各ライトは、対応するパターンに従ってオンまたはオフにされ得る。加えて、帯631の各ライトは、対応するパターンに従って一連の色を示し得る。表632はライトパターン(たとえば、オン/オフ、カラーシーケンスなど)のリストを示しており、各パターンはコンパニオン100の対応する感情に関連付けられ得る。たとえば、パターン1は第1の幸せの感情に関連付けられ得、パターン2は第2のタイプの幸せに関連付けられ得る。他の感情は、たとえば、無関心、怒り、悲しみ、不機嫌などを示す、他のパターンを通じて表され得る。
【0092】
図6Eに、本開示の一実施形態による、1つまたは複数の付属物640を含む例示的な自律型パーソナルコンパニオン600Eを示す。図示のように、コンパニオン600Eは、大まかに表現した本体601と、移動手段(たとえば、図示の車輪609)とを含む、前に導入した1つまたは複数の機能を有する。前に導入した他の機能は、明確さの目的で図示していない。
【0093】
具体的には、付属物640は、コントローラ機能を提供できる。たとえば、付属物640はコントローラ420を含み得、ゲームコンソールまたはバックエンドサーバでのゲームアプリケーションの実行中に操作命令を提供する目的で、ゲームコンソール241とインターフェースし得る。一実施形態では、操作及び取り扱いをより容易にするために、付属物640の1つまたは複数が除去され得る。このようにして、ユーザは、ゲームコントローラを扱う普段の方法で付属物640とインターフェースし得る。
【0094】
一実施形態では、各付属物640は、ベース充電ポートに結合することが可能な再充電ポートを備えて構成される。内部バッテリー(図示せず)が、対応する付属物640内に配置される。ベース充電ポートは本体601上に、たとえば、ピボットポイント602に関連付けられた接続内に配置され得る。このようにして、付属物640が本体601上に戻されると、内部バッテリーの充電が行われ得る。すなわち、一実施形態では、電力(たとえば、電荷)が、コンパニオン600Eの本体601を介して付属物640の内部バッテリーに転送される。他の実施形態では、電力が反対方向に転送されて、電力が内部バッテリーからコンパニオン600Eに転送される。このようにして、付属物640は、コンパニオン600Eに電力を供給するための一次再充電媒体として構成され得、取り外されて、本体601とは別個のベース充電ステーションに電気的及び/または通信的に結合され得る。付属物640が分離されている間(たとえば、再充電中)、コンパニオン600Eは内部バッテリーソースを使用して動作を継続でき、付属物640が本体601に再び結合されると、バッテリーソースを再充電することができる。
【0095】
一実施形態では、付属物640は、コンパニオン600Eの腕あるいはアームの役割を果たす。たとえば、付属物640は、本体601上のピボットポイント602の周りを動き得る。付属物640の動きは、何らかのコミュニケーションを提供できる。たとえば、付属物640の動きのパターンは、コンパニオン600Eによる挨拶を伝え得る。他の例では、付属物640が本体601から外向きに伸ばされて、コンパニオン600Eの歓迎の姿勢を示し得る。さらに他の例では、付属物640が伸ばされて、ユーザとの握手またはフィストバンプを提供できる。他の動きが考えられる。加えて、付属物は、他の実施形態では、任意の形態または構成のものであり得る。たとえば、コンパニオン600Eの付属物として構成されるヘッドまたは上部ハウジング605は、本体601から取り外し可能であり得る。
【0096】
図6F図6Hに、本開示の実施形態による、自律型パーソナルコンパニオンの代替的なフォームファクタを示す。たとえば、図6Fのコンパニオン600Fは、ベース620’のブロック形状と、上部ハウジング605’のブロック形状とを示している。運動手段がベース620’に含まれる(たとえば、車輪609’)。加えて、図6Gのコンパニオン600Gは、ベース620’’の球形と、上部ハウジング605’’の球形とを示している。また、図6Hのコンパニオン600Hは、ベース620’’’の多面形状と、上部ハウジング605’’’のブロック形状とを示している。図示のように、各コンパニオン600F〜600Hの上部ハウジングは、それぞれのベースに対して独立して回転可能である。
【0097】
一実施形態では、2つの自律型パーソナルコンパニオン100が直接、またはネットワークを介して互いと通信し得る。一例として、各コンパニオンは、部屋を動き回る必要のある、建物内の部屋のマッピングに関連する動作を実行している場合があり、移動中に一方または両方のコンパニオンが近接する他のコンパニオンを検知し得る。コンパニオンはさらに、互いと通信する目的で、自身を適所に移動させ得る。一実施態様では、各コンパニオンは、対応するQRコード(登録商標)に関連付けられ得る。QRコード(登録商標)のコードを使用して、識別情報を交換し得る。たとえば、QRコード(登録商標)は、対応するコンパニオンに関する情報へのアクセス(たとえば、バックエンドサーバ経由)を提供する。したがって、コンパニオンは、QRコード(登録商標)のコードが渡され得る場所に自身を移動させ得る(たとえば、第1のコンパニオンのQRコード(登録商標)を表示しているディスプレイを、第2のコンパニオンのカメラシステムの視野範囲内に持っていく)。キャプチャされると、QRコード(登録商標)はネットワークを介してサーバに配信されて、キャプチャされたQRコード(登録商標)に関連付けられたコンパニオンに関する識別情報にアクセスできるようにし得る。このようにして、識別情報はコンパニオンの間で交換され得る。
【0098】
主観的及び客観的学習を通じたユーザに関連付けられたローカルAIモデルの個人向けの訓練のための方法及びシステム
したがって、本開示の様々な実施形態では、ユーザ向けのAIモデルを構築するための深層学習(機械学習とも呼ばれる)技術を実装するシステム及び方法を説明する。ローカルAIモデルは、可動式の自律型パーソナルコンパニオンを通じて実装され、自律型パーソナルコンパニオンは、状況に応じた個人向けの支援をユーザに提供するように構成可能である。パーソナルコンパニオンは、図1図6で前に導入している。ローカルAIモデルの個人化は、モデルを生成するために深層学習エンジン190内で使用される主観的及び/または客観的入力データをフィルタリングすることによって実現される。フィルタリングが実行されなければ、AIモデル(ローカル及びグローバル)は全て同じデータセットを使用して構築されることになり、したがって全て同じになるので、同じパーソナリティを有することになる(たとえば、所与の入力セットに対して同じ結果が得られる)。このようにして、様々なパーソナリティを有するローカルAIモデルが生成されるので、各AIモデルを固有にすることができ、対応するユーザのパーソナリティを反映するか、またはこれに関連付けることができる。
【0099】
図7に、本開示の一実施形態による、複数のユーザ用の様々なAIモデルと、それらのAIモデルが実装され得る場所とを示す。AIモデルは、対応する自律型パーソナルコンパニオンなどを通じて、関連する個人向けの支援を対応するユーザに提供するために使用される。図示のように、様々なAIモデルが、前述のバックエンドサーバ140に配置及び/または実装され得、サーバ140は、(たとえば、AIエンジン190を介した)AIモデル化及び/またはAIモデルの適用を提供するように構成される。加えて、様々なAIモデルが、各自律型パーソナルコンパニオン100a〜nに配置及び/または実装され得、各コンパニオンは対応するユーザに関連付けられる。たとえば、ユーザ1はコンパニオン100aに関連付けられ、ユーザ2はコンパニオン100bに関連付けられ、ユーザ3はコンパニオン100cに関連付けられ、...、ユーザnはコンパニオン100nに関連付けられる。
【0100】
具体的には、前述のように、グローバルAIモデル130はバックエンドサーバ140において記憶され、アクセス可能となる。グローバルAIモデル130は、特定の入力のセット(たとえば、ユーザが推進または遭遇する所与のシナリオを定義するもの)が与えられた場合の、一般的なユーザの応答、アクション、行動、欲求、及び/またはニーズを一部として予測するように構成される。それぞれが対応するユーザグループに関連付けられる、1つまたは複数のグローバルAIモデル130a〜pが生成され得る。たとえば、1つまたは複数のグローバルAIモデルは、異なる人口統計カテゴリ(たとえば、様々な年齢層など)に応じて生成され得る。したがって、バックエンドサーバ140は、対応するユーザ用の対応するコンパニオン100(すなわち、グローバルAIモデルを適用する場合に処理の大部分を提供するもの)によって提供される所与の入力のセットに対して適切なグローバルAIモデルを適用するように構成され得る。
【0101】
図示のように、グローバルAIモデル130のあるバージョンはまた、自律型パーソナルコンパニオン側にローカルに記憶され得る。グローバルAIモデル130の完全バージョンは、コンパニオン100でローカルに実装するには拡張性が高すぎる場合があるので、グローバルAIモデル130の派生物(たとえば、グローバルAI’モデル)がコンパニオンに記憶され得る。たとえば、図7に示すように、グローバルAI’モデル130’が各コンパニオン100a〜nに記憶される。このようにして、グローバルAI’モデル130’は、たとえば、対応するユーザにサービスを提供するために、ローカル処理を実行する方が効率的である場合、またはバックエンドサーバ140への接続が利用できない場合に、所与の入力のセットに応じてローカルレベルで実装され得る。
【0102】
グローバルAI’モデル130’は、各コンパニオン100a〜nに記憶されるように図示しているが、様々なグローバルAI’モデルがコンパニオンに記憶され得ることは理解されたい。たとえば、グローバルAI’モデル130’の代わりに、またはこれに加えて、特定のユーザグループに焦点を合わせた(たとえば、特定の人口統計プロファイルに適合する)グローバルAIモデルの派生物がコンパニオンに記憶され得、そのグローバルAIモデルの完全バージョンは、バックエンドサーバ140に記憶される。
【0103】
加えて、ユーザごとに、ローカルAIモデルが生成され、バックエンドサーバ140に記憶される。ローカルAIモデルは、対応するユーザ向けになされ、グローバルAIモデル130によって提供される予測と比較して、特定の入力のセット(たとえば、ユーザが推進または遭遇する所与のシナリオを定義するもの)が与えられた場合の、特定のユーザの応答、アクション、行動、欲求、及び/またはニーズを一部としてより良好に予測することができる。すなわち、対応するユーザのローカルAIモデルはグローバルAIモデルよりもユーザ向けであるので、各ローカルAIモデル120a〜nが対応するユーザに固有になる。図示のように、ユーザ1はバックエンドサーバ140に記憶されたローカルAI−aモデル120aに関連付けられ、ユーザ2はバックエンドサーバ140に記憶されたローカルAI−bモデル120bに関連付けられ、ユーザ3はバックエンドサーバ140に記憶されたローカルAI−cモデル120cに関連付けられ、...、ユーザnはバックエンドサーバ140に記憶されたローカルAI−nモデル120nに関連付けられる。
【0104】
図示のように、特定のユーザ用に生成されたローカルAIモデルの様々なバージョンが、バックエンドサーバ及び対応するコンパニオンに記憶され得る。代表的な例として、ローカルAI−aモデル120aの完全バージョンが生成され、バックエンドサーバに記憶され得る。ローカルAI−aモデル120aの完全バージョンは、コンパニオン100aでローカルに実装するには拡張性が高すぎる場合があるので(すなわち、完全バージョンは様々な入力の並べ替えを全て処理することができ、これはコンパニオンレベルでは計算及びストレージの観点でコストがかかりすぎる場合がある)、派生物(たとえば、ローカルAI−a’モデル120a’)がコンパニオン100aに記憶され得る。このようにして、ローカルAI−a’モデル120a’は、たとえば、対応するユーザにサービスを提供するために、ローカル処理を実行する方が効率的である場合、またはバックエンドサーバ140への接続が利用できない場合に、所与の入力のセットに応じてローカルレベルで実装され得る。図示のように、各ユーザ1〜nは、自身のローカルAIモデルの派生バージョンを記憶し得る。たとえば、ユーザ2の派生バージョン用に、ローカルAI−b’モデル120b’がコンパニオン100bに記憶され得、ユーザ3の派生バージョン用に、ローカルAI−c’モデル120c’がコンパニオン100cに記憶され得、...、ユーザnの派生バージョン用に、ローカルAI−n’モデル120n’がコンパニオン100nに記憶され得る。
【0105】
さらに、各自律型パーソナルコンパニオン100において、対応するユーザのプライベートAIモデルがセキュアに生成及び記憶され得る。すなわち、各プライベートAIモデルは、その生成及び適用においてプライベートであり、対応するコンパニオンの外部では共有されない。このようにして、プライベートAIモデルに関連するプライベート情報は、プライベートAIモデルを構築し、プライベートAIモデルを適用する目的で、対応するコンパニオンに限定される。たとえば、ユーザ1用にプライベートAI−aモデル710aをローカルに生成し、記憶し、適用することができ、ユーザ2用にプライベートAI−bモデル710bをローカルに生成し、記憶し、適用することができ、ユーザ3用にプライベートAI−aモデル710cをローカルに生成し、記憶し、適用することができ、...、ユーザn用にプライベートAI−nモデル710nをローカルに生成し、記憶し、適用することができる。プライベートAIモデルの生成及び適用についてのより完全な説明は、図8Bに一部関連して提供する。
【0106】
図8Aに、本開示の一実施形態による、対応するユーザの1つまたは複数のAIモデル間の関係を示す。ユーザはグローバルAIモデル130に関連付けられる。前述のように、グローバルAIモデルは全てのユーザを対象にでき、または特定の特徴(たとえば、1つまたは複数の人口統計パラメータなど)によって定義される特定のユーザグループを対象にし得る。グローバルAIモデルは、そのユーザグループを代表する一般的なユーザの応答、アクション、行動、欲求、及び/またはニーズを一部として予測するように構成される。例示の目的で、グローバルAIモデル130は、図示のように完全バージョンを含むが、完全バージョンの派生物であり得る。
【0107】
しかしながら、グローバルAIモデルは、いずれのユーザ向けでもない。具体的には、全てのユーザに区別なく適用可能な単一のグローバルAIモデルは、対応するユーザに合わせて調整可能な、いかなる固有のパーソナリティも有さず、またはそれを除去し得る。すなわち、単一の代表的なユーザのデータ(たとえば、実行された操作及び/またはアクション)を使用して訓練(たとえば、AIモデルを構築するための深層学習技術の適用)が実施された場合、全てのユーザにとって一般的であって、(特定の入力のセットに対する)結果の間にいかなる意外性も差異も与えない、1つのAIモデル(たとえば、対応するユーザを反映するロボットまたはコンパニオンのパーソナリティに関連するもの)が存在することになる。同様に、ローカルAIモデルを構築するために深層学習技術を適用する場合に、全てのユーザのデータセット全体が適用されると、各ユーザに対して同一のローカルAIモデルが生成されることになる。
【0108】
一方、本発明の実施形態は、モデルを構築するために使用されるデータ(たとえば、ユーザアクション、操作、行動、バイオメトリクスなど)をフィルタリングすることにより、各ユーザのローカルAIモデルを区別するのに役立つ。フィルタリングは、深層学習エンジン190への入力として提供されるかまたはそれから得られる学習された経路、パターン、オブジェクト、及び/または概念に対して実行される。具体的には、フィルタリングは、(たとえば、ランダムフィルタリング、選択的フィルタリング、及び/またはパターン化フィルタリングによって)実行され得る。
【0109】
フィルタリングは、ローカルまたはグローバルAIモデルの品質を犠牲にすることなく、AIモデル(たとえば、ローカル及びグローバル)を構築するために実行される。すなわち、深層学習を通じて個別のローカルAIモデルのそれぞれを構築するのに十分なデータが提供され、1つまたは複数のグローバルAIモデルを構築するのに十分なデータも提供される。対応するユーザにサービスを提供するコンパニオンの各ローカルAIモデルのデータセットを区別するように、データがフィルタリングされる。このようにして、対応するユーザ向けになされたローカルAIモデルを構築することができ、ローカルAIモデルは、対応するユーザを反映するコンパニオンのパーソナリティを定義する。具体的には、各ローカルAIモデルは、特定の入力のセット(たとえば、ユーザが体験したシナリオ、またはユーザが推進するシナリオ)に関連するユーザの応答、アクション、行動、欲求、及び/またはニーズを一部として予測することができる。
【0110】
図8Aに示すように、ローカルAIモデル120は、対応するユーザに関連する所与の入力及び/または入力データのセット(たとえば、ユーザが体験または推進するシナリオ)に対して学習された経路及び/または学習されたパターンを含む。前述のように、ユーザ入力データは、一つには、ローカルAIモデルが特定の入力にどのように反応すべきかを定義する際に役立ち得る任意のアクション、特徴、バイオメトリクス、応答、行動などに関連し得る。このデータは受動的または能動的に(たとえば、ユーザがクエリに応答する)監視され得る。したがって、対応するユーザのローカルAIモデルは、特にユーザが体験または推進する特定の環境またはシナリオ内で、所与の入力のセットに対するユーザの応答、アクション、行動、欲求、及び/またはニーズを一部として予測することができる。
【0111】
図示のように、ローカルAIモデル120は、グローバルAIモデル130にも含まれる学習された経路及び/または学習されたパターンを含む。たとえば、領域804内に位置する学習された経路及び/または学習されたパターンは、ローカルAIモデル120及びグローバルAIモデル130の両方で見つかる。さらなる区別がなければ、ローカルAIモデル120は、グローバルAIモデル130と同じパーソナリティを有することになる。パーソナリティは、前述のように、深層学習エンジン190への入力として提供されるかまたはそれから得られる学習された経路、パターン、オブジェクト、及び/または概念の、ランダム、選択的、及び/またはパターン化フィルタリングを通じて生成される。したがって、ローカルAIモデルの構築に使用されるデータセットは、グローバルAIモデルの構築に使用されるデータセットとは異なり、その結果、学習された経路及びパターンは異なる。1つのケースでは、ローカルAIモデル120は、グローバルAIモデル130で見つかる学習された経路及び/または学習されたパターンのフィルタリングされたセットを含む。すなわち、ローカルAIモデル120は、領域807で見つかる学習された経路及び/または学習されたパターンを含まず、それらの学習された経路及び/またはパターンは、グローバルAIモデル130で使用される。したがって、(たとえば、領域807内の経路/パターンの使用を制限することによって)グローバル知識ベースを制限すると、AIモデルを構築する際に実装される深層学習技術またはAI技術の好奇心が高まる。
【0112】
さらに、ローカルAIモデル120は、グローバルAIモデル130では見つからない学習された経路及び/または学習されたパターンを含む。具体的には、領域805内に位置する学習された経路及び/または学習されたパターンは、ローカルAIモデル120で見つかるが、グローバルAIモデル130では見つからない。さらに、第1のユーザの第1のローカルAIモデルの構築に使用されるデータセットは、第2のユーザの第2のローカルAIモデルの構築に使用されるデータセットとは異なる。その場合、第1のユーザの第1の自律型パーソナルコンパニオンのパーソナリティは、第2のユーザの第2の自律型パーソナルコンパニオンのパーソナリティとは異なる。
【0113】
加えて、対応するコンパニオンにローカル化されたデータを使用して、ユーザのプライベートAIモデル810が生成され得る。コンパニオンによってキャプチャされた監視されたプライベートデータも、プライベートAIモデル810を構築するために、ローカルAIエンジン110を介して処理される。すなわち、プライベートデータはプライベートのままであり、コンパニオン100の境界に限定される。たとえば、プライベートデータはネットワークを介して他のデバイスに配信されない。したがって、プライベートAIモデル810も、記憶のためにバックエンドサーバ140に配信されない。一実施形態では、プライベートAIモデル810は、ローカルAIモデル120の拡張である。たとえば、領域811内に位置する学習された経路及び/または学習されたパターンは、プライベートAIモデル810で見つかるが、ローカルAIモデル120では見つからない。すなわち、プライベートAIモデルの構築に使用されるデータセットは、ローカルAIモデルの構築に使用されるデータセットとは異なる。ある意味で、プライベートAIモデルを通じて実装されるコンパニオンのパーソナリティは、ローカルAIモデルを通じて実装されるパーソナリティとは異なり、より特徴的であり得る。
【0114】
一実施形態では、「類似した」ユーザから収集されたデータが、これらの類似したユーザ用のローカルAIモデルを構築する際のベースとして使用してされ得、それによって、対応するローカルAIモデルによって定義されるパーソナリティのいずれもが、これらのユーザの予想外にならないようにする。したがって、対応するユーザのローカルAIモデルを構築するために使用される、類似したユーザから収集されたかまたは彼らに関連付けられたデータは、ローカルAIモデルの境界を制限するのに役立ち、それによって、モデルがあまりに独特になりすぎて、ユーザの予想からかけ離れすぎる(たとえば、あまりにも特有になりすぎて、いずれの認識可能なパーソナリティにも似なくなる)ことのないようにする。このようにして、ローカルAIモデルは、対応するユーザにサービスを提供する対応するコンパニオンにパーソナリティを与え得る。ローカルAIモデルはユーザの特徴を反映しているので、ローカルAIモデルは、所与の入力のセットに対するユーザの応答、アクション、行動、欲求、及び/またはニーズを一部として予測することができる。
【0115】
他の実施形態では、ローカルAIモデルの構築に使用されるデータセットは、グローバルAIモデルの構築に使用されるデータセットとは異なるので、各AIモデルは、それぞれのAIモデルを構築するための知識ベースが特徴的である。前述のように、グローバル知識ベースを制限すると、AIモデルを構築するために深層学習を実行する場合の好奇心が高まる。具体的には、知識ベースが異なるので、深層学習またはAIを適用してローカルAIモデルを構築する場合に、グローバルAIモデルを構築する場合とは異なるクエリのセットが実行される。すなわち、ローカルAIモデルの構築には第1のクエリのセットが使用され、グローバルAIモデルの構築には第2のクエリのセットが使用される。これにより、ローカルAIモデルとグローバルAIモデルとに異なるパーソナリティが関連付けられ、異なるユーザのローカルAIモデルに異なるパーソナリティが関連付けられる。
【0116】
一実施形態では、第1のユーザは、異なるユーザ(たとえば、第2のユーザ)用に構成されるコンパニオンを使用し得る。たとえば、第1のユーザはそのコンパニオンを試用して、そのコンパニオンのパーソナリティ(第2のユーザなどの別のユーザ向けに訓練されたもの)が、第1のユーザの好み、願望、欲求、及び/またはニーズにも適合しているか否かを確認し得る。第1のユーザは、自身のコンパニオンに実装される特定のパーソナリティを選択する前に、任意の数のパーソナリティをサンプリングし得る。対応するローカルAIモデルを通じて実装されるパーソナリティは、追加機能が(更新後のローカルAIモデルに)含められるベースAIモデルを提供し、それによって、第1のユーザを反映するようにパーソナリティをさらに形成し得る。
【0117】
図8Bに、本開示の一実施形態による、対応するユーザのローカルAIモデル120内で定義される階層内の様々なブランチを示し、各ブランチはユーザのサブAIモデルにつながり得る。すなわち、ブランチの端にあるリーフノードは、ユーザの特定のサブAIモデルを定義でき、サブAIモデルは、ユーザが体験または推進する特定のシナリオを記述する特定の入力のセットに対する学習された経路及び/またはパターンを定義する。図8Bは例示的な階層を示しているが、他の実施形態は他の様々な階層構成をサポートし、これには、レイヤの混合、サブレイヤの生成、レイヤ間のノードの共有などが含まれる。
【0118】
具体的には、ローカルAIモデル120は、モデル階層の下位ノードで見つかるサブAIモデルのいずれにも適合する学習された経路及び/またはパターンを定義するルートレイヤ820を含む。たとえば、ルートレイヤ820は、サブAIモデルの基礎になり得るローカルAIモデル120の基本パーソナリティ及び/または基本知識を提供できる。
【0119】
モデル階層は、ローカルAIモデル120によって反映されるパーソナリティをさらに定義し得る複数のレイヤをルートレイヤ820の下に含む。たとえば、第2のレイヤ830は、ユーザの様々な興味を定義し得る。第2のレイヤ830はユーザのパーソナリティの異なる側面、たとえば、料理のパーソナリティまたは便利屋のパーソナリティなどを示す。具体的には、ノード831はユーザにとって興味のある情報に関連する学習された経路及び/またはパターンを定義でき、ノード832はユーザにとって興味のある料理シナリオに関連する学習された経路及び/またはパターンを定義でき、ノード833はユーザの様々なゲームの興味に関連する学習された経路及び/またはパターンを定義でき、ノード834はユーザにとって興味のあるリラクゼーション技術に関連する学習された経路及び/またはパターンを定義でき、ノード835はユーザにとって興味のある様々な料理トピックに関連する学習された経路及び/またはパターンを定義でき、ノード836はユーザにとって興味のある様々な再モデル化または構築トピックに関連する学習された経路及び/またはパターンを定義し得る。第2のレイヤ830内のノードは例示のために示しており、ローカルAIモデル120の階層内で他のノードがサポートされる。
【0120】
第2のレイヤ830内の各ノードは、ローカルAIモデル120によって反映されるパーソナリティをさらに定義する下位ノードにつながるさらなるブランチを含み得る。簡潔さ及び明確さの目的で、全てのブランチを図示しているわけではない。しかしながら、例示のために、ゲームノード833は、様々な下位レイヤを含むように図示している。たとえば、第3のレイヤ840は、ゲームノード833によって反映されるゲームのパーソナリティをさらに定義するさらなるノードを含み得る。具体的には、リーフノード841は、インターネットゲーム(たとえば、オンラインポーカー、ソーシャルネットワーキングゲームなど)に関連するシナリオに関連付けられた学習された経路及び/またはパターンを定義し得る。他の様々な下位ブランチ及び/またはノードは、インターネットゲームノード841に関連して定義され得る。加えて、リーフノード843は、ロジックゲーム(たとえば、クロスワード、チェス、囲碁など)に関連するシナリオに関連付けられた学習された経路及び/またはパターンを定義し得る。また、リーフノード842は、一人称シューティングゲーム(たとえば、典型的には武器ベースまたは至近距離の戦闘を含む、一人称視点を通して表示されるビデオゲーム)に関連するシナリオに関連付けられた学習された経路及び/またはパターンを定義し得る。
【0121】
図示のように、さらなるブランチ及び/またはノードは、一人称シューティングリーフノード842によって反映されるパーソナリティをさらに定義し得る。たとえば、ノード851は、ユーザにとって特に興味のある一人称シューティングゲームのフォールアウト4に関連するシナリオに関連付けられた学習された経路及び/またはパターンを定義し得る。一例として、ユーザは以前に、ゲームアプリケーション内の特定のレベルをクリアするための手助けを要求していた場合がある。学習された経路及び/またはパターンは、提供される支援、ならびにユーザが遭遇するゲームアプリケーションのより高いレベルをクリアするための予想される支援に関連付けられ得る。
【0122】
図9Aに、本開示の一実施形態による、対応するユーザについて監視され得る異なるタイプのデータを示す。前述のように、データは、一つには、対応するユーザのローカルAIモデルが特定の入力にどのように反応すべきかを定義する際に役立ち得る、ユーザの任意のアクション、特徴、バイオメトリクス、応答、行動、感覚データなどに関連し得る。このデータは受動的または能動的に(たとえば、ユーザがクエリに応答する)監視される。加えて、データは、AIモデルを構築するための深層学習エンジン(たとえば、エンジン190)によって使用される。したがって、対応するユーザのローカルAIモデルは、特にユーザが体験または推進する所与の環境またはシナリオ内で、所与の入力のセットに対するユーザの応答、アクション、行動、欲求、及び/またはニーズを一部として予測することができる。
【0123】
図示のように、ユーザデータ910は、1つまたは複数のタイプのデータを含み、そのうちの4つのクラスを示しているが、それ以上が定義され得る。ユーザデータ910の4つのクラスは、客観的ユーザデータ920、主観的ユーザデータ930、ローカル化された主観的ユーザデータ935、及びプライベートユーザデータ940を含む。ユーザデータ910は深層学習エンジンに入力されて、グローバルAIモデル130、対応するユーザのローカルAIモデル120、及びそれらのAIモデルの任意の派生物が構築される。
【0124】
具体的には、客観的データ920は、複数のユーザの様々なアクション、応答、行動などに関連付けられる。客観的データが収集され、バックエンドサーバ140の深層学習エンジン190と共有されて(たとえば、クラウドに共有されて)、共有された知能のプールが形成され、次いでこれを使用して、グローバルAIモデル130及びその任意の派生物を構築することができる。
【0125】
加えて、ユーザデータ910は主観的ユーザデータ930を含み、これを使用して自律型パーソナルコンパニオンに固有のパーソナリティが与えられ、コンパニオンは特定のユーザに関連付けられる。すなわち、特定のユーザに関連付けられた主観的ユーザデータ930は、対応するコンパニオンを通じて実装されるローカルAIモデルを構築する場合に、個別化された学習または訓練のために使用され、対応するユーザにサービスを提供する場合に、コンパニオンに固有のパーソナリティが与えられる。コンパニオンのパーソナリティは、対応するユーザを反映し得るので、そのパーソナリティを定義するローカルAIモデルは、任意の所与の入力のセット(たとえば、以前に遭遇した入力のセットまたは推定された入力のセット)に対する対応するユーザの応答、アクション、行動、欲求、及び/またはニーズを一部として予測するように構成される。
【0126】
一実施形態では、主観的ユーザデータは、対応するユーザの対応するローカルAIモデル120を構築する目的で、バックエンドサーバ140と共有される。主観的ユーザデータは、グローバルAIモデル130を構築するため、または他の任意のユーザの任意のローカルAIモデルを構築するために、さらに共有されることはない。したがって、主観的ユーザデータは、リソースをより良く利用するために、バックエンドサーバに配信され得る。たとえば、ローカルレベルで(たとえば、コンパニオン100で)AI動作を実行するには計算コストが高すぎるために、バックエンドサーバで主観的ユーザデータを使用してローカルAIモデルを構築する方が効率的であり得る。
【0127】
さらに、ユーザデータ910は、前に導入したプライベートAIモデル(たとえば、モデル810)を構築するために使用されるローカル化された主観的ユーザデータ935を含む。ローカル化された主観的ユーザデータ935は、ネットワークを介してバックエンドサーバ140などに共有されず、代わりに、コンパニオン100の境界に限定またはローカル化される。このようにして、ローカル化された主観的ユーザデータ935を主観的ユーザデータ930の少なくとも一部と共に使用して、コンパニオン100上の深層学習エンジン(エンジン110など)を用いてプライベートAIモデルを構築することができる。プライベートAIモデルは、コンパニオンの外部で共有されないコンパニオンの固有のパーソナリティを実装するので、パーソナリティは固有のままであり、他の任意のローカルまたはグローバルAIモデルを構築するために、ミラーリングしたり使用したりすることはできない。
【0128】
加えて、ユーザデータ910は、プライベートユーザデータ940を含む。このデータは、いかなるローカルまたはグローバルAIモデルの構築にも使用されない。一実施形態では、プライベートユーザデータは自動的に識別される。他の実施形態では、プライベートユーザデータは、ユーザアクションを通じて識別される。たとえば、ユーザは、対応するコンパニオン100に、特定のデータ項目をセキュアなものとしてラベル付けする命令を提供できる。しかしながら、データはプライベートデータ940であると識別され、一実施形態では、セキュアデータはネットワークを介して共有されない。加えて、プライベートデータ940は、自動的に、またはユーザ命令を通じてコンパニオンのメモリから除去され、これは自動除去と共にバックアップされ得る。
【0129】
図9Bに、本開示の一実施形態による、図9Aで導入した異なるタイプのユーザデータを使用して、様々なAIモデルが構築される態様を示す。具体的には、図9Bは、バックエンドサーバ140とコンパニオン100との間の様々なクラスのユーザデータ910の共有を示している。たとえば、ローカルAIモデル、プライベートAIモデル、及び/またはグローバルAIモデルを構築及び/または実装するためのローカルAIエンジン110が、対応するユーザのコンパニオン100に実装され得る。加えて、たとえば、ローカルAIモデル及び/またはグローバルAIモデルを構築及び/または実装するためのAIエンジン190が、バックエンドサーバ140に実装され得る。
【0130】
様々な監視されたユーザデータ910も図示している。対応するコンパニオン100などを介して、対応するユーザに関連付けられたユーザデータが監視される。データ910は、客観的ユーザデータ920(グローバルAIモデル130の構築用)、主観的ユーザデータ930(たとえば、ローカルAIモデル120の構築用)、ローカル化された主観的ユーザデータ935(たとえば、プライベートAIモデル810の構築用)、及びプライベートユーザデータ940(たとえば、いかなるAIモデルの構築にも使用されない)を含む。
【0131】
たとえば、プライベートユーザデータ940は、コンパニオン100において監視され得る。しかしながら、データはプライベートであるので、いかなるローカルAIエンジンまたはグローバルAIエンジンを構築するための入力データとしても使用されない。これは、プライベートユーザデータ940が流れる途切れた経路941及び942(たとえば、AIエンジン190に到達せず、AIエンジン110に到達しない)によって示している。加えて、プライベートユーザデータ940は、コンパニオン100から除去され得る(たとえば、メモリから消去され得る)。
【0132】
加えて、ユーザに関連する客観的ユーザデータ920が、コンパニオンにおいて監視される。客観的ユーザデータ920は、グローバルAIモデル130を構築する目的で、経路921に沿ってバックエンドAIエンジン190と共有される。具体的には、客観的ユーザデータ920は、複数のユーザからの複数のユーザデータ990と組み合わせられ、グローバルAIモデル130を構築する目的でAIエンジン190に入力される。グローバルAIモデル130または派生物(たとえば、グローバルAI’モデル130’)は、経路991に沿ってコンパニオン100に転送され得る。
【0133】
客観的ユーザデータ920はまた、ローカルAIモデル120を構築する目的で、経路922に沿ってバックエンドAIエンジン190と共有され得る。加えて、経路992によって示すように、グローバルAIモデル130の一部を使用して、AIエンジン190においてローカルAIモデル120を構築し得る。ローカルAIモデル120または派生物(たとえば、ローカルAI’モデル120’)は、経路993及び995に沿ってコンパニオン100に転送され得る。コンパニオン100及びバックエンドサーバ140のAIエンジンは、ローカルAIモデル120及びその任意の派生物120’を構築する際に連携し得ることを理解されたい。たとえば、客観的ユーザデータ920はまた、ローカルAIモデル120またはその派生ローカルAI’モデル120’を構築するために、経路923及び924に沿ってコンパニオン100のAIエンジン110と共有され得る。
【0134】
前述のように、ユーザに関連する主観的ユーザデータ930もコンパニオン100において監視される。主観的ユーザデータ930は、ローカルAIモデル120を構築する目的で、経路931に沿ってバックエンドAIエンジン190と共有され得る。すなわち、ローカルAIモデル120は、一つには、ユーザからの客観的データ、ならびに複数のユーザからの客観的データを使用して(たとえば、グローバルAIモデル130の一部をインポートして)構築される。加えて、主観的ユーザデータ930は、ローカルAIモデル120またはその派生物120’の少なくとも一部を構築する目的で、経路993及び934に沿ってコンパニオン100のAIエンジン110で実装され得る。図示のように、主観的ユーザデータ930は、グローバルAIモデル130の構築には使用されず、これは途切れた経路932によって示している。
【0135】
加えて、前述のように、ユーザに関連付けられたローカル化された主観的ユーザデータ935も、コンパニオン100において監視される。しかしながら、ローカル化された主観的ユーザデータはコンパニオン100の境界内に限定されるので、ローカルAIモデル120を構築するための入力データとしては使用されず、これは途切れた経路937(たとえば、バックエンドサーバ140のAIエンジン190に到達しない)によって示している。一方、ローカル化された主観的ユーザデータ935は、プライベートAIモデル810を構築する目的で、コンパニオン100のAIエンジン110内に実装される。具体的には、主観的ユーザデータ930(たとえば、経路933及び936に沿ったもの)は、ローカル化された主観的ユーザデータ935(たとえば、経路938に沿ったもの)と組み合わせられ、経路993及び994に沿って配信されたローカルAIモデル120の少なくとも一部を使用して、プライベートAIモデル810を構築し得る。
【0136】
ネットワークを介して通信する1つまたは複数のAIエンジンの様々なモジュールの詳細な説明を踏まえて、図10の流れ図1000に、本開示の一実施形態による、対応するユーザにサービスを提供する自律型パーソナルコンパニオンによって実装されるグローバルAIモデル及びローカルAIモデルを構築するための方法を開示する。流れ図1000は、前述のコンパニオン100(たとえば、AIエンジン190内)及び/または前述のバックエンドサーバ140(たとえば、AIエンジン110内)で実装され得る。
【0137】
具体的には、1010において、方法は、ユーザの監視された行動に関連するデータにアクセスすることを含み、行動は、ユーザに関連する任意のアクション、応答、感情、アクションの欠如、外観、バイオメトリクスなどを含む。たとえば、データには、ゲームコントローラ入力、コンピュータ入力、コンピュータ操作、テキストクエリ、テキスト応答、口頭クエリ、口頭応答、身体合図、バイオメトリクス、ユーザアクション、眼球運動、及び口頭コミュニケーションのうちの少なくとも1つが含まれる。データはユーザに関連付けられたコンパニオンによって、またはコンパニオンに通信可能に結合された任意の監視システムによってキャプチャされ得る。
【0138】
1020において、方法は、データをクラス別に分類することを含む。前述のように、複数のクラスは、ユーザを含むユーザグループに関連する客観的データを識別する客観的データクラスと、ユーザに特有の主観的データを識別する主観的データクラスとを含む。加えて、クラスは、ユーザに特有であって、コンパニオン100の境界に限定される、ローカル化された主観的データを識別するローカル化された主観的データクラスを含み得る。このようにして、ローカル化された主観的データは、プライベートAIモデルの構築に使用されるが、ローカルAIモデル120の構築には使用されず、どちらもユーザに対応するものである。
【0139】
一実施形態では、複数のクラス内のセキュアデータクラスは、いかなるローカルまたはグローバルAIモデルの構築にも使用されないプライベートユーザデータを識別する。セキュアデータは非常に機密性が高く、したがって、いかなるローカルまたはグローバルAIモデルの構築にも使用してはならない。加えて、セキュアデータは、ネットワークを介してバックエンドサーバのAIエンジンと共有されたり、内部でコンパニオンのAIエンジンと共有されたりしてはならない。すなわち、セキュアデータは、いかなるローカルまたはグローバルAIモデルの構築への使用も制限される。したがって、一実施形態では、セキュアデータはコンパニオンから除去される。一例として、セキュアデータは、ユーザを任意の数の不名誉な立場に置き得るデータを含み得る。セキュアデータは、公開または公表されるとユーザを困らせ得る、非常に機密性の高い電話での会話であり得る。
【0140】
一実施形態では、ユーザは、キャプチャされた一部をセキュアデータとして分類するための第1の命令を送信し得る。この命令は、ユーザのコンパニオンで、及び/またはバックエンドサーバによって受信され得る。加えて、ユーザからの第2の命令も受信され得る。第2の命令はセキュアデータの除去を指令でき、したがって、セキュアデータのあらゆる痕跡がコンパニオンのメモリなどから削除される。
【0141】
1030において、方法は、複数人のユーザの監視された行動に関連する客観的データにアクセスすることを含み、複数人は上記で導入したユーザを含み、そのユーザはサービスを提供するコンパニオンに関連付けられる。ユーザの客観的データは、複数のユーザから客観的データを収集するように構成されるバックエンドサーバと共有され得る。このようにして、複数のユーザの客観的データは、グローバルAIモデルを構築し、ユーザに対応するローカルAIモデルの少なくとも一部を構築するために使用できる共有された知能の共有プールを形成する。
【0142】
1040 において、方法は、人工知能を実行するように構成される深層学習エンジンへの第1の入力のセットとして、ユーザの客観的データ、ユーザの主観的データ、及び複数のユーザの客観的データを提供することを含む。前述のように、深層学習エンジンは、特にユーザが環境内でシナリオに遭遇しているかまたはこれを推進している場合の、ユーザに関する全てを学習するためのAI技術を実装し、シナリオは入力パラメータによって記述される。
【0143】
1050において、方法は、第1の入力のセット、または第1のセット内の任意の入力もしくは入力のグループに反応する場合のユーザの行動を予測する第1の複数の学習されたパターン及び/または経路を決定することを含む。具体的には、学習されたパターンは、ユーザの環境におけるシナリオを記述する所与の入力のセットに対するユーザの応答、行動、アクション、欲求、及び/またはニーズを一部として予測することができる。より具体的には、1060において、方法は、第1の複数の学習されたパターンを含む、ユーザのローカルAIモデルを構築することを含む。
【0144】
一実施形態では、方法は、深層学習エンジンへの第2の入力のセットとして複数人のユーザの客観的データを提供することを含み、複数人は、コンパニオンに関連付けられた、上記で導入したユーザを含む。一実施形態では、第2の入力のセットは、複数のユーザの中のいかなるユーザの主観的データも含まない。第2の複数の学習されたパターンは、第2の入力のセットに基づいて決定される。具体的には、第2の複数の学習されたパターンは、第2の入力のセットまたは入力パラメータによって記述されるシナリオに反応するかまたはこれを体験する場合の一般的なユーザの行動を予測する。深層学習エンジンは、第2の複数の学習されたパターンを含むグローバルAIモデルを構築するように構成される。すなわち、グローバルAIモデルを使用して、一般的なユーザが遭遇または推進するシナリオを記述する所与の入力のセットに対する一般的なユーザの応答、行動、アクション、欲求、及び/またはニーズを一部として予測することができる。
【0145】
さらに他の実施形態では、方法は、ユーザのデータの一部をローカル化された主観的データとして分類することを含む。すなわち、複数のクラスは、前述のローカル化された主観的データクラスを含む。加えて、第3の入力のセットが深層学習エンジンに(たとえば、入力として)提供され、入力は、ユーザの客観的データ、ユーザの主観的データ、ユーザのローカル化された主観的データ、及び複数のユーザの客観的データを含む。第3の複数の学習されたパターンは、第3の入力のセットに基づいて決定される。具体的には、第3の複数の学習されたパターンは、第3の入力のセットまたは入力パラメータによって記述された特定のシナリオに反応するかまたはこれを体験する場合のユーザの行動を予測する。深層学習エンジンは、第3の複数の学習されたパターンを含むプライベートAIモデルを構築するように構成される。すなわち、プライベートAIモデルを使用して、第3の入力のセットまたは入力パラメータによって記述される、ユーザが遭遇または推進する特定のシナリオを記述する所与の入力のセットに対する一般的なユーザの応答、行動、アクション、欲求、及び/またはニーズを一部として予測することができる。
【0146】
一実施形態では、ローカル化された主観的データは、ユーザのローカルAIモデルを構築する場合に使用されないか、または使用が制限される。たとえば、ユーザのローカル化された主観的データは、コンパニオンの境界外では共有されない。より具体的には、ローカル化された主観的データは、コンパニオンに結合されたネットワークを介して配信されることが防止される。このように、ユーザのローカルAIモデルとプライベートAIモデルとは区別される。したがって、コンパニオンにおいて作成及び記憶されたプライベートAIモデルは、ユーザに非常に特有の詳細な個人向けサービスを提供することができ、他の任意のユーザの他の任意のローカルAIモデルでは見つけられない。これにより、他のデータによって(ユーザの何らかの主観的データであっても)損なわれたり影響を受けたりすることができない、コンパニオンの固有のパーソナリティが保証される。
【0147】
したがって、本開示では、様々な実施形態における、ユーザ向けのAIモデルを構築するための深層学習(機械学習とも呼ばれる)技術を実装するシステム及び方法を説明した。
【0148】
本明細書で定義した様々な実施形態は、本明細書で開示した様々な特徴を使用して、特定の実施態様に結合され得、または組み立てられ得ることを理解されたい。したがって、提供した例は一部の可能な例にすぎず、さらに多くの実施態様を定義するために様々な要素を組み合わせることによって可能になる様々な実施態様に限定されない。一部の例では、一部の実施態様は、開示したまたは同等の実施態様の思想から逸脱することなく、より少ない要素を含み得る。
【0149】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家電製品、ミニコンピュータ、メインフレームコンピュータなどを含む様々なコンピュータシステム構成で実施され得る。本開示の実施形態は、有線または無線ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実施することもできる。
【0150】
上記の実施形態を念頭に置いて、本開示の実施形態は、コンピュータシステムに記憶されたデータに関わる様々なコンピュータ実装動作を採用できることを理解されたい。これらの動作は、物理量の物理的操作を必要とするものである。本開示の実施形態の一部を形成する本明細書に記載の動作のいずれもが、有用なマシン動作である。本開示の実施形態はまた、これらの動作を実行するためのデバイスまたは装置に関する。装置は必要な目的のために専用に構築することができ、または装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に起動または構成される汎用コンピュータとすることができる。具体的には、様々な汎用マシンは、本明細書の教示に従って書かれたコンピュータプログラムと共に使用することができ、または必要な動作を実行するためにより専門的な装置を構築する方が好都合であり得る。
【0151】
本開示は、コンピュータ可読媒体上のコンピュータ可読コードとして具現化することもできる。コンピュータ可読媒体は、データを記憶することができる任意のデータ記憶デバイスであり、データは後でコンピュータシステムによって読み出すことができる。コンピュータ可読媒体の例には、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み取り専用メモリ、ランダムアクセスメモリ、CD−ROM、CD−R、CD−RW、磁気テープ、及び他の光学及び非光学データ記憶デバイスが含まれる。コンピュータ可読媒体は、コンピュータ可読コードが分散して記憶及び実行されるように、ネットワーク結合コンピュータシステム上に分散されたコンピュータ可読有形媒体を含むことができる。
【0152】
方法の動作は特定の順序で記述しているが、他のハウスキーピング動作が動作の合間に実行され得、もしくは動作がわずかに異なる時間に行われるように調整され得、または、オーバーレイ動作の処理が所望の方法で実行される限り、処理に関連する様々な間隔で処理動作を行うことを可能にするシステムにおいて分散され得ることを理解されたい。前述の開示は、理解を明確にする目的で、ある程度詳細に説明しているが、添付の特許請求の範囲内で特定の変更及び修正を実施できることは明らかであろう。したがって、本実施形態は、例示的であって限定的ではないものと見なされるべきであり、本開示の実施形態は、本明細書で与えた詳細に限定されるべきではなく、添付の特許請求の範囲及び均等物内で修正され得る。
図1A
図1B
図2
図3A
図3B
図4A
図4B
図4C
図5
図6A
図6B
図6C
図6D
図6E
図6F
図6G
図6H
図7
図8A
図8B
図9A
図9B
図10