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

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

▶ 三菱電機株式会社の特許一覧

特許7580639拡張された自己注意によってコンテキストを取り込むための人工知能システム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-31
(45)【発行日】2024-11-11
(54)【発明の名称】拡張された自己注意によってコンテキストを取り込むための人工知能システム
(51)【国際特許分類】
   G06F 16/90 20190101AFI20241101BHJP
【FI】
G06F16/90 100
【請求項の数】 15
(21)【出願番号】P 2023574886
(86)(22)【出願日】2021-11-30
(65)【公表番号】
(43)【公表日】2024-02-22
(86)【国際出願番号】 JP2021044596
(87)【国際公開番号】W WO2022201646
(87)【国際公開日】2022-09-29
【審査請求日】2023-08-23
(31)【優先権主張番号】17/213,942
(32)【優先日】2021-03-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】モーリッツ,ニコ
(72)【発明者】
【氏名】堀 貴明
(72)【発明者】
【氏名】ル・ルー,ジョナタン
【審査官】原 秀人
(56)【参考文献】
【文献】米国特許出願公開第2021/0081728(US,A1)
【文献】国際公開第2020/174826(WO,A1)
【文献】特表2021-507429(JP,A)
【文献】特開2020-135457(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/20-40/58
(57)【特許請求の範囲】
【請求項1】
入力のシーケンスにおける入力を、前記入力の互いに対する相互依存を調べることによって説明する人工知能(AI)システムであって、前記人工知能(AI)システムは、
少なくとも1つのプロセッサと、
少なくとも1つの前記プロセッサによって実行されると前記人工知能(AI)システムに複数のステップを実行させる命令が格納されたメモリとを備え、前記複数のステップは、
入力フレームのシーケンスを受け付けるステップと、
前記入力フレームのシーケンスの各入力フレームを、同じ順序のキーフレームのシーケンス、値フレームのシーケンス、およびクエリフレームのシーケンスをもたらす、対応するキーフレーム、対応する値フレーム、および対応するクエリフレームに変換することによって、ならびに、前記クエリフレームのシーケンスにおける各クエリフレームのための注意計算を、前記クエリフレームのシーケンスにおける前記クエリフレームの場所に基づいて制限された前記キーフレームのシーケンスおよび前記値フレームのシーケンスの一部と、所定の抽出関数を用いて前記キーフレームのシーケンスおよび前記値フレームのシーケンスの異なるフレームを処理することによって抽出されたキーフレームの拡張シーケンスおよび値フレームの拡張シーケンスとの組合せに対して実行することによって、前記入力フレームのシーケンスから対応する出力のシーケンスを計算するように訓練された少なくとも1つの拡張された自己注意モジュールを含むニューラルネットワークを用いて、前記入力フレームのシーケンスを処理するステップと、
前記出力のシーケンスをレンダリングするステップとを含み、
前記入力フレームのシーケンスは、時間次元を有する音声入力の情報を記述する順序付けられた特徴のシーケンスを表わし、
拡張機構によって前記キーフレームの拡張シーケンスおよび前記値フレームの拡張シーケンスを生成するために、少なくとも1つの前記プロセッサは、
前記キーフレームのシーケンスおよび前記値フレームのシーケンスを、キーチャンクのシーケンスおよび値チャンクのシーケンスに分割するように構成され、各キーチャンクは複数のキーフレームを含み、各値チャンクは複数の値フレームを含み、少なくとも1つの前記プロセッサはさらに、
キーチャンクの前記複数のキーフレームを、より小さい所定数の、前記キーフレームの拡張シーケンスのための同じ次元性のキーフレームへと圧縮し、値チャンクの前記複数の値フレームを、前記より小さい所定数の、前記値フレームの拡張シーケンスのための同じ次元性の値フレームへと圧縮するために、前記所定の抽出関数を前記キーチャンクの各々および前記値チャンクの各々に適用するように構成される、AIシステム。
【請求項2】
前記プロセッサは、前記キーチャンクのうちの少なくともいくつかおよび前記値チャンクのうちの少なくともいくつかを、並列計算プロセスを使用して同時に圧縮するように構成される、請求項1に記載のAIシステム。
【請求項3】
前記所定の抽出関数は、サンプリング関数、平均プーリング関数、最大プーリング関数、注意ベースのプーリング、および畳み込みニューラルネットワーク(CNN)ベースのプーリングのうちの1つまたはそれらの組合せであ、請求項1に記載のAIシステム。
【請求項4】
前記所定の抽出関数は、前記キーチャンクにおける前記複数のキーフレームの重み分布を決定、前記キーフレームのシーケンスのための前記拡張シーケンスのフレームを、決定された前記重み分布に従って選択された重みを有する前記キーチャンクにおける前記複数のキーフレームの加重平均として計算する、注意ベースのプーリングである、請求項1に記載のAIシステム。
【請求項5】
前記所定の抽出関数は、前記キーチャンクにおける前記複数のキーフレームの重み分布を決定、決定された同じ前記重み分布を使用して、前記値フレームのシーケンスのための前記拡張シーケンスのフレームを、前記値チャンクにおける前記複数の値フレームの加重平均として計算する、注意ベースのプーリングである、請求項1に記載のAIシステム。
【請求項6】
前記所定の抽出関数は注意ベースのプーリングであり、前記注意ベースのプーリングは、キーフレームのチャンクまたは値フレームのチャンクのいずれかに注意を払うことによって複数の重み分布を生成し、前記キーフレームのチャンクおよび前記値フレームのチャンクの加重平均に対応する複数の出力フレームを計算するために前記複数の重み分布を使用し、
前記プロセッサはさらに、前記キーフレームの拡張シーケンスおよび前記値フレームの拡張シーケンスのための1つまたは複数のフレームを生成するために、後処理ルールに従って前記キーチャンクおよび前記値チャンクの前記複数の出力フレームに後処理を実行するように構成され、
前記キーフレームの拡張シーケンスおよび前記値フレームの拡張シーケンスのためのフレームを導き出すために、前記後処理ルールは、
前記キーチャンクおよび前記値チャンクのために決定された前記複数の出力フレームを保存すること、
前記キーチャンクおよび前記値チャンクのために決定された前記複数の出力フレームを組合せること、ならびに、
前記キーチャンクおよび前記値チャンクのために決定された前記複数の出力フレームのうちの少なくとも1つを除去すること、のうちの1つ、またはそれらの組合せを含み、
前記プロセッサはさらに、前記注意計算の下で前記クエリフレームまでの距離がしきい値よりも小さい第1のタイプのキーチャンクおよび値チャンクと、前記注意計算の下で前記クエリフレームまでの距離がしきい値以上である第2のタイプのキーチャンクおよび値チャンクとを含む、少なくとも2つの異なるタイプのキーチャンクおよび値チャンクのために、前記後処理ルールを調節するように構成される、請求項1に記載のAIシステム。
【請求項7】
前記プロセッサはさらに、
前記第1のタイプのキーチャンクおよび値チャンクのために決定された前記複数のフレームを保存し、
前記第2のタイプのキーチャンクおよび値チャンクの前記複数のフレームのうちの少なくとも1つを除去するように構成され、
前記ニューラルネットワークの処理は、2つの線形変換の使用を含み、前記2つの線形変換は、非線形活性化関数によって分離される訓練されたパラメータを有するとともに、第1の線形変換が入力をより小さい次元性に投影し、第2の線形変換が前記第1の線形変換の出力をクエリフレーム、キーフレーム、および値フレームの次元性に投影するようなボトルネック構造を有する、請求項6に記載のAIシステム。
【請求項8】
前記プロセッサはさらに、
前記第1のタイプのキーチャンクおよび値チャンクのための前記複数のフレームを保存し、
平均プーリング、および、前記ニューラルネットワークの処理によって前記キーチャンクおよび前記値チャンクのために決定された前記複数の出力フレームを合併すること、のうちの1つ、またはそれらの組合せを使用して、前記第2のタイプのキーチャンクおよび値チャンクの前記複数のフレームを組合せるように構成される、請求項6に記載のAIシステム。
【請求項9】
前記拡張された自己注意モジュールは、ストリーミングアプリケーションにおいて使用され、前記入力フレームのシーケンスは連続的に受信され、キーフレームの少なくとも1つの新しいチャンクおよび値フレームの少なくとも1つの新しいチャンクが生成された場合に前記キーフレームの拡張シーケンスおよび前記値フレームの拡張シーケンスを拡大することによって、自己注意出力が、限られた遅延で前記入力フレームの各々について生成され、
前記キーフレームのシーケンスからのキーフレームの一部と、前記値フレームのシーケンスからの値フレームの一部とは、前記クエリフレームのシーケンスにおける前記クエリフレームの位置に基づいて選択される、請求項1に記載のAIシステム。
【請求項10】
前記拡張された自己注意モジュールは、前記注意計算がクエリフレームを、前記キーフレームのシーケンスからのキーフレームの一部、および、前記キーフレームのシーケンスから変換された拡張シーケンスと比較して、前記値フレームのシーケンスからの値フレームの一部のシーケンスと前記値フレームの拡張シーケンスとから出力を生成するように、前記入力フレームのシーケンスを、前記クエリフレームのシーケンス、前記キーフレームのシーケンス、および前記値フレームのシーケンスに変換する、請求項1に記載のAIシステム。
【請求項11】
前記ニューラルネットワークは、前記拡張された自己注意モジュールの複数の層を含む、請求項1に記載のAIシステム。
【請求項12】
前記プロセッサはさらに、第1の拡張機構による前記キーフレームおよび前記値フレームのための第1の拡張シーケンスと、第2の拡張機構による前記キーフレームおよび前記値フレームのための第2の拡張シーケンスとを、プロセスパイプライン上に連続して生成するように構成され、
第1のチャンクサイズを有する前記第1の拡張シーケンスは、前記キーフレームの前記第1の拡張シーケンスから前記キーフレームの前記第2の拡張シーケンスをレンダリングし、前記値フレームの前記第1の拡張シーケンスから前記値フレームの前記第2の拡張シーケンスをレンダリングするための第2のチャンクサイズを有する第2の拡張機構への入力に対応する、請求項1に記載のAIシステム。
【請求項13】
前記プロセッサはさらに、
前記注意計算の下で前記クエリフレームに対して所定のしきい値よりも小さいフレーム距離を有するキーチャンクおよび値チャンクに対応する、前記キーフレームおよび前記値フレームのための第1の拡張シーケンスの前記フレームを保存し、
前記注意計算の下で前記クエリフレームに対して所定のしきい値以上であるフレーム距離を有するキーチャンクおよび値チャンクに対応する、前記キーフレームおよび前記値フレームのための第2の拡張シーケンスの前記フレームを保存するように構成される、請求項11に記載のAIシステム。
【請求項14】
前記ニューラルネットワークは、前記拡張された自己注意モジュールを、エンコーダ、デコーダ、またはそれら両方の一部として含む、トランスフォーマまたはコンフォーマアーキテクチャを有する、請求項1に記載のAIシステム。
【請求項15】
自動音声認識(ASR)システム、音事象検出システム、音声タグ付けシステム、音響源分離システム、および機械翻訳システムのうちの1つまたはそれらの組合せの少なくとも一部を形成する、請求項1に記載のAIシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般に人工知能(artificial intelligence:AI)に関し、より具体的には、拡張された自己注意(dilated self-attention)によってコンテキストを取り込むためのAIシステムに関する。
【背景技術】
【0002】
今日、注意機構は、機械翻訳、音声処理、言語モデル化、自動音声認識(automatic speech recognition:ASR)、コンピュータビジョンなどを含む異なる人工知能(AI)アプリケーションのための多くのニューラルネットワーク(Neural Network:NN)アーキテクチャにおける中心コンポーネントになっている。また、自己注意機構も、広く使用されるニューラルネットワークコンポーネントである。自己注意機構は、入力が、所与のタスクにとって最良のやり方で出力を計算するために、互い(「自己」)と対話し、それらが誰により多くの注意(「注意」)を払わなければならないかを見出すことを可能にする。そのような自己注意機構を使用するニューラルネットワークコンポーネントの出力は、これらの対話の集合体である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
注意ベースのアーキテクチャ(トランスフォーマアーキテクチャなど)は、全てのモデルコンポーネントにわたって注意が利用されるさまざまなドメインのためにうまく適用されてきた。より深くより広いアーキテクチャを使用して結果をさらに向上させるために、多くのモデルパラメータが増加される。注意ベースのアーキテクチャは、異なる長さ(「入力シーケンス長」とも呼ばれる)の入力を処理する。一般に、注意ベースのアーキテクチャの計算複雑性は、入力シーケンス長に依存する。また、自己注意機構の計算複雑性は、入力シーケンス長の増加とともに二次的に増大する。これは、発話の入力シーケンス長が比較的長くなり得る自動音声認識(ASR)などを含むもののそれに限定されないアプリケーションにとって問題であり得る。ニューラルネットワークの計算複雑性の増加は、処理時間の増加、低い処理速度、および格納空間の増加といった低い処理性能をもたらす。
【0004】
ニューラルネットワークにおける計算複雑性の問題を解決するために、制限された自己注意機構が使用され得る。しかしながら、制限された自己注意機構は、現在のクエリフレームに関連付けられたクエリに対する遠くの情報を無視する。よって、そのような機構の出力結果は劣化し得る。
【0005】
したがって、前述の限定を克服するための技術的解決策が必要である。より具体的には、計算コスト(時間および空間要件)を最小化しつつ、高品質の出力を提供する必要がある。
【課題を解決するための手段】
【0006】
いくつかの実施形態は、クエリフレーム(すなわちクエリベクトル)を使用することによって入力シーケンスから情報を読み出すための方法である注意機構の認識に基づいている。そのような機構における入力シーケンスは、メモリとして作用する。また、拡張された自己注意機構では、入力シーケンスから計算されたクエリフレームが、それ自体から情報をクエリするために使用される。例示的な一実施形態では、入力シーケンスは、言語音事象のシーケンスを含む音声発話から抽出された観測ベクトル(フレーム)のシーケンスに対応し得る。自己注意機構は、そのような入力シーケンスのフレームを、キーフレーム、値フレーム、およびクエリフレームのシーケンスに変換し得る。いくつかの実施形態では、入力シーケンスにおけるあるフレーム位置に対応するあるクエリフレームの隣接フレームは、当該クエリフレームの音事象と同様の音事象に属するかもしれず、その場合、それらとキーフレーム、値フレーム、およびクエリフレームのうちの1つ以上との論理関係を認識するために、詳しい情報が必要とされ得る。また、(当該クエリフレームから離れている、入力シーケンスにおけるフレームといった)遠くの情報は、入力シーケンスのコンテキストを認識することに関連し得る。したがって、隣接フレームは依存関係を有する場合があり、一方、遠くのフレームは、それほど詳しくない情報を必要とし得るコンテキストをトレースすることに関連する。
【0007】
入力シーケンスにおいて各単語が観測ベクトルによって表わされる機械翻訳または言語モデル化などにおけるいくつかの例示的な実施形態では、入力シーケンスのすぐ近くの単語は依存関係を有する可能性がより高い場合があり、一方、ほんの少数の遠くの単語または単語グループは、文の意味論的コンテキストおよびシンタックスをトレースすることに関連する場合があり、それは、それほど詳しくない情報を必要とし得る。
【0008】
いくつかの他の例示的な実施形態では、自動音声認識(ASR)システムにおいて、あるクエリフレームの隣接フレーム(またはすぐ近くのフレーム)が同じ音素、音節、および単語に属する場合があり、その場合、それらの一貫性を認識するために、詳しい情報が必要とされる。一方、遠くの情報は、発話における音および単語のコンテキストを認識することと、話者特性または録音特性に適合することとに関連し、それは典型的には、それほどきめ細かくない情報を必要とする。いくつかの実施形態では、トランスフォーマベースのニューラルネットワークが、エンドツーエンドASRシステムのために使用され得る。トランスフォーマベースのニューラルネットワークは、フレームレベル分類目的関数と同時に訓練され得る。例示的な一実施形態では、トランスフォーマベースのニューラルネットワークは、コネクショニスト時間分類(connectionist temporal classification:CTC)目的と同時に訓練され得る。トランスフォーマベースのニューラルネットワークは、エンコーダ/デコーダ注意と自己注意との両方を活用し得る。エンコーダ/デコーダ注意は、入力値のシーケンスへの注意を制御するためにトランスフォーマベースのニューラルネットワークのデコーダの状態に基づいてクエリベクトルを使用し得る。入力値のシーケンスは、エンコーダニューラルネットワーク状態のシーケンスである。トランスフォーマベースのニューラルネットワークの注意タイプは両方とも、スケーリングされたドット積注意機構に基づき得る。トランスフォーマベースのニューラルネットワークにおいて実現されたCTC目的は、エンコーダ/デコーダベースのASRシステムのストリーミング認識も可能にしつつ、ラベル同期モデルと時間同期モデルとの両方の組合された利点を達成し得る。
【0009】
いくつかの実施形態は、制限された自己注意機構において、現在のクエリフレームに関連付けられたクエリに対する遠くの情報が除外され得るという問題の認識に基づいている。制限された自己注意機構は、解像度が高い、現在のクエリフレームの隣接フレームまたはすぐ近くのフレームへの注意を可能にし得る。すなわち、制限された自己注意機構では、現在のクエリフレームに対する過去および未来のコンテキストが、予め規定された数のルックバックフレームおよびルックアヘッドフレームに基づいて限定される。しかしながら、遠くの情報は、正確な結果を提供する際に有用であり得る。
【0010】
いくつかの実施形態は、クエリに対する過去(左)のコンテキストを決定するために現在のクエリフレームまでの要約フレームを計算するための遠くの情報の再帰処理の認識に基づいている。再帰処理では、クエリが前に動くにつれて、要約フレームは新しい入力フレームで更新される。このプロセスは、最後のクエリフレームが処理されるまで実行される。情報のこの反復更新は、再帰処理が進むにつれて、不正確な遠くのコンテキストの決定をもたらす。なぜなら、要約フレームにおいて遠くのフレームの元の情報が老朽化しているためである。また、再帰処理は、要約フレームの計算を加速するために並列処理することができない。
【0011】
遠くの情報のそのような老朽化を回避するために、ならびに、現在のクエリフレームに対する過去(左のコンテキスト)および未来(右のコンテキスト)の遠くの情報への等しいアクセスを得るために、いくつかの実施形態の目的は、再帰的アプローチを使用することなく、遠くのコンテキストを正確に要約することである。その目的のために、いくつかの実施形態の目的は、制限された自己注意に加えて拡張機構を提供することである。拡張機構と制限された自己注意との組合せは、拡張された自己注意と呼ばれる。拡張機構では、ともに入力シーケンスから導き出される値フレームのシーケンスとキーフレームのシーケンスとが抽出され、値拡張シーケンスおよびキー拡張シーケンスに格納される。拡張機構は、キー拡張シーケンスのフレームと値拡張シーケンスのフレームとを同時に計算するために、並列計算を使用していてもよい。キー拡張シーケンスおよび値拡張シーケンスは、キーフレームのシーケンスおよび値フレームのシーケンスと比較して、より低いフレームレートのものであってもよい。
【0012】
このため、制限された自己注意を拡張機構と組合せた、拡張された自己注意は、制限ウィンドウのルックアヘッドおよびルックバック範囲内にある、クエリのすぐ近くのフレームには、フル解像度で自己注意を行ない、制限ウィンドウの外側にあり得る遠くのフレームには、低減された解像度で自己注意を行なう。いくつかの例示的な実施形態では、拡張された自己注意の拡張機構は、入力シーケンスのキーフレームおよび値フレームのシーケンスをサブサンプリングまたは要約する。要約されたキーフレームおよび値フレームは、拡張シーケンスとして使用され得る。キーフレームおよび値フレームの拡張シーケンスは、入力シーケンスのフレームレートと比較して、より低いフレームレートに対応し得る。キーフレームおよび値フレームの拡張シーケンスは、制限された自己注意機構によって生成されたキーフレームおよび値フレームの制限されたシーケンスに付加され得る。このようにして、入力シーケンスのコンテキスト全体が、正確な自己注意出力を提供するために、部分的に高い(フル)解像度およびより低い解像度で取り込まれる。高い解像度およびより低い解像度の情報は圧縮された形であってもよく、それは、機械翻訳、言語モデル化、音声認識などに関係するアプリケーションのための入力シーケンスを処理するために、より少ないメモリおよびより少ない計算時間を消費し得る。
【0013】
いくつかの実施形態は、フレームのチャンク内の関連情報を抽出または圧縮するサブサンプリング方法およびプーリング方法などの異なるフレームレート削減方法に基づいて、入力のシーケンス、すなわち入力シーケンスからの関連情報が、フレームのチャンク内で抽出または圧縮され得るという認識に基づいている。フレーム削減方法の例は、平均プーリング、最大プーリング、注意ベースのプーリングなどを含み得るものの、それらに限定されない。
【0014】
いくつかの実施形態では、フレームのチャンク内の関連情報は、注意ベースのプーリングアプローチによって抽出または圧縮される。注意ベースのプーリング方法は、チャンクの加重平均を計算するために使用される1つまたは複数のクエリベクトルを得るために、訓練された埋め込みベクトルを使用する。
【0015】
いくつかの実施形態では、入力のシーケンスからの関連情報は、ブロック処理手法、サブサンプリング手法、および圧縮手法を使用して抽出され得る。そのようなアプローチでは、現在のクエリフレームに対する遠くのフレームは、より低い解像度で処理され、現在のクエリフレームに対する隣接フレームは、高い(フル)解像度で処理される。遠くの情報とすぐ近くの情報とは、入力のシーケンスの圧縮された形を得るために組合され得る。異なる実施形態は、全ての利用可能な/関連するキーフレームおよび値フレームから情報を抽出するために、所定の異なる抽出関数を使用する。異なる抽出関数は、制限された自己注意を、拡張された自己注意によって取り込まれた他の有用な情報と組合せるために、上述の抽出手法のうちの1つまたはそれらの組合せを使用する。
【0016】
さらに、いくつかの実施形態は、自己注意機構の計算複雑性が入力シーケンス長の増加とともに二次的に増大するという認識に基づいている。したがって、いくつかの実施形態の目的は、自己注意の計算コストが入力シーケンス長とともに二次的に増大することを緩和することである。一実施形態によれば、拡張された自己注意システムにおける制限された自己注意の計算コストは、入力シーケンス長とともに直線的にのみ増大する。拡張シーケンスに注意を払うための計算コストは、フルシーケンスベースの自己注意と比較して、1/Mに削減され、ここでMは、サブサンプリングか、またはプーリング演算のチャンクサイズを表わす。
【0017】
このため、拡張された自己注意機構では、入力シーケンスのコンテキスト全体は依然として異なる解像度で取り込まれるものの、拡張された自己注意機構の全体的な複雑性は、フルシーケンスベースの自己注意機構と比較して著しくより小さい。
【0018】
したがって、一実施形態は、入力のシーケンスにおける入力を、入力の互いに対する相互依存を調べることによって説明する人工知能(AI)システムであって、人工知能(AI)システムは、少なくとも1つのプロセッサと、少なくとも1つのプロセッサによって実行されると人工知能(AI)システムに複数のステップを実行させる命令が格納されたメモリとを備え、複数のステップは、入力フレームのシーケンスを受け付けるステップと、入力フレームのシーケンスの各入力フレームを、同じ順序のキーフレームのシーケンス、値フレームのシーケンス、およびクエリフレームのシーケンスをもたらす、対応するキーフレーム、対応する値フレーム、および対応するクエリフレームに変換することによって、ならびに、クエリフレームのシーケンスにおける各クエリフレームのための注意計算を、クエリフレームのシーケンスにおけるクエリフレームの場所に基づいて制限されたキーフレームのシーケンスおよび値フレームのシーケンスの一部と、所定の抽出関数を用いてキーフレームのシーケンスおよび値フレームのシーケンスの異なるフレームを処理することによって抽出されたキーフレームの拡張シーケンスおよび値フレームの拡張シーケンスとの組合せに対して実行することによって、入力フレームのシーケンスから対応する出力のシーケンスを計算するように訓練された少なくとも1つの拡張された自己注意モジュールを含むニューラルネットワークを用いて、入力フレームのシーケンスを処理するステップと、出力のシーケンスをレンダリングするステップとを含む、AIシステムを開示する。
【0019】
ここに開示される実施形態は、添付図面を参照してさらに説明される。示された図面は必ずしも縮尺通りではなく、代わりに、ここに開示される実施形態の原理を例示することに重きが概して置かれている。
【図面の簡単な説明】
【0020】
図1】本開示のいくつかの実施形態に従った、人工知能(AI)システムを実現するためのネットワーク環境を示すブロック図である。
図2】本開示のいくつかの実施形態に従った、図1に例示的に示されたAIシステムのブロック図である。
図3A】本開示の例示的な一実施形態に従った、AIシステムの拡張された自己注意モジュールの注意機構を表わす図式表現である。
図3B】本開示の別の例示的な実施形態に従った、AIシステムの拡張された自己注意モジュールの注意機構を表わす図式表現である。
図4】本開示のいくつかの実施形態に従った、AIシステムの拡張された自己注意モジュールのブロック図である。
図5】本開示のいくつかの実施形態に従った、AIシステムのトランスフォーマベースのニューラルネットワークを示すブロック図である。
図6A】本開示の例示的な一実施形態に従った、入力のシーケンスのキー/値フレームのセットの圧縮を表わす図式表現である。
図6B】本開示の別の例示的な実施形態に従った、入力のシーケンスのキー/値フレームのセットの圧縮を表わす図式表現である。
図6C】本開示のいくつかの実施形態に従った、AIシステムによって出力された出力シーケンスを示す図である。
図7A】本開示のいくつかの実施形態に従った、注意ベースのプーリングを示す図である。
図7B】本開示のいくつかの実施形態に従った、後処理を用いる注意ベースの拡張を示す図である。
図7C】本開示のいくつかの実施形態に従った、注意ベースのプーリングを介した多解像度の拡張された自己注意を示す図である。
図8A】本開示のいくつかの実施形態に従った、自動音声認識(ASR)システムにおけるAIシステムのブロック図である。
図8B】本開示のいくつかの実施形態に従った、自動機械翻訳(automatic machine translation:AMT)システムにおけるAIシステムのブロック図である。
図9】本開示のいくつかの他の実施形態に従った、AIシステムの実現のための例示的なシナリオを示す図である。
図10】本開示のいくつかの例示的な実施形態に従った、AIシステムの全体的ブロック図である。
【発明を実施するための形態】
【0021】
以下の説明では、説明する目的のために、多くの特定の詳細が、本開示の完全な理解を提供するために述べられる。しかしながら、これらの特定の詳細がなくても本開示が実践され得ることは、当業者には自明であろう。他の事例では、本開示を不明瞭にすることを避けるために、装置および方法はブロック図の形式でのみ示される。
【0022】
この明細書および請求項で使用されるような、「たとえば」、「といった」、「などの」という用語、ならびに「備える」、「有する」、「含む」という動詞およびそれらの他の動詞形は、1つ以上の構成要素または他の項目のリストとともに使用される場合、非限定的であるとして各々解釈されるべきである。すなわち、リストは、他の追加の構成要素または項目を除外するとみなされるべきではない。「に基づいて」という用語は、少なくとも部分的に基づいていることを意味する。また、ここに採用されている言葉遣いおよび用語は説明のためのものであり、限定的であると見なされるべきでないということが理解されるべきである。この説明内で利用されるどの見出しも便宜上のものに過ぎず、法的効果または限定的効果を有していない。
【0023】
図1は、本開示のいくつかの実施形態に従った、人工知能(AI)システム102を実現するためのネットワーク環境100を示すブロック図である。ネットワーク環境100は、ユーザデバイス108に関連付けられたユーザ106を含むように表わされる。図示された例示的なシナリオでは、ユーザ106は、入力110などの入力をユーザデバイス108に提供する。ユーザデバイス108は入力110を音響信号または音声発話として受信し得る。ユーザデバイス108は、サーバ104によってホストされる自動音声認識(ASR)または自動機械翻訳(AMT)アプリケーションなどのアプリケーションを含み得る。入力110は、ネットワーク116を介してサーバ104に提供され得る。サーバ104は、異なる動作(ASRおよびAMTアプリケーションに関係する動作など)を実行するために入力110を処理するように構成され得る。例示的な一実施形態では、ユーザ106は入力110を、技術的解決策提供者112によって解決され得る技術的問題に関係する音声入力(音声入力110とも呼ばれる)として提供していてもよい。技術的解決策提供者112は、人間の担当者、仮想ボット、および対話音声応答(interactive voice response:IVR)システムを含み得るものの、それらに限定されない。サーバ104は、音声入力110をユーザデバイス108から受信し、ネットワーク116を介して技術的解決策提供者112に転送する。
【0024】
また、ネットワーク116は、データの送信および受信のための複数のネットワークポートおよび複数の通信チャネルを提供するように構成され得る好適なロジック、回路、およびインターフェイスを含み得る。各ネットワークポートは、通信データの送信および受信のための仮想アドレス(または物理マシンアドレス)に対応し得る。たとえば、仮想アドレスは、インターネットプロトコルバージョン4(Internet Protocol Version 4:IPv4)(またはIPv6アドレス)であってもよく、物理アドレスは、メディアアクセス制御(Media Access Control:MAC)アドレスであってもよい。ネットワーク116は、1つ以上の通信デバイスのうちの少なくとも1つからの1つ以上の通信要求に基づいた通信プロトコルの実現のために、アプリケーション層に関連付けられ得る。通信データは、通信プロトコルを介して送信または受信され得る。そのような有線および無線通信プロトコルの例は、伝送制御プロトコルおよびインターネットプロトコル(Transmission Control Protocol and Internet Protocol:TCP/IP)、ユーザデータグラムプロトコル(User Datagram Protocol:UDP)、ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol:HTTP)、ファイル転送プロトコル(File Transfer Protocol:FTP)、ジグビー(ZigBee)、エッジ(EDGE)、赤外線(IR)、IEEE 802.11、802.16、セルラー通信プロトコル、および/またはブルートゥース(登録商標)(Bluetooth:BT)通信プロトコルを含み得るものの、それらに限定されない。
【0025】
ネットワーク116の例は、その無線チャネル、有線チャネル、無線チャネルと有線チャネルとの組合せを含み得るものの、それらに限定されない。無線または有線チャネルは、ローカルエリアネットワーク(Local Area Network:LAN)、パーソナルエリアネットワーク(Personal Area Network:PAN)、無線ローカルエリアネットワーク(Wireless Local Area Network:WLAN)、無線エリアネットワーク(Wireless Area Network:WAN)、無線ワイドエリアネットワーク(Wireless Wide Area Network:WWAN)、ロングタームエボリューション(Long Term Evolution:LTE)ネットワーク、基本電話サービス(plain old telephone service:POTS)、およびメトロポリタンエリアネットワーク(Metropolitan Area Network:MAN)のうちの1つによって規定され得るネットワーク規格に関連付けられ得る。加えて、有線チャネルは、帯域幅基準に基づいて選択され得る。たとえば、光ファイバーチャネルが、高帯域幅通信のために使用され得る。また、同軸ケーブルベースまたはイーサネット(登録商標)ベースの通信チャネルが、中帯域幅通信のために使用され得る。
【0026】
いくつかの実施形態では、音声入力110が非常に長い場合がある。そのような場合、サーバ104の計算複雑性は高くなり得る。したがって、サーバ104は音声入力110を正確におよび/または適時に処理しないかもしれず、それは不正確な出力の生成をもたらし得る。また、非常に長い音声入力110を処理することは時間がかかる場合があり、それはユーザ入力への応答の遅延をもたらす。さらに、サーバはまた、サーバが非常に長い音声入力110を処理する際により多くの時間をかけるため、バックログを抱える場合がある。
【0027】
その目的のために、音声入力110のための(低い計算コストでの)高品質出力がAIシステム102を使用して生成可能であり、それは図2を参照して次に説明される。
【0028】
図2は、本開示のいくつかの実施形態に従った、図1に例示的に示されたAIシステム102のブロック図である。AIシステム102は、入力のシーケンスにおける入力を、当該入力の互いに対する相互依存を調べることによって説明する。AIシステム102は、プロセッサ202と、メモリ204と、入力/出力(input/output:I/O)インターフェイス210とを含む。メモリ204は、拡張された自己注意モジュール208を含むニューラルネットワーク206を有する。いくつかの実施形態では、ニューラルネットワーク206は、複数の拡張された自己注意モジュールの複数の層を含み得る。
【0029】
例示的な一実施形態では、I/Oインターフェイス210は入力のシーケンスを受信するように構成され、入力のシーケンスは、時間次元を有する音声入力(音声入力110など)に対応し得る。また、プロセッサ202は、メモリ204に格納された命令を実行するように構成される。格納された命令の実行により、AIシステム102は、入力信号(音声入力110など)の情報を記述する順序付けられた特徴のシーケンスを表わす入力フレームのシーケンスを受け入れるようになる。また、入力フレームのシーケンスは、入力フレームのシーケンスから対応する出力のシーケンスを計算するように訓練される拡張された自己注意モジュール208を含むニューラルネットワーク206を用いて処理される。
【0030】
いくつかの実施形態は、入力信号が入力フレームのシーケンスを含む場合があり、入力フレームがキー、値、およびクエリのシーケンスに変換されるという認識に基づいている。クエリのシーケンスの各クエリフレームは、クエリフレームに対する各キーフレームの関係を計算するために、キーのシーケンス上で検索する。各キーフレームは、各入力フレームに関する特徴を符号化する値フレームに関係する。クエリフレームに対する各キーフレームの推定される関係は、値フレームのシーケンスの加重平均とクエリ検索のための出力とを計算するために重み付け係数を各値フレームに割り当てるために使用される。たとえば、入力フレームのシーケンスの各入力フレームが、単語のシーケンス、すなわち文におけるある単語に対応する場合、あるクエリフレームに対する各キーフレームの推定される関係は、当該クエリフレームに関連付けられた当該単語と、当該文における全ての他の単語との関係を表わすであろう。
【0031】
また、いくつかの実施形態は、キーに対するクエリの関係とクエリに対するキーの関係とは識別可能であるという認識に基づいている。すなわち、注意機構は、ネットワークが学習するにつれて、検索単語とコンテキストを提供する単語との関係を作り変えることを学習することができる。
【0032】
したがって、いくつかの実施形態では、プロセッサ202は、入力フレームのシーケンスの各入力フレームを、同じ順序のキーフレームのシーケンス、値フレームのシーケンス、およびクエリフレームのシーケンスをもたらす、対応するキーフレーム、対応する値フレーム、および対応するクエリフレームに変換することによって、ニューラルネットワーク206を介して入力フレームのシーケンスを処理する。いくつかの実施形態では、クエリフレームのシーケンスにおけるクエリフレームの場所は、キーフレームおよび値フレームのシーケンスにおける場所に対応する。
【0033】
また、プロセッサ202は、クエリフレームのシーケンスにおける各クエリフレームのための注意計算を、キーフレームのシーケンスおよび値フレームのシーケンスの一部とキーフレームの拡張シーケンスおよび値フレームの拡張シーケンスとの組合せに対して、ニューラルネットワーク206を介して実行する。キーフレームのシーケンスおよび値フレームのシーケンスの一部は、クエリフレームのシーケンスにおけるクエリフレームの場所または位置に基づいて決定される。
【0034】
この目的のために、拡張された自己注意モジュール208は、学習された変換と注意計算のシーケンスとに基づいて、入力フレームのシーケンスから出力のシーケンスを計算するように訓練される。注意計算のシーケンスは、現在のクエリフレームとキーフレームのシーケンスとを使用することによって、値フレームのシーケンスを出力にマッピングすることを可能にする。いくつかの例示的な実施形態では、拡張された自己注意モジュール208は、現在のクエリフレームがクエリベクトルに対応する場合に現在のクエリフレームを使用することによって入力のシーケンスから情報を読み出すための注意機構を提供する。
【0035】
拡張された自己注意モジュール208はさらに、クエリフレームのシーケンスの異なるクエリフレームを、キーフレームのシーケンスの異なる表現と比較するようにされる。異なるクエリフレームとキーフレームの異なる表現との比較は、値フレームのシーケンスの異なる表現に対する異なる重み分布を生成する。異なる重み分布は、当該出力の出力のシーケンスを形成する、値フレームの異なる表現の加重平均を計算するために使用される。キーフレームおよび値フレームの異なるシーケンス表現は、キーフレームおよび値フレームのサブシーケンスを、キーフレームおよび値フレームの圧縮またはサブサンプリングされたシーケンスと組合せることによって形成される。いくつかの実施形態では、キーフレームおよび値フレームのサブシーケンスは、現在のクエリフレームの場所と、キーフレームおよび値フレームの圧縮またはサブサンプリングされたシーケンスとに基づいて選択され得る。
【0036】
いくつかの実施形態では、入力のシーケンスの現在のクエリフレームの隣接フレームは、現在のクエリフレームに関係する情報(以下、「関連情報」)を提供するために利用され得る。隣接フレームからの関連情報は、現在のクエリフレームのものと同様の要素、または、現在のクエリフレームとのより強固な関係を含み得る。そのような場合、関連情報の要素と現在のクエリフレームの要素との論理関係を認識するために、詳しい情報が必要とされ得る。したがって、いくつかの実施形態は、現在のクエリフレームに隣接するフレームが依存関係を有する可能性がより高いという認識に基づいている。
【0037】
また、現在のクエリフレームから遠くにある、入力のシーケンスにおけるフレームは、入力のシーケンスのコンテキストを認識することに関連し得る遠くの情報を提供し得る。したがって、いくつかの実施形態は、遠くの隣接フレームが、入力のシーケンスを説明することに関係するコンテキストをトレースすることに関連し得るという認識に基づいている。
【0038】
たとえば、音声認識については、現在のクエリフレームの隣接フレームは、同じ音素、音節、または単語に対応し得る。遠くの情報は、発話における音および単語のコンテキストを認識することと、話者特性または録音特性に適合することとに関連する場合があり、それは典型的には、それほどきめ細かくない情報を必要とする。機械翻訳については、現在のクエリフレームに隣接する単語は依存関係を有する可能性がより高く、一方、ほんの少数の遠くの単語または単語グループは、文の意味論的コンテキストおよびシンタックスをトレースすることに関連する場合があり、それは、それほど詳しくない情報を必要とし得る。
【0039】
入力のシーケンスのコンテキストおよびシンタックスを決定するために、キーフレームの拡張シーケンスと値フレームの拡張シーケンスとが、AIシステム102によって生成される。その目的のために、プロセッサ202は、キーフレームおよび値フレームのシーケンスの非再帰的シーケンス圧縮を実行する。特に、プロセッサ202は、同時にキーフレームおよび値フレームのシーケンスを含む入力フレームのシーケンスの時間次元全体を処理するために、拡張された自己注意モジュール208を利用する。そのような場合、各フレームの出力は、他のフレームから独立している。このため、各フレームによって運ばれる元々の情報が処理され、入力のシーケンスの正確なコンテキストおよびシンタックスが決定される。
【0040】
また、いくつかの実現化例では、キーフレームおよび値フレームのシーケンスの非再帰的シーケンス圧縮は、抽出手法、たとえば圧縮手法を、キーフレームおよび値フレームのシーケンスのフレームの全てに並列に適用することによって達成される。したがって、自己注意プロセスの計算複雑性が低減され、自己注意プロセスは、異なる注意解像度を有するシーケンス処理へと拡大される。このため、拡張された機構は、キーフレームおよび値フレームのシーケンスの各フレームの異なる特徴を効率的に要約することができ、ニューラルネットワーク206の計算複雑性の低減を提供する。そのような拡張機構を用いて訓練されたニューラルネットワーク206は、出力のシーケンスを生成するための低い計算複雑性を提供する。したがって、そのようなニューラルネットワークを利用するプロセッサ202の処理速度が増加し、それは、AIシステム102の速い応答時間をもたらす。よって、本開示で開示されるAIシステム102は、より速い態様での出力を容易にする。また、プロセッサ202は、I/Oインターフェイス210を介して出力のシーケンスをレンダリングする。
【0041】
ニューラルネットワーク206が、拡張された自己注意モジュールを有する複数のニューラルネットワーク層を含む一実施形態では、拡張機構は、ニューラルネットワークの各層で、拡張された自己注意モジュールの各々のために独立して行なわれる。
【0042】
別の実施形態では、拡張された自己注意モジュール208は、プロセスパイプライン上にキーおよび値のための複数の拡張シーケンスを生成するために、複数の拡張機構を連続して適用する。特に、プロセッサ202は、キーフレームおよび値フレームのための第1の拡張シーケンスと、キーフレームおよび値フレームのための第2の拡張シーケンスとを、プロセスパイプライン上に連続して生成する。そのような場合、第1のチャンクサイズを有する第1の拡張機構によってレンダリングされるキーフレームおよび値フレームの第1の拡張シーケンスは、キーフレームの第1の拡張シーケンスからキーフレームの第2の拡張シーケンスをレンダリングし、値フレームの第1の拡張シーケンスから値フレームの第2の拡張シーケンスをレンダリングするための第2のチャンクサイズを有する第2の拡張機構への入力を形成する。このようにして、異なるフレームレート、すなわち、異なる解像度の拡張シーケンスが得られ得る。
【0043】
図3Aは、いくつかの例示的な実施形態によって使用される注意機構の原理を表わす図式表現300である。たとえば、拡張された自己注意モジュール208は、クエリ302などの現在のクエリフレームに基づいて入力のシーケンスから情報を読み出すための注意機構の原理を使用することができる。例示的な一実施形態では、拡張された自己注意モジュール208の注意機構において、ソースシーケンス308の入力がまず、キーフレームおよび値フレームに変換される。キーフレームおよび値フレームは、対応する値フレーム306A、306B、306C、および306D(値306A~306Dとも呼ばれる)を有する、キーフレーム304A、キーフレーム304B、キーフレーム304C、およびキーフレーム304D(キー304A~304Dとも呼ばれる)を含み得る。ソースシーケンス308は、音声入力110から導き出される特徴シーケンスに対応し得る。
【0044】
例示的な一実施形態では、拡張された自己注意モジュール208は、クエリ302とキー304A~304Dの各々との類似性を決定する。類似性は、値306A~306Dの各々についての注意スコアを計算するために使用される。
【0045】
いくつかの例示的な実施形態では、注意スコアは、注意重み分布を計算するために、ソフトマックス(softmax)関数に基づいて正規化され得る。その目的のために、ニューラルネットワーク206の拡張された自己注意モジュール208は、拡張された自己注意モジュール208の正規化されていないスコアが、値フレームのシーケンスに対する確率分布にマッピングされるように、ソフトマックス関数を利用する。ソフトマックス関数は、K個の実数値のベクトルを、合計が1になるK個の実数値のベクトルに変える関数である。入力値は正、負、ゼロであるか、または1よりも大きい値であり得るが、ソフトマックスは、入力値が、合計が1になる確率として解釈され得るように、入力値を0~1の値に変換する。したがって、ソフトマックス関数の入力は、クエリ302と、注意スコアを決定するために利用されるキー304A~304Dとのドット積スコアであり得る。対応する値306A、306B、306C、および306Dの各々は、正規化された注意スコアに従って重み付けされる。すなわち、値306A、306B、306C、および306Dの各々に、正規化された注意スコアが乗算される。また、重み付けされた値306A~306Dは合計される。拡張された自己注意モジュール208は、重み付けされた値306A~306Dの合計に基づいて、注意値310などの出力ベクトルを決定する。対応する値306A、306B、306C、および306Dの各々についての注意スコアは、図3Bを参照してさらに説明される。
【0046】
図3Bは、本開示の別の例示的な実施形態に従った、AIシステム102の拡張された自己注意モジュール208によって使用される注意機構を表わす図式表現312である。図示された例示的なシナリオでは、AIシステム102によって、入力314のシーケンスから、クエリ302が選択される。入力314のシーケンスは、入力フレームを備える。例示的な一実施形態では、各入力フレームは、入力314のシーケンスにおけるある単語、たとえば、単語314A(w)、314B(w)、314C(w)、および314D(w)に対応し得る。入力314のシーケンスは、ソースシーケンス308に対応する。入力単語314C(w)が、クエリ302として選択される。また、キー316A、316B、316C、および316Dのセット(キー316A~316Dのシーケンスとも呼ばれる)と、値320A、320B、320C、および320Dの対応するセット(値320A~320Dのシーケンスとも呼ばれる)とが、AIシステム102によって、入力314のシーケンスのために生成される。キー316A~316Dのシーケンスおよび値320A~320Dのシーケンスは、キー304A~304Dのシーケンスおよび値306A~306Dのシーケンスに対応する。
【0047】
拡張された自己注意モジュール208は、値320A~320Dのシーケンスについての注意スコアを決定する。特に、注意スコア318Aが値320Aについて決定され、注意スコア318Bが値320Bについて決定され、注意スコア318Cが値320Cについて決定され、注意スコア318Dが値320Dについて決定される。拡張された自己注意モジュール208によって提供される自己注意機構は、図4を参照してさらに説明される。
【0048】
図4は、本開示の例示的な一実施形態に従った、AIシステム102の拡張された自己注意モジュール208のブロック図である。一実施形態では、拡張された自己注意モジュール208は、拡張された自己注意を行なうように構成された自己注意層を含む。それに加えて、またはそれに代えて、いくつかの実施形態では、ニューラルネットワーク206は、拡張された自己注意モジュールの複数の層を含んでいてもよく、各層は、拡張された自己注意モジュール208に対応し得る。たとえば、一実施形態では、拡張された自己注意モジュール208は、1つの拡張された自己注意層402と、1つのフィードフォワードニューラルネットワーク(feed-forward neural network:FFN)モジュール404とを含む。それに加えて、またはそれに代えて、異なる実施形態では、自己注意モジュールは、タスクに特有である自己注意層、残差層、フィードフォワード層、および他の層の異なる組合せを有する。拡張された自己注意サブネットワーク402は、情報関係をペア状の態様で学習する。たとえば、拡張された自己注意層402は、自動音声認識(ASR)アプリケーション、自動機械翻訳(AMT)アプリケーションなどのアプリケーションのために、ソースシーケンス308における入力フレームの論理関係を学習する。拡張された自己注意層402およびフィードフォワードニューラルネットワークモジュール404の後に、「Add & Norm」層403および405がそれぞれ続く。「Add & Norm」層403は、まず、残差接続を使用して、拡張された自己注意層402の入力をその層の出力に追加し、その後、層正規化を適用する。同様に、「Add & Norm」層405は、まず、フィードフォワードニューラルネットワークモジュール404の入力をその出力に追加し、次に、同様に層正規化を適用する。
【0049】
【数1】
【0050】
例示的なアプリケーションでは、入力314のシーケンスは、「She eats green apples(彼女は青リンゴを食べる)」という文についての単語埋め込みのシーケンスに対応する。入力314のシーケンスの各単語、すなわち「She」、「eats」、「green」、および「apples」は、他のニューラルネットワークモジュールとともに訓練されるルックアップテーブルを使用して、埋め込みベクトルに変換される。拡張された自己注意モジュール208の例示的な実現化例によって使用される自己注意機構では、単語埋め込み314A~314Dの各々についてのクエリ302、キー(たとえばキー316A~316D)、および値(たとえば値320A~320D)を作成するために、ベクトルに行列が乗算される。入力314のそれぞれのシーケンスのクエリ302とキー316A~316Dのシーケンスとのドット積を取ることによって、注意スコア(たとえば、注意スコア318A~318D)が計算される。たとえば、最初の単語「She」の注意スコアは、単語「She」に対応するクエリと全ての単語316A~316Dのキーとのドット積を使用して、単語「She」を文の全ての他の単語と比較することによって計算される。注意スコアが、ソフトマックス関数を使用して合計が1になるように正規化された後で、推定される注意重みは、「She」:0.05、「eats」:0.8、「green」:0.05、「apples」:0.1となるであろう。ここで、我々は、コロンの後に、各単語についての重みを表わしている。これらの重みは、値320A~320Dのシーケンスに適用され、その後、それらが合計されて出力ベクトルが形成される。同様に、入力のシーケンスの残りの単語の各々、すなわち「eats」、「green」、および「apples」についての注意スコアが、対応するクエリをキー316A~316Dの文の全てのキーに対して比較し、対応する重みを有する値320A~320Dのシーケンスを合計することによって、計算される。このようにして、拡張された自己注意モジュール208は、クエリフレームのシーケンス、キーフレーム316A~316Dのシーケンス、および値フレーム320A~320Dのシーケンスを使用することによって、入力314のシーケンスを出力のシーケンスに変換する。拡張された自己注意モジュール208は、ある出力の出力のシーケンスを生成するために、クエリフレームのシーケンスの異なるクエリフレームを、キーフレームおよび値フレームの異なる表現と比較する。
【0051】
制限された自己注意を拡張された自己注意と組合せるために、いくつかの実施形態では、キーフレーム316A~316Dおよび対応する値フレーム320A~320Dのサブセットを使用することによって、キーフレームおよび値フレームの異なる表現が形成される。キーフレームおよび値フレームのサブセットは、現在のクエリフレーム302の場所に基づいて選択され得る。加えて、キーフレームおよび値フレームのための拡張シーケンスを計算するために、拡張機構が、キーフレームのシーケンスおよび値フレームのシーケンスに適用され得る。
【0052】
いくつかの実施形態では、拡張された自己注意層402は、AIシステム102のトランスフォーマベースのニューラルネットワークにおいて使用されるマルチヘッド注意に対応しており、それは図5を参照して次に説明される。
【0053】
図5は、本開示のいくつかの実施形態に従った、AIシステム102のトランスフォーマベースのニューラルネットワーク500を示すブロック図である。いくつかの例示的な実施形態では、トランスフォーマベースのニューラルネットワーク500は、注意ベースのエンコーダ/デコーダニューラルネットワーク、たとえば、エンコーダ502およびデコーダ504を活用し得る。そのような注意ベースのエンコーダ/デコーダニューラルネットワークでは、デコーダ状態が、エンコーダ502のエンコーダ状態のシーケンスへの注意を制御するためのクエリ(たとえばクエリ302)として使用され得る。エンコーダ状態のシーケンスは、エンコーダ502の出力のシーケンスに対応し得る。トランスフォーマベースのニューラルネットワーク500はまた、拡張された自己注意モジュール208を活用し得る。いくつかの実施形態では、トランスフォーマベースのニューラルネットワーク500は、複数の拡張された自己注意モジュールを備え得る。いくつかの例示的な実施形態では、トランスフォーマベースのニューラルネットワーク500は、エンコーダ502およびデコーダ504などのためのエンコーダ/デコーダベースの注意と、拡張された自己注意とを活用する。両方の注意計算は、図4の説明において上述されたような式(1)に基づいて注意が計算される、スケーリングされたドット積注意に基づき得る。また、トランスフォーマベースのニューラルネットワーク500は、拡張された自己注意ベースのニューラルネットワークモジュールの複数の層を備え得る。
【0054】
【数2】
【0055】
【数3】

