JP2024519265A - フィードフォワード空間変換ユニットを備えたニューラルネットワーク - Google Patents

フィードフォワード空間変換ユニットを備えたニューラルネットワーク Download PDF

Info

Publication number
JP2024519265A
JP2024519265A JP2023560898A JP2023560898A JP2024519265A JP 2024519265 A JP2024519265 A JP 2024519265A JP 2023560898 A JP2023560898 A JP 2023560898A JP 2023560898 A JP2023560898 A JP 2023560898A JP 2024519265 A JP2024519265 A JP 2024519265A
Authority
JP
Japan
Prior art keywords
vector
location
input
locations
network
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.)
Pending
Application number
JP2023560898A
Other languages
English (en)
Inventor
ハンシャオ・リウ
デイヴィッド・リチャード・ソ
クォク・ヴィー・レ
ジハン・ダイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2024519265A publication Critical patent/JP2024519265A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • 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
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)

Abstract

ネットワーク入力に対して機械学習タスクを実施して、ネットワーク出力を生成するための方法、システム、およびコンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む装置が提供される。一態様では、システムのうちの1つが、機械学習タスクを実施するように構成されたニューラルネットワークであって、フィードフォワード空間変換ユニットをそれぞれが含む1つまたは複数のブロックを含んだ、ニューラルネットワークを含む。

Description

