(58)【調査した分野】(Int.Cl.,DB名)
前記損失値に少なくとも一部基づいて少なくとも前記時間差モデルを訓練するために、前記コンピュータシステムが、前記損失値を前記予測モデルを通じて、次いで、前記時間差モデルを通じて逆伝搬する、請求項1に記載のコンピュータシステム。
前記命令の実行が、前記コンピュータシステムに、前記第2の損失値に少なくとも一部基づいて前記時間差モデルを訓練することをさらに行わせる、請求項7に記載のコンピュータシステム。
前記1つまたは複数のコンピューティングデバイスによって、前記損失値に少なくとも一部基づいて少なくとも前記時間差モデルを訓練するステップが、前記1つまたは複数のコンピューティングデバイスによって、前記損失値を最小化するように少なくとも前記時間差モデルを訓練するステップを含む、請求項12に記載のコンピュータ実装方法。
【発明を実施するための形態】
【0014】
複数の図にわたって繰り返される参照数字は、様々な実装形態における同じ特徴を識別することを意図している。
【0015】
概観
概して、本開示は、時間差モデルの教師なし学習法、および一旦訓練されたそのような時間差モデルの適用例を対象とする。具体的には、本開示の一態様によれば、時間差モデルは、2つの異なる時間におけるオブジェクトの状態をそれぞれ記述する少なくとも1つの第1の状態表象および1つの第2の状態表象を受信し、それに応答して、2つの異なる時間と時間との間のオブジェクトの変化を符号化し、またはそうでなければ記述する時間差表象を出力するように訓練され得る。そのような時間差モデルの1つの例示的使用法は、動画によって描写された行動に関係している時間差表象を提供することである。別の態様によれば、本開示は、時間差モデルの教師なし訓練を可能にするスキームおよび技法を提供する。具体的には、時間差モデルは、予測モデルと組み合わせることができ、この予測モデルは、時間差表象および第1の状態表象を所与として、第2の状態表象を予測し、またはそうでなければ再構成するように試行する。時間差モデルは、第2の状態表象と第2の状態表象の予測との差を表象する損失値において訓練され得る。たとえば、損失値は、予測モデルを通じて、次いで、時間差モデルを通じて逆伝搬され得る。そのような方式では、ラベル付けされていないデータを使用して、時間差表象を提供するように時間差モデルを訓練することができる。したがって、本開示は、時間差モデルの教師なし学習法を提供し、一旦訓練されたそのような時間差モデルの例示的使用法をさらに提供する。
【0016】
より具体的には、本開示の時間差モデルは、第1の時間に関連付けられた第1の状態表象、および第1の時間とは異なる第2の時間に関連付けられた第2の状態表象を受信することができる。たとえば、第2の時間は、第1の時間に続くものとすることができる。
【0017】
第1の状態表象および第2の状態表象は、第1の時間および第2の時間におけるオブジェクトのそれぞれの状態をそれぞれ記述することができる。たとえば、オブジェクトの状態は、データシーケンスによって記述され得、第1の状態表象および第2の状態表象は、そのようなデータシーケンスの部分であっても、またはそのようなデータシーケンスの部分から導出されてもよい。
【0018】
第1の状態表象および第2の状態表象の受信に応答して、時間差モデルは、第1の状態表象と第2の状態表象との間の変化を符号化する時間差表象を出力することができる。言い換えれば、時間差表象は、オブジェクトの状態が、第1の時間と第2の時間との間でどのように変化したのかを記述することができる。この原理の1つの例示的概念化では、状態表象は、オブジェクトの状態を記述する名詞として概念化され得ることになり、一方、時間差表象は、オブジェクトの状態を変換する動詞(たとえば、行動)として概念化され得ることになる。
【0019】
いくつかの事例では、時間差表象は、時間差符号化と呼ぶ場合がある。たとえば、時間差符号化は、その対応する状態表象よりも少ない次元で表すことができる。いくつかの事例では、時間差表象は、時間差埋込み(temporal difference embedding)と呼ぶ場合がある。たとえば、時間差埋込みは、時間差モデルの(たとえば、最終層ではないが、最終層に近接した)埋込み層から取得可能である(ただし、必須ではない)。
【0020】
いくつかの実装形態では、時間差モデルは、1つまたは複数のニューラルネットワーク(たとえば、ディープニューラルネットワーク)、または他の非線形モデルを含むことができる。ニューラルネットワークには、順伝播型ニューラルネットワーク、畳込み型ニューラルネットワーク、再帰型ニューラルネットワーク、または他の形態のニューラルネットワークを含めることができる。代替としてまたは追加として、時間差モデルは、他の形態の機械学習型モデルを含むことができる。たとえば、時間差モデルには、1つまたは複数の制限付きボルツマンマシン(Restricted Boltzmann Machine)、ランダム決定フォレスト(Random Decision Forest)、または線形モデルを含む他のモデルを含めることができる。
【0021】
本開示全体を通じて継続的に述べることになる1つの特定の例では、オブジェクトは、あるシーンを描写する動画または他の画像集合とすることができ、第1の状態表象および第2の状態表象は、動画または画像集合が含まれている第1のフレームおよび第2のフレームをそれぞれ記述することができる。1つの例としては、第1の状態表象および第2の状態表象は、動画の第1のフレームおよび第2のフレームのそれぞれ生の画像データ(たとえば、RGB値)とすることができる。別の例としては、第1の状態表象および第2の状態表象は、第1のフレームおよび第2のフレームのそれぞれ、より高いレベルの記述とすることができる。たとえば、第1のフレームおよび第2のフレームはそれぞれ、機械学習型画像分類モデル(たとえば、ディープニューラルネットワーク)に入力され得る。画像分類モデルは、入力フレームごとに、フレームを記述する(たとえば、フレーム内に含まれているオブジェクトを識別する、またはそうでなければ描写されたシーンの意味的記述に関係している)画像埋込みを提供することができる。第1のフレームおよび第2のフレームのそれぞれの画像埋込みは、第1の状態表象および第2の状態表象として使用され得る。
【0022】
したがって、いくつかの実装形態では、生のフレームは、状態表象として使用され得るフレームのより高いレベルの(たとえば、人間からより理解されやすい)表象を得るように何らかのやり方で処理され得る。より高いレベルの状態表象を使用することにより、結果的に生じる時間差表象もやはり、より高いレベルの表象になる。たとえば、第1の状態表象および第2の状態表象が第1のフレームおよび第2のフレームによって描写されたシーンの意味的記述に関係している場合には、時間差表象は、動画によって描写された行動(たとえば、「ダイビング」)の意味的表象に関係している、またはそうでなければこの意味的表象を記述していることが可能になる。したがって、時間差表象は、状態表象と同じまたはこれに密接に関係している特徴空間もしくは次元空間で表すことが可能になる。
【0023】
一例としては、オブジェクトが、あるシーンを描写する動画であり、かつ第1の状態表象および第2の状態表象が、動画の第1のフレームおよび第2のフレームの画像埋込みである事例では、時間差表象は、動画によって描写されたシーンにおいて行われる行動を記述することができる。たとえば、1人の男性がプールにダイビングすることを描写する動画の場合、フレーム埋込みは、「男性」および「スイミングプール」という意味的言葉に関係していることが可能になるが、結果として得られる時間差表象は、「ダイビング」という行動に関係していることが可能になる。
【0024】
動画によって描写された行動を記述する時間差表象は、たとえば、同じ行動を描写する関連の動画を識別することを含む、多くの目的に有用な場合がある。たとえば、第1の動画の時間差表象を他の動画について確定された他の時間差表象と比較して、関連性の尺度を確定することができる。具体的には、既存のある製品では、どのオブジェクトが動画の中にあるのかを符号化するために、オブジェクトについての関連の埋込みが使用されている。しかしながら、本開示よりも前には、行動についての類似物は存在していなかった。いくつかの実装形態では、時間差表象間の関連性は、時間差表象ベクトル間のユークリッド距離を計算することによって確定され得る。
【0025】
別の例では、行動を記述する時間差表象はまた、行動に基づいて動画の曖昧さを排除することにも有用な場合がある。たとえば、ある人が食品でいっぱいになっているフライパンの前に座っている第1の動画と、ある人がフライパンを用いて盛んに調理している第2の動画は、それらのそれぞれの時間差表象を比較することにより曖昧さを排除することが可能である。
【0026】
上述の動画フレーム例は、ほんの1つの例示的適用例にすぎない。他の例示的適用例では、オブジェクトは、音声ファイル、環境、機械化もしくはコンピュータ化されたシステム、または任意の他のオブジェクトもしくはシステムを含むことができる。たとえば、環境、または機械化および/またはコンピュータ化されたシステムの経時的な状態は、センサデータシーケンスによって表象することができる。したがって、本開示の時間差モデルは、動画がその1つの非限定例である多くの異なるオブジェクトおよびシステムの時間差表象を提供するために適用され得る。
【0027】
加えて、いくつかの実装形態では、第1の時間および第2の時間のそれぞれの状態表象は、性質上、多モードとすることができる。一例としては、第1の時間におけるオブジェクト(たとえば、動画)の状態が、音声データと画像データとの両方によって記述され得る場合には、第1の時間の第1の状態表象は、第1の時間に関連付けられた音声データと画像データとの両方を含むことができる。同様に、オブジェクトの第2の状態表象もまた、第2の時間に関連付けられた音声データと画像データを含むことができる。したがって、特定の時間のオブジェクトの状態表象は、複数のチャンネル、タイプ、またはモードのデータもしくは情報を含むことができる。
【0028】
別の態様によれば、本開示は、時間差モデルの教師なし訓練を可能にするスキームおよび技法を提供する。具体的には、時間差モデルは、予測モデルと組み合わせることができる。上述のように、時間差モデルは、異なる時間に関連付けられた第1の状態表象および第2の状態表象を受信し、それに応答して、時間差表象を出力することができる。教師なし訓練を行うために、時間差表象および第1の状態表象は、予測モデルに入力され得る。それに応答して、予測モデルは、第2の状態表象の予測を出力することができる。
【0029】
損失値は、第2の状態表象と第2の状態表象の予測との差を表象することができる。たとえば、損失値は、損失関数を評価することによって得ることができる。たとえば、損失関数を評価することは、第2の状態表象および第2の状態表象の予測を損失関数に入力することを含むことができる。時間差モデルおよび予測モデルは、損失値に少なくとも一部基づいて訓練され得る。たとえば、損失値は、予測モデルを通じて、次いで、時間差モデルを通じて逆伝搬され得る。
【0030】
そのような方式では、予測モデルは、第1の状態表象、および状態がどのように変化しているのかについての知識を所与として、第2の状態表象を正確に予測するように訓練され得る。同様に、時間差モデルは、予測モデルが第1の状態表象についての知識を所与として第2の状態表象を正確に予測できるように、オブジェクトの状態がどのように変化しているのかを十分に記述する時間差表象を提供するように訓練され得る。言い換えれば、時間差モデルは、オブジェクトの状態そのものではなく、オブジェクトの状態の変化(たとえば、行動)を符号化する時間差表象を提供するように訓練され得る。
【0031】
いくつかの実装形態では、予測モデルは、ニューラルネットワーク(たとえば、ディープ再帰型ニューラルネットワーク)などの様々な機械学習型モデル、もしくは他の多層非線形モデルとすることも、またはそうでなければこれらを含むこともできる。代替としてまたは追加として、予測モデルは、他の形態の機械学習型モデルを含むことができる。たとえば、予測モデルには、1つまたは複数の制限付きボルツマンマシン、ランダム決定フォレスト、または線形モデルを含む他のモデルを含めることができる。
【0032】
上述の訓練スキームおよび訓練法は、オブジェクト(たとえば、動画)に関連付けられた対応する変化(たとえば、行動)を識別する明示的ラベルを有するラベル付けされたデータを必要とせず、そのため、教師なし方式で動作する。したがって、本開示の1つの技術的便益は、教師なしデータにおいて時間差モデルを訓練できることである。教師付きデータは、取得に非常に費用がかかり、範囲が限定されるので、多くのシナリオでは、教師なしデータは、教師付きデータよりも好ましい。一方、たとえば生の動画データ、音声データ、またはセンサデータなどの教師なしデータは、非常に豊富である。
【0033】
本明細書に記載の訓練法および時間差モデルの別の便益的側面は、それらが、入力として提供される第1の状態表象および第2の状態表象の形態について何も仮定せず、そのため、多くの異なるデータタイプおよび使用事例に柔軟にかつ容易に適用され得ることである。画像フレームの表象が一例として使用されているが、他の可能な状態表象には、複数のフレーム、空間的情報、音声、写真配列、広告に対するクリックもしくは他のユーザデータ、モバイルコンピューティングデバイスの慣性計測装置における変化、またはさらには他の時間差表象の埋込みを含めることができる。この最後の例は、時間差モデルが、多様な時間間隔にわたって使用可能であることを強調している。
【0034】
時間差モデルの別の便益的側面は、教師なしの形で訓練されることの副産物であり、このモデルが、ほんのいくつかのラベルではなく、時系列について学習することである。ラベル付けされたデータが豊富である場合、教師なし学習が、必ずしも教師付き学習よりも優れているわけではない。しかしながら、ラベルの取得が難しい場合、教師なし学習は、問題をより良く跨ぐ対抗できるほどのまたは優れた結果を生み出すことができる。
【0035】
具体的には、本明細書に記載の教師なし技法の主な代替形態は、教師付き学習を使用することである。教師付き学習には、何千ものまたは何百万ものデータ例のラベルを収集する必要があり、そのことは、ほとんどの使用シナリオおよび実装エンティティに法外に費用がかかる。
【0036】
加えて、時間差表象が行動または他の変化の意味的記述に関係していることが望ましい場合には、そのような表象を提供するようにモデルを訓練するために、ラベル付けされたデータを収集するには、定義付けされた行動または変化の、ある種の語彙を定義付けすることが必要になり、そのこと自体が厄介な問題である。さらには、そのようなラベル付けされたデータにおいて訓練する間、時間差モデルは、あらかじめ定義付けされた語彙に関係している表象しか提供しないように学習することになり、そのことは、性質上、限定される可能性がある。結果として、新規の大きいデータセットは、新規の行動または変化(たとえば、モデルの「語彙」の中の新規単語)が認識される必要がある事例ごとに収集されなくてはならず、法外に高くかかる教師付きデータ収集の費用を一層増やすことになる。ラベル付けされたデータのこれらの限定は、本開示の教師なし技法を使用することにより全体的に回避され得る。
【0037】
具体的には、本開示の教師なし技法により訓練された時間差モデルは、任意の数の異なる、いくつかの事例では、任意の持続時間の知られていない変化または行動を記述する時間差表象を提供するように学習することができる。たとえば、教師なし方式で訓練された時間差モデルからの時間差表象は、訓練データが収集されたときには対象であることがあらかじめ知られていなかった変化または行動を識別するのに使用され得る。言い換えれば、本開示の教師なし技法は、データが収集されたときには予想されなかった時間的力学の理解を可能にする。これにより、意味のある問題が解決されるのは、上述のように、人間は、通常、世の中の起こり得る行動リスト/語彙についても、または所与の行動がいつ開始もしくは停止するのかについてもいずれも承知していないからである。ラベル付けされていない動画にわたって汎用表象を学習することによって、本開示の時間差モデルは、人間によって格付けされ得る、より多くの知識をシステムに組み込むことができる。
【0038】
本開示の他の代替形態は、時間差に重点を置かない教師なし手法を含む。他のこれらの手法は、オブジェクト(たとえば、動画によって描写されたオブジェクトおよび背景画像)の状態を、オブジェクトの状態の経時的な変化(たとえば、動画によって描写された行動)と混同するので、劣る。
【0039】
対照的に、本開示の教師なし訓練スキームおよび訓練法は、予測モデルによって使用される時間差表象と並行して状態表象のうちの1つを明示的に提供することによって、そのような混同を回避する。これにより、時間差表象は、オブジェクトの状態に関する情報を提供すべき(たとえば、どのオブジェクトがシーンの中に存在するかを符号化すべき)である第1の状態表象を補完することになる。結果として、本開示のモデルは、状態表象に含まれている情報を時間差表象によって記述された変化と混同することを回避する。
【0040】
加えて、一旦、時間差モデルが時間差表象を生成すると、時間差表象は、大量の知識を伝える。たとえば、動画の類似性または関連性など、いくつかのタスクの場合、時間差表象は、直接、使用され得る。たとえば、動画分類などの他のタスクの場合、追加の分類モデルが、非常に少量の訓練データを使用して時間差表象の上で訓練され得る。
【0041】
より具体的には、本開示の別の態様によれば、いくつかのラベル付けされたデータセットが利用可能である場合、ラベル付けされたデータを導入して追加の分類モデルおよび/または時間差モデルを訓練することによって、本明細書に記載の教師なし技法を半教師付きにするように拡張することが容易である。一例としては、いくつかの実装形態では、追加の分類モデルを時間差表象から分岐することができ、オブジェクトの分類を提供することができる。いくつかの実装形態では、分類モデルはまた、第1の状態表象を受信することができるが、他の実装形態では、分類モデルは、第1の状態表象を受信せずに動作することができる。
【0042】
したがって、分類モデルは、時間差表象(オプションで、同様に第1の状態表象)の受信に応答して、オブジェクトの分類を出力するように訓練され得る。少なくも何らかの量のラベル付けされた訓練データが利用可能であるとき(たとえば、あるオブジェクトのグラウンドトルース分類を提供するラベルを含むデータ)、所与のオブジェクトの分類モデルよって出力された分類とそのようなオブジェクトのラベルとの差を表象する第2の損失値が定義され得る。たとえば、第2の損失値は、第2の損失関数を評価することによって得ることができる。分類モデルは、第2の損失値に少なくとも一部基づいて訓練され得る。たとえば、第2の損失値は、分類モデルを通じて逆伝搬されて、分類モデルを訓練することができる。したがって、追加の分類モデルが、オブジェクトの分類を、そのようなオブジェクトについて確定された時間差表象に少なくとも一部基づいて提供するように訓練され得る。
【0043】
上述のように分類モデルの訓練は、時間差モデルによって捕捉された概括的知識を分類モデルに拡張することを可能にする。具体的には、追加の分類モデルが、非常に少量の特定の訓練データを使用して時間差表象の上で訓練され得る。したがって、いくつかの実装形態では、時間差モデルは、特には、特定のクラスの変化または行動の検出を可能にするように設計されている少量の訓練データにおいて分類モデルを訓練することを望むサードパーティエンティティにサービスとして提示され得る。
【0044】
加えて、いくつかの実装形態では、時間差モデルはまた、第2の損失値に少なくとも一部基づいて訓練され得る。たとえば、いくつかの実装形態では、訓練システムは、第2の損失値を分類モデルを通じて逆伝搬した後、継続して、第2の損失値をさらに時間差モデルを通じて逆伝搬することが可能である。この半教師付き学習により、時間差モデルは、任意の利用可能なラベル付けされた分類データを活用する有用な特徴を確実に学習することになる。
【0045】
本開示の追加の態様によれば、多くの新しい使用法が、本開示の時間差モデルについて存在する。上述のように、時間差表象は、関連の動画もしくは他のオブジェクトを識別し、かつ/または動画もしくは他のオブジェクトの分類を得るために使用され得る。
【0046】
別の例示的使用法では、時間差表象は、動画または他の画像集合内の強調を識別するのに有用な場合がある。たとえば、分類モデルは、強調とラベル付けされている動画の部分を含むラベル付けされたデータにおいて上述のように訓練され得る。そのような方式では、分類モデルは、それらの時間差表象に基づいて強調を識別するように訓練され得る。検出された強調画像は、強調リールを作成するために使用され得、かつ/または動画もしくは画像集合の理想的なサムネイルとして提案され得る。
【0047】
別の例では、時間差表象は、画像アルバムの境界または遷移を識別し、自動的に提案するのに有用な場合がある。たとえば、時間差埋込みは、集合で連続した画像の各対について確定され得る。時間差表象のうちの1つが、描写された行動において著しい遷移を示したとき、画像アルバムの潜在的境界が、検出され得る。たとえば、時間差表象値におけるスパイク、または表象値の過剰に繰り返す変化のスパイクは、ユーザに提案され得る画像アルバムの潜在的境界を示すことができる。
【0048】
別の例としては、時間差表象は、訓練データを選択し、かつ/または作成して、特定の画像検索についての分類モデルを訓練するために使用され得る。たとえば、動画における変化を識別することによって、画像分類モデルはまた、変化が生じたフレームを識別するように訓練され得る。一例としては、野球のバッターが野球ボールをヒットする写真を識別することが難しいことでよく知られているのは、野球ボールは、たったいくつかの画素に対応しているからである。しかしながら、これらの画像は、対応する時間差表象を見ることによって区別され得る。1つの例では、ヒットの前後のそれぞれの時間からのイメージおよび音声のデータの入力が時間差モデルに入力されて、野球のバッターがボールをヒットすることに対応する時間差表象を受信することができる。別の例では、野球ボールのヒットが、画像にわたって時間差のみを使用して見出すことができるのは、ヒット後の画像(たとえば、バッターは、一塁に走り、ボールは、空中を飛んでいる)は、打てなかった後の画像(たとえば、キャッチャーがボールをピッチャーに投げ返している)とは異なるからである。訓練データを選択するために時間差表象を使用することにより、利用可能なデータの量が増加し、またバッターがボールをヒットする写真を見つけることができる分類モデルの能力が高まる。
【0049】
さらなる別の例としては、本開示の時間差モデルは、システムにおけるイベント検出、異常検出、および/または障害検出を行うために使用され得る。たとえば、コンピュータシステムは、以前のシステム障害または他のタイプのイベントに関連付けられた以前に観測された時間差表象に関係している時間差表象について監視することができる。別の例としては、システムに生じる新しい変化または他の異常に対応する、今までに見たことがない時間差表象が、識別され得る。
【0050】
別の例としては、時間差表象は、圧縮または符号化として見なすことができる。たとえば、変化の表象は、将来の更新ステップと見なすことができ、訓練された予測モデルを使用して、将来のオブジェクト状態の予測を得ることができる。
【0051】
別の例では、時間差表象は、いくつかの可能な圧縮法のうちのどれがデータセットを圧縮するために使用すべきであるかを選択するために使用され得る。たとえば、データセットがどのように変化しているのかについての知識を使用して、可能な圧縮法のうちのどれが最も圧縮利得を提供することになるのかを識別することができる。
【0052】
いくつかの実装形態では、本開示のシステムおよび方法は、アプリケーション、プログラム、ブラウザプラグインのコンテキスト内に、もしくは他のコンテキストに含められ得る、またはそうでなければこれらに利用され得る。したがって、いくつかの実装形態では、本開示の時間差モデルは、ラップトップ、タブレット、もしくはスマートフォンなどのユーザコンピューティングデバイスに含められ得る、またはそうでなければユーザコンピューティングデバイスによって記憶され、実装され得る。さらなる別の例としては、時間差モデルは、クライアント/サーバ関係に従ってユーザコンピューティングデバイスと通信するサーバコンピューティングデバイスに含められ得る、またはそうでなければサーバコンピューティングデバイスによって記憶され、実装され得る。たとえば、時間差モデルは、ウェブサービス(たとえば、動画検索サービス)の一部分としてサーバコンピューティングデバイスによって実装され得る。
【0053】
次に、図を参照して、本開示の例示的実施形態についてさらに詳細に論じる。
【0054】
デバイスおよびシステムの例
図1Aは、本開示の例示的実施形態による一例示的コンピューティングシステム100のブロック図を示している。システム100は、ユーザコンピューティングデバイス102、サーバコンピューティングシステム130、および訓練コンピューティングシステム150を含み、これらは、ネットワーク180を介して通信可能に連結されている。
【0055】
ユーザコンピューティングデバイス102は、たとえば、パーソナルコンピューティングデバイス(たとえば、ラップトップまたはデスクトップ)、モバイルコンピューティングデバイス(たとえば、スマートフォンもしくはタブレット)、ゲーミングコンソールもしくはコントローラ、ウェアラブルコンピューティングデバイス、埋込型コンピューティングデバイスなどの任意のタイプのコンピューティングデバイスであっても、または他のタイプのコンピューティングデバイスであってもよい。
【0056】
ユーザコンピューティングデバイス102は、1つまたは複数のプロセッサ112、およびメモリ114を含む。1つまたは複数のプロセッサ112は、任意の適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)とすることができ、1つのプロセッサであっても、または動作可能に接続されている複数のプロセッサであってもよい。メモリ114は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどの1つまたは複数の非一時的コンピュータ可読記憶媒体、およびそれらの組合せを含むことができる。メモリ114は、データ116および命令118を記憶することができ、これらは、プロセッサ112によって実行されて、ユーザコンピューティングデバイス102に動作を行わせる。
【0057】
ユーザコンピューティングデバイス102は、1つまたは複数の時間差モデル120を記憶する、または含むことができる。たとえば、時間差モデル120は、ニューラルネットワーク(たとえば、ディープニューラルネットワーク)などの様々な機械学習型モデル、または他の多層非線形モデルとすることも、またはそうでなければこれらを含むこともできる。ニューラルネットワークは、再帰型ニューラルネットワーク(たとえば、長短期メモリ再帰型ニューラルネットワーク)、順伝播型ニューラルネットワーク、または他の形態のニューラルネットワークを含めることができる。代替としてまたは追加として、時間差モデル120は、他の形態の機械学習型モデルを含むことができる。たとえば、時間差モデル120には、1つまたは複数の制限付きボルツマンマシン、ランダム決定フォレスト、または線形モデルを含む他のモデルを含めることができる。例示的時間差モデル120およびその訓練スキームについては、
図2〜
図6を参照して論じている。
【0058】
いくつかの実装形態では、1つまたは複数の時間差モデル120は、ネットワーク180を介してサーバコンピューティングシステム130から受信され、ユーザコンピューティングデバイスメモリ114に記憶され、1つまたは複数のプロセッサ112によって使用され、またはそうでなければ実装され得る。いくつかの実装形態では、ユーザコンピューティングデバイス102は、(たとえば、時間差予測の複数の並行インスタンスを行うように)時間差モデル120の複数の並行インスタンスを実装することができる
【0059】
追加としてまたは代替として、1つまたは複数の時間差モデル140は、クライアント/サーバ関係に従ってユーザコンピューティングデバイス102と通信するサーバコンピューティングシステム130に含められ得る、またはそうでなければサーバコンピューティングシステム130によって記憶され、実装され得る。たとえば、時間差モデル140は、ウェブサービス(たとえば、動画検索サービス)の一部分としてサーバコンピューティングシステム140によって実装され得る。したがって、1つまたは複数のモデル120は、ユーザコンピューティングデバイス102において記憶され、実装され得、および/または1つまたは複数のモデル140は、サーバコンピューティングシステム130において記憶され、実装され得る。
【0060】
ユーザコンピューティングデバイス102はまた、ユーザ入力を受信する1つまたは複数のユーザ入力構成要素122を含むことができる。たとえば、ユーザ入力構成要素122は、ユーザ入力オブジェクト(たとえば、指またはスタイラス)のタッチに敏感であるタッチセンシティブ構成要素(たとえば、タッチセンシティブディスプレイ画面またはタッチパッド)とすることができる。タッチセンシティブ構成要素は、仮想キーボードを実装するように働くことができる。他の例示的ユーザ入力構成要素には、マイクロフォン、従来のキーボード、従来のマウス、またはユーザがユーザ入力を与えることができる他の構成要素が含まれる。
【0061】
サーバコンピューティングシステム130は、1つまたは複数のプロセッサ132、およびメモリ134を含む。1つまたは複数のプロセッサ132は任意の適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)とすることができ、1つのプロセッサであっても、または動作可能に接続されている複数のプロセッサであってもよい。メモリ134は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどの1つまたは複数の非一時的コンピュータ可読記憶媒体、およびそれらの組合せを含むことができる。メモリ134は、データ136および命令138を記憶することができ、これらは、プロセッサ132によって実行されて、サーバコンピューティングシステム130に動作を行わせる。
【0062】
いくつかの実装形態では、サーバコンピューティングシステム130は、1つまたは複数のサーバコンピューティングデバイスを含む、またはそうでなければ1つまたは複数のサーバコンピューティングデバイスによって実装される。サーバコンピューティングシステム130が複数のサーバコンピューティングデバイスを含む事例では、そのようなサーバコンピューティングデバイスは、順次コンピューティングアーキテクチャ、並行コンピューティングアーキテクチャ、またはそれらのいくつかの組合せにより動作することができる。
【0063】
上述のように、サーバコンピューティングシステム130は、1つまたは複数の機械学習型時間差モデル140を記憶することができ、またはそうでなければ1つまたは複数の機械学習型時間差モデル140を含む。たとえば、時間差モデル140は、ニューラルネットワーク(たとえば、ディープ再帰型ニューラルネットワーク)などの様々な機械学習型モデル、もしくは他の多層非線形モデルであっても、またはそうでなければこれらのモデルを含むことができる。代替としてまたは追加として、時間差モデル140は、他の形態の機械学習型モデルを含むことができる。たとえば、時間差モデル140には、1つまたは複数の1つまたは複数の制限付きボルツマンマシン、ランダム決定フォレスト、または線形モデルを含む他のモデルを含めることができる。例示的時間差モデル140およびそのための訓練スキームについては、
図2〜
図6を参照して論じている。
【0064】
サーバコンピューティングシステム130はまた、予測モデル142も含むことができる。たとえば、予測モデル142は、ニューラルネットワーク(たとえば、ディープ再帰型ニューラルネットワーク)などの様々な機械学習型モデル、もしくは他の多層非線形モデルであっても、またはそうでなければこれらのモデルを含むことができる。代替としてまたは追加として、予測モデル142は、他の形態の機械学習型モデルを含むことができる。たとえば、予測モデル142には、1つまたは複数の制限付きボルツマンマシン、ランダム決定フォレスト、または線形モデルを含む他のモデルを含めることができる。例示的予測モデル142およびそのための訓練スキームについては、
図3〜
図6を参照して論じている。
【0065】
サーバコンピューティングシステム130は、ネットワーク180を介して通信可能に連結されている訓練コンピューティングシステム150との相互作用により時間差モデル140を訓練することができる。訓練コンピューティングシステム150は、サーバコンピューティングシステム130とは分離されていても、またはサーバコンピューティングシステム130の一部分であってもよい。
【0066】
訓練コンピューティングシステム150は、1つまたは複数のプロセッサ152、およびメモリ154を含む。1つまたは複数のプロセッサ152は、任意の適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)とすることができ、1つのプロセッサであっても、または動作可能に接続されている複数のプロセッサであってもよい。メモリ154は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどの1つまたは複数の非一時的コンピュータ可読記憶媒体、およびそれらの組合せを含むことができる。メモリ154は、データ156および命令158を記憶することができ、これらは、プロセッサ152によって実行されて、訓練コンピューティングシステム150に動作を行わせる。いくつかの実装形態では、訓練コンピューティングシステム150は、1つまたは複数のサーバコンピューティングデバイスを含む、またはそうでなければ1つまたは複数のサーバコンピューティングデバイスによって実装される。
【0067】
訓練コンピューティングシステム150は、たとえば、誤差の後方伝搬などの様々な訓練法または学習法を使用して、機械学習型モデル120/140を訓練するモデルトレーナ160を含むことができる。いくつかの実装形態では、誤差の後方伝搬を行うことは、時間の経過とともに、短縮された逆伝搬を行うことを含むことができる。モデルトレーナ160は、いくつかの汎化法(たとえば、重み減衰(weight decay)、ドロップアウトなど)を行って、訓練されるモデルの汎化能力を向上させることができる。
【0068】
具体的には、モデルトレーナ160は、訓練データセット162に基づいて時間差モデル120/140を訓練することができる。いくつかの実装形態では、教師なし訓練法は、ラベル付けされていない訓練データセット162において使用され得る。たとえば、教師なし訓練スキームについては、
図3〜
図6を参照して論じている。いくつかの実装形態では、訓練データセット162は、生の動画データ、音声データ、またはセンサデータを含むことができる。
【0069】
いくつかの実装形態では、ユーザが同意した場合、訓練例は、ユーザコンピューティングデバイス102によって提供され得る。したがって、そのような実装形態では、ユーザコンピューティングデバイス102に提供される、またはユーザコンピューティングデバイス102について使用されるモデル120/140は、ユーザコンピューティングデバイス102から受信したユーザ固有のデータにおいて訓練コンピューティングシステム150によって訓練され得る。いくつかの事例では、この処理は、モデルを個人化することと呼ぶ場合がある。加えて、
図5〜
図6を参照して説明するように、特定の分類モデルが同様に訓練されてもよい。
【0070】
モデルトレーナ160は、所望の機能を提供するために利用されるコンピュータ論理機構を含む。モデルトレーナ160は、汎用プロセッサを制御するハードウェア、ファームウェア、および/またはソフトウェアにおいて実装され得る。たとえば、いくつかの実装形態では、モデルトレーナ160は、プログラムファイルを含み、このプログラムファイルは、記憶デバイスにおいて記憶され、メモリにロードされ、1つまたは複数のプロセッサによって実行される。他の実装形態では、モデルトレーナ160は、RAMハードディスクなどの有形のコンピュータ可読記憶媒体、または光学もしくは磁気媒体において記憶される1つまたは複数のコンピュータ実行可能命令セットを含む。
【0071】
ネットワーク180は、ローカルエリアネットワーク(たとえば、イントラネット)、広域ネットワーク(たとえば、Internet)、またはそれらの何らかの組合せなど、任意のタイプの通信ネットワークとすることができ、任意の数のワイヤードリンクまたはワイヤレスリンクを含むことができる。概して、ネットワーク180を介する通信は、幅広く多様な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTP)、符号化もしくは形式(たとえば、HTML、XML)、および/または保護スキーム(たとえば、VPN、セキュアHTTP、SSL)を使用して、任意のタイプのワイヤード接続および/またはワイヤレス接続を介して伝えられ得る。
【0072】
図1Aは、本開示を実装するために使用され得る1つの例示的コンピューティングシステムを示している。他のコンピューティングシステムが同様に使用されてもよい。たとえば、いくつかの実装形態では、ユーザコンピューティングデバイス102は、モデルトレーナ160および訓練データセット162を含むことができる。そのような実装形態では、時間差モデル120は、ユーザコンピューティングデバイス102においてローカルで訓練される場合も、また使用される場合もある。そのような実装形態のうちのいくつかでは、ユーザコンピューティングデバイス102は、ユーザ固有のデータに基づいて時間差モデル120を個人化するようにモデルトレーナ160を実装することができる。
【0073】
図1Bは、本開示の例示的実施形態による一例示的コンピューティングデバイス10のブロック図を示している。コンピューティングデバイス10は、ユーザコンピューティングデバイスであっても、またはサーバコンピューティングデバイスであってもよい。
【0074】
コンピューティングデバイス10は、いくつかのアプリケーション(たとえば、アプリケーション1〜N)を含む。各アプリケーションは、それ自体の機械学習ライブラリおよび機械学習型モデルを含んでいる。たとえば、各アプリケーションは、機械学習型時間差モデルを含むことができる。例示的アプリケーションは、画像および/または動画検索機能、画像収集/管理アプリケーション、イベント検出アプリケーション、圧縮アプリケーション、ブラウザアプリケーションなどを含めるアプリケーションを含む。
【0075】
図1Bに示されているように、各アプリケーションは、たとえば、1つまたは複数のセンサ、コンテキストマネージャ、デバイス状態構成要素、および/または追加の構成要素など、コンピューティングデバイスのいくつかの他の構成要素と通信することができる。いくつかの実装形態では、各アプリケーションは、API(たとえば、公共API)を使用して、各デバイス構成要素と通信することができる。いくつかの実装形態では、各アプリケーションによって使用されるAPIは、そのアプリケーションに固有である。
【0076】
図1Cは、本開示の例示的実施形態による一例示的コンピューティングデバイス50のブロック図を示している。コンピューティングデバイス50は、ユーザコンピューティングデバイスであって、またはサーバコンピューティングデバイスであってもよい。
【0077】
コンピューティングデバイス50は、いくつかのアプリケーション(たとえば、アプリケーション1〜N)を含む。各アプリケーションは、中央インテリジェンス層と通信する。例示的アプリケーションは、画像および/または動画検索機能、画像収集/管理アプリケーション、イベント検出アプリケーション、圧縮アプリケーション、ブラウザアプリケーションなどを含めるアプリケーションを含む。いくつかの実装形態では、各アプリケーションは、API(たとえば、すべてのアプリケーションにわたる共通API)を使用して、中央インテリジェンス層(およびその中に記憶されているモデル)と通信することができる。
【0078】
中央インテリジェンス層は、いくつかの機械学習型モデルを含む。たとえば、
図1Cに示されているように、それぞれの機械学習型モデル(たとえば、時間差モデル)は、各アプリケーションについて提供され、中央インテリジェンス層によって管理され得る。他の実装形態では、2つ以上のアプリケーションは、単一の機械学習型モデルを共有することができる。たとえば、いくつかの実装形態では、中央インテリジェンス層は、アプリケーションのすべてに単一のモデル(たとえば、単一の時間差モデル)を提供することができる。いくつかの実装形態では、中央インテリジェンス層は、コンピューティングデバイス50のオペレーティングシステム内に含められる、またはそうでなければオペレーティングシステムによって実装される。
【0079】
中央インテリジェンス層は、中央デバイスデータ層と通信することができる。中央デバイスデータ層は、コンピューティングデバイス50についての中央集中型データレポジトリとすることができる。
図1Cに示されているように、中央デバイスデータ層は、たとえば、1つまたは複数のセンサ、コンテキストマネージャ、デバイス状態構成要素、および/または追加の構成要素など、コンピューティングデバイスのいくつかの他の構成要素と通信することができる。いくつかの実装形態では、中央デバイスデータ層は、API(たとえば、個別API)を使用して、各デバイス構成要素と通信することができる。
【0080】
モデル構成および訓練スキームの例
図2は、本開示の例示的実施形態による一例示的時間差モデル202のブロック図を示している。時間差モデル202は、第1の時間に関連付けられた第1の状態表象204、および第1の時間とは異なる第2の時間に関連付けられた第2の状態表象205を受信することができる。たとえば、第2の時間は、第1の時間に続くものとすることができる。
【0081】
第1の状態表象204および第2の状態表象205は、第1の時間および第2の時間におけるオブジェクトのそれぞれの状態をそれぞれ記述することができる。たとえば、オブジェクトの状態は、データシーケンスによって記述され得、第1の状態表象204および第2の状態表象205は、そのようなデータシーケンスの部分であっても、またはそのようなデータシーケンスの部分から導出されてもよい。
【0082】
第1の状態表象204および第2の状態表象205の受信に応答して、時間差モデル202は、第1の状態表象204と第2の状態表象205との間の変化を符号化する時間差表象206を出力することができる。言い換えれば、時間差表象206は、オブジェクトの状態が、第1の時間と第2の時間との間でどのように変化したのかを記述することができる。この原理の1つの例示的概念化では、状態表象204および205は、オブジェクトの状態を記述する名詞として概念化され得ることになり、一方、時間差表象206は、オブジェクトの状態を変換する動詞(たとえば、行動)として概念化され得ることになる。
【0083】
いくつかの事例では、時間差表象206は、時間差符号化と呼ぶ場合がある。たとえば、時間差符号化は、その対応する状態表象204および205よりも少ない次元で表すことができる。いくつかの事例では、時間差表象206は、時間差埋込みと呼ぶ場合がある。たとえば、時間差埋込みは、時間差モデルの(たとえば、最終層ではないが、最終層に近接した)埋込み層から取得可能である(ただし、必須ではない)。
【0084】
いくつかの実装形態では、時間差モデル202は、1つまたは複数のニューラルネットワーク(たとえば、ディープニューラルネットワーク)、または他の非線形モデルを含むことができる。ニューラルネットワークには、順伝播型ニューラルネットワーク、畳込み型ニューラルネットワーク、再帰型ニューラルネットワーク、または他の形態のニューラルネットワークを含めることができる。代替としてまたは追加として、時間差モデル202は、他の形態の機械学習型モデルを含むことができる。たとえば、時間差モデル202には、1つまたは複数の制限付きボルツマンマシン、ランダム決定フォレスト、または線形モデルを含む他のモデルを含めることができる。
【0085】
本開示全体を通じて継続的に述べることになる1つの特定の例では、オブジェクトは、あるシーンを描写する動画または他の画像集合とすることができ、第1の状態表象204および第2の状態表象205は、動画または画像集合が含まれている第1のフレームおよび第2のフレームをそれぞれ記述することができる。
【0086】
1つの例としては、第1の状態表象204および第2の状態表象205は、動画の第1のフレームおよび第2のフレームのそれぞれ生の画像データ(たとえば、RGB値)とすることができる。別の例としては、第1の状態表象204および第2の状態表象205は、第1のフレームおよび第2のフレームのそれぞれ、より高いレベルの記述とすることができる。たとえば、第1のフレームおよび第2のフレームはそれぞれ、機械学習型画像分類モデル(たとえば、ディープニューラルネットワーク)に入力され得る。画像分類モデルは、入力フレームごとに、フレームを記述する(たとえば、フレーム内に含まれているオブジェクトを識別する、またはそうでなければ描写されたシーンの意味的記述に関係している)画像埋込みを提供することができる。第1のフレームおよび第2のフレームのそれぞれの画像埋込みは、第1の状態表象204および第2の状態表象205として使用され得る。
【0087】
したがって、いくつかの実装形態では、生のフレームは、状態表象204および205として使用され得るフレームのより高いレベルの(たとえば、人間からより理解されやすい)表象を得るように何らかのやり方で処理され得る。より高いレベルの状態表象を使用することにより、結果的に生じる時間差表象206もやはり、より高いレベルの表象になる。たとえば、第1の状態表象204および第2の状態表象205が第1のフレームおよび第2のフレームによって描写されたシーンの意味的記述に関係している場合には、時間差表象206は、動画によって描写された行動(たとえば、「ダイビング」)の意味的表象に関係している、またはそうでなければこの意味的表象を記述していることが可能になる。したがって、時間差表象206は、状態表象204および205と同じまたはこれに密接に関係している特徴空間もしくは次元空間で表すことが可能になる。
【0088】
一例としては、オブジェクトが、あるシーンを描写する動画であり、かつ第1の状態表象204および第2の状態表象205が、動画の第1のフレームおよび第2のフレームの画像埋込みである事例では、時間差表象206は、動画によって描写されたシーンにおいて行われる行動を記述することができる。たとえば、1人の男性がプールにダイビングすることを描写する動画の場合、フレーム埋込みは、「男性」および「スイミングプール」という意味的言葉に関係していることが可能になるが、結果として得られる時間差表象206は、「ダイビング」という行動に関係していることが可能になる。
【0089】
動画によって描写された行動を記述する時間差表象206は、たとえば、同じ行動を描写する関連の動画を識別することを含む、多くの目的に有用な場合がある。たとえば、第1の動画の時間差表象206を、他の動画について確定された他の時間差表象206と比較して、関連性の尺度を確定することができる。具体的には、既存のある製品では、どのオブジェクトが動画の中にあるのかを符号化するために、オブジェクトについての関連の埋込みが使用されている。しかしながら、本開示よりも前には、行動についての類似物は存在していなかった。いくつかの実装形態では、時間差表象206間の関連性は、時間差表象ベクトル間のユークリッド距離を計算することによって確定され得る。
【0090】
別の例では、行動を記述する時間差表象206はまた、行動に基づいて動画の曖昧さを排除することにも有用な場合がある。たとえば、ある人が食品でいっぱいになっているフライパンの前に座っている第1の動画と、ある人がフライパンを用いて盛んに調理している第2の動画は、それらのそれぞれの時間差表象206を比較することにより曖昧さを排除することが可能である。
【0091】
上述の動画フレーム例は、ほんの1つの例示的適用例にすぎない。他の例示的適用例では、オブジェクトは、音声ファイル、環境、機械化もしくはコンピュータ化されたシステム、または任意の他のオブジェクトもしくはシステムを含むことができる。たとえば、環境、または機械化および/またはコンピュータ化されたシステムの経時的な状態は、センサデータシーケンスによって表象することができる。したがって、本開示の時間差モデル202は、動画がその1つの非限定例である多くの異なるオブジェクトおよびシステムの時間差表象206を提供するために適用され得る。訓練された時間差モデル202についての多くの追加の使用法が存在し、そのような使用法のうちの少なくともいくつかについては、概観の項目において上述している。
【0092】
加えて、いくつかの実装形態では、状態表象204および205は、性質上、多モードとすることができる。一例としては、第1の状態表象204は、第1の時間におけるオブジェクトの状態を記述する、第1のデータモード(たとえば、画像データ)と第2のデータモード(たとえば、音声データ)との両方を含むことができる。同様に、第2の状態表象205は、第2の時間におけるオブジェクトの状態を記述する、第1のデータモード(たとえば、画像データ)と第2のデータモード(たとえば、音声データ)との両方を含むことができる。画像データおよび音声データは、例示的なデータモードまたは情報モードのみとして提供される。多くの異なるデータモードまたは情報モードが存在し、状態表象として使用され得る。
【0093】
図3は、本開示の例示的実施形態による一例示的教師なし訓練スキームのブロック図を示している。具体的には、例示の教師なし訓練スキームでは、時間差モデル202は、予測モデル302と組み合わせることができる。上述のように、時間差モデル202は、異なる時間に関連付けられた第1の状態表象204および第2の状態表象205を受信し、それに応答して、時間差表象206を出力することができる。
【0094】
教師なし訓練を行うために、時間差表象206および第1の状態表象204は、予測モデル302に入力され得る。それに応答して、予測モデル302は、第2の状態表象の予測304を出力することができる。
【0095】
損失値は、第2の状態表象205と第2の状態表象の予測304との差を表象することができる。具体的には、一例として、
図4は、例示的教師なし訓練スキームのブロック図を示し、ここで、損失関数402が、第2の状態表象205と第2の状態表象の予測304との差を評価して、損失値を提供する。
【0096】
時間差モデル202および/または予測モデル302は、損失関数402よって提供される損失値に少なくとも一部基づいて訓練され得る。たとえば、損失関数402によって提供される損失値は、予測モデル302を通じて、次いで、時間差モデル202を通じて逆伝搬され得る。
【0097】
そのような方式では、予測モデル302は、第1の状態表象204、および状態がどのように変化しているのかについての知識を所与として、第2の状態表象205を正確に予測するように訓練され得る。同様に、時間差モデル202は、予測モデル302が第1の状態表象204についての知識を所与として第2の状態表象205を正確に予測できるように、オブジェクトの状態がどのように変化しているのかを十分に記述する時間差表象206を提供するように訓練され得る。言い換えれば、時間差モデル202は、オブジェクトの状態そのものではなく、オブジェクトの状態の変化(たとえば、行動)を符号化する時間差表象206を提供するように訓練され得る。
【0098】
上述の訓練スキームおよび訓練法は、オブジェクト(たとえば、動画)に関連付けられた対応する変化(たとえば、行動)を識別する明示的ラベルを有するラベル付けされたデータを必要とせず、そのため、教師なし方式で動作する。したがって、本開示の1つの技術的便益は、教師なしデータにおいて時間差モデル202を訓練できることである。教師付きデータは、取得に非常に費用がかかり、範囲が限定されるので、多くのシナリオでは、教師なしデータは、教師付きデータよりも好ましい。一方、たとえば生の動画データ、音声データ、またはセンサデータなどの教師なしデータは、非常に豊富である。
【0099】
図5は、本開示の例示的実施形態による一例示的半教師付き訓練スキームのブロック図を示している。より具体的には、一旦、時間差モデル202が時間差表象206を生成すると、時間差表象206は、大量の知識を伝える。たとえば、動画の類似性または関連性など、いくつかのタスクの場合、時間差表象206は、直接、使用され得る。たとえば、動画分類などの他のタスクの場合、追加の分類モデル502が、非常に少量の訓練データを使用して時間差表象206の上で訓練され得る。
【0100】
より具体的には、本開示の別の態様によれば、いくつかのラベル付けされたデータセットが利用可能である場合、ラベル付けされたデータを導入して追加の分類モデル502および/または時間差モデル202を訓練することによって、
図3〜
図4に説明した教師なし技法を半教師付きにするように拡張することが容易である。
【0101】
一例としては、
図5に示されているように、追加の分類モデル502を時間差表象206から分岐することができ、オブジェクトの分類504を提供することができる。いくつかの実装形態では、分類モデル502はまた、第1の状態表象204を受信することができるが、他の実装形態では、分類モデル502は、第1の状態表象204を受信せずに動作することができる。
【0102】
したがって、分類モデル502は、時間差表象206 (オプションで、同様に第1の状態表象204)の受信に応答して、オブジェクトの分類504を出力するように訓練され得る。少なくも何らかの量のラベル付けされた訓練データが利用可能であるとき(たとえば、あるオブジェクトのグラウンドトルース分類を提供するラベルを含むデータ)、所与のオブジェクトの分類モデル502よって出力された分類504とそのようなオブジェクトのラベルとの差を表象する第2の損失値が定義され得る。
【0103】
具体的には、一例として、
図6は、一例示的半訓練スキームのブロック図を示し、ここで、第2の損失関数602が、オブジェクトの分類504とそのようなオブジェクトについて提供されるラベルとの差を評価する。
【0104】
分類モデル502は、第2の損失関数602によって提供される第2の損失値に少なくとも一部基づいて訓練され得る。たとえば、第2の損失関数602によって提供される第2の損失値は、分類モデル502を通じて逆伝搬されて、分類モデル502を訓練することができる。したがって、追加の分類モデル502が、オブジェクトの分類504を、そのようなオブジェクトについて確定された時間差表象206に少なくとも一部基づいて提供するように訓練され得る。
【0105】
上述のように分類モデル502の訓練は、時間差モデル202によって捕捉された概括的知識を分類モデル502に拡張することを可能にする。具体的には、追加の分類モデル502が、非常に少量の特定の訓練データを使用して時間差表象206の上で訓練され得る。したがって、いくつかの実装形態では、時間差モデル202は、特には、特定のクラスの変化または行動の検出を可能にするように設計されている少量の訓練データにおいて分類モデル502を訓練することを望むサードパーティエンティティにサービスとして提示され得る。
【0106】
加えて、いくつかの実装形態では、時間差モデル202はまた、第2の損失関数602によって提供される第2の損失値に少なくとも一部基づいて訓練され得る。たとえば、いくつかの実装形態では、訓練システムは、第2の損失関数602によって提供された第2の損失値を分類モデル502を通じて逆伝搬した後、継続して、第2の損失関数602によって提供された第2の損失値をさらに時間差モデル202を通じて逆伝搬することが可能である。この半教師付き学習により、時間差モデル202は、任意の利用可能なラベル付けされた分類データを活用する有用な特徴を確実に学習することになる。
【0107】
方法の例
図7は、本開示の例示的実施形態による時間差を行うための一例示的方法のフローチャート図を示している。
図7は、例示する目的として、また議論する目的として具体的な順序でステップが行われることを示しているが、本開示の方法は、具体的に例示された順序または構成に限定するものではない。方法700の様々なステップは、本開示の範囲から逸脱することなく、様々なやり方で、省略、再構成、組合せ、および/または適合可能である。
【0108】
702では、コンピューティングシステムは、第1の時間に関連付けられた第1の状態表象、および第1の時間とは異なる第2の時間に関連付けられた第2の状態表象を取得する。たとえば、第2の時間は、第1の時間に続くものとすることができる。
【0109】
いくつかの実装形態では、第1の状態表象は、動画の、第1の時間に関連付けられた第1のフレームを記述し、一方、第2の状態表象は、この動画の、第2の時間に関連付けられた第2のフレームを記述する。一例としては、第1の状態表象は、動画の第1のフレームを機械学習型画像分類ニューラルネットワークに入力することによって得られる第1の画像埋込みとすることができ、第2の状態表象は、動画の第2のフレームを機械学習型画像分類ニューラルネットワークに入力することによって得られる第2の画像埋込みとすることができる。
【0110】
他の実装形態では、第1の状態表象は、音声ファイルの第1の部分を記述し、第2の状態表象は、その音声ファイルの第2の部分を記述する。さらなる他の実装形態では、第1の状態表象は、センサデータセットの第1の部分を記述し、第2の状態表象は、そのセンサデータセットの第2の部分を記述する。
【0111】
704では、コンピューティングシステムは、第1の状態表象および第2の状態表象を時間差モデルに入力する。いくつかの実装形態では、時間差モデルは、1つまたは複数のニューラルネットワーク(たとえば、ディープニューラルネットワーク)、または他の機械学習型モデルを含む。ニューラルネットワークには、順伝播型ニューラルネットワーク、再帰型ニューラルネットワーク、畳込み型ニューラルネットワーク、または他の形態のニューラルネットワークを含めることができる。代替としてまたは追加として、時間差モデルは、他の形態の機械学習型モデルを含むことができる。たとえば、時間差モデルには、1つまたは複数の制限付きボルツマンマシン、ランダム決定フォレスト、または線形モデルを含む他のモデルを含めることができる。
【0112】
706では、コンピューティングシステムは、時間差モデルの出力として、第1の状態表象と第2の状態表象との間の変化を符号化する時間差表象を受信する。いくつかの実装形態では、時間差表象は、時間差モデルの埋込み層において出力された時間差埋込みである。
【0113】
708においては、コンピューティングシステムは、時間差表象および第1の状態表象を予測モデルに入力する。710では、コンピューティングシステムは、予測モデルの出力として、第2の状態表象の予測を受信する。
【0114】
712では、コンピューティングシステムは、第2の状態表象と第2の状態表象の予測との差を表象する損失値を確定する。714では、コンピューティングシステムは、損失値に少なくとも一部基づいて少なくとも時間差モデルを訓練する。
【0115】
いくつかの実装形態では、714において損失値に少なくとも一部基づいて少なくとも時間差モデルを訓練するステップは、損失値を最小化するように少なくとも時間差モデルを訓練するステップを含むことができる。
【0116】
いくつかの実装形態では、714において損失値に少なくとも一部基づいて少なくとも時間差モデルを訓練するステップは、損失値を予測モデルを通じて逆伝搬するステップ、および損失値を予測モデルを通じて逆伝搬した後、継続して、損失値を時間差モデルを通じて逆伝搬するステップを含むことができる。
【0117】
いくつかの実装形態では、方法700は、少なくとも時間差表象を分類モデルに入力するステップ、分類モデルの出力として、第1の状態表象および第2の状態表象によって記述されたオブジェクトの分類を受信するステップ、分類とオブジェクトに関連付けられたラベルとの差を表象する第2の損失値を確定するステップ、ならびに第2の損失値に少なくとも一部基づいて少なくとも分類モデルを訓練するステップをさらに含むことができる。さらなるいくつかの実装形態では、方法700は、第2の損失値に少なくとも一部基づいて時間差モデルを訓練するステップをさらに含むことができる。
【0118】
追加の開示
本明細書に論じられている技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびにそのようなシステムとの間で送受信された行動および情報を示している。コンピュータベースのシステムの固有の柔軟性により、構成要素間および構成要素の中のタスクおよび機能の多種多様の可能な構成、組合せ、ならびに分割が可能である。例としては、本明細書に論じられている処理は、単一のデバイスもしくは構成要素、または組合せで動作する複数のデバイスもしくは構成要素を使用して実装され得る。データベースおよびアプリケーションは、単一のシステムにおいて実装されても、または複数のシステムにわたって分散されてもよい。分散型構成要素は、順次、動作することも、または並行して動作することもできる。
【0119】
本主題について、その様々な特定の例示的実施形態に関して詳細に説明してきたが、各例は、説明のために提供され、本開示を限定するものではない。当業者は、前述についての理解に達すると、そのような実施形態の代替形態、変形形態、および均等形態を容易に製作することができる。したがって、本開示は、当業者には容易に明らかになる本主題に対するそのような修正形態、変形形態、および/または追加形態の包含を除外するものではない。例としては、1つの実施形態の一部として例示または説明した特徴を別の実施形態とともに使用して、さらなる実施形態を生み出すことができる。したがって、本開示がそのような代替形態、変形形態、および均等形態を包含することが意図されている。
様々な例示的実装形態は、時間差モデルの教師なし訓練に関する。時間差モデルは、2つの異なる時間におけるオブジェクトの状態をそれぞれ記述する少なくとも1つの第1の状態表象および第2の状態表象を受信し、それに応答して、2つの異なる時間と時間との間のオブジェクトの変化を符号化する時間差表象を出力するように訓練され得る。モデルを訓練するために、時間差モデルは、予測モデルと組み合わせることができ、この予測モデルは、時間差表象および第1の状態表象を所与として、第2の状態表象を予測し、またはそうでなければ再構成するように試行する。時間差モデルは、第2の状態表象と第2の状態表象の予測との差を表象する損失値において訓練され得る。そのような方式では、ラベル付けされていないデータを使用して、時間差表象を提供するように時間差モデルを訓練することができる。本開示は、一旦訓練されたそのような時間差モデルの例示的使用法をさらに提供する。