(57)【要約】  比較例の比較セットを使用して新規例を分類するための方法、システムおよび装置が開示される。一方法は、比較セットを維持するステップであって、その比較セットは、比較例と比較例の各々に対するそれぞれのラベルベクトルとを含み、各ラベルベクトルは所定のラベルセット内に各ラベルに対するそれぞれのスコアを含む、ステップと、新規例を受信するステップと、ニューラルネットワーク注意機構を新規例および比較例に適用することによって各比較例に対するそれぞれの注意の重みを決定するステップと、比較例の各々に対して、比較例に対するそれぞれの注意の重みおよび比較例に対するそれぞれのラベルベクトルから所定のラベルセット内の各ラベルに対するそれぞれのラベルスコアを生成するステップとを含み、ラベルの各々に対するそれぞれのラベルスコアは、ラベルが新規例に対する正しいラベルである尤度を表す。
2019517075.tif 000002
【特許請求の範囲】
【請求項１】
比較例の比較セットを使用して新規例を分類するために1つまたは複数のコンピュータによって実行される方法であって、
比較セットを維持するステップであって、前記比較セットが、複数の比較例および前記複数の比較例の各々に対するそれぞれのラベルベクトルを含み、各ラベルベクトルが、所定のラベルセット内の各ラベルに対するそれぞれのスコアを含む、ステップと、
新規例を受信するステップと、
ニューラルネットワーク注意機構を前記新規例および前記比較例に適用することによって、各比較例に対するそれぞれの注意の重みを決定するステップと、
前記比較例の各々に対して、前記比較例に対する前記それぞれの注意の重みおよび前記比較例に対する前記それぞれのラベルベクトルから前記所定のラベルセット内の各ラベルに対するそれぞれのラベルスコアを生成するステップであって、前記ラベルの各々に対する前記それぞれのラベルスコアが、前記ラベルが前記新規例に対する正しいラベルである尤度を表す、ステップと
を含む、方法。
【請求項２】
前記所定のラベルセット内の各ラベルに対する前記それぞれのスコアを生成するステップが、
各比較例に対して、前記比較例に対する重み付きラベルベクトルを生成するために、前記比較例に対する前記ラベルベクトルと前記比較例に対する前記注意の重みとを乗算するステップと、
前記所定のラベルセット内の各ラベルに対するそれぞれのラベルスコアを含む結合されたラベルベクトルを生成するために、前記重み付きラベルベクトルを合計するステップと
を含む、請求項1に記載の方法。
【請求項３】
各比較例に対する前記それぞれの注意の重みを決定するステップが、
前記比較例の数値埋め込みを決定するために、比較例ニューラルネットワークを使用して前記比較例を処理するステップと、
前記新規例の数値埋め込みを決定するために、新規例ニューラルネットワークを使用して前記新規例を処理するステップと、
前記比較例の前記数値埋め込みと前記新規例の前記数値埋め込みとの間の類似性メトリックを決定することによって前記それぞれの注意の重みを決定するステップと
を含む、請求項1または2に記載の方法。
【請求項４】
前記類似性メトリックがコサイン距離である、請求項3に記載の方法。
【請求項５】
前記比較例ニューラルネットワークが、前記比較例の前記数値埋め込みを生成するために、前記比較セット内の前記比較例からの比較例のシーケンスの文脈において、前記比較例を処理するように構成される、双方向長短期記憶(LSTM)ニューラルネットワークである、請求項3または4に記載の方法。
【請求項６】
前記新規例ニューラルネットワークが、前記比較例の前記数値埋め込みを生成するために、前記新規例のK個のインスタンスを含むシーケンスを処理するように構成される前記複数の比較例に対する前記数値埋め込みにわたる読み取り注意を有するLSTMニューラルネットワークである、請求項3から5のいずれか一項に記載の方法。
【請求項７】
前記比較例ニューラルネットワークが、入力比較例を受信し、かつ前記比較例の前記埋め込みを生成するように構成される畳み込みニューラルネットワークである、請求項3または4に記載の方法。
【請求項８】
前記新規例ニューラルネットワークが、入力新規例を受信し、前記新規例の前記埋め込みを生成するように構成される畳み込みニューラルネットワークである、請求項3、4または7のいずれか一項に記載の方法。
【請求項９】
前記新規例ニューラルネットワークおよび前記比較例ニューラルネットワークが、少なくともいくつかのパラメータを共有する、請求項3から8のいずれか一項に記載の方法。
【請求項１０】
前記ニューラルネットワーク注意機構が、前記比較セットと異なる例のトレーニングセット上のトレーニングによって学習されている、請求項1から9のいずれか一項に記載の方法。
【請求項１１】
1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを含むシステムであって、前記命令が、前記1つまたは複数のコンピュータによって実行されたとき、請求項1から10のいずれか一項に記載の前記それぞれの方法の動作を前記1つまたは複数のコンピュータに実行させるように動作可能である、システム。
【請求項１２】
命令によって符号化されるコンピュータ記憶媒体であって、前記命令が、1つまたは複数のコンピュータによって実行されたとき、請求項1から10のいずれか一項に記載の前記それぞれの方法の動作を前記1つまたは複数のコンピュータに実行させる、コンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、全内容が参照により本明細書に組み込まれる、2016年5月20日に出願された米国仮特許出願第62/339,782号の非仮出願であり、その優先権を主張する。
【０００２】
本明細書は、ニューラルネットワークを使用してデータを分類することに関する。
【背景技術】
【０００３】
ニューラルネットワークは、受信された入力に対する出力を予測するために非線形ユニットの1つまたは複数の層を採用する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワーク内の次の層、すなわち次の隠れ層または出力層への入力として使用される。ネットワークの各層は、それぞれのパラメータのセットの現在の値に従って、受信された入力から出力を生成する。
【０００４】
いくつかのニューラルネットワークは、再帰型ニューラルネットワークである。再帰型ニューラルネットワークは入力シーケンスを受信するニューラルネットワークであり、入力シーケンスから出力シーケンスを生成する。特に、再帰型ニューラルネットワークは、現在の時間ステップにおける出力の計算において前の時間ステップからのネットワークの一部または全部の内部状態を使用することができる。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書は、1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムを説明する。システムは、比較例の比較セットを使用して入力例を分類するためのシステムである。
【０００６】
本開示の例示的な一態様は、比較例の比較セットを使用して新規例を分類するために1つまたは複数のコンピュータによって実行される方法を対象とし、本方法は、比較セットを維持するステップであって、比較セットは複数の比較例の各々に対して複数の比較例とそれぞれのラベルベクトルを含み、各ラベルベクトルは所定のラベルセット内に各ラベルに対するそれぞれのスコアを含む、ステップと、新規例を受信するステップと、ニューラルネットワーク注意機構を新規例および比較例に適用することによって各比較例に対するそれぞれの注意の重みを決定するステップと、比較例の各々に対して、比較例に対するそれぞれの注意の重みおよび比較例に対するそれぞれのラベルベクトルから所定のラベルセット内の各ラベルに対するそれぞれのラベルスコアを生成するステップとを含み、ラベルの各々に対するそれぞれのラベルスコアは、ラベルが新規例に対する正しいラベルである尤度を表す。
【０００７】
本態様の実装形態では、本方法は、所定のラベルセット内のラベルに対するそれぞれのラベルスコアに基づいて新規例を分類するステップをさらに含む場合がある。たとえば、新規例は、ラベルスコアから導出される分類を使用して分類されてもよい。さらなる例として、新規例は、正しさの最高の尤度を有するラベルを使用して/に基づいて分類されてもよく、または正しさの最高の尤度を有するn個(n>1)のラベルを使用して/に基づいて分類されてもよく、またはしきい値を超える正しさの尤度を有するすべてのラベルを使用して/に基づいて分類されてもよく、以下同様である。
【０００８】
本開示の別の例示的な態様は、環境内のエージェントを制御するために1つまたは複数のコンピュータによって実行される方法を対象とする。本方法は、第1の態様の方法の出力に基づいて(たとえば、生成されたラベルスコアに基づいて、または生成されたラベルスコアから導出される分類に基づいて)エージェントを制御するために1つまたは複数の制御入力を生成するステップを含む。
【０００９】
本明細書で説明する主題は、以下の優位のうちの1つまたは複数を実現するために特定の実施形態において実装されてもよい。ニューラルネットワークを含むデータ分類システムは、ニューラルネットワークに対するいかなる変更も必要とすることなくまたはニューラルネットワークを一から再トレーニングすることなく、観測されていないクラスに対するラベルを効率的に決定することができる。特に、ニューラルネットワークは、ラベル付けられた例の新しいセットが、ニューラルネットワークをトレーニングするために前に使用されたラベル付けられた例のセットと異なる場合でも、その入力としてラベル付けられた例の新しいセット、ならびに分類される必要がある新しい入力例を取ることができ、かつラベル付けられた例の新しいセットを使用して新しい入力例を効率的に分類することができる。したがって、主題の実施形態は、より効率的な方式で画像データに関連する特性を示す出力データを生成するように、入力データ(たとえば、画像データ)を処理ためにトレーニングされてもよいニューラルネットワークを提供してもよい。
【００１０】
本明細書の主題の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明において説明される。主題の他の特徴、態様、および利点は、説明、図面および特許請求の範囲から明白となろう。
【図面の簡単な説明】
【００１１】
【図１】例示的なデータ分類システムを示す図である。
【図２】比較例の比較セットを使用して新規例を分類するための例示的なプロセスのフロー図である。
【図３】各比較例に対するそれぞれの注意の重みを決定するための例示的なプロセスのフロー図である。
【図４】ニューラルネットワーク注意機構をトレーニングするための例示的なプロセスのフロー図である。
【発明を実施するための形態】
【００１２】
様々な図における同様の参照番号および記号は、同様の要素を示す。
【００１３】
本明細書は、一般に様々なデータ、すなわち1つまたは複数のカテゴリーに属するとして分類されてもよい任意の種類のデータオブジェクトのいずれかを分類するように構成されるデータ分類システムを説明する。
【００１４】
たとえば、入力データが画像である場合、データ分類システムは、入力画像がオブジェクトカテゴリーの所定のセットからのオブジェクトカテゴリーに属するオブジェクトの画像を含むかどうかを判定する視覚認識システムである場合がある。別の例として、入力データがビデオまたはビデオの一部である場合、データ分類システムは、入力ビデオまたはビデオの一部がどの(1つまたは複数の)トピックに関連するかを決定するビデオ分類システムである場合がある。別の例として、入力データがオーディオデータである場合、データ分類システムは、所与の話された発声に対して、発声が表す(1つまたは複数の)用語を決定する音声認識システムである場合がある。別の例として、入力データがテキストデータである場合、データ分類システムは、入力テキスト区分がどの(1つまたは複数の)トピックに関連するかを決定するテキスト分類システムである場合がある。
【００１５】
図1は、例示的なデータ分類システム100を示す。
【００１６】
データ分類システム100は、以下で説明するシステム、構成要素および技法が実装される1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上にコンピュータプログラムとして実装されたシステムの一例である。
【００１７】
データ分類システム100は、入力例102を受信することと、入力例102を分類する、たとえば入力例102が属するカテゴリーまたは入力例102が関連するトピックを決定する出力116を生成することとを行うように構成される。
【００１８】
データ分類システム100は、比較セットを含む比較例データ104を記憶する。比較セットは、比較例と比較例の各々に対するそれぞれのラベルベクトルとの数を含む。各ラベルベクトルは、所定のラベルセット内の各ラベルに対するそれぞれのスコアを含む。一般に、所与のラベルベクトル内のラベルスコアは、対応する比較例に対する知られている(1つまたは複数の)ラベルを識別する。
【００１９】
データ分類システム100は、入力として比較例データ104および入力例102を取る分類器112を含む。分類器112は、ニューラルネットワーク注意機構114を使用して比較例データおよび入力例102の関数として出力116を生成する。ニューラルネットワーク注意機構114を使用して出力116を生成するためのプロセスは、図2および図3を参照しながら以下でより詳細に説明する。
【００２０】
データ分類システム100からの出力116は、多くのアプリケーションにおいて使用されてもよい。1つの例示的なアプリケーションとして、データ分類システム100からの出力116は、環境内のエージェントを制御するための1つまたは複数の行動の選択に使用されてもよい。たとえば、データ分類システム100の出力116は、環境内のエージェントの制御をもたらす1つまたは複数の制御入力として使用されてもよく、またはその制御入力を生成するために使用されてもよい。環境は、実世界の環境内のオブジェクトが制御される実世界の環境であってもよい。たとえば、オブジェクト/エージェントは、自律的(「自動運転」)または半自律的車両などの車両であってもよく、データ分類システム100の出力116は、車両を制御するため、たとえば車両のナビゲーションを制御するための制御入力として使用されてもよく、またはその制御入力を生成するために使用されてもよい。したがって、いくつかの態様は、入力データに基づいてエージェントの制御のための行動の効率的で効果的な選択に関連する問題に対処する。
【００２１】
図2は、比較例の比較セットを使用して新規例を分類するための例示的なプロセス200のフロー図である。便宜上、プロセス200は、1つまたは複数のロケーション内に配置された1つまたは複数のコンピュータのシステムによって実行されているものとして説明する。たとえば、本明細書に従って適切にプログラムされたデータ分類システム、たとえば図1のデータ分類システム100は、プロセス200を実行することができる。
【００２２】
システムは、比較セットを維持する(ステップ202)。上記で説明したように、比較セットはk個の比較例を含むことができ、
【数１】
2019517075.tif 000003
として示すことができ、ここでxiは比較例であり、yiは比較例xiに対するそれぞれのラベルベクトルである。各ラベルベクトルyiは、所定のラベルセット内の各ラベルに対するそれぞれのスコアを含む。所与のラベルベクトル内のラベルスコアは、一般に対応する比較例に対する知られている(1つまたは複数の)ラベルを識別する。
【００２３】
いくつかの場合には、比較セットは、ニューラルネットワークをトレーニングするために使用された比較セットと異なる場合がある。すなわち、ニューラルネットワークは、ニューラルネットワークを再トレーニングすることなく、ニューラルネットワークをトレーニングするために使用されたものと異なる比較例の新しいセットを使用して新規例を分類するために使用されてもよい。これらの場合の一部において、比較例の新しいセットは、ニューラルネットワークのトレーニングにおいて使用されたいくつかの比較例といくつかの追加のまたは「見られていない」比較例とを含むことができる。これらの場合の他において、比較例の新しいセットは、「見られていない」比較例だけを含むことができ、トレーニングに使用された比較例を含むことはできない。
【００２４】
システムは、新規例を受信する(ステップ204)。新規例は、
【数２】
2019517075.tif 000004
として示すことができる。
【００２５】
新規例を受信した後、システムは、ニューラルネットワーク注意機構を新規例および比較例に適用することによって、各比較例に対するそれぞれの注意の重みを決定する(ステップ206)。各比較例に対するそれぞれの注意の重みを決定するためのプロセスは、図3を参照しながら以下でより詳細に説明する。
【００２６】
次いで、システムは、新規例に対して、ラベルの各々に対するそれぞれのラベルスコアが、ラベルが新規例に対する正しいラベルである尤度を表すように、所定のラベルセット内の各ラベルに対するそれぞれのラベルスコアを生成する(ステップ208)。特に、システムは、比較例の各々に対して、比較例に対するそれぞれの注意の重みと比較例に対するそれぞれのラベルベクトル内のスコアとからラベルスコアを生成する。
【００２７】
いくつかの実装形態では、ラベルスコアは、以下の
【数３】
2019517075.tif 000005
のように計算されてもよい。ここにおいて、xiは比較例であり、yiは比較セット
【数４】
2019517075.tif 000006
からの比較例に対するラベルベクトルであり、
【数５】
2019517075.tif 000007
は新規例
【数６】
2019517075.tif 000008
が与えられる場合の比較例xiに対する注意の重みである。
【００２８】
式1は、新規例に対する出力を比較セット内のラベルベクトルの線形結合として記述する。各比較例xiに対して、システムは、比較例xiに対する重み付きラベルベクトル
【数７】
2019517075.tif 000009
を生成するために、比較例xiに対するラベルベクトルyiと比較例xiに対する注意の重み
【数８】
2019517075.tif 000010
とを乗算する。次いで、システムは、所定のラベルセット内の各ラベルに対するそれぞれのラベルスコアを含む結合されたラベルベクトル
【数９】
2019517075.tif 000011
を生成するために、すべての重み付きラベルベクトルを合計する。ラベルの各々に対する各ラベルスコアは、ラベルが新規例に対する正しいラベルである尤度を表す。
【００２９】
いくつかの実装形態では、システムは、所定のラベルセット内のラベルに対するそれぞれのラベルスコアに基づいて新規例をさらに分類してもよい。たとえば、新規例は、ラベルスコアから導出される分類を使用して分類されてもよい。さらなる例として、新規例は、正しさの最高の尤度を有するラベルを使用して/に基づいて分類されてもよく、または正しさの最高の尤度を有するn個(n>1)のラベルを使用して/に基づいて分類されてもよく、またはしきい値を超える正しさの尤度を有するすべてのラベルを使用して/に基づいて分類されてもよい。
【００３０】
新規例が分類された後、システムは、所定のラベルセット内のラベル、正しさの最高の尤度を有する1つまたは複数のラベル、または両方に対するそれぞれのラベルスコアをさらなる処理のために別のシステムに与えることができる。たとえば、新規例は、エージェントのセンサによってキャプチャされたセンサデータ(たとえば、画像)であってもよく、その他のシステムは、受信されたラベルスコア、正しさの最高の尤度を有する1つまたは複数のラベル、または両方を使用して環境内のエージェントをどのように制御するかについて決定する制御システムであってもよい。
【００３１】
図3は、ニューラルネットワーク注意機構を使用して、各比較例に対するそれぞれの注意の重みを決定するための例示的なプロセス300のフロー図である。便宜上、プロセス300は、1つまたは複数のロケーション内に配置された1つまたは複数のコンピュータのシステムによって実行されているものとして説明する。たとえば、本明細書に従って適切にプログラムされたデータ分類システム、たとえば図1のデータ分類システム100は、プロセス300を実行することができる。
【００３２】
システムは、比較例の数値埋め込み(numeric embedding)を決定するために、比較例ニューラルネットワークg(xi)を使用して比較例xiを処理する(ステップ302)。一般に、数値埋め込みは、数値(numeric value)の順序付けられた収集、たとえば浮動小数点の値または量子化された浮動小数点の値のベクトルである。
【００３３】
いくつかの実装形態では、例が画像であるとき、比較例ニューラルネットワークg(xi)は、入力比較例を受信し、比較例の埋め込みを生成するように構成される畳み込みニューラルネットワークである。いくつかの他の実装形態では、例が単語、句または他のテキスト区分であるとき、比較例ニューラルネットワークは、入力テキストをベクトルに埋め込むテキスト埋め込みニューラルネットワークである。
【００３４】
いくつかの他の実装形態では、比較例ニューラルネットワークg(xi)は、比較例の数値埋め込みを生成するために、比較セット内の比較例からの比較例のシーケンスの文脈において比較例を処理するように構成される双方向長短期記憶(LSTM)ニューラルネットワークである。すなわち、システムは、比較例をシーケンスとして配列することができ、各比較例に対して、比較例または比較例の特徴表現をたとえば畳み込みニューラルネットワークまたはテキスト埋め込みニューラルネットワークによって生成されるとき、比較例の数値埋め込みを生成するためにシーケンスに従って双方向LSTMニューラルネットワークを使用して処理することがでる。
【００３５】
システムは、新規例の数値埋め込みを決定するために、新規例ニューラルネットワーク
【数１０】
2019517075.tif 000012
を使用して新規例
【数１１】
2019517075.tif 000013
を処理する(ステップ304)。いくつかの実装形態では、例が画像であるとき、新規例ニューラルネットワーク
【数１２】
2019517075.tif 000014
は、入力新規例を受信し、新規例の埋め込みを生成するように構成される畳み込みニューラルネットワークである。いくつかの他の実装形態では、例が単語、句または他のテキスト区分であるとき、比較例ニューラルネットワークは、入力テキストをベクトルに埋め込むテキスト埋め込みニューラルネットワークである。
【００３６】
いくつかの他の実装形態では、新規例ニューラルネットワーク
【数１３】
2019517075.tif 000015
は、比較例の数値埋め込みを生成するために新規例または新規例の特徴表現のK個のインスタンスを含むシーケンスを処理するように構成される複数の比較例に対する数値埋め込みにわたる読み取り注意(read attention)を有するLSTMニューラルネットワークである。新規例ニューラルネットワーク
【数１４】
2019517075.tif 000016
は以下の
【数１５】
2019517075.tif 000017
のように表現されてもよく、ここでf'(x)は新規例または新規例の特徴表現であり、g(S)は比較例の数値埋め込みのセットである。すなわち、最後の時間ステップ以外のK個のステップの各時間ステップにおいて、システムは、内部状態に対する初期更新を生成するためにLSTMニューラルネットワークの現在の内部状態に従ってLSTMニューラルネットワークを使用して新規例の特徴表現を処理する。次いで、システムは、埋め込み鍵を生成するために初期更新と特徴表現とを結合し、たとえば合計し、注意ベクトルを生成するために埋め込み鍵を使用して比較例に対する数値埋め込みにわたってコンテンツベースの注意機構を適用する。次いで、システムは、更新された内部状態、すなわち次の時間ステップに対する現在の内部状態として使用されることになる内部状態を生成するために、初期更新と注意ベクトルとを結合、たとえば連結する。次いで、システムは、最後の時間ステップ、すなわちK番目のステップに対する初期更新または埋め込み鍵を、新規例の最終数値埋め込みとして使用することができる。
【００３７】
いくつかの場合には、新規例ニューラルネットワークと比較例ニューラルネットワークの両方が畳み込みニューラルネットワークであるかまたはそれを含むとき、新規例ニューラルネットワークおよび比較例ニューラルネットワークは、少なくともいくつかのパラメータを共有する。
【００３８】
システムは、比較例の数値埋め込みと新規例の数値埋め込みとの間の類似性メトリックを決定することによってそれぞれの注意の重みを決定する(ステップ306)。いくつかの実装形態では、類似性メトリックはコサイン距離である。いくつかの実装形態では、システムは、以下のモデル
【数１６】
2019517075.tif 000018
に基づいて新規例
【数１７】
2019517075.tif 000019
が与えられると、各比較例xiに対するそれぞれの注意の重み
【数１８】
2019517075.tif 000020
を計算し、ここで、
【数１９】
2019517075.tif 000021
は新規例
【数２０】
2019517075.tif 000022
を埋め込む新規例ニューラルネットワークであり、g(xi)は比較例xiを埋め込む比較例ニューラルネットワークであり、c()はコサイン距離関数である。
【００３９】
図4は、ニューラルネットワーク注意機構をトレーニングするための例示的なプロセス400のフロー図である。
【００４０】
便宜上、プロセス400は、1つまたは複数のロケーション内に配置された1つまたは複数のコンピュータのシステムによって実行されているものとして説明する。たとえば、本明細書に従って適切にプログラムされたデータ分類システム、たとえば図1のデータ分類システム100は、ニューラルネットワーク注意機構をトレーニングするためにプロセス400を実行することができる。
【００４１】
システムは、可能なラベルセットにわたる分布からラベルセットをサンプリングする(ステップ402)。各ラベルセットは、可能なラベルの完全なセットとは異なるラベルの結合である。いくつかの場合には、各ラベルセットは、たとえば2つまたは3つの同じ数のラベルを含む。他の場合には、異なるラベルセットは、たとえば1つまたは2つから5つのラベルにわたる異なる数のラベルを含む。たとえば、分布は、可能なラベルセットのすべてに均等に重み付けることができ、システムは、分布を使用してラベルセットをランダムにサンプリングすることができる。
【００４２】
次いで、システムは、サンプリングされたラベルセットを使用してトレーニング比較セットと入力例のバッチとをサンプリングする(404)。特に、サンプリングされたラベルセット内の各ラベルに対して、システムは、そのラベルを有する比較例のセットをサンプリングする。サンプリングされたラベルセット内のラベルのすべてに対するサンプリングされた比較例とそれらの対応するラベルとのセットが、トレーニング比較セットを形成する。バッチは、サンプリングされたラベル付けられたセット内のラベルのうちの1つを有する比較例のランダムシーケンスを含む。
【００４３】
システムは、トレーニング比較セットに対して条件付けられたバッチ内の例に対するラベルを予測することのエラーを最小にするように、ニューラルネットワーク注意機構をトレーニングする(ステップ406)。特に、システムは、従来のニューラルネットワークトレーニング技法、たとえば勾配降下ベースのトレーニング技法を使用してエラーを低減するために、注意機構のパラメータの現在値を調整するように注意機構をトレーニングする。
【００４４】
システムは、ニューラルネットワーク注意機構のパラメータのトレーニングされた値を決定するために、プロセス400を繰り返して、すなわちラベルセットをサンプリングし、次いでサンプリングされたラベルセットに基づいてニューラルネットワーク注意機構をトレーニングすることを繰り返すことによって実行することができる。このようにしてニューラルネットワーク注意機構をトレーニングすることによって、システムは、エラーを低減することのトレーニングオブジェクトを満足するニューラルネットワーク注意機構のパラメータのトレーニングされた値を迅速に決定することができ、トレーニングされたニューラルネットワークは、入力例を分類するために使用されている比較セットが、ニューラルネットワークのトレーニングに使用されている比較セットのいずれかとは異なるときでも良好に機能することができる。
【００４５】
1つまたは複数のコンピュータのシステムが特定の動作または行動を実行するように構成されるということは、システムが、動作中に動作または行動をシステムに実行させるソフトウェア、ファームウェア、ハードウェアまたはそれらの組合せをシステム上にインストールしているということを意味する。1つまたは複数のコンピュータプログラムが特定の動作または行動を実行するように構成されるということは、1つまたは複数のプログラムが命令を含み、その命令は、データ処理装置によって実行されたとき、装置に動作または行動を実行させるということを意味する。
【００４６】
本明細書で説明する主題および関数演算の実施形態は、本明細書で開示する構造およびそれらの構造的等価物を含めて、ディジタル電子回路、明確に具現化されたコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらのうちの1つまたは複数の組合せの中に実装されてもよい。本明細書で説明する主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわちデータ処理装置による実行のためにまたはデータ処理装置の動作を制御するために、有形の非一時的プログラム担体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装されてもよい。代替または追加として、プログラム命令は、データ処理装置による実行に好適なレシーバ装置に送信するための情報を符号化するために生成される、人工的に生成された伝播信号、たとえば機械的に生成された電気、光、または電磁信号上に符号化されてもよい。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つまたは複数の組合せであってもよい。コンピュータ記憶媒体は、しかしながら伝播信号ではない。
【００４７】
「データ処理装置」という用語は、例としてプログラム可能な1つのプロセッサ、1つのコンピュータ、または複数のプロセッサもしくはコンピュータを含むデータを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、問題となっているコンピュータプログラムに対する実行環境を生成するコード、たとえばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数の組合せを構成するコードを含むことができる。
【００４８】
コンピュータプログラム(それはまた、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、もしくはコードと呼ばれるかまたは記述されることがある)は、コンパイラ型もしくはインタプリタ型の言語、または宣言型もしくは手続き型の言語を含む任意の形態のプログラミング言語で書かれてもよく、コンピュータプログラムは、スタンドアローンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境で使用するのに好適な他のユニットとして、任意の形態で配布されてもよい。コンピュータプログラムは、ファイルシステム内のファイルに相当する場合があるが、必須ではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部、たとえばマークアップ言語文書内、問題となっているプログラムに専用の単一のファイル内、あるいは1つまたは複数のモジュール、サブプログラムまたはコードの部分を記憶するファイルのような複数の協調的ファイル内に記憶される1つまたは複数のスクリプトの中に記憶されてもよい。コンピュータプログラムは、1つのサイトに配置される1つのコンピュータか、または複数のサイトにわたって分配されて通信ネットワークで相互接続される複数のコンピュータ上で実行されるように配布されてもよい。
【００４９】
本明細書で使用される「エンジン」または「ソフトウェアエンジン」は、入力とは異なる出力を提供するソフトウェア実装入力/出力システムを指す。エンジンは、ライブラリ、プラットフォーム、ソフトウェア開発キット("SDK")、またはオブジェクトなど、符号化された機能ブロックであってもよい。各エンジンは、任意の適切なタイプのコンピューティングデバイス、たとえばサーバ、モバイルフォン、タブレットコンピュータ、ノートブックコンピュータ、音楽プレーヤ、イーブックリーダー、ラップトップもしくはデスクトップコンピュータ、PDA、スマートフォン、または1つもしくは複数のプロセッサおよびコンピュータ可読媒体を含む他の固定もしくはポータブルデバイス上に実装されてもよい。加えて、2つ以上のエンジンが、同じコンピューティングデバイス上、または異なるコンピューティングデバイス上に実装されてもよい。
【００５０】
本明細書で説明するプロセスおよび論理フローは、入力データに対して動作して出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なコンピュータによって実行されてもよい。プロセスおよび論理フローはまた、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行されてもよく、装置はまた、その専用論理回路として実装されてもよい。たとえば、プロセスおよび論理フローは、グラフィックス処理ユニット(GPU)によって実行されてもよく、装置はまた、GPUとして実装されてもよい。
【００５１】
コンピュータプログラムの実行に好適なコンピュータは、例として、汎用もしくは専用のマイクロプロセッサ、または汎用および専用のマイクロプロセッサ、あるいは任意の他の種類の中央処理装置に基づくことができる。一般的に、中央処理装置は、リードオンリーメモリもしくはランダムアクセスメモリ、または両メモリから命令およびデータを受信することになる。コンピュータの必須要素は、命令を実行または実施するための中央処理装置と、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。一般的に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば磁気ディスク、磁気光ディスクもしくは光ディスクを含むか、またはその記憶デバイスからデータを受信するかその記憶デバイスにデータを伝達するかもしくはその両方を行うように動作可能に結合されることになる。しかしながら、コンピュータは、必ずしもそのようなデバイスを有する必要があるとは限らない。その上、コンピュータは、別のデバイス、たとえば数例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、あるいはユニバーサルシリアルバス(USB)フラッシュドライブなどのポータブルストレージデバイスの中に組み込まれてもよい。
【００５２】
コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、EPROM、EEPROMおよびフラッシュメモリなどの半導体メモリデバイスと、内部ハードディスクもしくはリムーバブルディスクなどの磁気ディスクと、磁気光ディスクと、CD ROMおよびDVD-ROMディスクとを含む、すべての形態の不揮発性メモリ、メディアおよびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完されてもよいか、または専用論理回路内に組み込まれてもよい。
【００５３】
ユーザとのインタラクションを提供するために、本明細書で説明する主題の実施形態は、ユーザに情報を表示するためのCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタなどの表示デバイスと、ユーザがコンピュータに入力を与えることができるマウスまたはトラックボールなどのキーボードおよびポインティングデバイスとを有するコンピュータ上に実装されてもよい。他の種類のデバイスは、同様にユーザとのインタラクションを提供するために使用されてもよく、たとえばユーザに与えられるフィードバックは任意の形態の知覚フィードバック、たとえば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであってもよく、ユーザからの入力は、音響、音声または触覚の入力を含む任意の形態で受信されてもよい。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信すること、およびそのデバイスから文書を受信することによって、たとえばウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザとインタラクションすることができる。
【００５４】
本明細書で説明する主題の実施形態は、たとえばデータサーバとしてバックエンド構成要素を含むか、またはアプリケーションサーバなどのミドルウェア構成要素を含むか、またはユーザが、本明細書で説明する主題の実装形態とインタラクションしてもよいグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータなどのフロントエンド構成要素を含むか、または1つもしくは複数のそのようなバックエンド、ミドルウェアもしくはフロントエンドの構成要素の任意の組合せを含むコンピューティングシステム内に実装されてもよい。システムの構成要素は、任意の形態または媒体のディジタルデータ通信、たとえば通信ネットワークによって相互接続されてもよい。通信ネットワークの例には、ローカルエリアネットワーク("LAN")と、ワイドエリアネットワーク("WAN")、たとえばインターネットとが含まれる。
【００５５】
コンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントおよびサーバは、一般に互いに離れており、通常通信ネットワークを介してインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【００５６】
本明細書は多くの特定の実装形態の詳細を含むが、これらは、発明のまたは請求されるものの範囲を限定するものと解釈されるべきではなく、特定の発明の特定の実施形態に特有の特徴を説明するものと解釈されるべきである。個別の実施形態の文脈において本明細書で説明されるいくつかの特徴はまた、単一の実施形態の中で組み合わせて実装されてもよい。反対に、単一の実施形態の文脈において説明される様々な特徴はまた、複数の実施形態において個別に、または任意の適切なサブコンビネーションにおいて実装されてもよい。その上、特徴は、特定の組合せにおいて働くように上記で説明され、最初にそのようなものとして請求されるが、いくつかの場合には、請求される組合せからの1つまたは複数の特徴は、その組合せから削除されてもよく、請求される組合せは、サブコンビネーション、またはサブコンビネーションのバリエーションに移されてもよい。
【００５７】
同様に、動作は特定の順序で図に示されるが、これは、望ましい結果を達成するために、そのような動作が図示の特定の順序で、または一連の順序で実行されること、あるいは図示の動作のすべてが実行されることを必要とするものと理解されるべきではない。いくつかの状況では、多重タスク処理および並列処理が有利である場合がある。その上、上記で説明した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものと理解されるべきではなく、説明したプログラム構成要素およびシステムは、一般に単一のソフトウェア製品中に一緒に一体化されてもよく、または複数のソフトウェア製品中にパッケージ化されてもよいものと理解されるべきである。
【００５８】
主題の特定の実施形態が説明された。他の実施形態は、以下の特許請求の範囲の中にある。たとえば、特許請求の範囲に記載される行動は、異なる順序で実行されても、依然として望ましい結果を達成することができる。一例として、添付の図に示すプロセスは、望ましい結果を達成するために、必ずしも図示の特定の順序または一連の順序を必要とするとは限らない。いくつかの実装形態では、多重タスク処理および並列処理が有利である場合がある。
【符号の説明】
【００５９】
100  データ分類システム
102  入力例
104  比較例データ
112  分類器
114  ニューラルネットワーク注意機構
116  出力
【図１】
2019517075.tif 000023
【図２】
2019517075.tif 000024
【図３】
2019517075.tif 000025
【図４】
2019517075.tif 000026
【手続補正書】
【提出日】平成31年2月1日(2019.2.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
比較例の比較セットを使用して新規例を分類するために1つまたは複数のコンピュータによって実行される方法であって、
比較セットを維持するステップであって、前記比較セットが、複数の比較例および前記複数の比較例の各々に対するそれぞれのラベルベクトルを含み、各ラベルベクトルが、所定のラベルセット内の各ラベルに対するそれぞれのスコアを含む、ステップと、
新規例を受信するステップと、
ニューラルネットワーク注意機構を前記新規例および前記比較例に適用することによって、各比較例に対するそれぞれの注意の重みを決定するステップと、
前記比較例の各々に対して、前記比較例に対する前記それぞれの注意の重みおよび前記比較例に対する前記それぞれのラベルベクトルから前記所定のラベルセット内の各ラベルに対するそれぞれのラベルスコアを生成するステップであって、前記ラベルの各々に対する前記それぞれのラベルスコアが、前記ラベルが前記新規例に対する正しいラベルである尤度を表す、ステップと
を含む、方法。
【請求項２】
前記所定のラベルセット内の各ラベルに対する前記それぞれのスコアを生成するステップが、
各比較例に対して、前記比較例に対する重み付きラベルベクトルを生成するために、前記比較例に対する前記ラベルベクトルと前記比較例に対する前記注意の重みとを乗算するステップと、
前記所定のラベルセット内の各ラベルに対するそれぞれのラベルスコアを含む結合されたラベルベクトルを生成するために、前記重み付きラベルベクトルを合計するステップと
を含む、請求項1に記載の方法。
【請求項３】
各比較例に対する前記それぞれの注意の重みを決定するステップが、
前記比較例の数値埋め込みを決定するために、比較例ニューラルネットワークを使用して前記比較例を処理するステップと、
前記新規例の数値埋め込みを決定するために、新規例ニューラルネットワークを使用して前記新規例を処理するステップと、
前記比較例の前記数値埋め込みと前記新規例の前記数値埋め込みとの間の類似性メトリックを決定することによって前記それぞれの注意の重みを決定するステップと
を含む、請求項1または2に記載の方法。
【請求項４】
前記類似性メトリックがコサイン距離である、請求項3に記載の方法。
【請求項５】
前記比較例ニューラルネットワークが、前記比較例の前記数値埋め込みを生成するために、前記比較セット内の前記比較例からの比較例のシーケンスの文脈において、前記比較例を処理するように構成される、双方向長短期記憶(LSTM)ニューラルネットワークである、請求項3または4に記載の方法。
【請求項６】
前記新規例ニューラルネットワークが、前記比較例の前記数値埋め込みを生成するために、前記新規例のK個のインスタンスを含むシーケンスを処理するように構成される前記複数の比較例に対する前記数値埋め込みにわたる読み取り注意を有するLSTMニューラルネットワークである、請求項3から5のいずれか一項に記載の方法。
【請求項７】
前記比較例ニューラルネットワークが、入力比較例を受信し、かつ前記比較例の前記数値埋め込みを生成するように構成される畳み込みニューラルネットワークである、請求項3または4に記載の方法。
【請求項８】
前記新規例ニューラルネットワークが、入力新規例を受信し、前記新規例の前記数値埋め込みを生成するように構成される畳み込みニューラルネットワークである、請求項3、4または7のいずれか一項に記載の方法。
【請求項９】
前記新規例ニューラルネットワークおよび前記比較例ニューラルネットワークが、少なくともいくつかのパラメータを共有する、請求項3から8のいずれか一項に記載の方法。
【請求項１０】
前記ニューラルネットワーク注意機構が、前記比較セットと異なる例のトレーニングセット上のトレーニングによって学習されている、請求項1から9のいずれか一項に記載の方法。
【請求項１１】
1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを含むシステムであって、前記命令が、前記1つまたは複数のコンピュータによって実行されたとき、請求項1から10のいずれか一項に記載の方法を前記1つまたは複数のコンピュータに実行させるように動作可能である、システム。
【請求項１２】
命令によって符号化されるコンピュータ記憶媒体であって、前記命令が、1つまたは複数のコンピュータによって実行されたとき、請求項1から10のいずれか一項に記載の方法を前記1つまたは複数のコンピュータに実行させる、コンピュータ記憶媒体。
【国際調査報告】
2019517075.tif 000027
2019517075.tif 000028