関連出願の相互参照
本出願は、その全体が参照により本明細書に組み込まれている、2021年5月14日に出願した米国仮出願第63/189,013号の優先権の利益を主張するものである。
本明細書は、ニューラルネットワークを使用して、ネットワーク入力に対して機械学習タスクを実施することに関する。
ニューラルネットワークは、非線形ユニットの1つまたは複数の層を用いて、受け取った入力についての出力を予測する、機械学習モデルである。一部のニューラルネットワークは、出力層に加えて、1つまたは複数の隠れ層を含む。各隠れ層の出力が、ネットワーク内の次の層、すなわち次の隠れ層または出力層への入力として使用される。ネットワークの各層は、受け取った入力から、それぞれのパラメータセットの現在の値に従って、出力を生成する。
本明細書では、1つまたは複数のロケーションにある1つまたは複数のコンピュータ上にコンピュータプログラムとして実装されるシステムであって、フィードフォワード空間変換ユニットをそのうちの少なくとも1つが有する複数のニューラルネットワークブロックを含むニューラルネットワークを使用して、ネットワーク入力に対して機械学習タスクを実施する、システムについて説明する。フィードフォワード空間変換ユニットは、入力としてベクトルの系列を受け取り、フィードフォワード空間変換を適用するユニットであり、このフィードフォワード空間変換は、系列内の位置にわたって情報を統合し、それによって、所与の位置におけるそれぞれの空間変換後の入力ベクトルが、その所与の位置における変換後の入力ベクトルだけではなく複数の異なる位置におけるそれぞれの入力ベクトルに応じて決まるようになるものである。「フィードフォワード」空間変換は、いかなる再帰ベースのまたはアテンションベースの演算も使用しないものである。
本明細書において説明する本主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装することができる。
本明細書では、系列タスク、すなわち入力の系列の処理を必要とするタスクを、単純な空間的相互作用機構を備えたフィードフォワードニューラルネットワークを使用して実施するとともに、複雑かつ計算集約的なセルフアテンション機構が入力系列にわたって反復的に適用される必要のある最先端クラスの系列処理ニューラルネットワークであるトランスフォーマーの結果に匹敵する結果、またはそれを超える結果を達成する、システムについて説明する。
より具体的には、ニューラルネットワーク内でセルフアテンションに割り振られる能力をなくし、または実質的に低減させることによって、ここで説明するニューラルネットワークは、この優れた性能を達成すると同時に、トランスフォーマーよりも計算リソースの消費がはるかに少なくなり、トランスフォーマーよりも容易に多様なコンピューティングデバイス上に、例えばエッジデバイス上に、またはデータセンター内にデプロイすることが可能である。例えば、ここで説明する空間的相互作用機構によって実施される演算では、(動的に並列化される空間的相互作用機構を使用するトランスフォーマーとは対照的に)静的なパラメータ化を用いるので、演算は、ハードウェアで行列とベクトルの乗算を実施するように構成されている機械学習ハードウェアアクセラレータ、例えばGPU、TPU、または他のASICに、はるかにより容易にマッピングすることができる。結果として、ここで説明するニューラルネットワークを、1つまたは複数のそのようなアクセラレータを装備したデバイス上に容易にデプロイし、それを使用して推論を低遅延で実施することができる。
さらに、本明細書において開示する、単純な空間的相互作用機構を備えたフィードフォワードニューラルネットワークを利用するシステムは、任意の所与のパラメータ数/FLOPs(浮動小数点演算毎秒)について、既存のフィードフォワードニューラルネットワークアーキテクチャよりも優れた性能(例えば精度)を達成する。
本明細書の本主題の1つまたは複数の実施形態の詳細は、添付の図面および下の説明中に記載されている。本主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかとなろう。
例示的なニューラルネットワークシステムを示す図である。 ニューラルネットワークの例示的なアーキテクチャを示す図である。 ニューラルネットワーク内の複数のブロックのうちの1つを使用して入力系列を処理するための例示的なプロセスのフロー図である。
さまざまな図面中の同様の参照番号および名称は、同様の要素を示す。
本明細書では、1つまたは複数のロケーションにある1つまたは複数のコンピュータ上にコンピュータプログラムとして実装されるシステムであって、ネットワーク入力に対して機械学習タスクを実施して、その機械学習タスクのネットワーク出力を生成する、システムについて説明する。
機械学習タスクは、入力系列であるネットワーク入力に作用して、そのネットワーク入力についてのネットワーク出力を生成する、任意の機械学習タスクとすることができる。
システムをそれらの実施のために構成することのできる機械学習タスクのいくつかの例は、次の通りである。
別の例として、タスクは、オーディオ処理タスクとすることができる。例えば、ニューラルネットワークへの入力が、口頭による発話を表す系列である場合、出力は、その口頭による発話をカテゴリのセットからの1つまたは複数のカテゴリに分類する分類出力とすることができる。例えば、ニューラルネットワークへの入力が、口頭による発話を表す系列である場合、ニューラルネットワークによって生成される出力は、特定の単語または句(「ホットワード」)がその発話内で話されたかどうかを示すことができる。別の例として、ニューラルネットワークへの入力が、口頭による発話を表す系列である場合、ニューラルネットワークによって生成される出力は、その発話を話すのに使われた自然言語を識別することができる。
別の例として、タスクは、何らかの自然言語で書かれたテキストの系列に作用して、テキストをカテゴリのセットからの1つまたは複数のカテゴリに分類する分類出力を生成する、自然言語処理または理解タスク、例えば、含意タスク、言換えタスク、テキスト類似性タスク、感情タスク、文完成タスク、文法性タスクなどとすることができる。
別の例として、タスクは、健康予測タスクであって、入力が、患者の電子健康記録データから得られた系列であり、出力が、その患者の将来的な健康に関連する予測、例えば、その患者に処方すべき予測された治療、その患者に有害な健康事象が起こる可能性、またはその患者についての予測された診断である、健康予測タスクとすることができる。
別の例として、タスクは、エージェント制御タスクであって、入力が、環境の状態を特徴付ける観察結果または他のデータの系列であり、出力が、その系列内の一番最近のデータに応答してエージェントによって実施すべきアクションを定める、エージェント制御タスクとすることができる。エージェントは、例えば、現実世界のもしくは模擬されたロボット、産業施設用の制御システム、または異なる種類のエージェントを制御する制御システムとすることができる。
別の例として、タスクは、ゲノミクスタスクであって、入力が、DNA配列または他の分子配列の断片を表す系列であり、出力が、下流のタスクで例えば教師なし学習技法をDNA配列断片のデータセットに対して使用することによって用いるためのその断片の埋め込み、またはその下流のタスクの出力である、ゲノミクスタスクとすることができる。下流のタスクの例としては、プロモータ部位予測、メチル化解析、ノンコーディングバリアントの機能的影響の予測などがある。
別の例として、タスクは、コンピュータビジョンタスクであって、入力が、画像または点群であり、出力が、その画像または点群についてのコンピュータビジョン出力、例えば複数のカテゴリの各カテゴリについてのそれぞれのスコアを含む分類出力であり、各スコアが、その画像または点群がそのカテゴリに属するオブジェクトを含む可能性を表す、コンピュータビジョンタスクとすることができる。
入力が画像または点群であるとき、ニューラルネットワークは、その画像または点群の複数のパッチごとのそれぞれの埋め込みを生成する埋め込みサブネットワークを含むことができ、ニューラルネットワークの第1のブロックへの入力は、各それぞれの埋め込み(と、オプションで、例えば出力を生成するために後に使用される所定の位置における1つまたは複数の追加の埋め込み)を含む系列とすることができる。各パッチは、入力画像の異なる領域内の画素の強度値を含む。
いくつかの場合には、機械学習タスクは、複数の個別の機械学習タスクの組合せであり、すなわち、システムは、複数の異なる個別の機械学習タスク、例えば上述した機械学習タスクのうちの2つ以上を実施するように構成される。例えば、システムは、ネットワーク入力に対して実施される個別の自然言語理解タスクについての識別子をネットワーク入力が含んだ状態で、複数の個別の自然言語理解タスクを実施するように、構成することができる。
図1は、例示的なニューラルネットワークシステム100を示す。ニューラルネットワークシステム100は、下で説明するシステム、コンポーネント、および技法を実装することのできる、1つまたは複数のロケーションにある1つまたは複数のコンピュータ上にコンピュータプログラムとして実装されるシステムの一例である。
ニューラルネットワークシステム100は、入力102を受け取り、入力102に対して機械学習タスクを実施して、出力152を生成することができる。
上で説明したように、ニューラルネットワークシステム100は、入力系列である入力102に作用することが関与する多様なタスクのいずれかを実施することができる。
ニューラルネットワークシステム100は、ニューラルネットワーク150を含み、ニューラルネットワーク150は、複数のブロック110からなる系列を含む。各ブロックは、学習済み演算の集まりを実装し、1つまたは複数の位置の各位置におけるそれぞれの入力ベクトルを含むそれぞれの入力系列に作用する。
すなわち、各ブロック110は、入力系列104に作用し、対応する出力系列134を生成する。
具体的には、入力系列104は、入力順の複数の入力位置の各入力位置におけるそれぞれの入力を有し、出力系列134は、入力順のそれらの位置の各位置におけるそれぞれの出力を有する。すなわち、ブロックは、入力系列104内の各入力位置について、それぞれの出力を生成する。
一般に、所与のブロック110への入力系列104は、入力102に対して機械学習タスクを実施するときにニューラルネットワークによって生成された任意の中間系列データとすることができる。
例えば、ニューラルネットワーク150は、ネットワーク入力102から埋め込みの系列を生成する1つまたは複数の層を含んだ、埋め込みサブネットワークを含むことができる。
例えば、入力102が画像または点群であるとき、ニューラルネットワーク150は、その画像または点群の複数のパッチの各パッチについてのそれぞれの埋め込みを生成する埋め込みサブネットワークを含むことができ、ニューラルネットワーク150の第1のブロックへの入力は、各それぞれの埋め込みを含む系列とすることができる。各パッチは、入力画像の異なる領域内の画素の強度値を含む。例えば、埋め込みサブネットワークは、各パッチについて、そのパッチ内の画素の強度値を学習済みの変換を使用して処理して、そのパッチの埋め込みを生成することができる。
別の例として、入力102が自然言語系列であるとき、ニューラルネットワーク150は、その自然言語系列内のテキストトークンの各テキストトークンについてのそれぞれの埋め込みを生成する埋め込みサブネットワークを含むことができ、ニューラルネットワーク150の第1のブロックへの入力は、各それぞれの埋め込みを含む系列とすることができる。テキストトークンは、例えば、自然言語系列からの文字もしくは他のテキストシンボル、単語片、または単語を含むことができる。例えば、埋め込みサブネットワークは、トークンの語彙集内の各トークンをトークンの学習済み埋め込みにマッピングすることができる。
オプションで、上記の例のいずれかにおいて、埋め込みの系列を生成するとき、埋め込みサブネットワークは、プレースホルダ入力の埋め込み、例えばネットワーク出力を生成するために後に使用される所定の「クラス」入力の事前定義のまたは学習済みの「クラス」埋め込みを付加することができる。
したがって、ニューラルネットワーク150内の第1のブロック110への入力系列104は、埋め込みサブネットワークによって生成された、ネットワーク入力102の埋め込まれた(すなわち数値)表現を含む。
第1のブロック後のあらゆるブロック110への入力系列104は、先行するブロックによって生成された出力系列134とすることができる。
ニューラルネットワーク150は、系列内の最終ブロック110によって生成された出力系列134内のベクトルのうちの1つまたは複数を処理して、機械学習タスクの出力152を生成する、出力サブネットワークも含むことができる。
第1のブロック110への入力系列104がクラス入力の埋め込みを含む実装形態では、出力サブネットワークは、出力系列134からの、クラス入力に対応するベクトル、すなわちクラス入力の埋め込みと同じ位置におけるベクトルを処理して、機械学習タスクの出力152を生成することができる。
いくつかの他の実装形態では、第1のブロック110への入力系列104がクラス入力の埋め込みを含まないとき、出力サブネットワークは、最終ブロック110によって生成された出力系列134を受け取り、プーリング演算、例えばグローバル平均プーリングを、出力ベクトルにわたって適用して、プーリング後の出力ベクトルを生成し、次いで、プーリング後の出力ベクトルを処理して、機械学習タスクの出力152を生成する。
出力サブネットワークは、サブネットワークがベクトルを機械学習タスクの出力152にマッピングすることを可能にする、任意の適切なアーキテクチャを有することができる。例えば、タスクが分類タスクであるとき、出力サブネットワークは、1つまたは複数の全結合層、例えば線形層と、オプションで、その後に続くソフトマックス層を含むことができる。出力が回帰タスクであるとき、出力サブネットワークは、1つまたは複数の全結合層と、その後に続く、回帰タスクに適した異なるタイプの出力層、例えば線形層、シグモイド出力層などを含むことができる。
入力系列104から出力系列134を生成するために、各ブロック110は空間変換ユニット160を含み、この空間変換ユニット160は、ユニットへの入力系列に、ユニットへの入力系列内の複数の位置にわたって情報を統合するフィードフォワード空間変換を適用するものである。
ブロック110によって実施される動作については、下で図2および図3を参照してより詳細に説明する。
図2は、ニューラルネットワーク150の例示的なアーキテクチャ200を示す。
図2に示すように、ニューラルネットワーク150は、L個のブロック110からなる系列を含む。
各ブロック110は、複数の位置の各位置におけるそれぞれの入力ベクトルを含む、そのブロックの入力系列を取得する。各入力ベクトルは、第1の数d_model個のチャネルを有し、すなわちd_model個のエントリを有する。すなわち、d_model個の次元を有するベクトルは、d_model個のチャネルを有するものと見なすことができ、ベクトルの各エントリが、d_model個のチャネルのうちの1つにあるとする。
より具体的には、L個のブロックからなる系列内の第1のブロック110は、入力として、複数の位置の各位置におけるそれぞれの入力埋め込みを含む入力埋め込みの系列202(すなわち上で説明した埋め込みサブネットワークによって生成された)を受け取る。
第1のブロック後の各ブロックは、入力として、先行するブロック110によって生成された出力系列を受け取る。
最終ブロック110によって生成された出力系列204は、例えば、上で説明した出力サブネットワークへの入力として提供することができる。
入力系列から出力系列を生成すべく、各ブロック110は、各位置について、その位置におけるそれぞれの変換後の入力ベクトルを生成するために、その位置におけるそれぞれの入力ベクトルに第1の組の変換を適用する。各それぞれの変換後の入力ベクトルは、第2の数d_ffn個のチャネルを有し、すなわちd_ffn個のエントリを有する。一般に、第2の数d_ffn個のチャネルは、第1の数d_model個のチャネルよりも多い。第1の組の変換はチャネルごとに適用され、すなわちそれによって、所与の位置におけるそれぞれの変換後の入力ベクトルが、他の任意の位置における任意の入力ベクトルにではなくその所与の位置におけるそれぞれの入力ベクトルのみに応じて決まるようになる。
図2の例に示すように、第1の組の変換は、正規化(「正規化」)演算210、チャネル射影(「チャネル射影」)演算220、および非線形活性化(「活性化」)演算230を含む。
すなわち、ブロック110は、各位置についてのそれぞれの正規化した入力ベクトルを生成するために、各それぞれの入力ベクトルに正規化演算210を適用し、すなわち、対応する正規化した入力ベクトルを生成するために、各入力ベクトルを正規化する。
各位置について、次いで、ブロック110は、第2の数のチャネルを有する、その位置の初期のそれぞれの変換後の入力ベクトルを生成するために、その位置におけるそれぞれの正規化した入力ベクトルにチャネル射影演算220を適用する。換言すれば、ブロック110は、正規化した入力ベクトルをそれぞれ、正規化した入力ベクトルに第1の射影行列を適用することによって、より高次の次元数に射影する。
各位置について、ブロック110は、その位置のそれぞれの変換後の入力ベクトルを生成するために、その位置の初期のそれぞれの変換後の入力ベクトルに非線形活性化演算230を適用し、すなわち活性化関数を適用する。活性化関数は、任意の適切な、要素ごとの非線形活性化関数(non-linear elementwise activation function)、例えばReLUやGeLUとすることができる。
換言すれば、入力系列内のベクトルを含む行列Xが与えられると、ブロック110は、変換後の入力ベクトルからなる行列Zを、
Z=σ((norm(X))U)
として生成し、ただし、norm(X)は正規化演算210であり、Uは第1の射影行列であり、σは活性化関数を表す。
次いで、ブロック110は、複数の位置の各位置におけるそれぞれの空間変換後の入力ベクトルを、複数の位置にわたって情報を統合するフィードフォワード空間変換を適用する空間変換ユニットを使用して、生成する。すなわち、空間変換ユニットは、複数の位置にわたって情報を統合し、それによって、所与の位置におけるそれぞれの空間変換後の入力ベクトルが、その所与の位置における変換後の入力ベクトルだけではなく複数の異なる位置におけるそれぞれの変換後の入力ベクトルに応じて決まるようになる、フィードフォワード空間変換を適用する。フィードフォワード空間変換は、いかなる再帰ベースのまたはアテンションベースの演算も使用しないものである。
換言すれば、変換後の入力ベクトルからなる行列Zが与えられると、ブロック110は、空間変換後の入力ベクトルからなる行列
を、
として生成し、ただし、sは空間変換ユニットの演算を表す。
図2の例では、空間変換ユニットは、フィードフォワード空間変換を適用することに加えて空間変換後の入力ベクトルを生成する一環としてのゲーティング機構も適用する、空間ゲーティングユニット240である。
より具体的には、図2は、空間ゲーティングユニット240によって実施される演算の一例を示す。
図2の例では、空間ゲーティングユニット240は、分割演算242を適用して、各位置について、その位置のそれぞれの変換後の入力ベクトルの第2の数のチャネルのうちの第1のサブセットを含むそれぞれの第1の部分ベクトル、およびその位置のそれぞれの変換後の入力ベクトルの第2の数のチャネルのうちの第2のサブセットを含むそれぞれの第2の部分ベクトルを生成する。すなわち、ユニット240は、変換後の入力ベクトルをそれぞれ、チャネル次元に沿って2つに「分割する」。例えば、一方の部分ベクトルは、チャネルの最初の半分を含むことができ、他方の部分ベクトルは、チャネルの残りの半分を含むことができる。
次いで、空間ゲーティングユニット240は、各位置についてのそれぞれの正規化した第1の部分ベクトルを生成するために、各それぞれの第1の部分ベクトルに正規化244を適用し、すなわち、各第1の部分ベクトルを正規化する。
次いで、空間ゲーティングユニット240は、各位置についてのそれぞれの空間変換後の部分ベクトルを生成するために、各それぞれの正規化した第1の部分ベクトルに、複数の位置における各それぞれの正規化した第1の部分ベクトルにわたって情報を組み合わせるフィードフォワード空間変換246(「空間射影」)を適用する。
特定の例として、ユニット240は、(i)空間変換行列と(ii)各それぞれの正規化した第1の部分ベクトルからなる行列との積を決定し、次いで、各位置についての各それぞれの空間変換後の部分ベクトルを生成するために、この積にバイアス項を加算することができる。
次いで、空間ゲーティングユニット240は、少なくとも各それぞれの空間変換後の部分ベクトルおよび各それぞれの第2の部分ベクトルから、複数の位置の各位置におけるそれぞれの空間変換後の入力ベクトルを生成する。例えば、空間ゲーティングユニット240は、複数の位置の各それぞれの空間変換後の部分ベクトルとそれぞれの第2の部分ベクトルとの間のゲーティングを実施することができる。すなわち、各位置について、ユニット240は、(i)その位置のそれぞれの空間変換後の部分ベクトルと(ii)その位置のそれぞれの第2の部分ベクトルとの要素ごとの積248を決定することができる。
換言すれば、この例では、
であり、ただし、fW,b(norm(Z2))=W(norm(Z2))+bであり、Z1は第2の部分ベクトルからなる行列であり、Z2は第1の部分ベクトルからなる行列であり、
は要素ごとの乗算を表し、norm(Z2)は正規化演算を表し、Wは空間変換行列であり、bはバイアス項である。
いくつかの実装形態では、トレーニングの最初に、トレーニングシステムが、Wを、ゼロに近い値として、例えばゼロのしきい値距離内にあるランダムに選択された値に初期化し、bを複数の1として初期化することができ、すなわち、トレーニングの初めに、fW,b(norm(Z2))は1にほぼ等しく、s(Z)はZ1にほぼ等しいということである。これらの値をこのように初期化することにより、確実に、各ブロックが、トレーニングの初期段階においてベクトルにわたって情報を混合せず、学習中にトークンにわたって空間情報を少しずつしか注入しない、普通のFFN(フィードフォワードニューラルネットワーク)のように振る舞うようになることが可能である。これにより、トレーニングプロセスの安定性が向上することが可能である。
したがって、(図2に示す実装形態を含む)いくつかの実装形態では、ユニット240(およびより一般にはニューラルネットワーク)は、いかなるセルフアテンション演算も含まない。
最先端のトランスフォーマーニューラルネットワークは、典型的には、マルチヘッドセルフアテンション機構を使用して、系列内の入力にわたって情報の空間集約を実施する。「セルフアテンション」とは、系列内のトークンにわたって空間情報を集約する演算を指し、この集約は、各トークンについて、系列内の全てのトークンにわたってアテンションを適用して、その位置における更新されたトークンを生成することによって行われる。マルチヘッドセルフアテンションは、この演算の複数のインスタンスを並列に実施し、次いで、それぞれの出力を組み合わせて、演算の最終出力を生成する。このタイプの空間集約は、入力表現に基づいて動的にパラメータ化され、すなわち、各位置についての加重和内の重みが、入力系列内にどれだけの入力があるかに応じて、また各入力ベクトル内の値に応じて決まる。セルフアテンションと、特にマルチヘッドアテンションは、トランスフォーマーニューラルネットワークのかなりの量の計算能力を消費することがある。
マルチヘッドセルフアテンションを、上で説明した空間変換と置き換えることによって、ニューラルネットワーク150は、トランスフォーマーニューラルネットワークの結果に匹敵する結果、またはそれを超える結果を達成すると同時に、計算リソースの消費がはるかにより少なくなり、より容易に多様なコンピューティングデバイス上に、例えばエッジデバイス上に、またはデータセンター内にデプロイすることが可能である。
いくつかの他の実装形態では、ユニット240は、複数の位置の各位置におけるそれぞれの空間変換後の入力ベクトルを生成する際に、セルフアテンション機構を組み込む。具体的には、これらの実装形態では、ユニット240は、複数の位置の各位置におけるそれぞれの注意を向けた(attended)入力ベクトルを生成するために、ブロックの入力系列にセルフアテンション機構を適用し、次いで、各位置について、その位置のそれぞれの組み合わせたベクトルを生成するために、(i)その位置のそれぞれの空間変換後の部分ベクトルと(ii)その位置のそれぞれの注意を向けた入力ベクトルとの和を決定することができる。次いで、ユニット240は、空間変換後のベクトルを生成するために、(i)その位置のそれぞれの組み合わせたベクトルと(ii)その位置のそれぞれの第2の部分ベクトルとの要素ごとの積を決定することができる。
したがって、ブロックの入力系列にセルフアテンション機構を適用するために、ユニット240は、オプションで、最初に入力系列を正規化し、次いで線形変換を適用して、入力系列内の各入力ベクトルについてのそれぞれのクエリ、キー、およびバリューを生成することができる。次いで、ユニット240は、各位置について、その位置のクエリと全ての位置のキーとから、系列内の各位置についてのそれぞれのアテンション重みを生成し、次いでそれらの位置のバリューの加重和を、すなわち各バリューを対応するアテンション重みで加重して、計算する。オプションで、クエリ、キー、およびバリューの次元数が大きすぎる場合、ユニット240は、各加重和を、空間変換後の部分ベクトルに等しい次元数を有するように射影することができる。
セルフアテンション機構を含めると、ある特定のタスクに対して、例えば複数の異なる文を含む長いテキスト系列の処理や異なる文中に位置するテキスト間の情報の整合を必要とする自然言語タスクに対して、ニューラルネットワークの性能が向上することが可能である。
ブロック110がセルフアテンション機構を含むときでさえ、セルフアテンション機構は、ユニット240が存在するため、最先端のトランスフォーマーニューラルネットワークによって用いられるアテンション機構よりも大幅に計算効率のよい「ごく小さな」機構となることが可能である。例えば、セルフアテンション機構は、トランスフォーマーニューラルネットワークによって用いられるマルチヘッド機構ではなくシングルヘッド機構とすることができる。それに加えて、クエリ、キー、およびバリューの次元数が、トランスフォーマーニューラルネットワークによって用いられる次元数よりも大幅に小さくなることが可能である。換言すれば、ブロックがセルフアテンション機構を含むときでさえ、各ブロック110はそれにもかかわらず、最先端のトランスフォーマーニューラルネットワーク内の所与のブロックよりも計算リソースの消費が大幅に少ない。
一般に、図2の例は、ユニット240が変換後の入力ベクトルを「分割する」実装形態を表す。しかし、他のいくつかの実装形態では、ユニット240は、この「分割」を実施するのではなく、変換後の入力ベクトルに直接作用する。
これらの実装形態では、ユニット240は、各位置についてのそれぞれの正規化した変換後の入力ベクトルを生成するために、各それぞれの変換後の入力ベクトルに正規化を適用し、次いで、各位置についてのそれぞれの空間変換後のベクトルを生成するために、各それぞれの変換後の入力ベクトルに、複数の位置における各それぞれの変換後の入力ベクトルにわたって情報を組み合わせるフィードフォワード空間変換を適用することができる。
例えば、各それぞれの変換後の入力ベクトルに、フィードフォワード空間変換を適用することは、(i)空間変換行列と(ii)各それぞれの変換後の入力ベクトルからなる行列との積を決定することと、各位置についての各それぞれの空間変換後のベクトルを生成するために、その積にバイアス項を加算することとを含むことができる。
次いで、ユニット240は、少なくとも各それぞれの空間変換後のベクトルおよび各それぞれの変換後の入力ベクトルから、複数の位置の各位置におけるそれぞれの空間変換後の入力ベクトルを生成することができる。例えば、ユニット240は、各位置について、(i)その位置のそれぞれの空間変換後のベクトルと(ii)その位置のそれぞれの変換後の入力ベクトルとの要素ごとの積を決定することができる。
ユニット240がセルフアテンションも適用するとき、ユニット2140は、複数の位置の各位置におけるそれぞれの注意を向けた入力ベクトルを生成するために、ブロックの入力系列にセルフアテンション機構を適用し、各位置について、その位置のそれぞれの組み合わせたベクトルを生成するために、(i)その位置のそれぞれの空間変換後のベクトルと(ii)その位置のそれぞれの注意を向けた入力ベクトルとの和を決定し、(i)その位置のそれぞれの組み合わせたベクトルと(ii)その位置のそれぞれの変換後の入力ベクトルとの要素ごとの積を決定することができる。
次いで、ブロック110は、各位置について、その位置におけるそれぞれの出力ベクトルを生成するためにその位置におけるそれぞれの空間変換後の入力ベクトルに第2の組の変換を適用することによって、ブロック110の出力系列を生成する。第2の組の変換はチャネルごとに適用され、すなわちそれによって、所与の位置における出力ベクトルが、他の任意の位置における任意のそれぞれの空間変換後の入力ベクトルにではなくその所与の位置におけるそれぞれの空間変換後の入力ベクトルのみに応じて決まるようになる。
図2の例では、第2の組の変換は、チャネル射影(「チャネル射影」)演算260およびスキップ接続270を含む。
すなわち、その位置におけるそれぞれの入力ベクトルに第2の組の変換を適用することは、第1の数のチャネルを有する、その位置の初期のそれぞれの出力ベクトルを生成するために、すなわちチャネル数をd_ffnから、または「分割」演算が含まれるときはd_ffnの半分(もしくはd_ffnの別の何分の1か)から、d_modelに減少させるために、その位置におけるそれぞれの空間変換後の入力ベクトルにチャネル射影演算260を適用すること、すなわち第2の射影行列を適用することを含む。
次いで、第2の組の変換を適用することは、その位置のそれぞれの出力ベクトルを生成するために、各位置における初期のそれぞれの出力ベクトルにスキップ接続270を適用して、その位置の初期のそれぞれの出力ベクトルをその位置へのそれぞれの入力ベクトルに加算することを含む。
したがって、上で図2を参照して説明したように、各ブロック110は最初に、各入力をより高次の次元数、すなわちより多数のチャネルに射影し、次いで、そのより高次元の空間においてフィードフォワード空間変換を適用し、次いで、フィードフォワード空間変換の出力を再び、オリジナルの次元数に射影する。
換言すれば、出力系列内の出力ベクトルからなる行列Yは、
を満足させ、ただし、Vは第2の射影行列である。
上記から分かるように、セルフアテンションが含まれないとき、空間変換のパラメータ化は静的であり、すなわち、入力に応じて決まらず、ニューラルネットワークがトレーニングされた後で固定される。すなわち、射影行列は、固定の次元数を有し、トレーニングが完了した後で固定される。固定のサイズの行列を可能にするために、システムが可変長データに作用するとき、例えば入力系列が可変長であるとき、システムは、ニューラルネットワーク150によって作用される各系列が固定のサイズを有するように、データを零ベクトルまたはガベージベクトル(garbage vector)でパディングすることができる。例えば、システムが、システムへのオリジナルネットワーク入力を零ベクトルでパディングすることもでき、埋め込みサブネットワークが、埋め込みの固定長の系列を生成するために、ネットワーク入力内の入力の埋め込みの後に所定の埋め込みを付加することもできる。
空間射影行列が固定の次元数を有するので、空間変換は、ニューラルネットワーク全体を通して位置情報を維持する。したがって、トランスフォーマーニューラルネットワークとは異なり、埋め込みサブネットワークによって生成される埋め込みが、位置情報、すなわち所与の埋め込みの、埋め込みの系列内での位置を識別する情報を符号化する必要がない。換言すれば、埋め込みの系列内の埋め込みは、いかなる位置埋め込みまたは他のいかなる位置情報も使用して生成されず、それによって、ニューラルネットワーク150のアーキテクチャがさらに単純になる。
図3は、ニューラルネットワーク内の複数のブロックのうちの1つを使用して入力系列を処理するための例示的なプロセス300のフロー図である。便宜上、プロセス300については、1つまたは複数のロケーションに位置する1つまたは複数のコンピュータからなるシステムによって実施されるものとして説明する。例えば、本明細書に従って適切にプログラムされたブロックの系列を含むニューラルネットワークシステム、例えば図1のニューラルネットワークシステム100が、プロセス300を実施することができる。
ニューラルネットワークによるネットワーク入力の処理中に、ブロックは、複数の位置の各位置におけるそれぞれの入力ベクトルを含む、そのブロックの入力系列を取得し、各入力ベクトルは第1の数d_model個のチャネルを有し、すなわちd_model個のエントリを有する(ステップ302)。
各位置について、ブロックは、その位置におけるそれぞれの変換後の入力ベクトルを生成するために、その位置におけるそれぞれの入力ベクトルに第1の組の変換を適用し、各それぞれの変換後の入力ベクトルは第2の数d_ffn個のチャネルを有し、すなわちd_ffn個のエントリを有する(ステップ304)。一般に、第2の数のチャネルは、第1の数のチャネルよりも多い。第1の組の変換はチャネルごとに適用され、すなわちそれによって、所与の位置におけるそれぞれの変換後の入力ベクトルが、他の任意の位置における任意の入力ベクトルにではなくその所与の位置におけるそれぞれの入力ベクトルのみに応じて決まるようになる。
次いで、ブロックは、複数の位置の各位置におけるそれぞれの空間変換後の入力ベクトルを生成する(ステップ306)。空間変換後の入力ベクトルを生成することは、複数の位置にわたって情報を統合し、それによって、所与の位置におけるそれぞれの空間変換後の入力ベクトルが、その所与の位置における変換後の入力ベクトルだけではなく複数の異なる位置におけるそれぞれの変換後の入力ベクトルに応じて決まるようになる、フィードフォワード空間変換を適用することを含む。フィードフォワード空間変換は、いかなる再帰ベースのまたはアテンションベースの演算も使用しないものである。
次いで、ブロックは、各位置について、その位置におけるそれぞれの出力ベクトルを生成するためにその位置におけるそれぞれの空間変換後の入力ベクトルに第2の組の変換を適用することによって、ブロックの出力系列を生成する(ステップ308)。第2の組の変換はチャネルごとに適用され、すなわちそれによって、所与の位置における出力ベクトルが、他の任意の位置における任意のそれぞれの空間変換後の入力ベクトルにではなくその所与の位置におけるそれぞれの空間変換後の入力ベクトルのみに応じて決まるようになる。
ニューラルネットワークを使用して機械学習タスクを実施する前に、そのタスクを実施するために、すなわちニューラルネットワークのパラメータの、すなわち系列内のブロック、出力サブネットワーク、および埋め込みサブネットワークのパラメータの、トレーニング後の値を決定するために、トレーニングシステムがニューラルネットワークをトレーニングする。例えば、トレーニングシステムは、ニューラルネットワークを、従来の機械学習技法を使用して、そのタスクのトレーニングデータに対して、そのタスクの損失関数、例えば交差エントロピー損失、負対数尤度などを最小限に抑えるように一からトレーニングすることができる。別の例として、トレーニングシステムは最初に、ミキサニューラルネットワーク(mixer neural network)を、教師なし目的(unsupervised objective)に対して事前トレーニングすることができ、次いで、ミキサニューラルネットワークを、そのタスクのトレーニングデータに対してファインチューニングすることができる。さらに別の例として、トレーニングシステムは、ミキサニューラルネットワークを、半教師あり学習を通じて、ラベルなしデータとそのタスクのトレーニングデータの両方に対してトレーニングすることができる。
トレーニング中、トレーニングシステムは、トレーニングプロセスの速度、有効性、または両方を改善するための任意数の技法を組み込むことができる。例えば、システムは、オーバーフィッティングを低減させるために、ドロップアウト、ラベル平滑化、または両方を使用することができる。別の例として、システムは、トレーニングを、ニューラルネットワークの複数のインスタンスを並列にトレーニングする分散アーキテクチャを使用して実施することができる。さらに、上で説明したように、システムは最初に、ニューラルネットワークを、教師なし学習を通じて、大規模な教師なしデータセットに対して、例えばBERT損失または他の教師なし損失を最小限に抑えるように事前トレーニングし、次いで、ニューラルネットワークを、タスク固有のトレーニングデータに対して、そのタスクの損失関数を最適化するようにファインチューニングすることができる。
本明細書では、システムおよびコンピュータプログラムコンポーネントに関して、「構成される」という用語を使用している。1つまたは複数のコンピュータからなるシステムが特定の動作またはアクションを実施するように構成されるとは、動作の際にシステムにその動作またはアクションを実施させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを、システムがその上にインストールされていることを意味する。1つまたは複数のコンピュータプログラムが特定の動作またはアクションを実施するように構成されるとは、1つまたは複数のプログラムが、データ処理装置によって実行されると装置にその動作またはアクションを実施させる命令を含むことを意味する。
本明細書において説明した本主題の実施形態および機能的動作は、デジタル電子回路として、有形に具現化されたコンピュータソフトウェアもしくはファームウェアとして、本明細書において開示した構造およびそれらの構造的等価物を含むコンピュータハードウェアとして、またはそれらのうちの1つもしくは複数のものの組合せとして、実装することができる。本明細書において説明した本主題の実施形態は、1つまたは複数のコンピュータプログラムとして、すなわちデータ処理装置によって実行するために、またはデータ処理装置の動作を制御するために、有形の非一時的記憶媒体上に符号化された、コンピュータプログラム命令の1つまたは複数のモジュールとして、実装することができる。コンピュータ記憶媒体は、マシン可読記憶デバイス、マシン可読記憶基板、ランダムもしくはシリアルアクセスのメモリデバイス、またはそれらのうちの1つもしくは複数のものの組合せとすることができる。その代わりにまたはそれに加えて、プログラム命令は、データ処理装置によって実行する目的で適切なレシーバ装置に送信できるように情報を符号化するために生成される、人工的に生成された伝搬信号、例えばマシンにより生成された電気信号、光信号、または電磁信号上に、符号化することができる。
「データ処理装置」という用語は、データ処理ハードウェアを指し、例としてプログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイス、およびマシンを包含する。装置は、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)とすることもでき、またはそれをさらに含むこともできる。装置はオプションで、ハードウェアに加えて、コンピュータプログラムのための実行環境を作り出すコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数のものの組合せを構成するコードも含むことができる。
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれるかまたは説明されることのあるコンピュータプログラムは、コンパイル型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む、任意の形態のプログラミング言語で記述することができ、またそれは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境において使用するのに適した他のユニットとして、を含む、任意の形態でデプロイすることができる。プログラムは、その必要はないが、ファイルシステム内のファイルに対応してよい。プログラムは、他のプログラムもしくはデータを保持するファイルの一部分、例えばマークアップ言語ドキュメント内に格納された1つもしくは複数のスクリプト内に、当該のプログラムに専用の単一のファイル内に、または複数の連係されたファイル、例えばコードの1つもしくは複数のモジュール、サブプログラム、もしくは一部分を格納したファイル内に、格納することができる。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置するかもしくは複数のサイトにわたって分散され、データ通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように、デプロイすることができる。
本明細書では、「データベース」という用語は、データの任意の集まりを指すために広く使用されており、データは、任意の特定の様式で構造化される必要も、全く構造化される必要もなく、データは、1つまたは複数のロケーションにある記憶デバイス上に記憶することができる。したがって、例えば、索引データベースが、そのそれぞれが別様に編成およびアクセスされ得るデータの複数の集まりを含むことができる。
同様に、本明細書では、「エンジン」という用語は、1つまたは複数の特定の機能を実施するようにプログラムされるソフトウェアベースのシステム、サブシステム、またはプロセスを指すために広く使用されている。一般に、エンジンは、1つまたは複数のロケーションにある1つまたは複数のコンピュータ上にインストールされた1つまたは複数のソフトウェアモジュールまたはソフトウェアコンポーネントとして実装される。いくつかの場合には、1つまたは複数のコンピュータが、特定のエンジンに専用であり、他の場合には、複数のエンジンが、同じ1つまたは複数のコンピュータ上にインストールされ、その上で実行されていてよい。
本明細書において説明したプロセスおよび論理フローは、入力データに作用し出力を生成することによって機能を実施するための1つまたは複数のコンピュータプログラムを実行する、1つまたは複数のプログラマブルコンピュータによって実施することができる。プロセスおよび論理フローは、専用論理回路、例えばFPGAもしくはASICによって、または専用論理回路と1つもしくは複数のプログラムされたコンピュータとの組合せによって、実施することもできる。
コンピュータプログラムの実行に適したコンピュータは、汎用もしくは専用のマイクロプロセッサ、もしくはその両方、または他の任意の種類の中央処理装置に基づくことができる。一般に、中央処理装置は、読出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受け取る。コンピュータの不可欠な要素は、命令を実施または実行するための中央処理装置、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央処理装置およびメモリは、専用論理回路によって補完することもでき、あるいは専用論理回路に組み込むこともできる。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば磁気ディスク、光磁気ディスク、または光ディスクを含むか、またはそこからデータを受け取り、もしくはそこにデータを転送するように動作可能に結合されるか、またはその両方である。しかし、コンピュータは、そのようなデバイスを有している必要はない。さらに、コンピュータは、別のデバイス、例えば、ほんの数例を挙げると、モバイル電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオプレーヤもしくはモバイルビデオプレーヤ、ゲーム機、グローバルポジショニングシステム(GPS)レシーバ、またはポータブル記憶デバイス、例えばユニバーサルシリアルバス(USB)フラッシュドライブに埋め込むことができる。
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体としては、例として半導体メモリデバイス、例えばEPROM、EEPROM、およびフラッシュメモリデバイス;磁気ディスク、例えば内蔵ハードディスクまたはリムーバブルディスク;光磁気ディスク;ならびにCD ROMディスクおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性のメモリ、媒体、およびメモリデバイスがある。
ユーザとの対話を可能にするために、本明細書において説明した本主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、ユーザがそれによってコンピュータに入力することのできるキーボードおよびポインティングデバイス、例えばマウスまたはトラックボールとを有するコンピュータ上に実装することができる。他の種類のデバイスを使用して、ユーザとの対話を可能にすることもでき、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受け取ることができる。それに加えて、コンピュータはユーザと、ユーザによって使用されているデバイスにドキュメントを送出し、そこからドキュメントを受信することによって、例えば、ユーザのデバイス上のウェブブラウザに、そのウェブブラウザから受信した要求に応答してウェブページを送出することによって、対話することもできる。また、コンピュータは、パーソナルデバイス、例えばメッセージングアプリケーションを実行しているスマートフォンにテキストメッセージまたは他の形態のメッセージを送出し、ユーザから返信として応答メッセージを受信することによって、ユーザと対話することもできる。
機械学習モデルを実装するためのデータ処理装置は、例えば、機械学習のトレーニングまたはプロダクション、すなわち推論の作業負荷のうちの共通の計算集約的部分を処理するための、専用ハードウェアアクセラレータユニットを含むこともできる。
機械学習モデルは、機械学習フレームワーク、例えばTensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して、実装およびデプロイすることができる。
本明細書において説明した本主題の実施形態は、例えばデータサーバとしてのバックエンドコンポーネントを含むか、またはミドルウェアコンポーネント、例えばアプリケーションサーバを含むか、またはフロントエンドコンポーネント、例えば本明細書において説明した本主題の一実装形態とユーザがそれを通じて対話することのできるグラフィカルユーザインターフェース、ウェブブラウザ、もしくはアプリを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステム内に、実装することができる。システムのコンポーネント同士は、任意の形態または媒体のデジタルデータ通信、例えば通信ネットワークによって、相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)、例えばインターネットがある。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバは、一般に互いに遠隔にあり、典型的には通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれに対応するコンピュータ上で実行され、互いにクライアント-サーバ関係を有する、コンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、データ、例えばHTMLページをユーザデバイスに、例えばクライアントとしての役割を果たすそのデバイスと対話しているユーザにデータを表示し、ユーザからユーザ入力を受け取ることを目的として、送信する。ユーザデバイスにおいて生成されたデータ、例えばユーザ対話の結果は、デバイスからサーバにおいて受信され得る。
本明細書は、実装形態の多くの具体的詳細を含んでいるが、これらは、任意の発明の範囲または特許請求され得るものの範囲に対する限定と解釈するのではなく、特定の発明の特定の実施形態に固有であり得る特徴についての説明と解釈すべきである。本明細書において別々の実施形態の文脈の中で説明される、ある特定の特徴は、単一の実施形態において組み合わせて実装することもできる。反対に、単一の実施形態の文脈の中で説明されるさまざまな特徴は、複数の実施形態において別々に、または任意の適切な部分組合せで、実装することもできる。さらに、特徴については上で、ある特定の組合せで作用するものとして説明されていることがあり、さらにはそのようなものとして最初に特許請求されていることもあるが、特許請求された組合せからの1つまたは複数の特徴を、場合によっては、その組合せから削除することができ、特許請求された組合せは、部分組合せまたは部分組合せの変形を対象としてよい。
同様に、動作については、特定の順序で図面中に描かれ、特許請求の範囲において記載されているが、これは、望ましい結果を達成するために、そのような動作が、示された特定の順序で、もしくは順番に実施されること、または示された全ての動作が実施されることを必要とするものと理解すべきではない。ある特定の状況下では、マルチタスキングおよび並列処理が、有利となることがある。さらに、上で説明した実施形態におけるさまざまなシステムモジュールおよびコンポーネントの分離は、全ての実施形態においてそのような分離を必要とするものと理解すべきではなく、説明したプログラムコンポーネントとシステムは、一般に、単一のソフトウェア製品に一緒に統合するか、または複数のソフトウェア製品にパッケージ化できることを理解されたい。
以上、本主題の特定の実施形態について説明してきた。他の実施形態が、添付の特許請求の範囲に記載の範囲に含まれる。例えば、特許請求の範囲において記載されたアクションは、異なる順序で実施してもよく、それでもなお望ましい結果を達成することができる。一例として、添付の図中に描かれたプロセスは、望ましい結果を達成するために、示された特定の順序、または順番を必ずしも必要とするとは限らない。場合によっては、マルチタスキングおよび並列処理が、有利となることがある。
100 ニューラルネットワークシステム
102 入力
104 入力系列
110 ブロック、第1のブロック、最終ブロック
134 出力系列
150 ニューラルネットワーク
152 出力
160 空間変換ユニット
200 アーキテクチャ
202 入力埋め込みの系列
204 出力系列
210 正規化演算
220 チャネル射影演算
230 非線形活性化演算
240 空間ゲーティングユニット
242 分割演算
244 正規化
246 フィードフォワード空間変換
248 要素ごとの積
260 チャネル射影演算
270 スキップ接続
300 プロセス
2140 ユニット