【数4】
【0056】
【数5】
【0057】
【数6】
【0058】
【数7】
【0059】
損失関数Lは訓練のために使用され、γは、目的関数pctcとpattとの間の重み付けを制御するハイパーパラメータである。
【0060】
また、エンコーダ502およびデコーダ504におけるマルチヘッド注意層およびフィードフォワード層の後に、「add & norm」層が続き、それはまず、残余接続を使用してそれぞれの層の入力をその出力に追加し、次に、層正規化が適用される。たとえば、マルチヘッド注意512は、「add & norm」層51を通してフィードフォワード層51に接続される。同様に、マルチヘッド注意530は、「add & norm」層53を通してフィードフォワード層53に接続される。フィードフォワード層516は、2つの線形変換を「add & norm」層514の出力に適用し、線形変換は、たとえば整流されたリニアユニット(ReLU)といった活性化関数によって分離される。フィードフォワード層516の出力は、別の「add & norm」層を通して送信され、それも残余接続を出力に適用し、その後に層正規化が続く。エンコーダ層512、514、516、および518は(パラメータを共有することなく)E回繰り返され、層518が入力を層512に提供してから、最後のエンコーダ層518の出力が、デコーダ504のマルチヘッド注意層530へ渡される。追加の入力として、マルチヘッド注意層530は、前のデコーダ出力トークン520を受信し、それらは、層522、524、526、および528を通してそれらを処理することによってデコーダ状態を計算するために使用される。層522は、前に出力されたトークン520を埋め込みベクトルに変換し、それらは、位置符号化が層524によって追加された後でマルチヘッド注意層526に入力される。層526の出力はさらに、「add & norm」層を使用して前述されたように処理される。マルチヘッド注意層530の出力は、「add & norm」層532を通してフィードフォワード層534に提供される。フィードフォワード層534の出力は、別の「add & norm」層536によってさらに処理される。デコーダ層526、528、530、532、534、および536は、(パラメータを共有することなく)この順序でD回適用され、最初の適用後、層536の出力は層526に入力される。最後に、デコーダ層をD回適用した後で、層536の出力は、線形層538、すなわち完全に接続されたニューラルネットワーク層へ転送され、それは、デコーダ504の出力ベクトルを出力トークンの各々についてのスコアへ投影する。線形層538の出力は、デコーダスコアをデコーダ504の各出力トークンについての確率に変換するために、ソフトマックス層540に提供される。
【0061】
いくつかの実施形態では、トランスフォーマベースのエンコーダニューラルネットワーク50の自己注意モジュール511は、拡張された自己注意モジュール208によって置換される。そのようなセットアップでは、自己注意の代わりに、複数のヘッドを用いる拡張された自己注意が、複数の解像度を用いる自己注意を行なうために、および計算コストを節減するために、E個のトランスフォーマベースのエンコーダ層の各々で行なわれる。
【0062】
いくつかの実施形態は、現在のクエリフレーム(たとえばクエリ302)に対する遠くの情報が、正確な結果を提供する上で有用であり得るという認識に基づいている。その目的のために、拡張された自己注意モジュール208は、入力314のシーケンスの正確なコンテキストを取り込むことに関連する遠くの情報を含む、現在のクエリフレームの隣接フレームへの注意を可能にする、自己注意機構を提供する。いくつかの実施形態では、拡張された自己注意モジュール208の拡張機構は、関連情報を含む遠くの情報を要約し得る。いくつかの実施形態は、入力のシーケンスからの関連情報がフレームのチャンク内で抽出または圧縮され得るという認識に基づいており、それらは図6A~6Cを参照してさらに説明される。
【0063】
図6Aは、本開示の例示的な一実施形態に従った、自己注意への入力フレーム602のシーケンスを表わす図式表現600である。入力フレーム602のシーケンスは、入力314のシーケンスに対応し得る。いくつかの例示的な実施形態では、現在のクエリフレーム604などのクエリフレームが、入力のシーケンスから得られる。フルシーケンスベースの自己注意606では、図6Aに示されるように、現在のクエリフレーム604の全ての隣接フレームの注意接続が可能にされる。しかしながら、隣接フレームを全て現在のクエリフレーム604と接続することは、計算複雑性を増加させ得る。その目的のために、制限された自己注意608が、計算複雑性を低減させるために使用され得る。
【0064】
制限された自己注意608では、現在のクエリフレーム604を包囲する、すぐ近くのフレームが、自己注意のために使用される。これらの隣接フレームは、現在のクエリフレーム604に対する過去および未来のコンテキスト情報に対応し得る。いくつかの実施形態では、拡張された自己注意モジュール208は、入力602のシーケンスの表現の一部を形成するために、現在のクエリフレーム604の場所に基づいて入力602のシーケンスから入力フレームのサブセット(たとえば、現在のクエリフレーム604の隣接フレーム)を選択する選択関数を実行するように構成され得る。選択関数は、入力の場所をパラメータとして受け入れ、入力602のシーケンスにおける隣接フレーム610Aおよび610Bを返す。選択関数はまた、隣接フレーム610Aおよび610Bを選択するために現在のクエリフレームのまわりにウィンドウサイズを形成するためのルックアヘッドサイズおよびルックバックサイズについての値を受け入れ得る。いくつかの実施形態では、ウィンドウは、時間制限のあるウィンドウであり得る。選択関数は、入力602のフル解像度シーケンスの隣接フレームの使用を限定し得る。いくつかの実施形態では、選択関数は、入力フレームのサブセットを選択するための制限ウィンドウ610に対応し得る。例示的な一実施形態では、入力フレームの選択されたサブセットは、固定された数のルックバックフレーム610Aおよびルックアヘッドフレーム610Bに対応し得る。ルックバックフレーム610Aは、クエリ604に対する入力602のシーケンスの過去(左)のコンテキストを含んでいてもよく、ルックアヘッドフレーム610Bは、未来(右)のコンテキストを含んでいてもよい。
【0065】
しかしながら、制限された自己注意608は、現在のクエリフレーム604に対する遠くの情報を除外する。制限された自己注意608における遠くの情報の除外は、結果を劣化させ得る。その目的のために、制限された自己注意608は、拡張された自己注意を提供するために拡張機構と組合されてもよく、それは図6Bを参照して次に説明される。
【0066】
図6Bは、本開示の別の例示的な実施形態に従った、入力602のシーケンスの圧縮を表わす図式表現612である。いくつかの実施形態では、拡張された自己注意モジュール208は、制限された自己注意608と組合された拡張機構612を提供する。
【0067】
拡張機構612では、キーフレームのシーケンスおよび値フレームのシーケンス(たとえば、キー316A~316Dのシーケンスおよび値320A~320Dのシーケンス)の圧縮を形成するために、入力602のシーケンスが要約され得る。たとえば、入力602のシーケンスにおけるキーフレームのシーケンスおよび値フレームのシーケンスは、少なくとも1つのプロセッサ(プロセッサ202など)を介して、チャンク616A、616B、616C、616D、616E、616F、616G、および616H(チャンク616A~616Hとも呼ばれる)といった、キーチャンクのシーケンスおよび値チャンクのシーケンスのシーケンスに分割され得る。各キーチャンクは複数のキーフレームを含み、各値チャンクは複数の値フレームを含む。いくつかの例示的な実施形態では、拡張された自己注意モジュール208は、キーフレームのシーケンスおよび値フレームのシーケンスを、所定の頻度で分割するように構成される。また、チャンク616A-616Hの各々は、拡張フレーム618A、618B、618C、618D、618E、618F、618G、および618H(要約618A~618Hとも呼ばれる)へと要約され得る。拡張フレーム618A~618Hは、キー316A~316Dおよび対応する値320A~320Dのセットに対応する圧縮された形(拡張シーケンス620)を提供する。
【数8】
【0068】
また、少なくとも1つのプロセッサは、キーチャンクの複数のキーフレームを、より小さい所定数の、キーフレームの拡張シーケンスのための同じ次元性のキーフレームへと圧縮し、値チャンクの複数の値フレームを、より小さい所定数の、値フレームの拡張シーケンスのための同じ次元性の値フレームへと圧縮するために、所定の関数をキーチャンクの各々および値チャンクの各々に適用する。いくつかの実施形態では、プロセッサの速い処理速度が達成されるように、キーチャンクのうちの少なくともいくつかおよび値チャンクのうちの少なくともいくつかが、並列計算プロセスを使用して同時に圧縮される。
【0069】
所定の関数の例は、サンプリング関数、平均プーリング関数(平均プーリングとも呼ばれる)、最大プーリング関数、注意ベースのプーリング、および畳み込みニューラルネットワーク(CNN)ベースのプーリングを含むものの、それらに限定されない。
【0070】
【数9】
【0071】
【数10】
【0072】
いくつかの実施形態では、CNNベースの拡張機構が適用され、CNNベースのプーリングは、訓練された重みとチャンクサイズに類似するカーネルサイズとを用いる畳み込みを、キーフレームのシーケンスおよび値フレームのシーケンスに適用する。
【0073】
いくつかの実施形態では、最大プーリングベースの拡張機構が適用され、最大プーリング関数は、キーチャンクにおける複数のキーフレームから最大エネルギーの単一のキーフレームを選択し、値チャンクにおける複数の値フレームから対応するフレームを選択する。
【0074】
いくつかの実施形態では、サンプリング関数ベースの拡張機構が適用され、サンプリング関数は、キーチャンクの複数のキーフレームからの単一のフレームと、値チャンクの複数の値フレームからの対応するフレームとを選択する。サブサンプリング関数および最大プーリング関数では、キーフレームのチャンクからの単一のキーフレームが選択され、値フレームのチャンクからの対応する値フレームと、他のフレームによって含まれる情報とが無視される。
【0075】
【数11】
【0076】
好ましい一実施形態では、キーフレームおよび値フレームの各チャンクの情報コンテンツを要約するために、注意ベースのプーリング(AP)が適用されてもよく、それは図7Aおよび図7Bに関してさらに記載される。
【0077】
図6Cは、本開示のいくつかの実施形態に従った、AIシステム102によって出力された出力シーケンスを示す。図6Cは、図6Aおよび図6Bを参照して説明される。少なくとも1つのプロセッサ(プロセッサ202など)は、制限ウィンドウ610内のキーフレームおよび値フレームのシーケンスの一部を拡張シーケンス620(すなわち、キーフレームの拡張シーケンスおよび値フレームの拡張シーケンス)と組合せることによって、出力622のシーケンスを計算する。拡張シーケンス620は、自己注意プロセスの計算複雑性を低減させるために、キーフレームおよび値フレームのシーケンスの非再帰的シーケンス圧縮によって決定される。拡張シーケンス62は、コンテキストをクエリフレームに追加し、AIシステム102を含む任意のシステムがより少ない処理時間で正確な出力を提供することを可能にする、遠くのフレームに対応する。また、少なくとも1つのプロセッサは、出力インターフェイス(I/Oインターフェイス210など)を介して、出力622のシーケンスをレンダリングする。
【0078】
図7Aは、本開示のいくつかの実施形態に従った、注意ベースのプーリング700を示す。
【0079】
注意ベースのプーリング(AP)700では、1つまたは複数の訓練されたクエリベクトル(訓練されたクエリベクトル706など)が、入力シーケンス702からのキーフレームのチャンクまたは値フレームのチャンクに注意を払うことによって複数の重み分布704A、704B、および704Cを決定するために利用される。したがって、注意ベースのプーリングは、キーフレームのチャンクにおけるキーフレームまたは値フレームのチャンクにおける値フレームのいずれかに関連性を割り当てて、重み分布704A、704B、および704Cを導き出す。複数の重み分布704A、704B、および704Cに基づいて、キーフレームのチャンクおよび値フレームのチャンクの加重平均が計算される。
【0080】
【数12】
【0081】
特に、キーフレームのシーケンスのための拡張シーケンス(拡張シーケンス708など)のフレームが、キーフレームのチャンクの加重平均として計算される。それに加えて、またはそれに代えて、値フレームのシーケンスのための拡張シーケンス(拡張シーケンス708など)のフレームが、値フレームのチャンクのための全ての値フレームの加重平均として計算される。
【0082】
いくつかの実施形態では、注意ベースの拡張は、後処理手法とともに行なわれる。
【0083】
図7Bは、本開示のいくつかの実施形態に従った、後処理710を用いる注意ベースの拡張を示す。
【0084】
いくつかの実施形態は、後処理手法の適用が、システム(たとえばAIシステム102)の出力を精製することができるという認識に基づいている。その目的のために、キーチャンクおよび値チャンクの出力フレーム(複数の出力フレーム714など)は、キーフレームの拡張シーケンスおよび値フレームの拡張シーケンスのための1つまたは複数のフレーム714を生成するために、後処理ルールに従って処理される。
【0085】
キーフレームの拡張シーケンスおよび値フレームの拡張シーケンスのための出力フレーム714を導き出すために、後処理ルールは、キーチャンクおよび値チャンクのために決定された出力フレーム714を保存すること、キーチャンクおよび値チャンクのために決定された出力フレーム714を組合せること、ならびに、キーチャンクおよび値チャンクのために決定された出力フレーム714のうちの少なくとも1つを除去すること、のうちの1つ、またはそれらの組合せを含む。
【0086】
後処理ルールは、注意計算の下でクエリフレームまでの距離がしきい値よりも小さい第1のタイプのキーチャンクおよび値チャンクと、注意計算の下でクエリフレームまでの距離がしきい値以上である第2のタイプのキーチャンクおよび値チャンクとを含む、少なくとも2つの異なるタイプのキーチャンクおよび値チャンクのために調節され得る。
【0087】
いくつかの他の実施形態では、ニューラルネットワーク(トランスフォーマベースのニューラルネットワーク500など)は、キーフレームおよび値フレームのための少なくとも2つの拡張シーケンスを生成するために、拡張された自己注意モジュールの一部として、複数の拡張機構を含む。そのようなセットアップでは、少なくとも1つのプロセッサ(プロセッサ202など)は、注意計算の下でクエリフレームに対して所定のしきい値よりも小さいフレーム距離を有するキーチャンクおよび値チャンクに対応する、キーフレームおよび値フレームのための第1の拡張シーケンスのフレームを保存する。さらに、少なくとも1つのプロセッサはまた、注意計算の下でクエリフレームに対して所定のしきい値以上であるフレーム距離を有するキーチャンクおよび値チャンクに対応する、キーフレームおよび値フレームのための第2の拡張シーケンスのフレームを保存する。
【0088】
いくつかの実施形態では、少なくとも1つのプロセッサは、第1のタイプのキーチャンクおよび値チャンクのために決定された複数の出力フレーム714を保存し、第2のタイプのキーチャンクおよび値チャンクの複数のフレーム714のうちの少なくとも1つを除去する。
【0089】
いくつかの代替的な実施形態では、少なくとも1つのプロセッサは、第1のタイプのキーチャンクおよび値チャンクのための複数のフレーム714を保存し、平均プーリング、および、ニューラルネットワークの処理によってキーチャンクおよび値チャンクのために決定された複数の出力フレーム714を合併すること、のうちの1つ、またはそれらの組合せを使用して、第2のタイプのキーチャンクおよび値チャンクの複数のフレームを組合せる。ニューラルネットワーク処理は、2つの線形変換の使用を含む。2つの線形変換は、非線形活性化関数によって分離される訓練されたパラメータを有するとともに、第1の線形変換が入力をより小さい次元性に投影し、第2の線形変換が第1の線形変換の出力をクエリフレーム、キーフレーム、および値フレームの次元性に投影するようなボトルネック構造を有する。
【0090】
【数13】
【0091】
【数14】
【0092】
図7Cは、本開示のいくつかの実施形態に従った、注意ベースのプーリングを介した多解像度の拡張された自己注意718を示す。図7Cは、図7Aおよび図7Bを参照して説明される。
【0093】
図7Aおよび図7Bを参照して上述されたような)注意ベースのプーリングの実行に基づいて、複数のフレーム720が出力される(出力フレームまたは拡張ベクトルとも呼ばれる)。出力フレーム720は多解像度フレームであり、各フレームに対応する解像度は、時間制限のあるウィンドウ702B内の現在のクエリフレーム702Aに対する当該フレームの場所に基づいて変化する。少なくとも1つのプロセッサは、拡張シーケンス720を生成するために出力フレームを分析するように構成される。その目的のために、少なくともプロセッサは、各出力フレームと現在のクエリフレーム702Aとの間の距離を決定するように構成される。距離がしきい値よりも大きい場合、対応する出力フレームは現在のクエリフレーム702Aから離れていると解釈される。そのような場合、少なくとも1つのプロセッサは、出力フレームを廃棄するように構成される。したがって、しきい値距離よりも大きい距離に位置する出力フレーム720は廃棄される。一方、しきい値距離よりも小さい距離に位置する出力フレーム720は保存される。したがって、拡張シーケンス720が生成される。よって、クエリフレームに対応する遠くのフレームおよび時間制限のあるウィンドウ702B内の隣接フレームからの情報が、より低い複雑性で現在のクエリフレーム702Aのコンテキストを決定するために利用される。また、プロセッサは、拡張シーケンス720と時間制限のあるウィンドウ702B内に対応する隣接フレームを有する現在のクエリフレーム702Aとの組合せに基づいて、出力シーケンスを生成するように構成される。
【0094】
ASRおよびAMTアプリケーションにおけるAIシステム102の実現が、図8Aおよび図8Bを参照して次に説明される。
【0095】
図8Aは、本開示のいくつかの実施形態に従った、自動音声認識(ASR)システム802におけるAIシステム102のブロック図800である。ASRシステム802も、入力インターフェイス804と出力インターフェイス806とを備える。入力インターフェイス804は、音声発話の少なくとも一部を表わす音響信号を受信するように構成される。AIシステム102のニューラルネットワーク06は、音響信号を入力のシーケンスに変換する。ニューラルネットワーク206はさらに、拡張された自己注意モジュール208を使用して、入力のシーケンスを出力のシーケンスに変換する。いくつかの実施形態では、入力のシーケンスは、複数の拡張された自己注意モジュールを使用して、出力のシーケンスに変換され、各自己注意モジュールは、関連情報を含む遠くの情報を要約し得る拡張機構を使用する。変換された入力のシーケンスは、音声発話の音写に変換される。音声発話の音写は、出力インターフェイス806を介して、出力として提供される。
【0096】
図8Bは、本開示のいくつかの実施形態に従った、自動機械翻訳(AMT)システム810におけるAIシステム802のブロック図808である。AMTシステム810も、入力インターフェイス812と出力インターフェイス814とを備える。入力インターフェイス812は、第1の言語での音声発話を表わす入力信号を受信するように構成される。たとえば、音声発話は、英語での音声発話であり得る。AIシステム102のニューラルネットワーク206は、入力信号を入力のシーケンスに変換する。ニューラルネットワーク206は、拡張された自己注意モジュール208を使用して、入力のシーケンスを出力のシーケンスに変換する。変換された入力のシーケンスは、第2の言語での音声発話を表わす出力信号に変換される。たとえば、第2の言語はドイツ語に対応し得る。第2の言語での音声発話を表わす出力信号は、出力インターフェイス814を介して、出力として提供される。
【0097】
また、拡張された自己注意モジュール(拡張された自己注意モジュール208など)を含むAIシステム(AIシステム102など)も、ストリーミングアプリケーションにおいて使用され得る。そのようなシナリオでは、入力フレームは連続的に受信される。拡張された自己注意モジュールは、限られた遅延で入力フレームの各々について自己注意出力を生成するために利用される。その目的のために、キーフレームの少なくとも1つの新しいチャンクおよび値フレームの少なくとも1つの新しいチャンクが受信されたときはいつでも、キーの拡張シーケンスおよび値の拡張シーケンスは拡大される。
【0098】
同様に、拡張された自己注意モジュールを含む、開示されたAIシステムは、音事象検出、音声タグ付けシステム、音響源分離システムなどといった異なるアプリケーションで実現され得る。
【0099】
図9は、本開示のいくつかの他の実施形態に従った、AIシステム102の実現のための例示的なシナリオ900を示す。図示されたシナリオでは、ユーザ902が、ユーザデバイス904を使用して入力を提供し得る。ユーザデバイス904は、スマートフォン、タブレット、ラップトップ、スマートウォッチ、ウェアラブルデバイス、デスクトップ、または任意の他の電子デバイスを含み得る。ユーザ902は、デジタルアシスタント906からのサービスを要求し得る。デジタルアシスタント906は、仮想チャットボット、対話音声応答(IVR)システムなどを含み得る。ユーザ902は、音声発話の少なくとも一部を表わす音響信号を、ユーザデバイス904からネットワーク116を介してASRシステム702に提供し得る。ASRシステム702は、AIシステム102を使用して、音声発話の音写を提供し得る。また、音写は、デジタルアシスタント906に提供され得る。デジタルアシスタント906は、受信された音写に基づいて動作し、サービスをユーザ902に提供し得る。たとえば、サービスは、車両908をハイヤーすることに対応し得る。車両908は、自律車両、手動で駆動される車両、または半自律車両を含み得る。車両908は、ネットワーク116に接続され得る。音写は、ユーザ902のための乗降場所を含み得る。また、ユーザ902は、ASRシステム702を使用して車両908を運転し得る。いくつかの場合、AIシステム102を用いて実現されたASRシステム702、AMT710、またはそれらの組合せは、車両908のナビゲーションシステムに関係する動作のために使用され得る。
【0100】
いくつかの場合、AIシステム102はまた、音声からテキストへの文書化をユーザ902に提供し得る。たとえば、ユーザ902は、音声発話をユーザデバイス904に提供し得る。ユーザデバイス904は、音声発話の転写を提供するために、AIシステム102と通信し得る。AIシステム102は、音写に基づいたテキスト文書を提供し得る。これは、ユーザ(たとえばユーザ902)が音声入力を介してテキストを書き込むかまたは文書を維持することを支援し得る。
【0101】
いくつかの他の場合、ユーザ902は、外国地域で旅行しているかもしれない。ユーザ902は、当該外国地域の人々と、対応する外国語でコミュニケーションを取ることができないかもしれない。ユーザ902は車両908をハイヤーするかもしれず、車両908のドライバはユーザ902の母国語を話さないか、または、ユーザ902とコミュニケーションを取るための共通語を知らないかもしれない。そのような場合、ユーザ902は、ユーザ902の母国語の外国語への機械翻訳のために、ユーザデバイス904に入力を提供し得る。入力は、母国語、たとえば英語での音声発話を表わす入力信号に対応し得る。母国語での音声発話は、ユーザデバイス904からネットワーク116を介してAMT710に提供され得る。AMTシステム710は、AIシステム102を使用して、迅速で効率的な態様で母国語を翻訳し、外国語の音声発話を提供し得る。
【0102】
図10は、本開示のいくつかの実施形態に従った、AIシステム1000のブロック図を示す。AIシステム1000は、図1のAIシステム102に対応する。AIシステム1000は、入力インターフェイス1002と、プロセッサ1004と、メモリ1006と、ネットワークインターフェイスコントローラ(network interface controller:NIC)1014と、出力インターフェイス1016と、ストレージデバイス1020とを備える。メモリ1006は、ニューラルネットワーク1008を格納するように構成される。ニューラルネットワーク1008は、拡張された自己注意モジュール1010を含む。いくつかの例示的な実施形態では、ニューラルネットワーク1008は、拡張された自己注意モジュール1010を、エンコーダ、デコーダ、またはそれら両方の一部として含む、トランスフォーマ、コンフォーマ、または同様のアーキテクチャを有する。
【0103】
拡張された自己注意モジュール1010は、入力のシーケンスを対応する出力のシーケンスに変換するように訓練される。入力のシーケンスは、各入力を入力のシーケンスの異なる表現と比較することによって変換される。プロセッサ1004がメモリ1006に格納された命令を実行すると、拡張された自己注意モジュール1010は、入力のシーケンスの表現を形成するために、入力のシーケンスからの入力を変換するようにされる。表現は、入力のシーケンスにおける入力の場所に依存する表現の第1の部分を、入力の場所から独立した表現の第2の部分と組合せることによって形成される。第1の部分は、異なる入力を変換するために変化し、一方、第2の部分は、入力のシーケンスからの全ての入力を変換するために一定のままである入力のシーケンスの圧縮である。また、入力は、入力を形成された表現と比較することによって、対応する出力に変換される。
【0104】
いくつかの実施形態では、拡張された自己注意モジュール1010は、入力のシーケンスの表現の第1の部分を形成するために、入力の場所に基づいて入力のシーケンスから入力のサブセットを選択する選択関数を実行するように構成される。選択関数は、入力の場所をパラメータとして受け入れ、入力の場所を中心とする入力のシーケンスにおける入力のサブセットを返す。選択関数はまた、入力のサブセットのサイズの値を別のパラメータとして受け入れ得る。
【0105】
他のいくつかの実施形態では、拡張された自己注意モジュール1010は、平均プーリングベースのアプローチを使用して入力のシーケンスを要約することによって圧縮を形成するように構成される。好ましい一実施形態では、入力のシーケンスの要約は、後処理段階を用いるかまたは用いない注意ベースのプーリングを使用し得る。
【0106】
入力インターフェイス1002は、入力データ1024を受け入れるように構成される。いくつかの実施形態では、AIシステム1000は、NIC1014を使用して、ネットワーク1022を介して入力データ1024を受信する。いくつかの場合、入力データ1024は、ネットワーク1022を介して受信されたオンラインデータであり得る。いくつかの他の場合、入力データ1024は、ストレージデバイス1020に格納された、録音されたデータであり得る。いくつかの実施形態では、ストレージデバイス1020は、ニューラルネットワーク1008を訓練するための訓練データセットを格納するように構成される。
【0107】
いくつかの例示的な実施形態では、入力データ1024は、音声発話の少なくとも一部を表わす音響信号、第1の言語での音声発話を表わす入力信号などを含み得る。ニューラルネットワーク1008は、音響信号を入力のシーケンスに変換し、拡張された自己注意モジュール1010を使用して入力のシーケンスを出力のシーケンスに変換し、出力のシーケンスを音声発話の音写に変換するように構成され得る。音写の出力は、出力インターフェイス1016を介して出力デバイス1018に提供され得る。同様に、ニューラルネットワーク1008は、入力信号を入力のシーケンスに変換し、拡張された自己注意モジュールを使用して入力のシーケンスを出力のシーケンスに変換し、出力のシーケンスを第2の言語での音声発話を表わす出力信号に変換するように構成され得る。出力信号は、出力インターフェイス1016を介して出力デバイス1018に提供され得る。
【0108】
本開示のさまざまな実施形態は、たとえば拡張された自己注意を提供するAIシステム1000といった、AIシステムを提供する。拡張された自己注意は、制限された自己注意の精度およびモデル化能力を向上させる。拡張された自己注意はまた、長い入力シーケンスについての自己注意の計算複雑性を低減させるのに役立つ。このようにして、音声処理システム(たとえば、ASRシステム702およびAMTシステム710)の計算コストおよびメモリ使用は二次的に増大しないかもしれず、それにより、実現可能な態様でシステムの効率を高める。
【0109】
以下の説明は例示的な実施形態を提供するに過ぎず、この開示の範囲、利用可能性、または構成を限定するよう意図されてはいない。むしろ、例示的な実施形態の以下の説明は、1つ以上の例示的な実施形態を実現するための実施可能説明を当業者に提供するであろう。添付された請求項で述べられるように開示された主題の精神および範囲から逸脱することなく、要素の機能および配置において行なわれ得るさまざまな変更が考えられる。
【0110】
実施形態の完全な理解を提供するために、特定の詳細が以下の説明で与えられる。しかしながら、実施形態はこれらの特定の詳細がなくても実践され得ることが、当業者によって理解され得る。たとえば、実施形態を不必要に詳細に述べて不明瞭にすることを避けるために、開示された主題におけるシステム、プロセス、および他の要素は、ブロック図の形式における構成要素として示されてもよい。他の事例では、実施形態を不明瞭にすることを避けるために、周知のプロセス、構造、および手法は、不必要な詳細なく示されてもよい。また、さまざまな図面における同じ参照番号および名称は、同じ要素を示す。
【0111】
また、個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として表わされるプロセスとして説明されてもよい。フローチャートは動作を順次プロセスとして説明し得るが、動作の多くは並行してまたは同時に行なわれ得る。加えて、動作の順序は並べ替えられてもよい。プロセスはその動作が完了すると終了し得るが、図面で説明されていない、または図面に含まれていない追加のステップを有していてもよい。さらに、特に説明された任意のプロセスにおける全ての動作が、全ての実施形態において生じるとは限らない。プロセスは、方法、機能、手順、サブルーチン、サブプログラムなどに対応していてもよい。プロセスが機能に対応する場合、その機能の終了は、その機能が呼出機能または主機能に戻ることに対応し得る。
【0112】
さらに、開示された主題の実施形態は、少なくとも部分的に、手動でまたは自動的に実現されてもよい。手動のまたは自動的な実現は、マシン、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せの使用を通して実行されるかまたは少なくとも支援されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実現される場合、必要なタスクを行なうためのプログラムコードまたはコードセグメントは、マシン読取可能媒体に格納されてもよい。プロセッサが、必要なタスクを行なってもよい。
【0113】
ここに概説されたさまざまな方法またはプロセスは、さまざまなオペレーティングシステムまたはプラットフォームのうちのいずれか1つを採用する1つ以上のプロセッサ上で実行可能なソフトウェアとして符号化されてもよい。加えて、そのようなソフトウェアは、多くの好適なプログラミング言語および/またはプログラミングツールまたはスクリプト作成ツールのうちのいずれかを使用して書かれてもよく、また、フレームワークまたは仮想マシン上で実行される実行可能マシン語コードまたは中間コードとしてコンパイルされてもよい。典型的には、プログラムモジュールの機能性は、さまざまな実施形態において所望されるように組合されるかまたは分散されてもよい。
【0114】
本開示の実施形態は、その例が提供された方法として具現化されてもよい。当該方法の一部として実行される動作は、任意の好適なやり方で順序付けられてもよい。したがって、例示的な実施形態では連続的な動作として示されていても、動作が例示とは異なる順序で実行される実施形態が構築されてもよい。この場合、いくつかの動作を同時に実行することも含まれてもよい。また、請求項要素を修飾するための、請求項における「第1」、「第2」などの序数用語の使用は、それ自体、ある請求項要素の、別の請求項要素に対する優先順位、優位性、または順序、あるいは、方法の動作が行なわれる時間的順序を何ら暗示しておらず、単に、ある名前を有するある請求項要素を、(序数用語の使用を除き)同じ名前を有する別の要素から区別するために、これらの請求項要素を区別するラベルとして使用されているに過ぎない。
【0115】
本開示を、ある好ましい実施形態を参照して説明してきたが、本開示の精神および範囲内で他のさまざまな適合および変更が実施可能であることが理解されるはずである。したがって、添付された請求項の局面は、本開示の真の精神および範囲内に収まるようにそのような変形および変更を全て網羅することである。
図1
図2
図3A
図3B
図4
図5
図6A
図6B
図6C
図7A
図7B
図7C
図8A
図8B
図9
図10