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

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

▶ アプライド ブレイン リサーチ インコーポレイテッドの特許一覧

特表2024-535897人工ニューラルネットワークにおける2次関数未満の複雑度を持つ陰的注意のための方法およびシステム
<>
  • 特表-人工ニューラルネットワークにおける2次関数未満の複雑度を持つ陰的注意のための方法およびシステム 図1
  • 特表-人工ニューラルネットワークにおける2次関数未満の複雑度を持つ陰的注意のための方法およびシステム 図2
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-02
(54)【発明の名称】人工ニューラルネットワークにおける2次関数未満の複雑度を持つ陰的注意のための方法およびシステム
(51)【国際特許分類】
   G06N 3/045 20230101AFI20240925BHJP
   G06N 3/044 20230101ALI20240925BHJP
   G06N 3/0464 20230101ALI20240925BHJP
【FI】
G06N3/045
G06N3/044
G06N3/0464
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024518239
(86)(22)【出願日】2022-09-20
(85)【翻訳文提出日】2024-05-20
(86)【国際出願番号】 CA2022051395
(87)【国際公開番号】W WO2023039681
(87)【国際公開日】2023-03-23
(31)【優先権主張番号】63/246,174
(32)【優先日】2021-09-20
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 令和3年10月5日にウェブサイトのアドレスhttps://arxiv.org/abs/2110.02402にて発表
(71)【出願人】
【識別番号】521389789
【氏名又は名称】アプライド ブレイン リサーチ インコーポレイテッド
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】チルクリ、ナルシンハ
(72)【発明者】
【氏名】ハンスバーガー、エリック
(72)【発明者】
【氏名】フェルカー、アーロン
(72)【発明者】
【氏名】エリアスミス、クリストファー デイビッド
(57)【要約】
人工ニューラルネットワークにおいて、2次関数未満の複雑度を有しているペアワイズシーケンス注意スコアを陰的に計算する方法およびシステムに関する。具体的には、入力シーケンスの各工程(ステップ)におけるニューラルネットワークの出力について、これらの工程を跨ぐのではなく、ペアワイズ注意スコアを計算する「陰的注意」メカニズムを開示する。陰的注意メカニズムは、所与のシーケンス工程に対してニューラルネットワーク層によって生成済みの出力ベクトルを取り出すとともに、このベクトルを行列に再整形するように動作する。行列の行同士および列同士の間のペアワイズ類似度に基づきこの行列を変換する。結果、少なくとも1つの分類、回帰、またはデータ生成、のタスクを実行するべく関連する、入力シーケンスに存在する全てのシーケンシャル依存関係の圧縮済みの要約を格納する出力ベクトルを生成する。
【特許請求の範囲】
【請求項1】
人工ニューラルネットワークモデルにおけるシーケンス処理のためのコンピュータ実装方法としての方法であって、前記方法は、
a.少なくとも1つの前処理層を定義する工程であって、少なくとも1つの前処理層は、ベクトル同士の入力シーケンスを受信することで、各入力ベクトルについて3つの出力ベクトルを生成するとともに、各々の前記出力ベクトルを出力行列に再整形しており、前記出力行列について一方の次元は前記入力シーケンス内の空間情報に対応しているとともに、他方の次元は前記入力シーケンス内の時間情報に対応しており、前記前処理層は、
a-i.非線形リカレントニューラルネットワーク(RNN)、または非線形RNNのスタック、と、
a-ii.線形回帰変換が固定済みである、線形RNNまたは線形RNNのスタックと、
a-iii.固定済みのまたは学習済みの重みを畳み込み演算が備えている、畳み込み層と、または
a-iv.フーリエ領域における前記入力ベクトルを伴いつつ線形システムのインパルス応答を使用することによって、前記線形システムを実装している畳み込み層と、
のうちの少なくとも1つにおいて実装している、少なくとも1つの前処理層を定義する前記工程と、
b.少なくとも1つの陰的注意層を定義する工程であって、少なくとも1つの前記陰的注意層は、
b-i.元の前記入力シーケンスからの時間情報を表す前記出力行列同士内の行ベクトル同士間のまたは列ベクトル同士間の依存関係をモデル化する注意スコアを計算するべく、最初の2つの前記出力行列内の行同士の全てのペア同士間の内積を取る工程と、および
b-ii.前記入力シーケンス内の全ての以前アイテムの圧縮済みの要約を記憶する最終出力ベクトルを計算するべく、得られた前記注意スコアに第3出力行列を乗算する工程と、
によって、少なくとも1つの前記前処理層の3つの前記出力行列へと再整形済みの3つの前記出力ベクトルを処理する、少なくとも1つの前記陰的注意層を定義する前記工程と、および
c.パターン分類、信号処理、データ表現、およびデータ生成、からなる群から選択される少なくとも1つのタスクを実行するべく、前記入力ベクトルのシーケンスを少なくとも1つの前記最終出力ベクトル上にマッピングするように人工ニューラルネットワークを使用することによって、得られた前記人工ニューラルネットワークを動作させる工程と、
を備えている、方法。
【請求項2】
工程a-iiの前記線形回帰変換は、ランダムに初期化される、
請求項1に記載の方法。
【請求項3】
工程a-iiにおける前記線形回帰変換は、離散または連続ルジャンドル変換、フーリエ変換、アダマール変換、ハール変換、ラプラス変換、コサイン変換、フーリエスティールツ変換、ゲルファン変換、またはハーレー変換、のセットから選択される、
請求項1に記載の方法。
【請求項4】
工程aおよび工程bにおけるいずれかの工程の後に、非線形性が続いている、
請求項1に記載の方法。
【請求項5】
前記方法はさらに、1つまたは複数の中間層をスキップしつつ、ニューラルネットワークアクティビティを、1つのネットワーク層から別の下流ネットワーク層に渡す1つまたは複数のスキップ接続を備えている、
請求項1に記載の方法。
【請求項6】
単一の前記出力行列は、前記前処理層によって生成されており、
前記出力行列の3つのコピーは、前記陰的注意層への入力として提供される前に、線形変換または非線形変換される、
請求項1に記載の方法。
【請求項7】
ベクトル同士の前記入力シーケンスの3つのコピーは、前記前処理層への入力として提供される、
請求項1に記載の方法。
【請求項8】
3つの前記出力行列の各々を作成するべく、別個の前処理層が使用される、
請求項1に記載の方法。
【請求項9】
ベクトル同士の前記入力シーケンスは、前記前処理層への入力として提供される前に、3つの独立した線形または非線形変換を通される、
請求項1に記載の方法。
【請求項10】
前記前処理層の前記出力行列同士のうちの第1出力行列は、長さが「1」の時間次元を有している、
請求項1に記載の方法。
【請求項11】
ニューラルネットワークにおけるパターン分類、信号処理、データ表現、またはデータ生成、のためのシステムであって、前記システムは、
a.少なくとも1つの前処理層であって、少なくとも1つの前記前処理層は、ベクトル同士の入力シーケンスを受信することで、各入力ベクトルについて3つの出力ベクトルを生成するとともに、各々の前記出力ベクトルを出力行列に再整形しており、前記出力行列について一方の次元は前記入力シーケンス内の空間情報に対応しているとともに、他方の次元は前記入力シーケンス内の時間情報に対応おり、前記前処理層は、
a-i.非線形リカレントニューラルネットワーク(RNN)、または非線形RNNのスタック、と、
a-ii.線形回帰変換が固定済みである、線形RNNまたは線形RNNのスタックと、
a-iii.固定済みのまたは学習済みの重みを畳み込み演算が備えている、畳み込み層と、または
a-iv.フーリエ領域における前記入力ベクトルを伴いつつ線形システムのインパルス応答を使用することによって、前記線形システムを実装する畳み込み層と、
のうちの少なくとも1つにおいて実装している、少なくとも1つの前記前処理層と、
b.少なくとも1つの陰的注意層であって、少なくとも1つの前記陰的注意層は、
b-i.元の前記入力シーケンスからの時間情報を表す前記出力行列同士内の行ベクトル同士間のまたは列ベクトル同士間の依存関係をモデル化する注意スコアを計算するべく、最初の2つの前記出力行列内の行同士の全てのペア同士間の内積を取る工程と、および
b-ii.前記入力シーケンス内の全ての以前アイテムの圧縮済みの要約を記憶する最終出力ベクトルを計算するべく、得られた前記注意スコアに第3出力行列を乗算する工程と、
によって、少なくとも1つの前記前処理層の3つの前記出力行列へと再整形済みの3つの前記出力ベクトルを処理する、少なくとも1つの前記陰的注意層と、
を備えており、
前記システムは、パターン分類、信号処理、データ表現、およびデータ生成、からなる群から選択される少なくとも1つのタスクを実行するべく、前記入力ベクトルのシーケンスを少なくとも1つの前記最終出力ベクトルにマッピングするように前記ニューラルネットワークを動作させる、
システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、人工ニューラルネットワークによるシーケンシャルデータ処理の分野に関している。本発明は一層具体的には、データ処理タスクのコンテキストにおいて互いに異なるシーケンス要素同士間の依存関係(ディペンデンシィ、依存性、依存度)をモデル化する目的で、ペアワイズシーケンス注意スコアを陰的(インプリシット、暗黙的)に計算することによって、これらのネットワークの局所的シーケンス処理能力および効率を改善することに関する。
【背景技術】
【0002】
機械学習における最近の最も重要な進歩の1つは、大規模な人工ニューラルネットワークにおける「自己注意」(セルフアテンション、自己注目)メカニズムの使用を備えている。これらのメカニズムは、広範囲の逐次(シーケンシャル)データ処理タスクにおいてニューラルネットワークモデルの性能(パフォーマンス)を劇的に向上させることが示されているので、自然言語処理、自動音声認識、および画像生成、の領域で広く使用されている。入力ベクトル同士のシーケンスが与えられると、自己注意メカニズムは、全てのシーケンス位置について、他の全てのシーケンス位置の入力ベクトル同士の加重平均を、これらのベクトル同士間の類似度スコア(すなわち内積)に比例する重みで計算する。入力シーケンス内のベクトル同士間の全てのペアワイズ相互作用を計算することによって、自己注意を持つニューラルネットワークは、このシーケンス内のアイテム同士間の複雑な依存関係を学習することができる。したがって、さまざまな回帰、分類、およびデータ生成、のタスクで改善済みのパフォーマンスを提供する。
【0003】
自己注意(セルフアテンション)の最も一般的な実装は、「トランスフォーマ」(transformer)ニューラルネットワークモデルに見られる。トランスフォーマは、自己注意ブロックの複数の層を積み重ねることで、以下のネットワークモジュールを作成する。つまり当該ネットワークモジュールは、入力を潜在表現(ラテントリプリゼンテーション)にエンコードするとともに、これらの潜在表現をデコードすることで様々なデータ処理タスクを実行するためのものである。トランスフォーマは通常、回帰(リカレント、再帰)的に接続済みの層同士を含まないので、実行される計算は完全に並列に実行することができるとともに、GPU(グラフィックスプロセッシングユニット)などのハードウェアアクセラレータにおける展開が可能にされている。GPUベースのアクセラレーションを使用することによって、非常に大規模なデータセットにおけるトランスフォーマの学習(トレーニング、訓練)が可能になるので、特に言語モデリングタスクのパフォーマンス(性能)が質的にも量的にも飛躍的に向上した。
【0004】
トランスフォーマ型ニューラルネットワークの1つの欠点は、注意スコアの計算が、ネットワークの入力シーケンスの長さに対して、2次関数的(クオドラティック)にスケールすることである。実際には、この2次関数スケーリングによって、トランスフォーマが処理できるシーケンスの長さは制限されている。典型的な最大値は、1000(千)シーケンス要素のオーダーである。もう1つの欠点は、純粋な注意ベースネットワークが、長い範囲(ロングレンジ)の依存関係を捕捉するには効果的である一方、比較的短い時間スケールで動作するデータ依存関係を備えているいくつかの問題領域(例えば、音声認識)では、最適な性能を示すとは言えない(最適とは言えない性能を示す)ことである。全体として、人工ニューラルネットワークにおける自己注意メカニズムの使用を利用および改善するための努力によって、先行技術においてシーケンシャルデータを処理するための多くのシステムが定義されている。よって、以下の文献および特許は、それらの支持教示のために提供されており、全て参照によって組み込まれる。非特許文献1は、自己注意メカニズムの基本設計を開示しているとともに、自己注意メカニズムが、自動言語翻訳タスクのコンテキストにおいて、一層伝統的なリカレントニューラルネットワークモデルよりも優れていることの実験的証拠を提供する。
【0005】
別の先行技術文献である非特許文献2は、トランスフォーマモデルで使用するためのマスクベースの訓練方法を開示している。この文献は、この訓練方法がセンチメント分析、意味(セマンティック)類似度評価、推論分類(インフェレンスクラシフィケーション)、などの自然言語処理タスクにおいて極めて高い性能をもたらすことを実証している。BERTスタイルのモデルは、現在、ほとんどの分類ベースの言語処理タスクのデファクトスタンダードである。ERTスタイルに関連するモデルは、例えば、画像分類やタンパク質構造予測を含んでいる、他の問題領域で最先端の結果を達成するべく開発されている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Ashish Vaswani,外7名,“Attention Is All You Need”, [online], 平成29年12月6日,31st Conference on Neural Information Processing Systems (NeurIPS)(2017),[令和6年3月29日検索],インターネット<https://arxiv.org/pdf/1706.03762.pdf>
【非特許文献2】Devlin, Jacob,外3名,“BERT: Pre-training Deep Bidirectional Transformers for Language Understanding”, [online],平成30年5月24日,NeurIPS (2018),[令和6年3月29日検索],インターネット<https://arxiv.org/pdf/1810.04805v2.pdf>
【非特許文献3】Brown, Tom,外30名,“Language Models are Few-Shot Learners”, [online],令和2年7月22日,Arxiv (2020),[令和6年3月29日検索],インターネット<https://arxiv.org/pdf/2005.14165.pdf>
【非特許文献4】Chilkuri, Narsimba,外1名,“Parallelizing Legendre Memory Unit Training”,[online],令和3年5月10日,ICLR (2021),[令和6年3月29日検索],インターネット<https://arxiv.org/pdf/2102.11417.pdf>
【非特許文献5】Voelker, Aaron,外2名,“Legendre Memory Units: Continuous Time Representation in Recurrent Neural Networks”,[online],平成31年,NeurIPS (2019),[令和6年3月29日検索],インターネット<https://proceedings.neurips.cc/paper/2019/file/952285b9b7e7a1be5aa7849f32ffff05-Paper.pdf>
【非特許文献6】Kaplan, Jared,外9名,“Scaling Laws for Neural Language Models”,[online],令和2年6月23日,ArXiv (2020),[令和6年3月29日検索],インターネット<https://arxiv.org/pdf/2001.08361.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0007】
さらなる先行技術文献である非特許文献3は、短いテキストプロンプトに応答して極めて高品質の自然言語出力を生成することを可能にする、トランスフォーマモデルとで共に使用するための自己回帰学習法を開示している。この学習方法は、自己注意メカニズムのアーキテクチャ設計に従って並列化することができるので、数百ギガバイトオーダーの巨大なデータセットに適用することができることによって、言語生成品質の大幅な向上につながる。しかし、前述の文献や多くの類似文献に記載されている手法やシステムは、いずれも、与えられたシステムの入力シーケンスの長さに対して、計算量とメモリ使用量との点で2次関数(クオドラティック)スケーリングの制約を受ける。一層具体的には、既存の最先端技術では、2次関数未満の計算複雑度(サブ_クオドラティックコンプレキシティ)を達成しながら、高品質なモデル性能を維持する自己注意メカニズムを構築する方法はほとんど提供されていない。
【課題を解決するための手段】
【0008】
本出願は、人工ニューラルネットワークにおいて2次関数未満の複雑度(サブ_クオドラティックコンプレキシティ)でペアワイズシーケンス注意スコアを陰的(インプリシット、暗黙的)に計算するための方法およびシステムを定義することによって、これらの懸念および欠点に対処する。一層具体的には、本出願は、入力シーケンスの工程(ステップ)同士に亘るのではなく、入力シーケンスの各工程において、ニューラルネットワークの出力上のペアワイズ注意スコアを計算する「陰的注意」(インプリシットアテンション、暗黙的注意)メカニズムを開示する。このように工程ごと(ステップバイステップ)に局所的(ローカル)に注意スコアを計算するべく、陰的注意メカニズムは、各時間工程(タイムステップ)における出力同士が空間軸と時間軸とを持つ1つの2次元行列内へ分離されることができるといった出力を有するニューラルネットワーク層とで同時(タンデム)に使用される。そして、行列の時間軸に対応する行ベクトル同士を使うことで、空間軸に対するペアワイズ注意スコアが計算される。それによって、これらの行ベクトル同士を加重平均した新しい空間表現セットが作られる。これらの空間表現は、所定の時間工程(タイムステップ)のニューラルネットワークへの入力とで同じ次元に投影されることで、n個のd次元入力ベクトル列からn個のd次元出力ベクトル列へのきれいな変換(クリーントランスフォーメーション)を提供する。線形リカレント層と畳み込み層とを使用することで、各時間工程で空間軸と時間軸を持つ行列を生成するさまざまなニューラルネットワークモデルでは、これらのモデルの全体的な計算複雑度は、2次関数ではなく、線形または対数線形である。この計算の複雑度(複雑さ、複雑性)によって、様々な自動言語処理タスクおよび音声認識タスクにおいて、学習効率とモデル性能とは大幅に向上する。
【0009】
人工ニューラルネットワークに自己注意メカニズムを実装するための既知の方法に内在する前述の限界に鑑みて、本発明は、人工ニューラルネットワークにおいて2次関数未満の複雑度(サブ_クオドラティックコンプレキシティ)を有しているペアワイズシーケンス注意スコアを陰的に計算するための方法およびシステムを提供する。これらの方法およびシステムは、シーケンス内の全てのベクトルに対して、入力シーケンス内の情報の空間成分および時間成分に対応する軸同士を有している行列を出力として生成するように、入力ベクトルのシーケンスを処理するニューラルネットワーク層の使用を備えている。注意スコアはこの行列の時間的成分にわたって計算されるので、それによって入力シーケンスの元の項目(アイテム)に対する陰的バージョンの注意が実行される。この注意メカニズムが陰的である理由は、注意スコアが、(標準的な注意メカニズムの場合のような)シーケンスのアイテム(項目)同士のそれら自体に対してではなく、このシーケンスの履歴の局所的表現に対して計算されるからである。この陰的注意メカニズムの出力は、少なくとも1つの回帰、分類、またはデータ生成、のタスクを実行する目的で後続のニューラルネットワーク層に渡される前に、入力ベクトルの次元に投影される。最も重要なことは、全ての注意スコアが入力シーケンスの各工程について局所的に計算されるので、全てのシーケンス工程にわたるペアワイズ計算が実行されないとともに、それによって2次(クオドラティック)計算複雑度の必要性が回避されることである。このように、以下によって詳細に説明する本発明の一般的な目的は、人工ニューラルネットワークにおいて、2次関数未満の複雑度でペアワイズシーケンス注意スコアを陰的に計算するための方法およびシステムを提供することである。
【0010】
本発明の主な態様は、人工ニューラルネットワークにおいて、2次関数未満の複雑度を有しているペアワイズシーケンス注意スコアを陰的に計算するための方法およびシステムを定義することである。この方法は、以下の少なくとも1つの前処理層を定義することを備えている。すなわち当該前処理層は、入力ベクトル同士のシーケンスを取り込む(テイクイン)ことで、各入力ベクトルについて以下の出力ベクトルを生成する。すなわち当該出力ベクトルは、一方の次元が空間情報に対応している一方で、他方の次元が時間情報に対応している、といった行列に再整形(リシェイプ、再形成)される。この前処理層は、線形リカレントニューラルネットワーク、非線形リカレントニューラルネットワーク、または畳み込みニューラルネットワーク、のいずれかを実装する。この方法はさらに、以下の少なくとも1つの「陰的注意」層を定義することからなる。すなわち当該「陰的注意」層は、少なくとも1つの前処理層の出力行列を、以下のように処理する。すなわちこの出力行列の2つ(または3つ)のコピーが作成される。そして、各コピーに右側で2つの学習行列を乗算することで、2つの中間行列が生成される。次いで、これらの中間行列を一緒に乗算することで、以下の正方行列が形成される。すなわち当該正方行列の要素同士は、中間行列の全ての行同士間のペアワイズ類似度を表す。これらのペアワイズ類似度は、次に、新しい行列の行同士を決定するべく基底(ベーシス)上の重みを提供することによって、当該新しい出力行列を作成するべく使用される。当該新しい行列は、最終的な出力ベクトルを提供するべく、ゼロまたはゼロよりも多くの追加のニューラルネットワーク層に渡される。最後に、本方法は、少なくとも1つのパターン分類、信号処理、データ表現(データレプリゼンテーション)、またはデータ生成、のタスクを実行するべく、いくつかの入力ベクトルをいくつかの出力ベクトルにマッピング(写像)することによって、結果として得られる人工ニューラルネットワークを動作させることを開示する。
【0011】
この点に関して、本発明の少なくとも1つの実施形態を詳細に説明する前に、本発明は、その適用において、以下の説明に記載されており、または図面に図示された構成の詳細および構成要素の配置に限定されないことを理解されたい。本発明は、他の実施形態が可能にされており、様々な方法で実施および実施されることが可能にされている。また、本明細書で使用される言い回しや用語は、説明のためのものであり、限定的なものとみなされるべきではないことを理解されたい。
【0012】
これらは、本発明の他の目的とで共に、本発明を特徴付ける新規性の様々な特徴とで共に、本開示において特に指摘されている。本発明、その動作上の利点、およびその使用によって達成される特定の目的の一層良い理解のためには、本発明の好ましい実施形態が図示されている添付の図面および説明事項を参照すべきである。
【0013】
本発明は、以下の詳細な説明を考慮することによって、一層良く理解されており、上記以外の目的も明らかになるであろう。かかる説明は、添付図面を参照する。
【図面の簡単な説明】
【0014】
図1】開示された陰的注意メカニズムを実装する、人工ニューラルネットワークモデルアーキテクチャの説明図。
図2】開示された陰的注意メカニズムを使用した場合に観察(オブザーブ)される、ニューラルネットワークモデル性能の改善を示す図。
【発明を実施するための形態】
【0015】
以下の詳細な説明では、本明細書の一部を構成する添付図面を参照しており、この図面には、本発明を実施することができる特定の実施形態が例示として示されている。これらの実施形態は、当業者が本発明を実施できるように十分に詳細に説明されており、実施形態を組合せて他の実施形態を利用して本発明の精神および範囲から逸脱することなく構造的および論理的な変更を加えてもよいことが理解される。従って、以下の詳細な説明は、限定的な意味で捉えられるものではなく、本発明の範囲は、添付の特許請求の範囲およびその均等物によって定義される。
【0016】
添付図面を参照して本発明を簡単に説明する。ここで、本発明の非限定的な実施形態を説明する目的で、例示的な図面を一層詳細に参照する。
本明細書で使用される場合、「comprising」という用語および「comprises」、「comprise」を備えているその派生語は、記載された各整数または要素を備えているが、1つまたは複数のさらなる整数または要素を備えていることを排除しない。
【0017】
本明細書で使用される場合、単数形「a」、「an」、および「the」、は文脈が明確に指示しない限り、複数の参照語を備えている。例えば、「ある装置」への言及は、単一の装置だけでなく、2つ以上の装置なども包含する。
【0018】
本明細書で使用される場合、「例えば」、「同様に」、「のような」、または「を備えている」、という用語は一層一般的な主題をさらに明確にする例を導入することを意味する。別段の指定がない限り、これらの例は、本開示において例示される用途を理解するための補助としてのみ提供されているので、いかなる態様においても限定することを意図するものではない。
【0019】
本明細書で使用される場合、用語「かもしれない」、「できる」、「可能性がある」、または「かもしれなかった」、はその特定の構成要素または特徴が含まれること、またはその特徴を有していることを必要としない。
【0020】
以下、例示的な実施形態が示されている添付の図面を参照して、例示的な実施形態を一層詳細に説明する。これらの例示的な実施形態は、例示目的のためにのみ提供されており、本開示が徹底的かつ完全なものとなり、当業者に本発明の範囲を十分に伝えることができるようにする。しかしながら、開示された本発明は、多くの異なる形態で具体化され得、本明細書に記載された実施形態に限定されると解釈されるべきではない。
【0021】
様々な修正は、当業者には容易に明らかであろう。本明細書で定義される一般原理は、本発明の精神および範囲から逸脱することなく、他の実施形態および用途に適用することができる。さらに、本発明の実施形態を説明する本明細書の全ての記述、およびその具体例は、その構造的および機能的等価物の両方を包含することを意図する。さらに、このような等価物には、現在知られている等価物だけでなく、将来開発される等価物(すなわち、構造に関係なく、同じ機能を果たす任意の要素が開発される)の両方が含まれることが意図されている。また、使用されている用語および言い回しは、例示的な実施形態を説明するためのものであり、限定的であると考えられるべきではない。したがって、本発明は、開示された原理および特徴に一致する多数の代替物、修正物、および等価物を包含する最も広い範囲が与えられる。明確にするべく、本発明に関連する技術分野で公知である技術的材料に関する詳細は、本発明を不必要に不明瞭にしないように、詳細には記載されていない。
【0022】
したがって、例えば、図、概略図、イラスト、などは本発明を具体化するシステムおよび方法を例示する概念図または処理を表すことが、当業者には理解されるであろう。図に示された様々な要素の機能は、関連するソフトウェアを実行可能なハードウェアとで同様に、専用のハードウェアの使用を通じて提供され得る。同様に、図に示したスイッチは概念的なものである。それらの機能は、プログラムロジックの動作を通じて、専用ロジックを通じて、プログラム制御と専用ロジックの相互作用を通じて、あるいは手動で実行されて特定の技術は、本発明を実施するエンティティによって選択可能にされている。当業者であればさらに、本明細書で説明する例示的なハードウェア、ソフトウェア、処理、方法、および/またはオペレーティングシステム、は説明のためのものであり、したがって、特定の名称の要素に限定されることを意図するものではないことを理解する。
【0023】
添付の特許請求の範囲の各々は、別個の発明を定義しており、侵害の目的上、特許請求の範囲に指定された様々な要素または制限に対する等価物を備えていると認識される。文脈によっては、「本発明」に対する以下の全ての言及は、場合によっては特定の特定の実施形態のみを指すことがある。他の場合、「本発明」への言及は、特許請求の範囲の1つまたは複数(必ずしも全てではない)に記載された主題を指すことが認識される。
【0024】
本明細書に記載される全ての方法は、本明細書において特に示されない限り、または文脈によって明らかに矛盾しない限り、任意の適切な順序で実行され得る。本明細書における特定の実施形態に関して提供されるあらゆる例、または例示的な文言(例えば、「~のような」)の使用は、単に本発明を一層良く照明することを意図したものであり、その他の請求される発明の範囲に制限をもたらすものではない。本明細書中のいかなる文言も、本発明の実施に不可欠な非請求要素を示すものとして解釈されるべきではない。
【0025】
本明細書で使用される様々な用語を以下に示す。クレームで使用される用語が以下に定義されていない範囲では、出願時の印刷刊行物および発行済み特許に反映されているように、関連技術分野の人がその用語に与えている最も広い定義が与えられるべきである。
【0026】
本明細書に開示された本発明の代替要素または実施形態のグループ分けは、限定として解釈されるものではない。各グループのメンバーは、個々に、またはグループの他のメンバーもしくは本明細書で見出される他の要素との任意の組合せで参照されており、特許請求され得る。グループの1つまたは複数のメンバーは、利便性および/または特許性の理由から、グループに含めることも、グループから削除することもできる。このような包含または削除が行なわれた場合、本明細書は、添付の特許請求の範囲において使用される全てのグループの記述を満たすように変更済みのグループを備えているものとみなされる。
【0027】
説明の簡略化および明瞭化のために、本明細書に記載される例示的な実施形態の徹底的な理解を提供するべく、多数の具体的な詳細が記載される。しかしながら、本明細書に記載される実施形態は、これらの具体的な詳細がなくても実施され得ることが、当業者には理解されるであろう。他の例では、周知の方法、手順、および構成要素、は本明細書に一般的に記載される実施形態を不明瞭にしないように、詳細には記載されていない。
【0028】
さらに、本明細書は、本明細書に記載される実施形態の範囲を何ら限定するものとみなされるものではなく、むしろ、記載されるような様々な実施形態の実装を単に説明するものとみなされる。
【0029】
本明細書で説明する人工ニューラルネットワークの実施形態は、構成可能ハードウェア(すなわち、FPGA)またはカスタムハードウェア(すなわち、ASIC)か、または少なくとも1つのインタフェースを有している両方の組合せか、で実装され得る。入力信号は、本明細書で説明する機能を実行するとともに出力信号を生成するべく、デジタル回路によって消費される。出力信号は、既知の方法で、1つまたは複数の隣接または周囲のシステムまたは装置に提供される。
【0030】
本明細書で使用する場合、人工ニューラルネットワークの文脈における「ノード」という用語は、スパイキングニューロンか、連続レートニューロンか、または、分散システムを構成するべく使用される任意の線形または非線形構成要素か、であってもよいようなシミュレート済みの「ニューロン」の機能を実装する基本処理要素を指す。
【0031】
説明したシステムは、適応構成要素または非適応構成要素を使用することで実装することができる。本システムは、以下に本明細書で一層詳細に説明するように、システムの特定の態様を実装するべく、個々の出力同士を一緒に組合せることができる多数の非線形構成要素を備えている多種多様な分散システム上で効率的に実装することができる。
【0032】
本発明の主な実施形態は、人工ニューラルネットワークにおいて2次関数未満の複雑度(サブ_クオドラティックコンプレキシティ)でペアワイズシーケンス注意スコアを陰的に計算するための一連の方法およびシステムである。この方法は、入力ベクトルのシーケンスを取り込む以下の少なくとも1つの前処理層を定義する工程を備えている。ここで前処理層は、各入力ベクトルについて、一方の次元が空間情報に対応しているとともに他方の次元が時間情報に対応するといった行列に再整形されるような出力ベクトルを生成する。この前処理層は、線形リカレントニューラルネットワーク、非線形リカレントニューラルネットワーク、または畳み込みニューラルネットワーク、のいずれかを実装する。この方法はさらに、少なくとも1つの前処理層の出力行列を処理する少なくとも1つの「陰的注意」層を定義する工程を備えている。すなわちこの「陰的注意」層は、この出力行列の2つ(または3つ)のコピーを作成するとともに、各コピーに右側で2つの学習済行列を乗算することで、2つの中間行列を生成する。これらの中間行列同士は一緒に乗算されることで、以下の正方行列を形成する。この正方行列の各要素は、中間行列の全ての行(ロー)同士間のペアワイズ類似度(シミラリティ、類似性)を表す。これらのペアワイズ類似度は、次に、新しい行列の行を決定するべく基底(ベーシス)上の重みを提供することによって、当該新しい出力行列を作成するべく使用される。この新しい出力行列は、最終出力ベクトルを提供するべく、ゼロまたはゼロよりも多くの追加ニューラルネットワーク層に渡される。最後に本方法は、以下を実行するべく、結果として得られる人工ニューラルネットワークを動作させることを開示する。すなわち実行は、いくつかの入力ベクトルをいくつかの出力ベクトルにマッピング(写像)することによって、少なくとも1つのパターン分類、信号処理、データ表現、またはデータ生成、のタスクを実行する。
【0033】
ここで「注意メカニズム」という用語は以下のニューラルネットワークモジュールを指している。このニューラルネットワークモジュールは、n個のd次元入力ベクトル(すなわち、n×dの行列)のシーケンス(列)を取り込むとともに、それらを「クエリ」行列および「キー」行列によって乗算する。これらの行列乗算の出力同士は、入力シーケンス内の各ベクトル同士間のペアワイズ類似度をスコア化するn×nの「注意」行列を生成するべく、行列乗算の出力同士自体が乗算される。注意行列は次にn×dの「値」(バリュー)行列に掛け合わされることで、n個のd次元出力ベクトルのシーケンス(列)を生成する。「自己注意」(セルフアテンション)という用語は、今述べたように、1つ(シングル、単一)の入力シーケンスのアイテム同士間のペアワイズ注意スコアを計算する注意メカニズムを指す。他の注意メカニズムは、別々のシーケンス同士から引き出し済みのアイテムのペア同士間の注意スコアを計算する。
【0034】
ここにおける「陰的注意」(インプリシットアテンション)という用語は、入力ベクトルのシーケンス内の各アイテムを使用することでニューラルネットワーク層によって生成される行列の行同士または列同士にわたってペアワイズ類似度スコアを計算する注意メカニズムを指す。よって陰的注意は、ニューラルネットワークの入力シーケンスの全工程に対応するグローバル行列ではなく、入力シーケンス内の1つ(シングル、単一)の工程に対応するローカル行列に対して動作(オペレート、作用)する。一般に、これらのローカル(局所的)な行列変換の結果を低次元に維持するべく、線形投影(リニアプロジェクション)が使用される。よって、標準的な自己注意とで比較して、陰的注意の全体的な計算複雑度が低減される。
【0035】
ここにおける「多頭自己注意」(マルチヘッディッドセルフアテンション)という用語は、n個のd次元入力ベクトルの単一の行列を使用することで、複数の「キー」、「クエリ」、および「値」(バリュー)、のパラメータ行列の出力同士を並行して計算する自己注意メカニズムを指す。これらのキー行列、クエリ行列、および値行列、の各トリプレットは、入力シーケンスのアイテム同士間の依存関係の異なるセットをモデル化するように学習する「注意ヘッド」を定義する。注意メカニズムを持つニューラルネットワークモデルに複数の注意ヘッドを追加すると、それに応じて表現力が増すので、入力データのシーケンス同士とターゲット出力値同士との間の一層複雑なマッピング(写像)を学習する能力が高まる。
【0036】
ここで「リカレント接続」という用語は、所定のネットワーク層の1つまたは複数のノードの出力を、同じ層の1つまたは複数のノードに入力として戻す、重み付け済みの接続のセットを指す。「リカレント接続人工ニューラルネットワーク」という用語は、1つまたは複数のリカレント接続を持つニューラルネットワークを指す。リカレント接続は通常、一連の入力(入力同士のシーケンス)から層の出力値を計算する際に逐次的(シーケンシャル)なボトルネックをもたらす。なぜなら、シーケンス内の所与の点(ポイント)における活性化値は、シーケンス内の全ての前の工程(ステップ)について計算済みの値に依存するからである。この逐次的なボトルネックを緩和することは、GPUのような特殊なハードウェアデバイスを十分に活用するべく必要である。GPUは、比較的単純な多数の処理要素にわたってニューラルネットワークの計算を並列化することによって、ニューラルネットワークの計算を高速化する。
【0037】
ここで「活性化関数」という用語は、人工ニューラルネットワークにおいて出力値を生成するべく、或る入力値に線形または非線形変換を適用するための、任意の方法またはアルゴリズムを指す。活性化関数の例としては、恒等(アイデンティティ)関数、ReLU関数、リーキーReLU関数、閾値ReLU関数、パラメトリックReLU関数、シグモイド関数、tanh関数、ソフトマックス関数、ログソフトマックス関数、マックスプール関数、多項式関数、サイン関数、ガンマ関数、ソフトサイン関数、ヘビーサイド関数、スイッシュ関数、指数線形関数、スケーリング指数線形関数、およびガウス誤差線形関数、が挙げられる。ここで「線形ネットワーク層」という用語は、恒等関数などの線形活性化関数を使用することで出力値を計算するような、人工ニューラルネットワーク内の任意の層を指す。
【0038】
活性化関数は、任意選択で、「スパイク」(すなわち、1ビットイベント)、「多値スパイク」(すなわち、固定ビット幅または浮動ビット幅を有している多ビットイベント)、連続量(すなわち、所定のコンピューティングシステムによって決定される或るレベルの精度を有している浮動小数点値(典型的には16ビット、32ビット、または64ビット))、または複素数値(すなわち、矩形座標または極座標を表す浮動小数点数のペア)、を出力することができる。これらの前述の関数は、一般に当業者によって、各々「スパイク」、「マルチビットスパイク」、「非スパイク」、および「複素値」、のニューロンと呼ばれる。スパイクニューロンを使用する場合、実数値および複素数値は、スパイクの相対的なタイミング、スパイクの周波数、およびスパイクの位相、を備えている任意の数の符号化方式(エンコードスキーム)および復号化方式(デコードスキーム)のいずれかによって表すこともできる。しかしながら、本明細書に記載される実施形態は、これらの特定の詳細なしに実施され得ることが、当業者には理解されるであろう。
【0039】
ここで「畳み込み」(コンボリューション)という用語は、2つの関数を入力として取り込むとともに、関数同士のうちの1つを反転させた後、反転済関数のすべての可能なシフトにわたる2つの入力関数の積の積分として評価される第3関数を出力として生成する数学的演算を意味する。多くの信号処理アプリケーションでは、入力関数は時間の関数であるので、積分はそれに応じて「時間領域」で評価されるこれらの関数の積に対する積分である。また、関数同士が一層基本的な信号周波数の重み付け済みの組合せとして表現される場合、畳み込みを実行することも可能にされている。入力関数同士のこの「周波数領域」表現では、畳み込みは単純に要素ごとの積として定義される。
【0040】
ここにおける「損失(ロス)メトリック」という用語は、人工ニューラルネットワークの計算によって最小化されるスカラー出力値を指す。損失メトリックの例には、平均二乗誤差(MSE)、クロスエントロピー損失(カテゴリまたはバイナリ)、カルバックライブラー発散、余弦(コサイン)類似度、およびヒンジ損失、が含まれる。損失メトリックは、1つまたは複数の入力からメトリックを生成する損失関数を使用することで計算される。これらの入力は、外部から供給済みのデータ、人工ニューラルネットワーク内のノードによって計算済みの出力、監視(スーパーバイザリ)信号および報酬(リワード)信号、動的システムの状態、またはそれらの任意の組合せ、で構成されている。
【0041】
前述のシステムの非線形構成要素は、適応構成要素(アダプティブコンポーネント)と非適応構成要素との組合せ、を使用することで実装することができる。本明細書に記載される様々な実施形態において使用され得る非線形構成要素の例には、模擬/人工(シミュレーテッド/アーティフィシャル)ニューロン、FPGA、GPU、および他の並列コンピューティングシステム、が含まれる。システムの構成要素は、マイクロコントローラを使用する、などの様々な標準技術を用いて実装することができる。さらに非線形構成要素は、ソフトウェアシミュレーション、ハードウェア、または任意のニューロンファブリック、を備えている様々な形態で実装することができる。非線形構成要素はまた、Neurrogrid(ニューログリッド)、SpiNNaker、Loihi、TrueNorth、などのニューロモーフィックコンピューティングデバイスを使用することで実装することもできる。
【0042】
提案されるシステムおよび方法の例示的な実施形態として、図1に概略を示すニューラルネットワークモデルを考える。このネットワークは、2つの高レベルモジュールを備えて構成されている。それら2つの高レベルモジュールのうちの1つ目[101]は、入力として「d」次元のベクトルのシーケンス{x,x,・・・,x}を取り込みとともに、出力としてベクトルの別のシーケンス{y,y,・・・,y}を出力する。ここで、各々のyは、時間軸と空間軸とを持つ行列に再整形(リシェイプ、形を変える)されることができるベクトルである。ベクトルセットのうちの各ベクトルが、一方の次元は時間情報に対応しているとともに他方の次元は空間情報に対応するような行列[103]に再整形されることができる、といったベクトルセットを出力するように構成されることができる任意のニューラルネットワーク層は、この第1(1つ目、ファースト)モジュールとして使用されることができる。この第1モジュールを実装するべく使用できるニューラルネットワーク層のタイプの非網羅的なリストには、以下が含まれる。
【0043】
・非線形リカレントニューラルネットワーク(RNN):標準的な長短記憶ネットワーク(LSTM)のような非線形RNNを考える。このネットワークは、「q」個のユニットを備えているとともに、1次元のシーケンスが入力されるように構成されているとする。入力ベクトルのシーケンス{x,x,…,x}を一度に1次元ずつ、すなわち{x ,x ,…,x }をLSTMに入力すると、出力{y ,y ,…,y }が得られる。ここで、個々のベクトルは「q」個の要素を備えている。入力はd次元であるので、これらのシーケンスはd個の多数で存在することになる。したがって、各時間工程(タイムステップ)で、これらの出力のd個を積み重ねる(スタックする)ことでサイズq×dの記憶行列Mを形成すると、第1次元が空間情報を備えている一方で第2次元は時間情報を備えているという行列になる。他の非線形リカレントニューラルネットワークタイプでも、同じ手順を繰り返すことができる。さらに出力状態を計算するべく、RNNを1つだけ使用するのではなく、RNNのスタックを使用することもできる。例えば、{RNN,RNN,…,RNN}を有しているように入力の次元の数「d」だけ、RNNを使用する。入力の各次元を、互いに異なるRNNに供給する。様々なRNNからの出力同士を収集することによって、前述とで同様の方法で最終行列Mを構築することができる。
【0044】
・線形RNN:上記の場合のように線形RNNまたは線形RNNのスタックを使用することで、行列Mを得ることができる。RNN内部の重みは、ランダムに初期化されるか、離散的または連続的なルジャンドル(Legendre)変換(ルジャンドル多項式を使用した変換)、フーリエ変換、アダマール(Hadamard)変換、ハール(Haar)変換、ラプラス変換、コサイン変換、フーリエスティールツ(Fourier-Stieltjes)変換、ゲルファン(Gelfand)変換、またはハーレー(Hartley)変換、のセットから選択することができる。重みを上記の基底関数のいずれかに初期化するだけでなく、学習中にフリーズさせると、学習中に線形RNNの計算を並列化することができるので、学習の大幅な高速化につながる(非特許文献4)。図1では、例示的な実施形態の一部として、ルジャンドルメモリユニットまたはLMU[102]と呼ばれる線形リカレントニューラルネットワークが使用されている(非特許文献5)。
【0045】
・1次元畳み込み:行列Mを得るべく、1次元畳み込み層またはそれらのスタックを、入力次元に個別に適用することができる。たとえば、各畳み込み層でq個のフィルタを使用すると、RNNの場合とで同様に、各時間工程(タイムステップ)で、q×dの形状を有している行列Mを構築することができる。
【0046】
第2モジュール[104]は、第1モジュールによって入力シーケンスの各アイテムに対して生成済みの行列Mに対して、陰的(インプリシット、暗黙の)自己注意を実装する。この陰的自己注意メカニズムは、入力シーケンスの各アイテムに対して計算済みの行列に対して局所的(ローカル)に動作(演算、オペレーション)する。したがって陰的自己注意メカニズムは、入力シーケンスに対して直接動作せず、むしろ行列Mの形式で、各工程におけるこのシーケンスの履歴の圧縮済みの表現に対して動作する。バイアスベクトル、正規化層、およびスキップ接続、などのオプションのネットワーク機能を無視しつつ、陰的注意モジュールは以下の演算を同時に計算する。
【0047】
【数1】
【0048】
ここでRは、Rd×d内に存在する。σは、ゲルや恒等関数のような非線形性である可能性がある。よって、結果として得られる行列Q、行列K、行列V、は全てRq×d内に存在する。そして、時間次元をqからq′に、かつq>q′、とすることが有益であると考えられる場合、3つの行列に対して以下の演算を行なうことができる。
【0049】
【数2】
【0050】
ここでLは、Rq′×qに存在する。結果として得られる行列Q、行列K、行列V、は全てRq′×dに存在する。このような削減を行なうことで、ニューラルネットワークモデルの全体的なパラメータ効率を、大幅に改善することができる。
【0051】
次に行列Q、行列K、および行列V[105]、は以下に示すように、従来の自己注意計算に渡される。
【0052】
【数3】
【0053】
ここで注意行列Q は、q′×q′の次元である。次にd次元のベクトルを出力するべく、以下の計算が行なわれる。
【0054】
【数4】
【0055】
ここで、pはR1×q′内に存在する。mはR内に存在する。上記の工程でq′が1に設定されている場合、この工程は除外できることに留意されたい。全体として、例示的な実施形態への入力がd次元であるとともに、陰的注意の適用後の出力もd次元であることを考慮すると、基礎となるニューラルネットワークは、その入力シーケンスに対するストレートな注意ベースの変換(ストレートフォワードアテンションベーストランスフォーメーション)を計算する。この変換を使用することで、下流の回帰、分類、またはデータ生成、のタスクを実行することができる。ニューラルネットワークを最適化するための標準的なトレーニング方法も、任意の損失関数を利用しながら、これらのタスクのパフォーマンスを向上させるべく使用することができる。
【0056】
人工ニューラルネットワークにおいて2次関数未満の複雑度(サブ_クオドラティックコンプレキシティ)で陰的(インプリシット、暗黙的)にペアワイズシーケンス注意スコアを計算するための開示された方法およびシステムの使用の実証(デモンストレーション)を提供するべく、本明細書では、多数のベンチマーク実験からの結果を説明する。これらの実験は、自動回帰言語モデリングタスクを実行するべく、レジェンドルメモリユニットと陰的注意モジュールとを使用する。このモデルは、OpenWebText2(オープンウェブテキストツー)と呼ばれる一般に公開されているインターネット上のテキストデータセットで学習される。OpenWebText2は、前処理後の約80億のトークンまたは単語を備えて構成されている。言語モデリングの目標は、先行するいくつかの単語が与えられたときに、一連のテキストの次の単語を正確に予測することである。図2を参照すると、損失メトリックは、このタスクのパフォーマンス(性能)の数値尺度である(損失が小さいほどパフォーマンスが高いことを示す)。トランスフォーマベースの自然言語処理に関する文献からよく知られたスケーリング結果(非特許文献6)とで同様に、このモデルの性能は、パラメータ数の関数として、損失のベキ乗則に従う。重要なのは、標準的注意と陰的注意の両方を用いたLMU[203]モデルに対するこのベキ乗則の当てはめが、トランスフォーマ[202]モデルやLSTM[201]モデルの当てはめに比べて大幅(実質的)に下方にシフトしていることである。この大幅下方シフトは、LMUモデルが、与えられたモデルパラメータ数に対して実質的に高い精度を達成していることを示している。標準的な自己注意を備えている修正済みのLMUモデルは、全体的な精度で最良のレベルを達成する[204]。
【0057】
上記の説明は、例示を意図したものであり、制限的なものではないことを理解されたい。例えば、上述した実施形態は、互いに組合せて使用することができる。他の多くの実施形態は、上記の説明を検討すれば当業者には明らかであろう。
【0058】
本発明によって提供され得る利点および利点は、特定の実施形態に関して上述した。これらの利点および利点、ならびにそれらを生じさせ、または一層顕著にし得る要素または制限は、実施形態のいずれかまたは全ての重要な特徴、必須の特徴、または必須の特徴として解釈されるものではない。
【0059】
特定の実施形態を参照して本発明を説明したが、実施形態は例示であり、本発明の範囲はこれらの実施形態に限定されないことを理解されたい。上述した実施形態に対する多くの変形、修正、追加、および改良が可能にされている。これらの変形、修正、追加および改良は、本発明の範囲に含まれることが企図される。
図1
図2
【国際調査報告】