Claims (20)

  1. ネットワーク入力に対して機械学習タスクを実施して、ネットワーク出力を生成するためのシステムであって、1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを備え、前記命令が、前記1つまたは複数のコンピュータによって実行されると前記1つまたは複数のコンピュータに、
    前記機械学習タスクを実施するように構成されたニューラルネットワークであって、複数のブロックを備え、各ブロックが、
    複数の位置の各位置におけるそれぞれの入力ベクトルを備える、前記ブロックの入力系列を取得することであって、各入力ベクトルが第1の数のチャネルを有する、取得すること、
    各位置について、前記位置におけるそれぞれの変換後の入力ベクトルを生成するために、前記位置における前記それぞれの入力ベクトルに第1の組の変換を適用することであって、各それぞれの変換後の入力ベクトルが第2の数のチャネルを有する、適用すること、
    前記複数の位置の各位置におけるそれぞれの空間変換後の入力ベクトルを生成することであって、前記複数の位置にわたって情報を統合するフィードフォワード空間変換を適用することを含む、生成すること、および
    各位置について、前記位置におけるそれぞれの出力ベクトルを生成するために前記位置における前記それぞれの空間変換後の入力ベクトルに第2の組の変換を適用することによって、前記ブロックの出力系列を生成すること
    を含む動作を実施するように構成された、ニューラルネットワーク
    を実装させる、システム。
  2. 前記ニューラルネットワークが、
    前記複数のブロックのうちの最終ブロックの前記出力系列内の各前記それぞれの出力ベクトルのうちの1つまたは複数を処理して、前記ネットワーク出力を生成するように構成された、1つまたは複数の出力層
    をさらに備える、請求項1に記載のシステム。
  3. 前記空間変換を適用することが、
    各位置について、前記位置の前記それぞれの変換後の入力ベクトルの前記第2の数のチャネルのうちの第1のサブセットを含むそれぞれの第1の部分ベクトル、および前記位置の前記それぞれの変換後の入力ベクトルの前記第2の数のチャネルのうちの第2のサブセットを含むそれぞれの第2の部分ベクトルを生成することと、
    各位置についてのそれぞれの正規化した第1の部分ベクトルを生成するために、各前記それぞれの第1の部分ベクトルに正規化を適用することと、
    各位置についてのそれぞれの空間変換後の部分ベクトルを生成するために、各前記それぞれの正規化した第1の部分ベクトルに、前記複数の位置における各前記それぞれの正規化した第1の部分ベクトルにわたって情報を組み合わせるフィードフォワード空間変換を適用することと、
    少なくとも各前記それぞれの空間変換後の部分ベクトルおよび各前記それぞれの第2の部分ベクトルから、前記複数の位置の各位置における前記それぞれの空間変換後の入力ベクトルを生成することと
    を含む、請求項1または2に記載のシステム。
  4. 各前記それぞれの正規化した第1の部分ベクトルに、フィードフォワード空間変換を適用することが、
    (i)空間変換行列と(ii)各前記それぞれの正規化した第1の部分ベクトルからなる行列との積を決定することと、
    各位置についての各前記それぞれの空間変換後の部分ベクトルを生成するために、前記積にバイアス項を加算することと
    を含む、請求項3に記載のシステム。
  5. 前記複数の位置の各位置における前記それぞれの空間変換後の入力ベクトルを生成することが、各位置について、
    (i)前記位置の前記それぞれの空間変換後の部分ベクトルと(ii)前記位置の前記それぞれの第2の部分ベクトルとの要素ごとの積を決定すること
    を含む、請求項3または4に記載のシステム。
  6. 前記複数の位置の各位置における前記それぞれの空間変換後の入力ベクトルを生成することが、
    前記複数の位置の各位置におけるそれぞれの注意を向けた入力ベクトルを生成するために、前記ブロックの前記入力系列にセルフアテンション機構を適用することと、
    各位置について、
    前記位置のそれぞれの組み合わせたベクトルを生成するために、(i)前記位置の前記それぞれの空間変換後の部分ベクトルと(ii)前記位置の前記それぞれの注意を向けた入力ベクトルとの和を決定することと、
    (i)前記位置の前記それぞれの組み合わせたベクトルと(ii)前記位置の前記それぞれの第2の部分ベクトルとの要素ごとの積を決定することと
    を含む、請求項3または請求項4に記載のシステム。
  7. 前記空間変換を適用することが、
    各位置についてのそれぞれの正規化した変換後の入力ベクトルを生成するために、各前記それぞれの変換後の入力ベクトルに正規化を適用することと、
    各位置についてのそれぞれの空間変換後のベクトルを生成するために、各前記それぞれの変換後の入力ベクトルに、前記複数の位置における各前記それぞれの変換後の入力ベクトルにわたって情報を組み合わせるフィードフォワード空間変換を適用することと、
    少なくとも各前記それぞれの空間変換後のベクトルおよび各前記それぞれの変換後の入力ベクトルから、前記複数の位置の各位置における前記それぞれの空間変換後の入力ベクトルを生成することと
    を含む、請求項1または2のいずれか一項に記載のシステム。
  8. 各前記それぞれの変換後の入力ベクトルに、フィードフォワード空間変換を適用することが、
    (i)空間変換行列と(ii)各前記それぞれの変換後の入力ベクトルからなる行列との積を決定することと、
    各位置についての各前記それぞれの空間変換後のベクトルを生成するために、前記積にバイアス項を加算することと
    を含む、請求項7に記載のシステム。
  9. 前記複数の位置の各位置における前記それぞれの空間変換後の入力ベクトルを生成することが、各位置について、
    (i)前記位置の前記それぞれの空間変換後のベクトルと(ii)前記位置の前記それぞれの変換後の入力ベクトルとの要素ごとの積を決定すること
    を含む、請求項7または8に記載のシステム。
  10. 前記複数の位置の各位置における前記それぞれの空間変換後の入力ベクトルを生成することが、
    前記複数の位置の各位置におけるそれぞれの注意を向けた入力ベクトルを生成するために、前記ブロックの前記入力系列にセルフアテンション機構を適用することと、
    各位置について、
    前記位置のそれぞれの組み合わせたベクトルを生成するために、(i)前記位置の前記それぞれの空間変換後のベクトルと(ii)前記位置の前記それぞれの注意を向けた入力ベクトルとの和を決定することと、
    (i)前記位置の前記それぞれの組み合わせたベクトルと(ii)前記位置の前記それぞれの変換後の入力ベクトルとの要素ごとの積を決定することと
    を含む、請求項7または請求項8に記載のシステム。
  11. 各位置について、前記位置における前記それぞれの入力ベクトルに第1の組の変換を適用することが、
    各位置についてのそれぞれの正規化した入力ベクトルを生成するために、各前記それぞれの入力ベクトルに正規化を適用することと、
    各位置について、前記第2の数のチャネルを有する、前記位置の初期のそれぞれの変換後の入力ベクトルを生成するために、前記位置における前記それぞれの正規化した入力に第1の射影行列を適用することと、
    各位置について、前記位置の前記それぞれの変換後の入力ベクトルを生成するために、前記位置の前記初期のそれぞれの変換後の入力ベクトルに活性化関数を適用することと
    を含む、請求項1から10のいずれか一項に記載のシステム。
  12. 各位置について、前記位置における前記それぞれの入力ベクトルに第2の組の変換を適用することが、
    前記第1の数のチャネルを有する、前記位置の初期のそれぞれの出力ベクトルを生成するために、前記位置における前記それぞれの空間変換後の入力ベクトルに第2の射影行列を適用すること
    を含む、請求項1から11のいずれか一項に記載のシステム。
  13. 各位置について、前記位置における前記それぞれの入力ベクトルに第2の組の変換を適用することが、
    前記位置の前記それぞれの出力ベクトルを生成するために、前記位置の前記初期のそれぞれの出力ベクトルを前記位置への前記それぞれの入力ベクトルに加算すること
    を含む、請求項12に記載のシステム。
  14. 前記複数のブロックのうちの第1のブロックの前記入力系列が、前記ネットワーク入力を表す埋め込みの系列である、請求項1から13のいずれか一項に記載のシステム。
  15. 前記埋め込みが、いかなる位置埋め込みも使用して生成されない、請求項14に記載のシステム。
  16. 前記ネットワーク入力が画像であり、前記埋め込みの系列が、前記画像からの複数のパッチの各パッチを表すそれぞれの埋め込みを備える、請求項14または15のいずれか一項に記載のシステム。
  17. 前記機械学習タスクが、入力系列であるネットワーク入力に作用して、前記ネットワーク入力についてのネットワーク出力を生成し、前記機械学習タスクが、
    オーディオ処理タスクであって、前記ネットワーク入力が、口頭による発話を表す系列であり、前記ネットワーク出力が、前記口頭による発話をカテゴリのセットからの1つもしくは複数のカテゴリに分類する分類出力である、オーディオ処理タスク、
    健康予測タスクであって、前記ネットワーク入力が、患者の電子健康記録データから得られた系列であり、前記ネットワーク出力が、その患者についての予測された診断である、健康予測タスク、
    エージェント制御タスクであって、前記ネットワーク入力が、環境の状態を特徴付ける観察結果もしくは他のデータの系列であり、前記ネットワーク出力が、前記系列内の一番最近のデータに応答してエージェントによって実施すべきアクションを定める、エージェント制御タスク、
    ゲノミクスタスクであって、前記ネットワーク入力が、DNA配列もしくは他の分子配列の断片を表す系列であり、前記ネットワーク出力が、下流のタスクで用いるための前記断片の埋め込み、もしくは前記下流のタスクの出力である、ゲノミクスタスク、または
    コンピュータビジョンタスクであって、前記ネットワーク入力が、画像もしくは点群であり、前記出力が、前記画像もしくは前記点群についてのコンピュータビジョン出力である、コンピュータビジョンタスク
    を含む、請求項1から16のいずれか一項に記載のシステム。
  18. 前記機械学習タスクが、画像分類タスクであり、前記ネットワーク入力が、画像であり、前記ネットワーク出力が、複数のカテゴリの各カテゴリについてのそれぞれのスコアを含む分類出力であり、各スコアが、前記画像が前記カテゴリに属するオブジェクトを含む可能性を表す、請求項1から17のいずれか一項に記載のシステム。
  19. 命令を記憶する1つまたは複数のコンピュータ可読記憶媒体であって、前記命令が、1つまたは複数のコンピュータによって実行されると前記1つまたは複数のコンピュータに、請求項1から18のいずれか一項に記載のニューラルネットワークを実装させる、1つまたは複数のコンピュータ可読記憶媒体。
  20. 1つまたは複数のコンピュータによって実施される方法であって、
    ネットワーク入力を受け取るステップと、
    ネットワーク出力を生成するために、前記ネットワーク入力を、請求項1から19のいずれか一項に記載のニューラルネットワークを使用して処理するステップと
    を含む、方法。
