JP7436460B2 - 保護されたデータのニューラルネットワーク推論 - Google Patents

保護されたデータのニューラルネットワーク推論 Download PDF

Info

Publication number
JP7436460B2
JP7436460B2 JP2021512684A JP2021512684A JP7436460B2 JP 7436460 B2 JP7436460 B2 JP 7436460B2 JP 2021512684 A JP2021512684 A JP 2021512684A JP 2021512684 A JP2021512684 A JP 2021512684A JP 7436460 B2 JP7436460 B2 JP 7436460B2
Authority
JP
Japan
Prior art keywords
user
user device
neural network
secure
inference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021512684A
Other languages
English (en)
Other versions
JP2021536638A (ja
Inventor
アローラ、ゴーラブ
Original Assignee
シナプティクス インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シナプティクス インコーポレイテッド filed Critical シナプティクス インコーポレイテッド
Publication of JP2021536638A publication Critical patent/JP2021536638A/ja
Application granted granted Critical
Publication of JP7436460B2 publication Critical patent/JP7436460B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Neurology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Description

本実施形態は、一般には機械学習のためのシステム及びデバイスに関する。
機械学習は、コンピュータシステム又はアプリケーションが特定のタスクを実行する能力を向上するための技術である。機械学習は、学習と推論の2つの構成部分に分類し得る。学習フェーズの間に、機械学習システムは“答え”と、該答えに関連付けられた大量の生データと、を供給される。例えば、機械学習システムは、大量の猫の写真、及び/又は、動画(例えば、生データ)と、供給されたメディアコンテンツが“猫”を含むという指標(例えば、答え)と、をシステムに供給することで、猫を識別するように学習される場合がある。機械学習システムは、そして、生データを解析して、答えを説明するために使用可能なルールのセットを“学習”する。例えば、システムは、生データに統計解析を実行して、“猫”という用語と関連付けられ得るルール(例えば、ひげ、脚、毛皮、四つ足、等)の共通のセットを決定する場合がある。ルールのセットは、ニューラルネットワークモデルと呼ばれる場合がある。推論フェーズの間に、機械学習システムは、ルールを新たなデータに適用して、該データについての答え又は推論を生成する場合がある。例えば、システムは、家族の写真を解析し、学習されたルールに基づいて写真が猫の画像を含んでいると決定する場合がある。
本概要は、以下の詳細な説明でさらに説明される、概念の選択を単純化された形態で紹介するために提供される。本概要は、請求された主題の範囲の鍵となる特徴や必須の特徴を特定することを意図せず、請求された主題の範囲を限定することを意図していない。
保護されたデータを推論するための方法及び装置が開示される。本開示の請求された主題の革新的な一態様は、ユーザデバイスによる推論の方法として実装され得る。いくつかの実施形態では、該方法は、ユーザデバイスのリッチな環境で実行されているアプリケーションからアクセス不可であるセキュアなメモリから、保護されたデータを取得することと、ユーザデバイスに記憶された1以上のニューラルネットワークモデルを用いて、保護されたデータについての推論を生成することと、推論に少なくとも部分的に基づいて、ユーザデバイスのユーザインタフェースを更新することと、を含む場合がある。
本開示の請求された主題の革新的な他の態様は、ユーザデバイスにおいて実装され得る。ユーザデバイスは、セキュアな状態又は非セキュアな状態で動作するように構成された処理回路部と、セキュアなパーティションと、非セキュアなパーティションと、を有するメモリと、を備える。セキュアなパーティションは、セキュアな状態で動作している間に処理回路部によって実行されたときに、ユーザデバイスに、非セキュアな状態で動作しているときの処理回路部からアクセス不可であるセキュアなパーティションから、保護されたデータを取得することと、セキュアなパーティションから1以上のニューラルネットワークモデルを取得することと、該1以上のニューラルネットワークモデルを用いて、保護されたデータについての推論を生成することと、を実行させる命令を記憶している。
示された実施形態は、例として図示されており、添付の図面の図によって限定されることを意図されたものでは無い。
図1は、いくつかの実施形態に係る、機械学習システムのブロック図を示す。
図2は、いくつかの実施形態に係る、ユーザデバイスのブロック図を示す。
図3は、いくつかの実施形態に係る、保護されたデータでの機械学習を実行するための処理例を表すシークエンス図を示す。
図4は、いくつかの実施形態に係る、処理システムのブロック図を示す。
図5は、いくつかの実施形態に係る、ユーザデバイスの他のブロック図を示す。
図6は、いくつかの実施形態に係る、ユーザデバイスによる推論のための動作を表す例示的なフローチャートである。
図7は、いくつかの実施形態に係る、例示的な画像撮影動作を表す例示的なフローチャートである。
図8は、いくつかの実施形態に係る、例示的なメディア再生動作を表す例示的なフローチャートである。
図9は、いくつかの実施形態に係る、例示的な認証動作を表す例示的なフローチャートである。
以下の説明では、本開示の十分な理解を提供するために、具体的なコンポーネント、回路、及び、処理の例のような、多くの具体的な詳細が示される。ここで使われる「接続された」という言葉は、直接に接続されている、又は、仲介する1以上のコンポーネント又は回路を介して接続されていることを意味する。更に、以下の説明において、及び、説明を目的として、本開示の態様の十分な理解を提供するために、特定の命名法が用いられる。しかし、例示的な実施形態を実施するためには、これらの具体的な詳細が必要でない場合があることが当業者には明らかであろう。他の例では、本開示が不明確になることを避けるために、周知の回路及びデバイスがブロック図の形式で示される。以下の詳細な説明のいくつかの部分は、過程、論理ブロック、処理、及び、コンピュータのメモリ内のデータービットへの操作を他の記号で表現したもの、という形で提示されている。回路コンポーネント又はソフトウェアブロック間の相互接続は、バス又は単一の信号線として示される場合がある。バスのそれぞれは、代替的に、単一の信号線であってもよく、単一の信号線のそれぞれは、代替的に、バスであっても良く、単一の信号線又はバスは、コンポーネント間の通信のための無数の物理的又は論理的なメカニズムのうちの任意の1以上を表し得る。
後述の議論から明らかなように、特にそうでないと述べられていない場合には、本出願を通して、「アクセスする」、「受信する」、「送信する」、「用いる」、「選択する」、「決定する」、「正規化する」、「乗算する」、「平均する」、「モニタする」、「比較する」、「適用する」、「更新する」、「計測する」、「導出する」、等のような表現を用いて行われる議論は、コンピュータシステム(又は同様の電子計算デバイス)によるアクション及び処理を参照していると認められる。これらのアクション及び処理は、コンピュータシステムのレジスタ及びメモリ内の物理(電気)量として示されるデータを、コンピュータシステムのメモリまたはレジスタ、又は他のそのような情報ストレージ、伝送器、又は表示デバイス内の物理量として同様に示される他のデータに操作及び変換する。
本明細書で説明されている技術は、特定の方法で実施されると特に記載されない限り、ハードウェア、ソフトウェア、ファームウェア、又は、それらの任意の組み合わせで実施され得る。モジュール又はコンポーネントとして説明されている任意の特徴は、集積ロジックデバイスにまとめて実装されるか、又は、個別に分離されているが相互運用が可能なロジックデバイスとして実装される場合がある。ソフトウェアで実装される場合、本技術は、実行されたときに上述の1以上の方法を実現する命令を含む、コンピュータ読取り可能な非一時的記憶媒体によって少なくとも部分的に実現される場合がある。非コンピュータ読取り可能な非一時的記憶媒体は、コンピュータプログラム製品の一部を形成する場合がある。なお、コンピュータプログラム製品は、梱包材を含む場合がある。
非一時的なプロセッサ読取り可能な記憶媒体は、同期ダイナミックランダムアクセスメモリ(synchronous dynamic random access memory)(SDRAM)のようなランダムアクセスメモリ(random access memory)(RAM)、リードオンリーメモリ(read only memory)(ROM)、不揮発性ランダムアクセスメモリ(non-volatile random access memory)(NVRAM)、電子的消去可能プログラマブルリードオンリーメモリ(electrically erasable programmable read-only memory)(EEPROM)、フラッシュメモリ、他の既知の記憶媒体等、を備える場合がある。本技術は追加的に、あるいは代替的に、少なくとも一部が、コードを命令又はデータ構造の形で伝達または通信し、かつ、コンピュータ又は他のプロセッサによってアクセス、読取り、及び/又は、実行可能な、プロセッサ読取り可能な通信媒体によって実現され得る。
本明細書で開示される実施形態に関して説明される様々な例示的な論理ブロック、モジュール、回路、及び、命令は、1以上のプロセッサによって実行され得る。本明細書で用いられる「プロセッサ」という言葉は、任意の汎用プロセッサ、従来のプロセッサ、コントローラ、マイクロコントローラ、及び/又は、メモリに記憶された1以上のソフトウェアプログラムのスクリプト又は命令を実行可能な状態機械、を示す場合がある。
図1は、いくつかの実施形態に係る、機械学習システム100のブロック図を示す。システム100は、ネットワーク環境101と、ユーザデバイス110を含む。いくつかの実施形態では、ネットワーク環境101は、ユーザデバイス110と通信し、ユーザデバイス110に記憶された(又は、そうでない場合にはユーザデバイスによってアクセス可能な)プライベートな、及び/又は、保護されたコンテンツでの機械学習を実行する場合がある。
ネットワーク環境101は、ディープラーニングを通じて1以上のニューラルネットワークモデル102を生成するように構成されている場合がある。ディープラーニングは、学習フェーズが複数のレイヤにわたって実行され、連続する層のそれぞれにおいてより抽象的なルールのセットを生成する、機械学習の特定の形式である。ディープラーニングのアーキテクチャは、その中で情報が処理される(例えば、生物学的な神経系と同様の)方法のために、しばしば人工ニューラルネットワークとも呼ばれる。たとえば、ディープラーニングのアーキテクチャの各層は、いくつかの人工ニューロンで構成されている場合がある。ニューロンは、入力データ(例えば、生データ)が1つの層から別の層に伝達されるように、様々な層にわたって相互接続される場合がある。より具体的には、ニューロンの各層は、入力データに対して異なるタイプの変換を実行して、最終的に所望の出力(例えば、答え)をもたらし得る。相互接続されたニューロンのフレームワークは、ニューラルネットワークモデルと呼ばれる場合がある。そのため、ニューラルネットワークモデル102は、(猫のような)特定のオブジェクトまたは特徴を記述するために用いることができるルールのセットを含む場合がある。
いくつかの態様では、ネットワーク環境101は、複数のソース(ユーザデバイス110、及び/又は、ネットワーク環境101と通信する他のコンテンツソースを含む)から生データを受信し得るクラウドコンピューティングのプラットフォームである。ネットワーク環境101は、生データと関連付けられているルールのセット(例えば、特定のオブジェクト、特徴、受信された信号又はピクセルデータの品質といったサービス品質、及び/又は、他の検出可能な属性)を識別するように学習される場合がある。例えば、いくつかの態様では、ネットワーク環境101は、(例えば、会社のブランディング、及び/又は、広告で使用される)1以上のロゴを識別するように学習される場合がある。学習フェーズの間に、ネットワーク環境101は、ネットワーク環境101に通信可能に接続された1以上のコンテンツソースからそのようなロゴを含む多数の写真、及び/又は、動画を受信する場合がある。ネットワーク環境101は、更に、提供されたメディアコンテンツがロゴを含んでいることの指標を(例えば、ユーザ、又は、メディア及び/又はメディアと共に提供されるデータ若しくはメタデータをレビューするオペレータからのユーザ入力の形式で)受信する場合がある。ネットワーク環境101は、そして、受信した写真、及び/又は、動画に対する統計的な分析を実行して、ロゴに関連付けられる共通の特徴のセットを決定する場合がある。いくつかの態様では、決定された特徴(またはルール)は、抽象化の層の複数にわたる人工ニューラルネットワークを形成し得る。ネットワーク環境101は、推論のためのルールのセットを(例えば、ニューラルネットワークモデル102として)ユーザデバイス110に提供する場合がある。
ユーザデバイス110は、任意のエンドユーザーデバイス又はエッジデバイスであってよい。ユーザデバイス110は、例えば、ユーザ入力を受信し、及び/又は、コンテンツをユーザに出力することによって、ユーザとやり取りし得る。いくつかの態様では、ユーザデバイス110は、所与のユーザの好み、活動、又は、習慣に基づいて、(パーソナライズされたユーザインタフェースのような)カスタマイズ可能なユーザ体験を提供可能な任意のデバイスであり得る。他のいくつかの態様では、ユーザデバイス110は、メディアコンテンツをキャプチャ、記憶、及び/又は、再生することができる任意のデバイスであり得る。ユーザデバイスの例には、セットトップボックス(set-top box)(STB)、コンピュータ、携帯電話、タブレット、テレビ(television)(TV)、等が含まれ得るが、これらに限定されない。
ユーザデバイス110は、ニューラルネットワークアプリケーション112、コンテンツメモリ114、及び、ユーザインタフェース116を備える場合がある。コンテンツメモリ114は、ユーザデバイス110、又は、ユーザデバイス110に接続された表示デバイス(図示せず)において再生及び/又は表示するために、メディアコンテンツ(例えば、熱画像、光学画像、動画、及び、音声等)を記憶又はバッファする。いくつかの態様では、ユーザデバイス110によって表示されるメディアコンテンツの少なくとも一部は、1以上のコンテンツ配信ネットワーク(content delivery network)(CDN)120から受信された(例えば、ストリーミングされた)プレミアムメディアコンテンツ122に対応する場合がある。例えば、プレミアムメディアコンテンツ122は、サードパーティのコンテンツ作成者又はプロバイダ(例えば、テレビネットワーク、制作スタジオ、ストリーミングサービスなど)によって作成された、テレビ番組、映画、及び/又は、メディアコンテンツを含む場合がある。いくつかの実装形態では、ユーザデバイス110は、再生のために、プレミアムメディアコンテンツ122をコンテンツメモリ114に記憶またはバッファすることがある。例えば、コンテンツメモリ114は、ユーザデバイス110によって描写又は表示されるべきプレミアムメディアコンテンツ122に関連付けられている(デコードされた)フルフレームのピクセルデータを、記憶またはバッファするデコード後ビデオフレームバッファとして動作する場合がある。
ニューラルネットワークアプリケーション112は、コンテンツメモリ114に記憶されたメディアコンテンツについての1以上の推論を生成するように構成される場合がある。例えば、いくつかの態様では、ニューラルネットワークアプリケーション112は、メディアコンテンツを分析して、そこに含まれる関心の対象(例えば、顔、ロゴ、宛先など)を推論または識別する場合がある。いくつかの実施形態では、ニューラルネットワークアプリケーション112は、ネットワーク環境101から受信したニューラルネットワークモデル102に基づいて推論を生成する場合がある。例えば、推論フェーズの間に、機械学習システムは、(例えば、人工ニューラルネットワーク内の人工ニューロンをトラバースすることによって)ニューラルネットワークモデル102をコンテンツメモリ114に記憶された新しいメディアコンテンツに適用して、新たなメディアコンテンツについての情報(例えば、メディアコンテンツが1以上の既知のロゴを含むかどうか)を推論する場合がある。
本開示の態様は、例えば、ニューラルネットワークモデル102を更に改良するために、及び/又は、ユーザデバイス110に記憶されたメディアコンテンツに基づいて追加のニューラルネットワークモデルを生成するために、特定のメディアコンテンツをネットワーク環境101に送信することが(不可能ではない場合でも)望ましくない場合があることを認識している。例えば、コンテンツのプロバイダ及び/又は作成者は、プレミアムメディアコンテンツ122の共有又はストリーミングを、(例えば、“プレミアムコンテンツの保護”の下に、あるいは、デジタル著作権管理(Digital Rights Management)(DRM)法及び規制の下に)制限する場合がある。更に、ユーザは、他人がアクセス可能なクラウドに彼らの個人情報を送信することを望まない場合がある。そのため、本明細書で説明される実施形態が、ユーザのプライバシーとコンテンツプロバイダの権利が保護される方法で、メディアコンテンツでの機械学習を実行するために用いられる場合がある。
いくつかの実施形態では、ユーザデバイス110は、フィルタされたフィードバックデータ104をネットワーク環境に選択的に返信する場合がある。いくつかの態様では、フィルタされたフィードバックデータ104は、コンテンツメモリ114に記憶又はバッファされたメディアコンテンツから生成された推論についての限定された情報を含み得る。詳細には、限定された情報は、ユーザデバイス110のユーザ及び/又はコンテンツの所有者のプライバシー権を侵害しないように選択またはフィルタされる場合がある。例えば、フィルタされたフィードバックデータ104は、コンテンツメモリ114に記憶されたオリジナルのメディアコンテンツ(例えば、画像及び/又は動画)を再構築するために使用可能な如何なるピクセルデータ又は他の情報を含まない場合がある。更に、フィルタされたフィードバックデータ104は、ユーザデバイス110のユーザについての如何なる個人識別情報(例えば、名前、年齢、性別、所在地、等)、又は、そのような個人識別情報を導出するために使用可能な情報も示さない場合がある。
いくつかの実施形態では、ニューラルネットワークアプリケーション112は、コンテンツメモリ114に記憶又はバッファされたコンテンツを使用して、ニューラルネットワークモデル102に対して追加的な学習を実行する場合がある。例えば、ニューラルネットワークアプリケーション112は、コンテンツメモリ114に記憶若しくはバッファされたメディアコンテンツに基づいてニューラルネットワークモデル102を改良、及び/又は、新しいニューラルネットワークモデルを生成する場合がある。いくつかの態様では、ニューラルネットワークアプリケーション112は、更新されたニューラルネットワークモデルを、ディープラーニングのアーキテクチャを更に改良するために、(例えば、フィルタされたフィードバックデータ104として)ネットワーク環境101に提供する場合がある。このようにして、ネットワーク環境101は、ユーザデバイス110に記憶されたメディアコンテンツ(例えば、様々な他のユーザデバイスに記憶されたメディアコンテンツ)に基づいて、実際のメディアコンテンツに対応する生データを受信又はアクセスすることなく、そのニューラルネットワークモデル102を更に改良する場合がある。
(プレミアムメディアコンテンツ122といった)いくつかのメディアコンテンツは、ユーザデバイス110上のセキュアなリポジトリ(例えば、信頼された環境)に記憶される場合がある。セキュアなリポジトリは、信頼された環境内に存在するアプリケーション及び/又はハードウェアのみがセキュアなリポジトリに記憶されたデータにアクセスできるように、ユーザデバイス110の残りの部分から仮想的に、及び/又は、物理的に分割される場合がある。いくつかの態様では、セキュアなリポジトリは、コンテンツメモリ114のうち少なくとも一部に形成される場合がある。そのため、プレミアムメディアコンテンツ122(及び他の保護されたコンテンツ)は、コンテンツメモリ114のセキュアなリポジトリ内に記憶される場合がある。信頼された環境の外部(たとえば、リッチな環境)で動作する任意のハードウェア及び/又はアプリケーションは、セキュアなリポジトリに記憶されたデータへのアクセスが制限されている場合があるが、一方で信頼された環境内のハードウェアやアプリケーションは、外界との通信が非常に制限され得る。
外界と(例えば、ネットワーク環境101と)通信するために、いくつかのニューラルネットワークアプリケーションは、信頼された環境ではなく、リッチな環境で動作する場合がある。しかしながら、リッチな環境で動作するニューラルネットワークアプリケーションは、(プレミアムメディアコンテンツ122、DRM、著作権、又は、プライバシー法、等で保護された他のメディアコンテンツのような)保護されたメディアコンテンツにアクセスしない場合があり、そのため、そのようなコンテンツでの機械学習(またはディープラーニング)を実行不可能である場合がある。
いくつかの実施形態では、ニューラルネットワークアプリケーション112は、少なくとも部分的に、ユーザデバイス110の信頼された環境内に存在する場合がある。信頼された環境内にニューラルネットワークアプリケーション112を配置することで、ニューラルネットワークアプリケーション112が、さもなければリッチな環境で動作するニューラルネットワークアプリケーションがアクセス不可である(プレミアムメディアコンテンツ122のような)保護されたメディアコンテンツでの機械学習が実行可能となる。例えば、ニューラルネットワークアプリケーション112は、ユーザがユーザデバイス110で見る様々なテレビ番組及び/又は映画を、描写あるいは表示するために使用可能なフルフレームのピクセルデータにアクセスする場合がある。その結果、ニューラルネットワークアプリケーション112は、ユーザが視聴するテレビ番組及び/又は映画に基づいて、ユーザデバイス110のユーザの関心及び/又は視聴習慣についての推論を生成する。いくつかの実施形態では、ニューラルネットワークアプリケーション112(あるいはモバイルデバイス110上で実行される別のアプリケーション)は、ユーザの視聴習慣に関する推論に基づいて、推奨及び/又は追加的なコンテンツをユーザに対して更に提供する場合がある。
ユーザインタフェース116は、それによってユーザがデバイス110又はユーザデバイス110と接続された電子システム(シンプルにするために図示せず)を、操作、相互交信、又は、別の方法で使用することが可能となるところの、インタフェース又は機能を提供する場合がある。いくつかの態様では、ユーザインタフェース116は、ユーザ入力を受信するための1以上の入力ソースを含む場合がある。例示的な入力ソースは、カメラ、マイクロフォン、ボタン、キーボード、マウス、タッチパッド、指紋スキャナ、フォトセンサ、加速度計、及び、ジャイロスコープ等を含むが、これらに限定されない。他のいくつかの態様では、ユーザインタフェース116は、コンテンツをユーザに出力するための1以上の出力ソースを含む場合がある。例示的な出力ソースは、スピーカー、ディスプレイ、及び、ライト等を含む場合があるが、これらに限定されない。いくつかの実施形態では、ユーザインタフェース116は、ニューラルネットワークアプリケーション112に生成された推論に少なくとも部分的に基づいて、コンテンツ又は情報を、ユーザデバイス110上に表示、描写、又は、別の方法による明示を行う場合がある。
図2は、いくつかの実施形態に係る、ユーザデバイス200のブロック図を示す。ユーザデバイス200は、図1のユーザデバイス110の一実施形態である場合がある。ユーザデバイス200は、ハードウェアプラットフォーム230及びソフトウェア実行環境201を含む。ハードウェアプラットフォーム230は、ユーザデバイス200の任意のハードウェア(例えば、プロセッサ、メモリ、及び、通信インタフェース等)を備える場合がある。ソフトウェア実行環境201は、ハードウェアプラットフォーム230上で実行される任意のソフトウェア又は命令(例えば、カーネル、オペレーティングシステム、及び、アプリケーション等)を含む。
いくつかの実施形態では、ソフトウェア実行環境201は、リッチな環境210と、信頼された環境220と、に分割される場合がある。リッチな環境210は、1以上のユーザアプリケーション212、リッチなニューラルネットワークアプリケーション214、及び、信頼された実行環境(trusted execution environment)(TEE)クライアントアプリケーションプログラミングインタフェース(application programming interface)(API)216を含む場合がある。信頼された環境220は、1以上の信頼されたアプリケーション222、信頼されたニューラルネットワークアプリケーション224、及び、TEEカーネル226を含む場合がある。上記で説明したように、信頼された環境220は、リッチな環境210から、物理的または仮想的に分割されている(例えば、分離、又は、仕切られている)場合がある。より詳細には、信頼された環境220で実行されるソフトウェア又は命令のみが、ハードウェアプラットフォーム230上に存在するセキュアなハードウェア(HW)リソース232にアクセスし得る。リッチな環境210と信頼された環境220との間の通信は、TEEクライアントAPI216を介してのみ可能にされる。このようにして、TEEクライアントAPI216は、セキュアなハードウェアリソース232が、リッチな環境210で実行されるいかなるソフトウェアまたは命令からアクセス不可であることを保証し得る。
いくつかの実施形態では、セキュアなハードウェアリソース232は、保護されたデータを記憶するための(図1のコンテンツメモリ114、又は、そのうち少なくとも一部といった)セキュアなリポジトリ又はメモリを含む場合がある。 例えば、いくつかの態様では、保護されたデータは、プレミアムコンテンツ(例えば、テレビ番組、及び、映画等)、又は、他のメディアコンテンツを含む場合がある。他のメディアコンテンツは、DRM、著作権、または他の法律及び/又は規制の下で保護されている場合がある。他のいくつかの態様では、保護されたデータは、生体認証用のシグネチャ(例えば、ユーザの顔の画像、指紋、網膜スキャン、及び、ユーザの声の録音等)、又は、認証の目的で使用され得る他の媒体を含む場合がある。保護されたデータの秘密性、及び/又は、機密性のために、セキュアなハードウェアリソース232は、信頼された環境220の外部のソフトウェア及び/又はハードウェアからはアクセス不可である場合がある。さらに、信頼された環境220内の(信頼されたアプリケーション222及び/又は信頼されたニューラルネットワークアプリケーション224のような)アプリケーションは、保護されたデータに関連付けられた情報をリッチな環境210に通信することを制限される場合がある。
いくつかの実施形態では、ユーザデバイス200は、ハードウェアプラットフォーム230に記憶されたデータでの機械学習を実行する場合がある。いくつかの態様では、ユーザデバイス200は、(図1のネットワーク環境101といった)ネットワーク環境から、ハードウェアプラットフォーム230に記憶されたデータについての推論を生成するために使用され得る1以上のニューラルネットワークモデルを受信する場合がある。他のいくつかの態様では、ユーザデバイス200(例えば、リッチなニューラルネットワークアプリケーション214、及び/又は、信頼されたニューラルネットワークアプリケーション224)は、(例えば、図1に関連して上記で説明したように)ハードウェアプラットフォーム230に記憶されたデータに基づいて、ニューラルネットワークモデルのうち少なくともいくつかをローカルに学習または生成する場合がある。
リッチなニューラルネットワークアプリケーション214は、ハードウェアプラットフォーム230上に(例えば、リッチな環境210内に)記憶された保護されていないデータにニューラルネットワークモデルを適用する場合がある。しかしながら、リッチなニューラルネットワークアプリケーション214は、セキュアなハードウェアリソース232に記憶されている保護されたデータにアクセスできない場合がある。いくつかの実施形態では、信頼されたニューラルネットワークアプリケーション224はまた、(例えば、TEEクライアントAPI216を介して)ニューラルネットワークモデルを受信する場合があり、セキュアなハードウェアリソース232に記憶された保護されたデータにニューラルネットワークモデルを適用する場合がある。いくつかの態様では、信頼されたニューラルネットワークアプリケーション224はまた、ハードウェアプラットフォーム230に(例えば、リッチな環境210の内に)記憶された保護されていないデータにアクセスすることができる場合がある。
信頼されたニューラルネットワークアプリケーション224は、信頼された環境220の中に存在するので、ニューラルネットワークアプリケーション224は、セキュアなハードウェアリソース232に記憶された保護されたデータのフルフレームのピクセルデータについて機械学習を実行する場合がある。これに応じて、ニューラルネットワークアプリケーション224は、保護されたデータについての推論を生成する場合がある。ニューラルネットワークアプリケーション224は、セキュアなハードウェアリソース232からの如何なる生データ(例えば、ピクセルデータ)を、信頼された環境220の外部に送信しない場合があるが、ニューラルネットワークアプリケーション224は、生データに関する推論をリッチな環境210に提供する場合がある。以下でより詳細に説明するように、推論は、ユーザデバイス200のユーザに向上されたユーザ体験を提供するために使用される場合がある。例えば、推論は、ユーザの関心、好み、及び/又は、行動を示している場合があるため、ユーザデバイス200は、推論を使用して、ユーザに関連し得る推奨及び/又は追加的なコンテンツを出力する場合がある。
いくつかの態様では、保護されたデータは、テレビ番組または映画といった、ユーザデバイス200、又は、ユーザデバイス200に接続された表示デバイス(シンプルにするために図示せず)上で描写又は表示され得るプレミアムメディアコンテンツを含む場合がある。いくつかの実施形態では、ニューラルネットワークアプリケーション224は、プレミアムコンテンツから、関心の対象(例えば、人、場所、及び、ロゴ等)を推定する場合がある。例えば、ニューラルネットワークアプリケーション224は、コンテンツプロバイダ(例えば、テレビ放送ネットワーク、及び、映画制作スタジオ等)に対応するロゴ又は記号を識別し得る。ニューラルネットワークアプリケーション224は、識別されたロゴ又は記号に基づいて、ユーザデバイス200のユーザが特定のテレビ局またはネットワークで放送されるテレビ番組を好むことを決定する場合がある。これに応じて、ニューラルネットワークアプリケーション224は、同じテレビネットワークからの他の番組をユーザに推奨する場合がある。
別の例では、ニューラルネットワークアプリケーション224は、製品のブランド及び/又は広告に関連付けられるロゴまたは記号を識別する場合がある。いくつかの態様では、ニューラルネットワークアプリケーション224は、識別されたロゴまたは記号に基づいて、ユーザデバイス200のユーザが特定のブランド又は種類の製品を好む、又は、関心を持つと決定する場合がある。これに応じて、ニューラルネットワークアプリケーション224は、特定のブランドまたは種類の製品(又は、関連のブランド及び/又は製品)にターゲットされた広告をユーザに提示する場合がある。いくつかの他の態様では、ニューラルネットワークアプリケーション224は、識別されたロゴまたは記号に基づいて、何れの広告及び/又は製品ブランドがユーザデバイス200のユーザによって視聴される可能性が最も高いか、を決定する場合がある。これに応じて、ニューラルネットワークアプリケーション224は、広告又はプロダクトプレイスメントのために、メディアコンテンツを放送したテレビネットワークへアトリビューションを提供する場合がある。
いくつかの他の態様では、保護されたデータは、顔、指紋、又は音声録音といった生体認証データを含む場合がある。生体認証データは、ユーザデバイス200のユーザを認証するために用いられる場合がある。いくつかの実施形態では、ニューラルネットワークアプリケーション224は、生体認証データに基づいて、ユーザについての1以上のニューラルネットワークモデルを生成する場合がある。ニューラルネットワークアプリケーション224は、ニューラルネットワークモデルを用いて、ユーザデバイス200内に存在するかユーザデバイス200に接続されたカメラ、又は、他の画像撮影デバイスによりその後撮影された画像及び/又は動画から、ユーザの身元を推論する場合がある。いくつかの態様では、ニューラルネットワークアプリケーション224は、ユーザの身元に基づいて、更に、コンテンツをユーザに表示又は推奨する場合がある。例えば、ニューラルネットワークアプリケーション224は、ユーザの既知の関心にマッチするテレビ番組及び/又は映画を表示する場合がある。
いくつかの実施形態では、(ユーザアプリケーション212といった)ユーザデバイス200上で実行される他のアプリケーションもまた、信頼されたニューラルネットワークアプリケーション224によって生成された推論を用いて、それらのユーザ体験を向上する場合がある。例えば、いくつかのアプリケーションは、音声入力を検出及び応答するように構成されている場合がある。関心の対象が信頼されたニューラルネットワークアプリケーション224によって検出されると、ユーザは(例えば、ユーザデバイス200との物理的な操作無しで)、検出されたオブジェクトについての追加情報を取得するようにユーザデバイス200に口頭で指示し得る。さらに、多くの音声ベースのアプリケーションは、自動音声認識(automatic speech recognition)(ASR)を用いて、特定の音声パターンを検出及び応答する場合がある。例えば、ASRアプリケーションは、音声入力に対してどのように処理又は応答するかを決定するために、特定のフレーズで一以上の辞書またはライブラリを検索する場合がある。関心の対象が信頼できるニューラルネットワークアプリケーション224によって検出されると、ユーザデバイス200は、ユーザの音声入力に応答する準備として、関連する(例えば、検出オブジェクトに関連する)ASR辞書を取得する場合がある。
いくつかの実施形態では、信頼されたニューラルネットワークアプリケーション224は、セキュアなハードウェアリソース232に記憶されたデータに基づいて、追加的なニューラルネットワークモデルを生成するか、又は既存のニューラルネットワークモデルを改良する場合がある。いくつかの態様では、リッチなニューラルネットワークアプリケーション214は、TEEクライアントAPI216を介して、(例えば、信頼されたニューラルネットワークアプリケーション224からの)更新されたニューラルネットワークモデル及び/又はフィルタされたフィードバックデータを受信する場合がある。リッチなニューラルネットワークアプリケーション214は、更に、更新されたニューラルネットワークモデル及び/又はフィルタされたフィードバックデータを、クラウド又は(図1のネットワーク環境101のような)ネットワーク環境にさらに伝達する場合がある。このようにして、ネットワーク環境は、メディアデバイス200に記憶されたデータ(及び、例えば、他の様々なコンテンツソースからのコンテンツ)に基づいて、メディアデバイス200のセキュアなハードウェアリソース232に記憶された生データを受信あるいはアクセスすることなく、ニューラルネットワークモデルをさらに改良する場合がある。
図3は、いくつかの実施形態に係る、保護されたデータについての機械学習を実行するための例示的な処理300を表すシーケンス図を示す。例えば、図1を参照して、処理300は、セキュアなリポジトリ(例えば、信頼された環境)に記憶されたデータについてニューラルネットワークモデルを生成及び/又は適用するために、機械学習システム100によって実行される場合がある。図3の実施形態では、処理300は、セキュアなコンテンツメモリ312、ニューラルネットワークアプリケーション314、及び、ネットワークリソース322の間で実行される。セキュアなコンテンツメモリ312及びニューラルネットワークアプリケーション314は、(図2の信頼された環境220のような)ユーザデバイスの信頼された実行環境310の内に存在する一方で、ネットワークリソース322は、非セキュアな環境320(例えば、外界)の内で動作する。
ネットワークリソース322は、機械学習(例えば、ディープラーニング)により1以上のニューラルネットワークモデル302を生成するように構成される場合がある。いくつかの態様では、ネットワークリソース322は、複数のコンテンツソースから生データを受信し得るクラウドコンピューティングプラットフォームである場合がある。ネットワークリソース322は、生データに対応するルールのセット(例えば、特定のオブジェクト、特徴、サービスの品質、及び/又は、他の検出可能な属性)を識別するように学習される場合がある。学習フェーズの間に、ネットワークリソース322は、ネットワークリソース322と通信可能に接続された1以上のコンテンツソースから、大量の生データを受信する場合がある。ネットワークリソース322はまた、生データに対応する1以上のルールの指標(例えば、メディア及び/又はデータを視聴するユーザ又はオペレータからのユーザ入力、又は、メディアと共に供給されるメタデータの形での)を受信する場合がある。ネットワークリソース322は、そして、生データについて統計分析を実行して、ルールに対応する属性の共通のセットを決定する場合がある。いくつかの態様では、決定された属性(またはルール)は、抽象化の複数の層に及ぶ人工ニューラルネットワークを形成する場合がある。ネットワークリソース322は、推論のために、ルールのセットを(例えば、ニューラルネットワークモデル302として)ニューラルネットワークアプリケーション314に提供する場合がある。
ニューラルネットワークアプリケーション314は、ネットワークリソース322からニューラルネットワークモデル302を(例えば、ユーザデバイス上に提供されるTEEクライアントAPIを介して)受信する場合があり、ニューラルネットワークモデル302を用いてセキュアなコンテンツメモリ312に記憶されたデータについての1以上の推論を生成する場合がある。 セキュアなコンテンツメモリ312は、ユーザデバイスまたは対応する表示デバイス上に表示又は描写され得る保護されたデータ(例えば、プレミアムメディアコンテンツ、及び、生体認証データ等)を記憶する場合がある。より具体的には、保護されたデータは、信頼された実行環境310の外部のハードウェア及び/又はアプリケーションにアクセス不可である場合がある。しかしながら、ニューラルネットワークアプリケーション314は、信頼された実行環境310内に存在するため、ニューラルネットワークアプリケーション314は、セキュアなコンテンツメモリ312に記憶された生データ(ユーザデバイス上に表示されるべき画像及び/又は動画のフルフレームのピクセルデータを含む)に対してフルアクセスを有する場合がある。
ニューラルネットワークアプリケーション314は、セキュアなコンテンツメモリ312から保護されたデータ304を受信する場合がある。いくつかの態様では、保護されたデータ304は、ユーザデバイスによって再生又はストリーミングされているメディアコンテンツに対応する場合がある。例えば、保護されたデータ304は、ユーザデバイスのユーザが現在見ている画像及び/又は動画を含む場合がある。他のいくつかの態様では、保護されたデータ304は、以前の登録又は認証プロセスの間にセキュアなコンテンツメモリ312に記憶された生体認証データを含む場合がある。
いくつかの実施形態では、ニューラルネットワークアプリケーション314は、保護されたデータ304について機械学習306を実行する場合がある。いくつかの態様では、ニューラルネットワークアプリケーション314は、(ネットワークリソース322から受信したニューラルネットワークモデル302のような)1以上のニューラルネットワークモデルに基づいて、保護されたデータ304についての推論を生成する場合がある。いくつかの他の態様では、ニューラルネットワークアプリケーション314は、保護されたデータ304に基づいて、新たなニューラルネットワークモデル(またはルール)を生成する場合がある。さらにその上、いくつかの態様では、ニューラルネットワークアプリケーション314は、保護されたデータ304を用いて、(ネットワークリソース322から受信したニューラルネットワークモデル302のような)1以上の既存のニューラルネットワークモデルを更新する場合がある。
いくつかの実施形態では、ニューラルネットワークアプリケーション314は、(例えば、図2に関連して上記で説明したように)機械学習306に少なくとも部分的に基づいて、フィルタされたフィードバックデータ308をネットワークリソース322に提供する場合がある。いくつかの態様では、フィルタされたフィードバックデータ308は、保護されたデータ304から生成された推論についての限定された情報を含む場合がある。具体的には、該限定された情報は、ユーザデバイスのユーザ及び/又はコンテンツのオーナーのプライバシー権を侵害しないようにフィルタされている場合がある。例えば、フィルタされたフィードバックデータ308は、オリジナルのデータ304を再構築するために使用可能な如何なる生データ(例えば、ピクセルデータ)又は他の情報を含まない場合がある。さらに、フィルタされたフィードバックデータ308は、ユーザデバイスのユーザについての如何なる個人識別情報(名前、年齢、性別、及び、位置等)、又は、そのような個人識別情報を導出するために使用可能な如何なる情報をも示さない場合がある。他のいくつかの態様では、フィルタされたフィードバックデータ308は、ニューラルネットワークアプリケーション314によって生成された、新規の、又は、更新されたニューラルネットワークモデルを含む場合がある。このようにして、ネットワークリソース322は、更に、そのニューラルネットワークモデル302を、保護されたデータ304を受信又はアクセスすることなく改良し得る。
図4は、いくつかの実施形態に係る、処理システム400のブロック図を示す。処理システム400は、図1のユーザデバイス110、及び/又は、図2のユーザデバイス200の一実施形態である場合がある。処理システム400は、アプリケーション処理ユニット(applications processing unit)(ACPU)410、ニューラルネットワーク処理ユニット(neural network processing unit)(NPU)420、入力処理ユニット(input processing unit)(IPU)430、及び、メモリ装置440を備える。
ACPU410は、1以上のアプリケーション及び/又はオペレーティングシステムを実行するように構成された1以上の汎用プロセッサを含む場合がある。ACPU410は、リッチな実行環境(rich execution environment)(REE)412、及び、信頼された実行環境(TEE)414を含む場合がある。REE412及びTEE414は、それぞれ、ソフトウェア実行環境201のリッチな環境210及び信頼できる環境220と一致する場合がある。図4の実施形態では、ACPU410は、REE412においてリッチなニューラルネットワーク(neural network)(NN)アプリケーション413を実行する場合があり、TEE414において信頼されたニューラルネットワーク(NN)アプリケーション415を実行する場合がある。いくつかの実装形態では、ACPU410は、セキュアな状態と、非セキュアな状態と、で動作するように構成可能である。例えば、ACPU410は、TEE414からのアプリケーション及び/又は処理を実行するときにはセキュアな状態で動作する場合があり、REE412からのアプリケーション及び/又は処理を実行するときには非セキュアな状態で動作する場合がある。
NPU420は、ニューラルネットワークの推論を加速するように構成された1以上のプロセッサを含む場合がある。たとえば、NPU420のハードウェアアーキテクチャは、ACPU410のような汎用プロセッサよりも高速及び/又は効率的にニューラルネットワークをトラバースするように特に設計されている場合がある。いくつかの実装では、ACPU410は、少なくとも部分的に、リッチなニューラルネットワークアプリケーション413又は信頼されたニューラルネットワークアプリケーション415を実行するように、NPU420を呼び出す場合がある。そのため、いくつかの実施形態では、NPU420は、セキュアな状態、及び/又は、非セキュアな状態で動作するように更に構成される場合がある。セキュアな状態で動作しているとき、NPU420は、信頼された環境に存在するソフトウェア及び/又は(セキュアなHWリソース232といった)ハードウェアのリソースと通信及びアクセスすることができる。
IPU430は、処理システム400によって記憶されるか、さもなければ使用されるところのユーザ入力405を(例えば、フィルタリング、解析、及び、符号化等によって)処理するように構成されたハードウェアリソースを含む場合がある。ユーザ入力405は、テキストベースの入力、選択ベースの入力、及び/又は、ユーザによって提供される生体認証入力を含む場合がある。ユーザ入力405は、1以上の入力デバイス(シンプルにするために図示せず)によって受信及び/又は検出される場合がある。例示的な入力デバイスには、キーボード、マウス、ジョイスティック、カメラ、容量センサ、タッチパッド、指紋センサ、及び、マイクロフォン等が含まれ得るが、これらに限定されない。いくつかの実装では、ACPU410は、信頼されたニューラルネットワークアプリケーションに関連してユーザ入力405を処理するようにIPU430を構成する場合がある。そのため、IPU430もまた、セキュアな状態で動作するように構成される場合がある。セキュアな状態で動作しているときには、IPU430は、信頼された環境に存在するソフトウェア及び/又は(セキュアなHWリソース232といった)ハードウェアのリソースと通信し、これらにアクセスする場合がある。
ACPU410は、REE412からの非セキュアなメモリアクセストランザクション402、及び、TEE414からのセキュアなメモリアクセストランザクション404を開始する場合がある。NPU420及びIPU430は、それぞれに、メモリ装置440とのNPUトランザクション406及びIPUトランザクション408を実行する場合がある。例えば、トランザクション402-408のそれぞれは、(例えば、メモリ装置440からデータを読取りするための)読取りトランザクション、又は、(例えば、メモリ装置440にデータを書込むための)書込みトランザクションを含む場合がある。トランザクションを開始する側は「マスター」と呼ばれ、トランザクションの受信側は「スレーブ」と呼ばれる場合がある。そのため、議論を目的として、ACPU410、NPU420、及び、IPU430は、本明細書において一般に、複数のマスターと呼ばれる場合がある。処理システム400は3個のマスター410-430を含むものとして示されているが、いくつかの実施形態では、処理システム400は、図4で示されたものよりも少ない、あるいは、より多いマスターを含む場合がある。
メモリ装置440は、非セキュアなパーティション450と、セキュアなパーティション460を含む。セキュアなパーティション460と非セキュアなパーティション450とは互いに、物理的及び/又は仮想的に分離される場合がある。いくつかの実装では、メモリパーティション450及び460はそれぞれに、共有のメモリデバイス(例えば、DRAM)のうちの異なるアドレス空間を含む場合がある。他のいくつかの実装では、メモリパーティション450及び460は、別個のメモリデバイス上に実装される場合がある。非セキュアなパーティション450は、リッチな環境に恒常的に存在する。そのため、非セキュアなパーティション450は、REE412、及び、リッチな環境から動作する他のソフトウェア及び/又はハードウェアのリソースからアクセス可能となるべき任意のデータを格納するように構成される場合がある。対照的に、セキュアなパーティション460は、信頼された環境に恒常的に存在する。そのため、セキュアなパーティション460は、TEE414、及び、(NPU420及び/又はIPU430のような)信頼できる環境からの、又は、セキュアな状態で動作するところの他のソフトウェア及び/又はハードウェアのリソースからのみアクセス可能となるべきデータを記憶するように構成されている場合がある。
図4の実施形態では、非セキュアなパーティション450は、保護されていないデータ452を記憶し、セキュアなパーティション460は、ニューラルネットワークモデル462、推論結果464、及び、保護されたデータ466を記憶する。いくつかの実装では、メモリ装置440は、メモリトランザクション402-408を、少なくとも部分的に、トランザクションを開始するマスターのセキュリティ状態に基づいてフィルタする場合がある。より詳細には、メモリ装置440は、リッチな環境で動作するソフトウェア及び/又はハードウェアが非セキュアなパーティション450にアクセスできるが、セキュアなパーティション460にはアクセスできないことを保証する場合がある。例えば、メモリ装置440は、非セキュアなACPUトランザクション402が保護されていないデータ452にアクセスを可能にする場合があるが、如何なる非セキュアなACPUトランザクション402が、ニューラルネットワークモデル462、推論結果464、又は、保護されたデータ466にアクセスすることを拒否する場合がある。
メモリ装置440はまた、セキュアな環境で動作するソフトウェア及び/又はハードウェアが、セキュアなパーティション460にアクセス可能であることを保証する場合がある。例えば、メモリ装置440は、IPU430がセキュアな状態からトランザクション408を開始したときには、IPUトランザクション408が保護されたデータ466(例えば、ユーザデータ、及び、プレミアムメディアコンテンツ等)をセキュアなパーティション460に書込むことを許可する場合がある。メモリ装置440はまた、NPU420がセキュアな状態からトランザクション406を開始したときには、NPUトランザクション406がニューラルネットワークモデル462及び/又は保護されたデータ466をセキュアなパーティション460から読取り、推論結果464をセキュアなパーティション460に書込むことを許可する場合がある。さらにその上、メモリ装置440は、セキュアなACPUトランザクション404がセキュアなパーティションから推論結果464を読み取ることを許可する場合がある。
図5は、いくつかの実施形態に係る、ユーザデバイス500の他のブロック図を示す。ユーザデバイス500は、図1のユーザデバイス110及び/又は図2のユーザデバイス200の一実施形態である場合がある。ユーザデバイス500は、デバイスインタフェース510、プロセッサ520、及び、メモリ530を備える。
デバイスインタフェース510は、ユーザデバイス500と接続された1以上の入力ソース、及び/又は、出力ソースと通信するために使用される場合がある。例示的な入力ソースは、カメラ、マイクロフォン、ボタン、キーボード、マウス、タッチパッド、指紋スキャナ、フォトセンサ、加速度計、及び、ジャイロスコープ等を含む場合がある。例えば、センサインタフェース510は、入力ソースに信号を送信し、入力ソースから信号を受信して、ユーザデバイス500のユーザからのユーザ入力を受信する場合がある。例示的な出力ソースは、スピーカー、ディスプレイ、及び、ライト等を含み得るが、これらに限定されない。例えば、センサインタフェース510は、出力ソースに信号を送信し、出力ソースから信号を受信して、デバイス500のユーザに情報及び/又はメディアコンテンツを出力する場合がある。
メモリ530は、セキュアなパーティション531と、非セキュアなパーティション535と、を含む場合がある。セキュアなパーティション531は、例えば、ユーザデータ、プレミアムメディアコンテンツ等といった保護されたデータを記憶するように構成された、保護されたデータストア532を含む場合がある。セキュアなパーティション531はまた、非一時的なコンピュータ読取り可能な記憶媒体(例えば、EPROM,EEPROM、フラッシュメモリ、及び、ハードドライブ等といった1以上の不揮発性メモリ素子)を含む場合がある。なお、この非一時的なコンピュータ読取り可能な記憶媒体は、保護されたデータストア532に記憶された保護されたデータについての推論を生成するためのニューラルネットワークソフトウェア(SW)モジュール534を記憶し得る。同様に、非セキュアなパーティション535は、非一時的なコンピュータ読取り可能な記憶媒体を含む場合がある。この非一時的なコンピュータ読取り可能な記憶媒体は、保護されたデータについての推論に少なくとも部分的に基づいて情報及び/又はメディアコンテンツをユーザに出力するための、ユーザインタフェースSWモジュール536を記憶し得る。
各ソフトウェアモジュールは、プロセッサ520によって実行されると、ユーザデバイス500に対応する機能を実行させる命令を含む。そのため、メモリ530の非一時的なコンピュータ読取り可能な記憶媒体は、図6-9に関連して以下で説明する操作の全部あるいは一部を実行するための命令を含む。プロセッサ520は、ユーザデバイス500に記憶された1以上のソフトウェアプログラムのスクリプト又は命令を実行可能な、1以上の任意の適切なプロセッサである場合がある。例えば、プロセッサ520は、ニューラルネットワークSWモジュール534を実行して、保護されたデータストア532に記憶された保護されたデータについての推論を生成する場合がある。プロセッサ520はまた、保護されたデータに関する推論に少なくとも部分的に基づいて、情報及び/又はメディアコンテンツをユーザに出力するように、ユーザインタフェースSWモジュール536を実行する場合がある。
図6は、いくつかの実施形態に係る、ユーザデバイスによって推論するための動作600を表す例示的なフローチャートである。例えば図1を参照して、動作600は、セキュアなメモリ又はデータリポジトリを有するユーザデバイス110によって実行される場合がある。
ユーザデバイス110は、保護されたデータをセキュアなメモリから取得する場合がある(610)。例示的な保護されたデータは、プレミアムメディアコンテンツ、及び、ユーザデータ等が含み得るが、これらに限定されない。いくつかの実装では、セキュアなメモリは、(図4のセキュアなパーティション460といった)メモリ装置のセキュアなパーティションに対応する場合がある。より具体的には、セキュアなパーティションに記憶されたデータは、ユーザデバイス110のリッチな環境で実行されているハードウェア及び/又はアプリケーションからアクセスできない場合がある。例えば図4を参照して、セキュアなパーティション460に記憶された保護されたデータ466は、ACPU410のREE412から実行されている(リッチなニューラルネットワークアプリケーション413といった)アプリケーションからアクセスできない可能性がある。そのため、いくつかの実施形態では、信頼されたニューラルネットワークアプリケーション415は、メモリ装置440のセキュアなパーティション460から、保護されたデータ466を取得する場合がある。
ユーザデバイス110は、デバイスに記憶された1以上のニューラルネットワークモデルを用いて、保護されたデータについての推論を生成する場合がある(620)。いくつかの実施形態では、ニューラルネットワークモデルはまた、セキュアなメモリに記憶されている場合がある。例えば図4を参照して、ACPU410は、信頼されたニューラルネットワークアプリケーション415を実行するにあたって、セキュアなパーティション460に記憶されたニューラルネットワークモデル462を用いて、保護されたデータ466についての推論を実行する場合がある。他のいくつかの態様では、ACPU410は、信頼されたニューラルネットワークアプリケーション415を実行するにあたって、ニューラルネットワークモデル462を用いて保護されたデータ466についての推論を実行するように、NPU420に命令する場合がある。該推論は、保護されたデータの中の関心の対象を識別する場合がある。例示的な関心の対象は、ロゴ、記号、玩具、及び/又は、ユーザデバイス110の1人または複数のユーザの生体認証の特徴を含み得るが、これらに限定されない。
次に、ユーザデバイス110は、推論に少なくとも部分的に基づいて、ユーザインタフェースを更新する場合がある(630)。例えば、本推論は、ユーザの関心、好み、及び/又は、行動を示す場合がある。そのため、いくつかの実施形態では、(例えば、ユーザ体験を向上または増強するために)ユーザインタフェースを介して推奨、及び/又は、追加的なコンテンツを提供するために、本推論が使用される場合がある。いくつかの態様では、ユーザデバイス110は、特定のコンテンツソース又はテレビネットワークからの番組を、ユーザに推奨する場合がある。他のいくつかの態様では、ユーザデバイス110は、広告を含むメディアコンテンツを放送又はストリーミングしたテレビネットワークあるいはコンテンツソースへ、特定の広告のためにアトリビューションを提供する場合がある。その上さらに、いくつかの態様では、ユーザデバイス110は、既知のユーザの関心にマッチするテレビ番組及び/又は映画を表示する場合がある。
図7は、いくつかの実施形態に係る、例示的な画像撮影動作700を表す例示的なフローチャートである。例えば図2を参照して、動作700は、カメラベースのアプリケーションのための拡張現実(augmented reality)(AR)インタフェースを提供するように、ユーザデバイス200によって実行される場合がある。
ユーザデバイス200は、学習モジュールから1以上のニューラルネットワークモデルを取得する場合がある(710)。いくつかの態様では、学習モジュールは、クラウド、又は、ユーザデバイス200の外部のネットワーク環境(例えば、図1のネットワーク環境101)上に配置される場合がある。他のいくつかの態様では、学習モジュールは、ユーザデバイス200上にローカルに存在する場合がある(例えば、リッチなニューラルネットワークアプリケーション214、又は、信頼されたニューラルネットワークアプリケーション224)。そのため、ニューラルネットワークモデルは、ユーザデバイス200上にローカルに存在するデータ又は情報のみを用いて、(例えば、新しいオブジェクトを検出するために)学習及び/又は再学習され得る。いくつかの実施形態では、ニューラルネットワークモデルは、ARインタフェースで検出可能な特定の関心の対象(例えば、人形、アクションフィギュア、又は、ゲームといったAR環境で示されたときにはインタラクティブな機能や態様を持ち得るその他の玩具)を記述するルールのセットに対応する場合がある。
ユーザデバイス200は、更に、カメラを使いてシーンを撮影する場合がある(720)。例えば、ユーザアプリケーション212は、ユーザデバイス200上に存在する若しくはユーザデバイス200と接続されたカメラ、又は、他の画像撮影デバイスと通信可能なカメラベースのアプリケーションを含む場合がある。いくつかの実施形態では、シーンは、ユーザデバイス200の1以上のユーザを含む場合がある。その上、ユーザアプリケーション212は、ユーザデバイス200のディスプレイ上に、及び/又は、ユーザデバイス200と接続された表示デバイス上に、撮影されたシーンを描写又は表示する場合がある。
ユーザデバイス200は、1以上のニューラルネットワークモデルを用いて、シーンについての推論を生成する場合がある(730)。例えば、ニューラルネットワークアプリケーション224は、ニューラルネットワークモデルに関連付けられたルールのセットに基づいて、シーンに含まれる関心の対象を検出及び/又は識別する場合がある。いくつかの態様では、識別された対象は、(ARゲームのようなインタラクティブな環境においての用途を有し得る人形、及び、アクションフィギュア等のような)玩具、又は、カメラベースのアプリケーション(例えば、ユーザアプリケーション212)を通じて接続され得る他のインタラクティブな対象と対応する場合がある。いくつかの実施形態では、推論は、信頼された実行環境(TEE)で実行される場合がある。上記で説明したように、信頼された実行環境は、限られた情報のみについて外部と共有を許可する場合がある。そのため、信頼された実行環境の中で推論を生成することによって、信頼されたニューラルネットワークアプリケーション224は、ユーザのプライバシー及び/又は個人情報が保護されることを保証する場合がある。
ユーザデバイス200は、更に、推論に関連付けられたコンテンツを出力する場合がある(740)。例えば、ユーザアプリケーション212は、ニューラルネットワークアプリケーション224から推論を受信する場合があり、シーンにおいて推論された対象に関連付けられた追加的なコンテンツをユーザに提供する場合がある。いくつかの態様では、ユーザアプリケーション212は、対象の説明を(例えば、シーンの上部におけるARオーバーレイとして)表示する場合がある。他のいくつかの態様では、ユーザアプリケーション212は、ユーザデバイス200の内部の、又は、ユーザデバイス200に接続されたスピーカーを介して、(オブジェクトの名前といった)オブジェクトに対応する音声を再生する場合がある。例えば、音声は、いくつかの異なる言語で再生される場合がある。その上さらに、いくつかの態様では、ユーザアプリケーション212は、識別された対象に対応する画像及び/又は(映画またはテレビ番組のような)動画を視聴するオプションを、ユーザに提供する場合がある。
図8は、いくつかの実施形態に係る、例示的なメディア再生動作800を示す例示的なフローチャートである。例えば図2を参照して、動作800は、ユーザの関心または好みに基づいてメディアコンテンツを再生するための動的な動画インタフェースを提供するために、ユーザデバイス200によって実行される場合がある。
ユーザデバイス200は、学習モジュールから1以上のニューラルネットワークモデルを取得する場合がある(810)。いくつかの態様では、学習モジュールは、クラウド、又は、ユーザデバイス200の外部のネットワーク環境(例えば、図1のネットワーク環境101)上に配置される場合がある。他のいくつかの態様では、学習モジュールは、ユーザデバイス200上にローカルに存在する場合がある(例えば、リッチニューラルネットワークアプリケーション214又は信頼されたニューラルネットワークアプリケーション224)。いくつかの実施形態では、ニューラルネットワークモデルは、ユーザデバイス200によって表示又は再生されるメディアコンテンツ内で検出可能な特定の関心の対象(例えば、ロゴ、記号、及び、他のブランドを識別するマーク)を記述するルールのセットに対応する場合がある。
ユーザデバイス200は、プレミアムコンテンツの再生を開始する場合がある(820)。たとえば、プレミアムコンテンツには、DRM、著作権、商標、及び、他のさまざまな法律や規則によって保護される(テレビ番組や映画といった)任意のメディアコンテンツが含まれ得る。いくつかの態様では、プレミアムコンテンツは、1以上のコンテンツ配信ネットワーク(CDN)から受信される(例えば、ストリーミングされるか、さもなければ提供される)場合がある。上記で説明したように、そのようなプレミアムコンテンツは、ユーザデバイス200の信頼された実行環境(TEE)内に存在するセキュアなリポジトリ(例えば、セキュアなハードウェアリソース232)に記憶又はバッファされる場合がある。より詳細には、セキュアなハードウェアリソース232は、信頼された環境の外のソフトウェア及び/又はハードウェアからはアクセス不可である場合がある。
ユーザデバイス200は、1以上のニューラルネットワークモデルを用いて、プレミアムコンテンツについての推論を生成する場合がある(830)。例えば、ニューラルネットワークアプリケーション224は、ニューラルネットワークモデルに対応するルールのセットに基づいて、プレミアムコンテンツ内の関心の対象を検出及び/又は識別する場合がある。いくつかの態様では、識別された対象は、プレミアムコンテンツに関係する制作スタジオ、テレビネットワーク、又は、広告主を示し得るロゴ、記号、及び、ブランドを識別するための他のマークに対応する場合がある。上記で説明したように、信頼された実行環境は外部からアクセス不可である場合がある。しかしながら、信頼されたニューラルネットワークアプリケーション224は、信頼された実行環境の内に存在するため、信頼されたニューラルネットワークアプリケーション224は、ユーザデバイス200上でプレミアムコンテンツを表示又は描写するために用いられるフルフレームのピクセルデータにアクセスし得る。これに応じて、ニューラルネットワークアプリケーション224は、デコード後ビデオフレームバッファに記憶又はバッファされた(例えば、ユーザデバイス200によって描写又は表示されるべき)実際のピクセルデータに基づいて、プレミアムコンテンツについての推論を生成する場合がある。
ユーザデバイス200は、更に、推論に基づいて、コンテンツ及び/又は推奨を出力する場合がある(840)。例えば、ユーザアプリケーション212は、セキュアなハードウェアリソース232に記憶されたプレミアムコンテンツをストリーミングまたは再生可能な動画再生アプリケーションを含む場合がある。ユーザアプリケーション212は、ニューラルネットワークアプリケーション224から推論を受信する場合があり、プレミアムコンテンツ内で推測された対象に関連付けられた追加的なコンテンツをユーザに提供する場合がある。いくつかの実施形態では、ユーザアプリケーション212は、ニューラルネットワークアプリケーション224から受信した推論(例えば、ロゴ、及び、記号等)に基づいて、ユーザの好み、及び/又は、興味を決定する場合がある。
例えば、いくつかの態様では、ユーザアプリケーション212は、識別されたロゴ又は記号に基づいて、ユーザデバイス200のユーザが、特定のテレビ局又はネットワークで放送されるテレビ番組を好むと決定する場合がある。これに応じて、ユーザアプリケーション212は、同じテレビネットワークまたは制作スタジオからの他の番組をユーザに推奨する場合がある。いくつかの実装では、メディアコンテンツの所有者または作成者(例えば、それは放送テレビネットワーク又は制作スタジオである場合がある)は、メディアコンテンツをユーザデバイス200にストリーミング又は送信するコンテンツ配信ネットワーク(CDN)(例えば、それはビデオオンデマンド(video-on-demand)(VoD)又はペイパービュー(pay-per-view)(PPV)サービスをストリーミングする場合がある)とは異なる場合がある。そのため、いくつかの態様では、そこから推論が行われたところのプレミアムコンテンツをストリーミングした(又は、さもなくば、配信した)CDNと同じCDNによってストリーミング(または配信)するためにそのような追加的なコンテンツが利用可能な場合に、ユーザアプリケーション212は、(例えば、ニューラルネットワークアプリケーション224によって生成された推論に基づく)好適なコンテンツ作成者又は所有者からの追加的なコンテンツを視聴するオプションをユーザに提供する場合がある。
いくつかの他の態様では、ユーザアプリケーション212は、推論(例えば、識別されたロゴ又は記号)に基づいて、ユーザデバイス200のユーザが特定のブランドの製品、又は、特定の種類の製品を好む、あるいは、関心を持っていると決定する場合がある。これに応じて、ユーザアプリケーション212は、特定のブランド又は特定の種類の製品(または関連のブランド及び/又は製品)にターゲットされた広告をユーザに提示する場合がある。例えば、ターゲットされた広告には、識別された製品を購入するオプションが含まれる場合がある。
その上更に、いくつかの実施形態では、ユーザデバイス200は、推論に基づいて、フィルタされたフィードバックデータをコンテンツプロバイダに送信する場合がある(850)。例えば、他のいくつかの態様では、ユーザアプリケーション212は、何れの広告及び/又は製品のブランディングが、ユーザデバイス200のユーザによって閲覧された可能性が最も高いか、を推論に基づいて決定する場合がある。これに応じて、ユーザアプリケーション212は、メディアコンテンツを放送したテレビネットワークへ、広告またはプロダクトプレイスメントのためのアトリビューションを提供する場合がある。例えば、ユーザアプリケーション212は、(広告のタイミング、広告を表示したネットワーク、及び、広告が閲覧された場所等といった)広告に関する解析を、製品又は広告を作成した会社に提供する場合がある。
図9は、いくつかの実施形態に係る、例示的な認証動作900を示す例示的なフローチャートである。例えば図2を参照して、動作900は、ユーザの分類に基づいてメディアコンテンツを再生するための動的な動画インタフェースを提供するために、ユーザデバイス200によって実行される場合がある。
ユーザデバイス200は、カメラを用いてシーンを撮影する場合がある(910)。例えば、ユーザアプリケーション212は、ユーザデバイス200内にあるか、又は、ユーザデバイス200と接続された、カメラ又は他の画像若しくは動画のキャプチャデバイスと通信可能なカメラベースのアプリケーションを含む場合がある。いくつかの実施形態では、本シーンは、ユーザデバイス200のユーザを1以上含む場合がある。いくつかの態様では、ユーザアプリケーション212は、ユーザデバイス200のディスプレイ上、及び/又は、ユーザデバイス200に接続された表示デバイス上に、撮影されたシーンを描写又は表示する場合がある。
ユーザデバイス200は、学習モジュールから1以上のニューラルネットワークモデルを取得する場合がある(920)。いくつかの実施形態では、ニューラルネットワークモデルは、ユーザデバイス200のユーザを認証するために使用可能な生体認証の指標(例えば、顔の特徴、声のパターン、及び、指紋等)を記述するルールのセットに対応する場合がある。ニューラルネットワークモデルは、登録プロセスの間(例えば、ユーザがユーザデバイス200による検出のために彼又は彼女の生体認証シグネチャを登録するとき)に取得された生体認証データに基づいて生成される場合がある。セキュリティを強化し、ユーザのプライバシーを保護するために、生体認証データは、ユーザデバイス200の信頼された実行環境(TEE)の中に存在するセキュアなリポジトリ(例えば、セキュアなハードウェアリソース232)に記憶される場合がある。そのため、いくつかの実施形態では、学習モジュール(例えば、信頼されたニューラルネットワークアプリケーション224)もまた、ユーザデバイス200の中の信頼された実行環境内に存在する場合がある。
ユーザデバイス200は、1以上のニューラルネットワークモデルを用いて、シーンについての推論を生成する場合がある(930)。例えば、ニューラルネットワークアプリケーション224は、ニューラルネットワークモデルに関連付けられたルールのセットに基づいて、シーンの内の関心の対象を検出及び/又は識別する場合がある。いくつかの態様では、識別された対象は、ユーザデバイス200のユーザの身元を示し得る(ユーザの顔といった)生体認証の特徴に対応する場合がある。例えば、ニューラルネットワークアプリケーション224は、識別された生体認証の特徴に基づいて、ユーザデバイス200の一人以上のユーザ(例えば、カメラに撮影されたシーンに含まれる1人または複数の人物)を分類する場合がある。上記で説明したように、信頼された実行環境は外部からアクセス不可である場合がある。しかしながら、信頼されたニューラルネットワークアプリケーション224が信頼された実行環境の内部に存在するため、ニューラルネットワークアプリケーション224は、各ユーザに関連付けられた生体認証データ(およびニューラルネットワークモデル)にアクセスし得る。いくつかの実施形態では、ニューラルネットワークアプリケーション224は、シーンが撮影された画像又は動画を用いて、(ニューラルネットワークモデルのうち最後の層、又は、最後の数層といった)ユーザについてのニューラルネットワークモデルを更に学習又は再学習する場合がある。
ユーザデバイス200は、更に、推論に基づいて、コンテンツ及び/又は推奨を出力する場合がある(940)。例えば、ユーザアプリケーション212は、ニューラルネットワークアプリケーション224から推論を受信する場合があり、ユーザデバイス200のユーザにターゲットされた推奨をユーザに提供する場合がある。より詳細には、ユーザアプリケーション212は、ユーザデバイス200の1人以上のユーザの分類に少なくとも部分的に基づいて、ユーザデバイス200を介してどの推奨を表示するか、を決定する場合がある。図5に関連して説明したように、ユーザアプリケーション212は、メディアコンテンツについてのユーザの興味及び/又は好みについての知識を有している場合がある。そのため、ユーザアプリケーション212は、ユーザデバイス200の一人以上のユーザの興味にマッチする画像及び/又は(映画またはテレビ番組のような)動画を視聴するオプションをユーザに提供し得る。いくつかの態様では、ユーザアプリケーション212は、1人または複数のユーザの興味又は好みに合わせてキュレーションされたカスタムユーザインターフェース(例えば、プログラムガイド、及び、ランチャ等)を生成する場合がある。例えば、カスタムユーザインターフェース(user interface)(UI)は、1人以上のユーザの興味にマッチする種類のメディアコンテンツ(例えば、スポーツ、リアリティショー、及び、ドラマ等)のみを含む場合がある。いくつかの態様では、カスタムUIは、新しいユーザがユーザデバイス200によって検出されるたびに、動的に更新される場合がある。
ニューラルネットワークアプリケーション224によって複数のユーザが検出されるいくつかの態様では、ユーザアプリケーション212は、ユーザのうちの1人のみに対する推奨を表示する場合がある。例えば、1人以上の子供と共に、成人がニューラルネットワークアプリケーション224によって検出されたときには、ユーザアプリケーション212は、子供のみに適した推奨(例えば、漫画、教育プログラム、及び、子供にフレンドリーな他のコンテンツ)を表示する場合がある。複数のユーザがニューラルネットワークアプリケーション224によって検出されるいくつかの他の態様では、ユーザアプリケーション212は、複数のユーザに対する推奨を表示する場合がある。例えば、ニューラルネットワークアプリケーション224によって夫及び妻が検出されたときには、ユーザアプリケーション212は、妻に対する推奨と同様に、夫に対する推奨をも表示する場合がある。その上さらに、いくつかの態様では、ニューラルネットワークアプリケーション224は、ユーザのグループに対する推奨を表示する場合がある。例えば、ニューラルネットワークアプリケーション224によって友人のグループが検出されたときには、ユーザアプリケーション212は、グループの共通の関心に基づいて推奨を表示する場合がある(例えば、ゲームショー、スポーツ、及び、グループが全体として楽しむことが知られている他のショー又はプログラム)。
当業者は、様々な異なる任意のテクノロジー及び技術を用いて、情報及び信号が表し得ることを理解するであろう。例えば、上述の説明を通して参照され得るデータ、命令、コマンド、情報、信号、ビット、記号、及び、チップは、電圧、電流、電磁波、磁界又は粒子、光場又は粒子、あるいは、これらの組合せによって表し得る。
さらに、当業者は、本開示の態様に関連して説明された様々な例示的な論理ブロック、モジュール、回路、及び、アルゴリズムのステップが、電気的なハードウェア、コンピュータソフトウェア、及び両者の組合せとして実装し得ることを理解しよう。このハードウェアとソフトウェアの交換可能性を明確に図示するために、例示的な様々なコンポーネント、ブロック、モジュール、回路、及び、ステップが、一般に、その機能の観点で上述のように説明されてきた。このような機能がハードウェア又はソフトウェアの何れで実装されるかは、システム全体に要求される特定のアプリケーションとデザイン上の制約に依存する。当業者は説明された機能を特定のアプリケーション毎に様々な方法で実装し得るが、そのような実装上の決定が、本開示の範囲からの逸脱を生じさせると解釈されてはならない。
本開示の態様に関連して説明された方法、手順、又はアルゴリズムは、ハードウェアにより、プロセッサによって実行されるソフトウェアモジュールにより、あるいは、両者の組合せにより、直接的に具体化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で既知の他の形式の記憶媒体に常駐することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに接続される。あるいは、記憶媒体はプロセッサに統合されてもよい。
前述の明細書では、その具体的な例を参照して実施形態が説明されてきた。しかしながら、添付の特許請求の範囲に提示されているように、本開示のより広い範囲を逸脱することなく、それらに対して様々な変形や変更が成し得ることは明らかであろう。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で解釈される。

Claims (10)

  1. ユーザデバイスによる推論の方法であり、
    前記ユーザデバイスのリッチな環境で実行されているアプリケーションからアクセス不可であるセキュアなメモリから、保護されたデータを取得することと、
    以上のニューラルネットワークモデルを用いて、前記保護されたデータについての推論を生成することと、
    前記1以上のニューラルネットワークモデルを、前記推論に少なくとも部分的に基づいて改良することと、
    改良された前記1以上のニューラルネットワークモデルを、さらに改良するために外部のネットワークに提供することと、
    を含む、
    方法。
  2. 前記1以上のニューラルネットワークモデルを外部のネットワークから取得すること、
    をさらに含む、
    請求項1の方法。
  3. 前記推論に少なくとも部分的に基づいて、前記ユーザデバイスのユーザインタフェースを更新する、
    ことをさらに含み、
    前記保護されたデータが、前記ユーザインタフェースを介して表示又は再生されるべきプレミアムメディアコンテンツのためのピクセルデータを含
    前記ユーザインタフェースを更新することが、
    前記推論に少なくとも部分的に基づいて、前記ユーザインタフェースを介して前記ユーザデバイスのユーザに関連し得るコンテンツ又は広告を出力する、
    ことを含む、
    請求項1または2の方法。
  4. 前記推論に少なくとも部分的に基づいて、前記ユーザデバイスのユーザインタフェースを更新する、
    ことをさらに含み、
    前記保護されたデータが、前記ユーザインタフェースを介して表示又は再生されるべきプレミアムメディアコンテンツのためのピクセルデータを含
    前記推論が、前記ユーザデバイスのユーザの関心の対象を含み、
    前記ユーザインタフェースを更新することが、
    前記推論に少なくとも部分的に基づいて、音声認識において検索される一以上の辞書又はライブラリを取得することと、
    前記一以上の辞書又はライブラリを用いて、前記ユーザデバイスのユーザによる音声入力を認識することと、
    前記音声入力の認識に基づいて、前記ユーザインタフェースを更新することと、
    を含む、
    請求項1または2の方法。
  5. 前記推論に少なくとも部分的に基づいて、前記ユーザデバイスのユーザインタフェースを更新する、
    ことをさらに含み、
    前記保護されたデータが、ユーザ入力のデータ、又は、前記ユーザデバイスのユーザについての個人情報を含
    前記推論が、前記ユーザデバイスのユーザの身元を含み、
    前記ユーザインタフェースを更新することが、
    前記推論に少なくとも部分的に基づいて、前記ユーザインタフェースを介して前記ユーザデバイスのユーザに関連し得るコンテンツを出力する、
    ことを含む、
    請求項1の方法。
  6. ユーザデバイスによる推論の方法であり、
    前記ユーザデバイスのリッチな環境で実行されているアプリケーションからアクセス不可であるセキュアなメモリから、保護されたデータを取得することと、
    前記ユーザデバイスに記憶された1以上のニューラルネットワークモデルを用いて、前記保護されたデータについての推論を生成することと、
    前記推論に少なくとも部分的に基づいて、前記ユーザデバイスのユーザインタフェースを更新することと、
    を含み、
    前記保護されたデータが、前記ユーザインタフェースを介して表示又は再生されるべきプレミアムメディアコンテンツのためのピクセルデータを含
    前記推論が、前記ユーザデバイスのユーザの関心の対象を含み、
    前記ユーザインタフェースを更新することが、
    前記推論に少なくとも部分的に基づいて、音声認識において検索される一以上の辞書又はライブラリを準備することと、
    準備された前記1以上の辞書又はライブラリを用いて、前記ユーザデバイスのユーザによる音声入力を認識することと、
    前記音声入力の認識に基づいて、前記ユーザインタフェースを更新することと、
    を含む、
    法。
  7. 前記推論が、少なくとも部分的に、前記ユーザデバイスの信頼された環境で実行されているニューラルネットワークアプリケーションによって生成される、
    請求項1から6のいずれか1項の方法。
  8. ユーザデバイスであり、
    ユーザインタフェースと、
    処理回路部と、
    セキュアなメモリと、
    を備え、
    前記セキュアなメモリは、前記処理回路部によって実行されたときに、前記ユーザデバイスに、
    前記ユーザデバイスのリッチな環境で実行されているアプリケーションからアクセス不可である前記セキュアなメモリから、保護されたデータを取得することと、
    前記ユーザデバイスに記憶された1以上のニューラルネットワークモデルを用いて、前記保護されたデータについての推論を生成することと、
    前記推論に少なくとも部分的に基づいて、前記ユーザインタフェースを更新することと、
    を実行させる命令を記憶しており、
    前記保護されたデータが、前記ユーザインタフェースを介して表示又は再生されるべきプレミアムメディアコンテンツのためのピクセルデータを含
    前記推論が、前記ユーザデバイスのユーザの関心の対象を含み、
    前記ユーザインタフェースを更新することが、
    前記推論に少なくとも部分的に基づいて、音声認識において検索される一以上の辞書又はライブラリを取得することと、
    前記一以上の辞書又はライブラリを用いて、前記ユーザデバイスのユーザによる音声入力を認識することと、
    前記音声入力の認識に基づいて、前記ユーザインタフェースを更新することと、
    を含む、
    ーザデバイス。
  9. ユーザデバイスであり、
    セキュアな状態又は非セキュアな状態で動作するように構成された処理回路部と、
    セキュアなパーティションと、非セキュアなパーティションと、を有するメモリと、
    を備え、
    前記セキュアなパーティションは、前記セキュアな状態で動作している間に前記処理回路部によって実行されたときに、前記ユーザデバイスに、
    前記非セキュアな状態で動作しているときの前記処理回路部からアクセス不可である前記セキュアなパーティショから、保護されたデータを取得することと、
    以上のニューラルネットワークモデルを用いて、前記保護されたデータについての推論を生成することと、
    前記1以上のニューラルネットワークを、前記推論に少なくとも部分的に基づいて改良することと、
    を実行させる命令を記憶し、
    前記非セキュアなパーティションが、前記処理回路部によって実行されたときに、前記ユーザデバイスに、
    改良された前記1以上のニューラルネットワークを、外部のネットワークに提供することと、
    を実行させる命令を記憶している
    ユーザデバイス。
  10. ユーザデバイスであり、
    セキュアな状態又は非セキュアな状態で動作するように構成された処理回路部と、
    セキュアなパーティションと、非セキュアなパーティションと、を有するメモリと、
    を備え、
    前記セキュアなパーティションは、前記セキュアな状態で動作している間に前記処理回路部によって実行されたときに、前記ユーザデバイスに、
    前記非セキュアな状態で動作しているときの前記処理回路部からアクセス不可である前記セキュアなパーティショから、保護されたデータを取得することと、
    前記セキュアなパーティションから1以上のニューラルネットワークモデルを取得することと、
    前記1以上のニューラルネットワークモデルを用いて、前記保護されたデータについての推論を生成することと、
    を実行させる命令を記憶しており、
    前記保護されたデータが、ユーザインタフェースを介して表示又は再生されるべきプレミアムメディアコンテンツのためのピクセルデータを含
    前記推論が、前記ユーザデバイスのユーザの関心の対象を含み、
    前記セキュアなパーティションは、前記セキュアな状態で動作している間に前記処理回路部によって実行されたときに、前記ユーザデバイスに、
    前記推論に少なくとも部分的に基づいて、音声認識において検索される一以上の辞書又はライブラリを取得することと、
    前記一以上の辞書又はライブラリを用いて、前記ユーザデバイスのユーザによる音声入力を認識することと、
    前記音声入力の認識に基づいて、前記ユーザインタフェースを更新することと、
    をさらに実行させる命令を記憶する、
    ーザデバイス。
JP2021512684A 2018-09-11 2019-09-10 保護されたデータのニューラルネットワーク推論 Active JP7436460B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862729947P 2018-09-11 2018-09-11
US62/729,947 2018-09-11
US16/539,847 2019-08-13
US16/539,847 US20200082279A1 (en) 2018-09-11 2019-08-13 Neural network inferencing on protected data
PCT/US2019/050372 WO2020055839A1 (en) 2018-09-11 2019-09-10 Neural network inferencing on protected data

Publications (2)

Publication Number Publication Date
JP2021536638A JP2021536638A (ja) 2021-12-27
JP7436460B2 true JP7436460B2 (ja) 2024-02-21

Family

ID=69719991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021512684A Active JP7436460B2 (ja) 2018-09-11 2019-09-10 保護されたデータのニューラルネットワーク推論

Country Status (5)

Country Link
US (1) US20200082279A1 (ja)
JP (1) JP7436460B2 (ja)
KR (1) KR20210044308A (ja)
CN (1) CN112639840A (ja)
WO (1) WO2020055839A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102147912B1 (ko) * 2019-08-13 2020-08-25 삼성전자주식회사 프로세서 칩 및 그 제어 방법들
US11573828B2 (en) * 2019-09-16 2023-02-07 Nec Corporation Efficient and scalable enclave protection for machine learning programs
CN111967565B (zh) * 2020-10-23 2021-04-27 支付宝(杭州)信息技术有限公司 用于进行风险评估的神经网络***、方法及装置
WO2022235517A2 (en) * 2021-05-05 2022-11-10 Uniquify, Inc. Implementations and methods for processing neural network in semiconductor hardware
US20220414223A1 (en) * 2021-06-29 2022-12-29 EMC IP Holding Company LLC Training data protection for artificial intelligence model in partitioned execution environment
CN114091653B (zh) * 2021-11-06 2024-07-16 支付宝(杭州)信息技术有限公司 模型的运行方法和装置
CN116997912A (zh) * 2021-12-30 2023-11-03 微软技术许可有限责任公司 机器学习模型的受保护微调

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100787A (ja) 1999-09-29 2001-04-13 Mitsubishi Electric Corp 音声対話システム
WO2005069171A1 (ja) 2004-01-14 2005-07-28 Nec Corporation 文書対応付け装置、および文書対応付け方法
US20170372226A1 (en) 2016-06-22 2017-12-28 Microsoft Technology Licensing, Llc Privacy-preserving machine learning
WO2018008605A1 (ja) 2016-07-04 2018-01-11 株式会社Seltech 人工知能を有するシステム
WO2018017467A1 (en) 2016-07-18 2018-01-25 NantOmics, Inc. Distributed machine learning systems, apparatus, and methods
WO2018142766A1 (ja) 2017-02-03 2018-08-09 パナソニックIpマネジメント株式会社 学習済みモデル提供方法および学習済みモデル提供装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9800608B2 (en) * 2000-09-25 2017-10-24 Symantec Corporation Processing data flows with a data flow processor
US8819447B2 (en) * 2010-03-10 2014-08-26 Sprint Communications Company L.P. Secure storage of protected data in a wireless communication device
US9507851B1 (en) * 2011-03-29 2016-11-29 EMC IP Holding Company LLC Methods and systems for providing recommendation information
EP2702747A1 (en) * 2011-04-25 2014-03-05 Alcatel-Lucent Privacy protection in recommendation services
KR101460404B1 (ko) * 2012-09-04 2014-11-12 포항공과대학교 산학협력단 사용자 중심의 상황정보 관리 장치 및 그 방법
CN104516910B (zh) * 2013-09-26 2018-01-12 Sap欧洲公司 在客户端服务器环境中推荐内容
AU2014388153B2 (en) * 2014-03-26 2020-01-02 Microsoft Technology Licensing, Llc Client intent in integrated search environment
US20160180078A1 (en) * 2014-12-23 2016-06-23 Jasmeet Chhabra Technologies for enhanced user authentication using advanced sensor monitoring
KR102505279B1 (ko) * 2015-07-24 2023-03-02 삼성전자주식회사 복수의 cpu 및 복수의 gpu를 지원하는 컴퓨팅 환경에서의 연산 방법
US10554611B2 (en) * 2015-08-10 2020-02-04 Google Llc Privacy aligned and personalized social media content sharing recommendations
US20180232370A1 (en) * 2016-07-05 2018-08-16 Cynny Spa Local processing of biometric data for a content selection system
US10157105B2 (en) * 2016-07-28 2018-12-18 Prophetstor Data Services, Inc. Method for data protection for cloud-based service system
US11232482B2 (en) * 2016-11-01 2022-01-25 Meta Platforms, Inc. Selecting one or more components to be included in a content item optimized for an online system user
US20180157972A1 (en) * 2016-12-02 2018-06-07 Apple Inc. Partially shared neural networks for multiple tasks
US11455549B2 (en) * 2016-12-08 2022-09-27 Disney Enterprises, Inc. Modeling characters that interact with users as part of a character-as-a-service implementation
US10255458B2 (en) * 2017-01-23 2019-04-09 Akiri, Inc. Trust based access to records via encrypted protocol communications with authentication system
US10909429B2 (en) * 2017-09-27 2021-02-02 Monotype Imaging Inc. Using attributes for identifying imagery for selection

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100787A (ja) 1999-09-29 2001-04-13 Mitsubishi Electric Corp 音声対話システム
WO2005069171A1 (ja) 2004-01-14 2005-07-28 Nec Corporation 文書対応付け装置、および文書対応付け方法
US20170372226A1 (en) 2016-06-22 2017-12-28 Microsoft Technology Licensing, Llc Privacy-preserving machine learning
WO2018008605A1 (ja) 2016-07-04 2018-01-11 株式会社Seltech 人工知能を有するシステム
WO2018017467A1 (en) 2016-07-18 2018-01-25 NantOmics, Inc. Distributed machine learning systems, apparatus, and methods
JP2019526851A (ja) 2016-07-18 2019-09-19 ナント ホールディングス アイピー エルエルシーNant Holdings IP, LLC 分散型機械学習システム、装置、および方法
WO2018142766A1 (ja) 2017-02-03 2018-08-09 パナソニックIpマネジメント株式会社 学習済みモデル提供方法および学習済みモデル提供装置

Also Published As

Publication number Publication date
WO2020055839A1 (en) 2020-03-19
JP2021536638A (ja) 2021-12-27
CN112639840A (zh) 2021-04-09
KR20210044308A (ko) 2021-04-22
US20200082279A1 (en) 2020-03-12

Similar Documents

Publication Publication Date Title
JP7436460B2 (ja) 保護されたデータのニューラルネットワーク推論
US10674208B2 (en) Methods and systems for automatically evaluating an audio description track of a media asset
US11589120B2 (en) Deep content tagging
US11450353B2 (en) Video tagging by correlating visual features to sound tags
US10088983B1 (en) Management of content versions
TWI581128B (zh) 基於媒體反應來***體節目的方法、系統及電腦可讀取儲存記憶體
KR101829782B1 (ko) 소셜 네트워킹을 통한 텔레비전 및 비디오 프로그래밍 공유
CN113950687A (zh) 基于经训练的网络模型的媒体呈现设备控制
KR20150007936A (ko) 미디어 컨텐츠에 대한 사용자 피드백을 획득하는 시스템 및 방법, 컴퓨터 판독가능 기록매체
US20200166996A1 (en) Display apparatus and controlling method thereof
KR101895846B1 (ko) 소셜 네트워킹 툴들과의 텔레비전 기반 상호작용의 용이화
US10834452B2 (en) Dynamic live feed recommendation on the basis of user real time reaction to a live feed
US20140325540A1 (en) Media synchronized advertising overlay
EP3267333A1 (en) Local processing of biometric data for a content selection system
US20170374426A1 (en) Binary tv
US20230262291A1 (en) Systems and methods for providing media recommendations
US11849177B2 (en) Systems and methods for providing media recommendations
US11831961B2 (en) Systems and methods for real time fact checking during streaming viewing
US20240187679A1 (en) Group party view and post viewing digital content creation
JP2011164681A (ja) 文字入力装置、文字入力方法、文字入力プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
US20230306969A1 (en) Systems and methods for determining traits based on voice analysis
US11079911B2 (en) Enrollment-free offline device personalization
US20240185514A1 (en) Personalized user engagement in a virtual reality environment
US11006178B2 (en) Multi-account personalized artificial intelligence TV interface and system thereof
US20230403432A1 (en) Systems and methods for restricting video content

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231102

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240208

R150 Certificate of patent or registration of utility model

Ref document number: 7436460

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150