JP2023560898A 2021-05-14 2022-05-16 フィードフォワード空間変換ユニットを備えたニューラルネットワーク Pending JP2024519265A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163189013P 2021-05-14 2021-05-14
US63/189,013 2021-05-14
PCT/US2022/029470 WO2022241320A1 (en) 2021-05-14 2022-05-16 Neural networks with feedforward spatial transformation units

Publications (1)

Publication Number Publication Date
JP2024519265A true JP2024519265A (ja) 2024-05-10

Family

ID=82016219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023560898A Pending JP2024519265A (ja) 2021-05-14 2022-05-16 フィードフォワード空間変換ユニットを備えたニューラルネットワーク

Country Status (5)

Country Link
US (1) US20220367052A1 (ja)
EP (1) EP4298555A1 (ja)
JP (1) JP2024519265A (ja)
CN (1) CN117121014A (ja)
WO (1) WO2022241320A1 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11556786B2 (en) * 2017-10-27 2023-01-17 Google Llc Attention-based decoder-only sequence transduction neural networks

Also Published As

Publication number Publication date
CN117121014A (zh) 2023-11-24
US20220367052A1 (en) 2022-11-17
EP4298555A1 (en) 2024-01-03
WO2022241320A1 (en) 2022-11-17

Similar Documents

Publication Publication Date Title
CN111602148B (zh) 正则化神经网络架构搜索
EP3596663B1 (en) Neural network system
WO2019084551A1 (en) NEURAL NETWORKS OF SEQUENCE TRANSDUCTION ONLY OF DECODER BASED ON ATTENTION
US20240127058A1 (en) Training neural networks using priority queues
US20230049747A1 (en) Training machine learning models using teacher annealing
US20200410365A1 (en) Unsupervised neural network training using learned optimizers
JP7502469B2 (ja) スパースアテンションメカニズムを備えたアテンションニューラルネットワーク
EP3884426B1 (en) Action classification in video clips using attention-based neural networks
US20210248473A1 (en) Attention neural networks with linear units
US20230107409A1 (en) Ensembling mixture-of-experts neural networks
EP3602417A1 (en) Selecting answer spans from electronic documents using machine learning
US20220383119A1 (en) Granular neural network architecture search over low-level primitives
US11481609B2 (en) Computationally efficient expressive output layers for neural networks
US20220108149A1 (en) Neural networks with pre-normalized layers or regularization normalization layers
US20240005131A1 (en) Attention neural networks with tree attention mechanisms
WO2021159099A9 (en) Searching for normalization-activation layer architectures
WO2023192674A1 (en) Attention neural networks with parallel attention and feed-forward layers
US20220108174A1 (en) Training neural networks using auxiliary task update decomposition
CN114492758A (zh) 使用逐层损失来训练神经网络
US20220367052A1 (en) Neural networks with feedforward spatial transformation units
US20240078379A1 (en) Attention neural networks with n-grammer layers
WO2024138177A1 (en) Recurrent interface networks
CN117892733A (zh) 基于联合多语义信息的文本匹配方法和系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231110

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231110