JP2023544996A - リカレント接続人工ニューラルネットワークにおける計算を並列化するための方法およびシステム - Google Patents

リカレント接続人工ニューラルネットワークにおける計算を並列化するための方法およびシステム Download PDF

Info

Publication number
JP2023544996A
JP2023544996A JP2023520035A JP2023520035A JP2023544996A JP 2023544996 A JP2023544996 A JP 2023544996A JP 2023520035 A JP2023520035 A JP 2023520035A JP 2023520035 A JP2023520035 A JP 2023520035A JP 2023544996 A JP2023544996 A JP 2023544996A
Authority
JP
Japan
Prior art keywords
layer
recurrent
linear
network
impulse response
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
JP2023520035A
Other languages
English (en)
Inventor
チルクリ、ナルシンハ
デイビッド エリアスミス、クリストファー
Original Assignee
アプライド ブレイン リサーチ インコーポレイテッド
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 アプライド ブレイン リサーチ インコーポレイテッド filed Critical アプライド ブレイン リサーチ インコーポレイテッド
Publication of JP2023544996A publication Critical patent/JP2023544996A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Peptides Or Proteins (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本発明は1つまたは複数のネットワーク層のリカレント接続重みの適用を、その層の入力シーケンスのすべての項目にわたって並列化することで、リカレント接続人工ニューラルネットワークの学習および推論速度を向上させる方法およびシステムに関する。より具体的には本発明は、線形時不変(LTI)力学系を実装する任意のリカレントネットワーク層に対して、この並列化を実施する方法およびシステムを規定する。並列化の方法は、まずリカレント層のインパルス応答を計算してから、次にこのインパルス応答をその層の入力シーケンスのすべての項目で畳み込むことによって、その層のすべての出力を同時に生成する工程を備えている。並列化された1つまたは複数の線形リカレント層と、1つまたは複数の非線形層と、を備えているシステムは、パターン分類、信号処理、データ表現、またはデータ生成、のタスクを実行するべく操作される。

Description

本発明は、一般に、再帰接続(リカレントに接続、回帰接続)された人工ニューラルネットワークで時間データを処理する分野に関する。より具体的には、モデル学習とモデル展開との両方の間で計算されなければならない逐次状態更新(シーケンシャルステートアップデート)を並列化(パラライズ、並行化)することによって、これらのネットワークの効率を改善することに関する。
現代の機械学習システムによって実行される標準的なタスクは、入力データの時変シーケンスから、1つまたは複数の出力予測を生成する工程を備えている。例えば、自動音声認識を行なうシステムは、或る持続時間の音声波形からサンプルのシーケンスを取り込むとともに、音声波形で話された単語に対応する離散的な出力ラベルのシーケンスを予測する。自然言語処理を行なうシステムも同様に、入力シーケンス(例えば、新聞記事の単語)を、出力ラベル(例えば、記事のトピック)に写像する。シーケンシャルなデータを処理する機械学習システムを構築するための最も一般的な手法の1つは、まずリカレント接続の重みのセットを持つ人工ニューラルネットワークを定義するとともに、次に入力シーケンスの各項目が処理されるたびにこれらの重みを繰り返し適用することでネットワークの状態を更新する。新しい入力が提示されるたびに同じリカレント重みが適用されるので、このようなネットワークは理論上、固定数のモデルパラメータを使用しつつも、無限に長いデータ列を処理することができる。実際には、リカレントニューラルネットワーク(RNN)は、時変データのモデリングに利用できる最も効果的な機械学習ツールの1つである。
機械学習における最近の最も重要な進歩の多くは、膨大な量のデータに対して大規模なモデルを学習することから生まれている。これらの進歩の重要な実現要因は、モデル学習とモデル推論とを実行するべく必要な計算を、多数の比較的単純な処理コア同士にわたって並列化することによって高速化するべく、グラフィック処理ユニット(GPU)を使用することにある。しかし、リカレントニューラルネットワークRNNは本質的に逐次的(シーケンシャル)に情報を処理するので、リカレントニューラルネットワークRNNが実行する計算を並列化しつつ、グラフィック処理ユニットGPUベースの加速を最大限に活用することは、容易ではない。リカレントニューラルネットワークRNNのこの逐次的なボトルネックを回避しながらモデルを大規模に学習する努力は、逐次的なデータを処理するための多くの新規なニューラルネットワークシステムを先行技術において定義することにつながった。そのため、以下の文書および特許は、それらの支持的な教示のために提供されており、すべてが参照によって組み込まれる。非特許文献1は、単一のグラフィック処理ユニットGPU内の複数の計算コアに分散することができる並列スキャンアルゴリズムを採用することによって、入力シーケンスに対する線形リカレントニューラルネットワークRNN計算を並列化するための方法について論じる。重要なことは、要素ごとの乗算を実装するリカレント接続に対してのみこの方法が機能するので(すなわち、当該接続の重み行列は対角でなければならないので)、学習に使用できるモデルのクラスを大幅に制限してしまうことにある。
別の従来技術文献(非特許文献2)は、リカレント接続ではなく、容易に並列化可能な畳み込み接続を使用することによって、シーケンシャルデータをスケールで処理するネットワークを学習するための方法を記述している。これらの方法は、シーケンス長に関して線形時間で実行されるネットワークを生成しているので、機械翻訳のような標準的なシーケンスモデリングタスクで強力な結果を達成する。しかしながら、これらの方法の欠点は、何らかの処理が行なわれ得る前に入力信号がバッファリングされるとともに全体が提供されることを必要とするので、完全に学習されるとストリーミングデータに容易には適用され得ないネットワークを生成してしまうことにある。このようなバッファリングは、非常に長い入力シーケンスを備えている問題領域では、法外なコストがかかることがある。そしてリカレントニューラルネットワークRNNアーキテクチャは、ネットワークが到着時に各増分入力を処理するストリーミング更新をサポートする、という重要な利点を持っている。
さらなる従来技術文献(非特許文献3)には、異なるシーケンス要素同士間の関係をモデル化するべく、アテンション(注意)メカニズムを利用する純粋なフィードフォワード「トランスフォーマ」ネットワークアーキテクチャを使用することによって、シーケンシャルデータをスケールで処理するニューラルネットワークを学習するための方法が記載されている。トランスフォーマは、グラフィック処理ユニットGPUベースの並列化にほぼ完全に適した大量の密な行列乗算によって実装されているので、それに応じて大量のデータでそれらを学習することが可能にされている。このスケーラビリティと、長距離(ロングレンジ)データ依存関係を学習するためのアテンションメカニズムの有効性と、によってトランスフォーマベースのアーキテクチャは、特に自然言語処理の領域におけるように、多くのシーケンスモデリングタスク(課題)の最先端となった。しかし、畳み込みニューラルネットワークと同様に、トランスフォーマはストリーミング入力を処理するのには元々適していない。さらに、これらのネットワークは、良好なタスク性能を達成するには膨大な数のパラメータを必要とすることが多いので、入力シーケンスの長さに対して線形ではなく二次的な実行時間で動作する。
効率的なリカレントニューラルネットワークRNNアルゴリズムの話題では、非特許文献4には、線形時不変(LTI)力学系を実装する1つまたは複数の層と、シーケンシャル入力データを処理する1つまたは複数の非線形層と、を結合するリカレントニューラルネットワークのアーキテクチャが記載されている。この線形時不変LTIシステムを支配する重みは、或る時間窓にわたる入力信号の最適な遅延を計算するべく解析的に導かれているので、ネットワークの非線形構成要素は、このシステムの状態から読み取られるとともに、入力窓内のデータの任意の関数を計算する。この結果得られるネットワークは、線形時不変LTI系がデータをLegendre基底で表現することから「Legendreメモリユニット」(LMU)と呼ばれているとともに、数十万タイムステップに及ぶ時間依存性を効率的に処理できることが実験的に示されているので、他のリカレントネットワークのアーキテクチャを大きく上回っている。全体として、LegendreメモリユニットLMUは、強力な性能(派フォーファンス)特性を持つ線形リカレントネットワークの重要な例であるが、それにもかかわらず、すべてのリカレントアーキテクチャに典型的に見られる逐次計算のボトルネックによって制限されている。このボトルネックは並列化を制限しているので、グラフィック処理ユニットGPUベースのアクセラレーションを使用することでLegendreメモリユニットLMUを非常に大規模なデータセットに適用できる程度、を制限する。
Eric Martin,外1名,"PARALLELIZING LINEAR RECURRENT NEURAL NETS OVER SEQUENCE LENGTH", [online], 平成30年2月22日,a conference paper at ICLR 2018,インターネット<URL:https://arxiv.org/pdf/1709.04057.pdf> Nal Kalchbrenner,外6名,"Neural Machine Translation in Linear Time", [online], 平成29年3月15日,Google Deepmind, London UK,インターネット<https://arxiv.org/pdf/1610.10099.pdf> Ashish Vaswani,外7名,"Attention Is All You Need", [online], 平成29年12月6日,31st Conference on Neural Information Processing Systems (NIPS 2017), Long Beach, CA, USA,インターネット<https://arxiv.org/pdf/1706.03762.pdf> Aaron R. Voelker,外2名,"Legendre Memory Units: Continuous-Time Representation in Recurrent Neural Networks", [online], 令和1年,33rd Conference on Neural Information Processing Systems (NeurIPS 2019), Vancouver, Canada.,インターネット<http://compneuro.uwaterloo.ca/files/publications/voelker.2019.lmu.pdf>
前述の文献および多くの類似の文献に記載されている方法およびシステムは、膨大な学習データセットへのスケールアップを禁止する逐次計算ボトルネックを回避するべく、学習および推論中に並列化できるリカレント接続(再帰的にコネクト)された人工ニューラルネットワークを設計する方法、を特定していない。より具体的には、既存の最先端技術は、特定種類の線形時不変LTIシステムを実装するべく、リカレント接続上の密な重み行列を使用することで線形変換を実行するリカレントニューラルネットワークRNN同士を並列化するための方法、をほとんど提供しない。
本願は、線形時不変力学系を実装するネットワーク層上の再帰(リカレント)接続を並列化することによって、再帰ニューラルネットワークの学習および推論速度を改善するための方法およびシステムを定義することによって、上記の懸念および欠点に対処する。より具体的には、並列化は、まず線形時不変LTIネットワーク層のインパルス応答を計算してから、次にこのインパルス応答を、並列化されたネットワーク入力のシーケンスとで畳み込むことによって実行される。これによって、入力シーケンスの各タイムステップに対する線形時不変LTI層の出力は、高度に並列化された単一の計算ステップによって一度に生成される。これらの出力は、推論時の予測値や、学習時の損失指標(ロスメトリック)を生成するべく、他のネットワーク層を備えている追加計算を実行するべく使用することができる。このようにリカレントニューラルネットワークRNNを並列化すると、グラフィック処理ユニットGPUを使用した場合の学習速度が桁違いに向上しているので、その結果、さまざまなシーケンスモデリングタスクで画期的な性能指標(パフォーマンスメトリック)を達成するべく必要な種類(ソート)の膨大なデータセットで、ネットワークを学習させることができる。このようなタスクの例としては、自動音声認識、機械翻訳、言語モデリング、感情分析、および信号分類、などが挙げられる。
リカレントニューラルネットワークを並列化するための既知の方法に固有の前述の制限に鑑みて、本発明は、層のインパルス応答を計算するとともに、次にこのインパルス応答を層の入力シーケンスのすべての項目と同時に畳み込むことによって、線形ネットワーク層のリカレント接続の適用を並列化する方法およびシステムを提供する。これによって、入力シーケンスのすべての項目に対する層の出力が単一のステップで計算されるので、この計算ステップをコモディティなグラフィック処理ユニットGPUハードウェア上の複数のコアで並列化した場合、大幅な高速化が可能になる。これらの出力は、ネットワーク内の任意の追加層(レイヤー)の応答を計算するべく使用されているので、その結果、推論時に1つまたは複数のネットワーク予測を、または学習時に1つまたは複数の損失メトリックを、生成するべくこれらの出力は使用される。学習の場合、得られた損失メトリックは、リカレント接続された線形層の出力を計算するべく使用される畳み込み(コンボリューション)を逆伝播(バックプロパゲート)することによって、すべてのタイムステップにわたってネットワークの重みの勾配を並行して計算するべく使用される。最後に、これらの勾配を利用することでネットワークの重みを更新しているので、関心のある目的関数に関する性能(パフォーマンス)を最適化する。このように、後にさらに詳細に説明する本発明の一般的な目的は、ネットワークの入力シーケンスのすべての項目にわたってそのリカレント重みの適用を並列化することによって、リカレントニューラルネットワークモデルの学習および推論速度を向上させる方法およびシステムを提供することである。
本発明の主な態様は、リカレント接続された人工ニューラルネットワークモデルの学習および推論速度を改善するための、方法およびシステムを定義することである。方法は、少なくとも1つの線形リカレント層と、任意の非線形層タイプを実装する少なくとも1つの他の層と、を定義する工程を備えている。任意の非線形層タイプには、パーセプトロン層、セルフアテンション(自己注意)層、畳み込み層、またはゲート付き(ゲーテッド)リカレント層、などがある。この方法はさらに、層のインパルス応答を計算する工程と、このインパルス応答を層の入力シーケンス内のすべての項目で同時に畳み込むことで層の出力シーケンスを生成する工程と、によって入力シーケンスへの線形リカレント(回帰)層の適用を並列化することを備えている。次いで、他のネットワーク層の応答が計算されることで、(a)出力予測または(b)損失メトリック、のいずれかが生成されるので、この場合、損失が、線形層のインパルス応答と入力シーケンスとの畳み込みを介して逆伝搬されることによって、すべてのネットワーク入力にわたるパラメータ勾配は並列に計算される。これらのパラメータ勾配は、先行技術で定義されている標準的なモデル学習技術に従って、損失メトリックを最小化するようにネットワークの重みを更新するべく使用される。リカレント行列または入力行列のパラメータが変更された場合、インパルス応答は再計算される。本方法はさらに、前記並列化でリカレント接続人工ニューラルネットワークを動作させることで、少なくとも1つのパターン分類、信号処理、データ表現、またはデータ生成タスク、を実行することを備えている。
この点で、本発明の少なくとも1つの実施形態を詳細に説明する前に、本発明は、その適用において、以下の説明で述べられた、または図面に例示された構造の詳細および構成要素の配置に限定されないことが理解されるものとする。本発明は、他の実施形態が可能にされており、様々な方法で実施されており、実行されることが可能にされている。また、本明細書で採用された言い回しや用語は、説明のためのものであるので、限定的なものと見なしてはならないことを理解されたい。
これらとで共に本発明の他の目的は、本発明を特徴付ける新規な様々な特徴とで共に、開示の中で特に指摘されている。本発明、その動作上の利点、およびその使用、によって達成される特定の目的のより良い理解のために、本発明の好ましい実施形態が例示されている添付の図面および説明事項を参照されたい。
本発明は、以下の詳細な説明を考慮すれば、よりよく理解されるとともに、上記以外の目的も明らかになるであろう。かかる説明は、以下の付属図面を参照する。
リカレント接続ニューラルネットワーク層を、全く同じ関数を計算するフィードフォワードニューラルネットワーク層に変換する、並列化手法の説明図。 本明細書に記載の方法およびシステムを用いることでリカレントニューラルモデルを並列化する際に観察される、速度増加の説明図。
以下の詳細な説明では、本書の一部を構成する添付の図面を参照しているので、その図面には、本発明を実施することができる特定の実施形態が例示的に示されている。これらの実施形態は、当業者が本発明を実施できるように十分詳細に説明されているので、本発明の精神および範囲から逸脱することなく、実施形態を組み合わせることができ、または他の実施形態を利用することができ、構造および論理的変更を行なうことができることが理解されよう。したがって、以下の詳細な説明は、限定的な意味で取られるものではなく、本発明の範囲は、添付の特許請求の範囲およびその均等物によって定義される。
本発明は、添付の図面を参照しながら簡潔に説明される。ここで、本発明の非限定的な実施形態を例示する目的で、例示的な図面をより詳細に参照する。
本明細書で使用される場合、「comprising」(備えている、含んでいる)と、「comprise」(備える、含む)を含んでいる派生語と、は記載された各整数または要素を備えているが、1つまたは複数のさらなる整数または要素を備えていることを除外しない。
本明細書で使用される場合、単数形「a」、「an」、および「the」、は文脈が明らかに指示しない限り、複数の参照語を備えている。例えば、「1つのデバイス」(1つの装置)への言及は、単一のデバイスだけでなく、2つ以上のデバイスなどを包含する。
本明細書で使用される場合、用語「例えば」、「ような」、「のような」、または「備えている」、はより一般的な主題をさらに明確にする例を導入することを意味する。特に指定しない限り、これらの例は、本開示に例示されるアプリケーション(適用)を理解するための補助としてのみ提供されているので、いかなる方法においても限定することを意図しない。
本明細書で使用されるように、用語「may」、「can」、「could」、または「might」、は含まれるかまたは特性を有しているので、特定の構成要素または機能は含まれるかまたは特性を有していることが要求されない。
以下、例示的な実施形態が示されている添付の図面を参照して、例示的な実施形態をより完全に説明する。これらの例示的な実施形態は、例示目的のためにのみ提供されているとともに、この開示が徹底的かつ完全なものとなることで、当業者に本発明の範囲を完全に伝えることができるようにするためである。しかしながら、開示された本発明は、多くの異なる形態で具現化され得るので、本明細書に記載された実施形態に限定されると解釈されるべきではない。
様々な修正は、当業者にとって容易に明らかであろう。本明細書で定義された一般的な原理は、本発明の精神および範囲から逸脱することなく、他の実施形態および用途に適用することができる。さらに、本発明の実施形態を説明する本明細書のすべての記述、およびその具体例は、構造的および機能的な均等物(等価物)の両方を包含することが意図される。さらに、そのような等価物は、現在知られている等価物と、将来開発される均等物(すなわち、構造に関係なく同じ機能を果たす、開発されたあらゆる要素)と、の両方を備えていることが意図されている。また、使用される用語および言い回しは、例示的な実施形態を説明するためのものであるので、限定的であるとみなされるべきではない。したがって、本発明は、開示された原理および特徴に一致する多数の代替案、変更、および均等物、を包含する最も広い範囲を与えられるべきである。明確にするべく、本発明に関連する技術分野で知られている技術的な材料に関連する詳細は、本発明を不必要に不明瞭にしないように、詳細に説明されてはいない。
したがって、例えば、図、回路図、イラスト、などは本発明を具体化するシステムおよび方法を例示する概念的なビューまたは処理を表すことが、当業者には理解されよう。図に示した様々な要素の機能は、専用のハードウェアと、関連するソフトウェアを実行することができるハードウェアと、の使用を通じて提供され得る。同様に、図に示したスイッチは概念的なものである。その機能は、プログラムロジックの操作、専用ロジックの操作、プログラム制御と専用ロジックとの相互作用、あるいは手動、で行なうことができ、特定の技術はこの発明を実施する主体によって選択可能にされている。当業者であれば、本明細書に記載された例示的なハードウェア、ソフトウェア、処理、方法、および/またはオペレーティングシステムは、例示を目的としているので、したがって、特定の名前の要素に限定されることを意図していないことをさらに理解する。
添付の請求項の各々は、別個の発明を定義しており、侵害の目的上、請求項で指定された様々な要素または特徴(制限)に対する均等物を備えていると認識される。文脈によっては、「発明」への以下のすべての言及は、場合によっては所定の特定の実施形態のみに言及することがある。他の場合には、「本発明」への言及は、必ずしも全てではないが、請求項の1つまたは複数に記載された主題を指すことが認識されるであろう。
本明細書に記載されたすべての方法は、本明細書で特に示されない限り、または文脈によって明らかに矛盾しない限り、任意の適切な順序で実行することができる。本明細書の特定の実施形態に関して提供される任意のおよびすべての例、または例示的な言語(例えば、「such as」(のような))の使用は、単に本発明をより良く照らすことを意図しているのであるので、他に請求される本発明の範囲に対する制限を提起するものではない。本明細書のいかなる文言も、本発明の実施に不可欠な請求されない要素を示すものとして解釈されるべきではない。
本明細書で使用される様々な用語は、以下に示される。クレームで使用される用語が以下に定義されていない限り、出願時の印刷物や発行済み特許に反映されているように、関連する技術分野の人がその用語に与えた最も広い定義が与えられるべきものである。
本明細書に開示された本発明の代替要素または実施形態のグループ分けは、制限として解釈されるものではない。各グループのメンバーは、個別に、またはグループの他のメンバーとのもしくは本明細書で見出される他の要素との任意の組み合わせで、参照および請求することができる。グループの1つまたは複数のメンバーは、利便性および/または特許性の理由から、グループに含まれたり、またはグループから削除されたりし得る。そのような包含または削除が発生した場合、本明細書では、修正されたグループを備えているとみなされているので、したがって、添付の請求項で使用されるすべてのグループの書面による説明を満たすことになる。
説明の簡略化および明確化のために、本明細書に記載された例示的な実施形態の完全な理解を提供するべく、多数の特定の詳細が記載される。しかしながら、本明細書に記載される実施形態は、これらの具体的な詳細がなくても実施され得ることが、当業者によって理解されるであろう。他の例では、よく知られた方法、手順、および構成要素、は本明細書で一般的に説明される実施形態を不明瞭にしないように、詳細には説明されていない。
さらに、この説明は、本明細書に記載される実施形態の範囲を何らかの形で制限するものとみなされるのではなく、むしろ、記載されるような様々な実施形態の実装を単に説明するものとみなされる。
本明細書で説明する人工ニューラルネットワークの実施形態は、少なくとも1つのインタフェースを有しつつ、構成可能なハードウェア(すなわち、FPGA)またはカスタムハードウェア(すなわち、ASIC)でまたは両者の組み合わせで、実装され得る。入力信号は、本明細書で説明する機能を実行するとともに出力信号を生成するように、デジタル回路によって消費される。出力信号は、既知の方法で、1つまたは複数の隣接するシステムまたは装置にもしくは周囲のシステムまたは装置に提供される。
本明細書で使用されるように、人工ニューラルネットワークの文脈における用語「ノード」は、シミュレーションされた「ニューロン」の機能を実装する基本処理要素を指している。この「ニューロン」は、スパイクニューロン、連続レートニューロン、または分散システムを構成するべく使用される任意の線形構成要素または非線形構成要素、であってもよい。
説明したシステムは、適応型または非適応型の構成要素を使用することで実装することができる。本システムは、以下に本明細書でより完全に説明されるように、個々の出力を一緒に組み合わせることでシステムの特定の側面を実装することができる多数の非線形構成要素を備えている多種多様な分散システム上で、効率的に実装することができる。
本発明の主な実施形態は、層の入力シーケンスのすべての項目にわたる1つまたは複数のネットワーク層のリカレント接続重みの並列化された適用を介して、リカレント接続人工ニューラルネットワークの学習および推論速度を改善するシステムおよび方法のセットである。この並列化の方法は、各リカレント層が線形時不変(LTI)力学系を実装することが必要であるとともに、最初に層のインパルス応答を計算してから、このインパルス応答を層の入力シーケンスのすべての項目で畳み込むことで、したがって層のすべての出力を同時に生成することを備えている。次いで、任意の追加のネットワーク層の応答が計算されることで、(a)出力予測または(b)損失メトリック、のいずれかが生成されるので、その場合の損失は、すべての層入力にわたるパラメータ勾配を並列に計算するように、各線形時不変LTI層のインパルス応答と、その入力シーケンスと、の畳み込みを通して逆伝搬される。これらのパラメータ勾配は、従来技術で定義されている標準的なモデル学習技術に準じて、損失メトリックを最小化するようにネットワークの重みを更新するべく使用される。しかし、インパルス応答が事前に固定されていない限り、関連するパラメータが更新されると、インパルス応答を再計算する必要がある。方法はさらに、前記並列化で再帰接続人工ニューラルネットワークを動作させることで、少なくとも1つのパターン分類、信号処理、データ表現、またはデータ生成タスク、を実行することを備えている。
ここで、「再帰接続」(リカレントコネクション)という用語は、所定のネットワーク層における1つまたは複数のノードの出力を、同じ層における1つまたは複数のノードへの入力として戻すべく転送する、重み付けされた接続のセット(集合)を指す。「リカレント接続人工ニューラルネットワーク」という用語は、1つまたは複数のリカレント接続を有しているニューラルネットワークを意味する。リカレント接続では、一連(シーケンス)の入力から層の出力値を計算する際に、シーケンスの所与の点(ポイント)における活性化値が、シーケンスのすべての以前ステップについて計算された値に依存するので、一般的にシーケンシャルボトルネックが発生する。このシーケンシャルボトルネックを緩和することは、多数の比較的単純な処理要素にわたって並列化することによってニューラルネットワーク計算を加速するグラフィック処理ユニットGPUなどの、特殊なハードウェアデバイスを十分に利用するべく必要である。
ここで、「活性化関数」という用語は、人工ニューラルネットワークにおいて出力値を生成するべく、或る入力値に線形変換または非線形変換を適用するための任意の方法またはアルゴリズムを指す。活性化関数の例としては、アイデンティティ(同一)、整流線形、リーキー整流線形、スレッショルド整流線形、パラメトリック整流線形、シグモイド、tanh、ソフトマックス、ログソフトマックス、マックスプール、多項式、サイン、ガンマ、ソフトサイン、ヘビスサイド、スイッシュ、指数線形、スケール指数線形、およびガウス誤差線形関数、が挙げられる。ここでいう「線形ネットワーク層」は、人工ニューラルネットワークにおいて、同一関数などの線形活性化関数を用いて出力値を計算する任意の層のことである。
活性化関数は任意に、「スパイク」(すなわち、1ビットイベント)、「多値スパイク」(すなわち、固定ビット幅または浮動ビット幅を有している、多ビットイベント)、連続量(すなわち、所定の計算システムによって決まる或るレベルの精度を有している浮動小数点値-通常は16、32、または64ビット)、または複素数(すなわち、長方形座標または極座標を表す浮動小数点数のペア(対、組))、を出力し得る。これらの前述の関数は、当業者によって、それぞれ「スパイク」ニューロン、「マルチビットスパイク」ニューロン、「非スパイク」ニューロン、および「複素数値」ニューロン、として一般的に言及されている。スパイクニューロンを使用する場合、実数値および複素数値は、スパイクの相対的タイミング、スパイクの周波数、およびスパイクの位相、を含んでいる任意の数の符号化スキームおよび復号化スキームのうちの1つによって表されることもある。しかしながら、本明細書に記載される実施形態は、これらの特定の詳細なしに実施され得ることが、当業者には理解されるであろう。
ここで、「動的システム」という用語は、幾何学的空間内の点に対応する数の集まりを用いてシステム状態を特徴付けることができるとともに、このシステム状態を時間に関する自身の微分(デリバティブ、導関数)に関連付ける関数が定義されている、任意のシステムを指す。言い換えれば、力学系は、時間の経過に伴う状態同士間の遷移を定義する関数に沿った状態空間を備えている。「線形時不変力学系」という用語は、或る時刻のシステム(系)の入力と出力との関係が線形写像である力学系の、特定のクラスのことである。さらにこの写像は、与えられた入力がどの時刻に適用されても、同じ出力に写像されるという意味で、時間不変である。線形時不変LTIシステムは、より複雑な非線形システムとで比較して、数学的な解析が比較的容易であるという利点がある。本発明の文脈では、数学的解析の特に重要な形態は、線形時不変LTIシステムの状態更新方程式を非連続的な形(ノンシーケンシャルフォーム)で書く方法を指定する。
ここでいう「インパルス応答」とは、単位サイズの瞬間的入力に応答した、線形時不変LTIシステムの出力の数学的記述を指す。動的システムのインパルス応答は、より一般的には、特定の入力条件下で、時間の関数としてどのように振る舞うかを定義する。線形時不変LTIシステムでは、インパルス応答によってシステムの挙動を完全に特徴付けることができる。なぜなら、単位サイズの瞬間的パルスは、すべての可能な入力周波数の組み合わせを備えているので、したがってすべての可能な入力周波数に対するシステム応答が刺激されるからである。線形性と時間不変性との制約によって、応答は結果として、時間にわたるすべての可能な入力に対するシステムの挙動を網羅的に定義する。
ここで、「畳み込み」(コンボリューション)という用語は、入力として2つの関数を取るとともに、出力として、2つの入力関数の積の積分として評価される第3関数を、複数の関数のうちの1つが反転された後のすべての可能なシフトにわたって生成する数学演算を指す。多くの信号処理アプリケーションでは、入力関数は時間の関数であり、積分は、それに応じて「時間領域」で評価されるこれらの関数同士の積に対する積分である。また関数が、より基本的な信号の周波数の重み付けされた組み合わせとして表現される場合、畳み込みを行なうことも可能にされている。入力関数のこの「周波数領域」表現では、畳み込みは、単に要素ごとの積として定義される。
ここで、「損失メトリック」という用語は、人工ニューラルネットワークの計算によって最小化されるスカラー出力値を意味する。損失メトリックの例としては、平均二乗誤差(MSE)、クロスエントロピー損失(カテゴリ的またはバイナリな)、カルバック-ライブラー(Kullback-Leibler)発散、コサイン類似度、およびヒンジ損失、が挙げられる。損失メトリックは、1つまたは複数の入力からメトリックを生成する損失関数を使用することで計算される。これらの入力は、外部から供給されるデータ、人工ニューラルネットワークのノードによって計算される出力、監督信号および報酬信号、力学系の状態、またはこれらの任意の組み合わせ、を備えて構成され得る。
前述のシステムの非線形構成要素は、適応的構成要素と非適応的構成要素との組合せを使用することで実装することができる。本明細書で説明する様々な実施形態で使用することができる非線形構成要素の例としては、シミュレート/人工ニューロン、FPGA、グラフィック処理ユニットGPU、および他の並列コンピューティングシステム、が挙げられる。システムの構成要素は、マイクロコントローラを使用することなど、様々な標準的な技術を使用することで実装することができる。さらに、非線形構成要素は、ソフトウェアシミュレーション、ハードウェア、または任意のニューロンファブリック、を含んでいる様々な形態で実装することができる。また、非線形構成要素は、Neurogrid、SpiNNaker、Loihi、およびTrueNorth、などのニューロモーフィックコンピューティングデバイスを使用することで実装することができる。
提案されるシステムおよび方法の例示的な実施形態として、システムへの入力であるuが行列Bを通して写像される一方で、システム状態が各タイムステップでリカレント行列Aを通して写像されるような、正準形式で示される線形時不変LTIシステムを検討する。時間tにおけるシステムの状態mは、時間領域における以下の畳み込み積分で記述することができる。
ここでτは、tに関して可能なすべてのシフトに及ぶダミー変数である。この積分を離散的に実行するべく、行列Aおよび行列Bをオイラー法、ルンゲクッタ法、またはその他の既知の方法、で
および
に離散化することで、以下の和を生成する。
人工ニューラルネットワークのリカレント層が、或るAおよびBの選択下においてこの線形時不変LTIシステムを実装する場合、与えられた入力シーケンスに対するすべての層の出力は、(2)の行列パワーが一度事前計算されるとともに、単一の行列
に積み上げられるだけでなく、入力シーケンスのすべてのn項目を備えている上三角行列
として定義されているものによって乗算されるという事実によって、並行して計算することができる。
nまでの線形時不変LTIシステムの出力は、高度に並列化した1つのステップ(ワンステップ)でm1:n=HU:nとして計算することができる。ここでHはシステムのインパルス応答であり、Uはその入力である。これらの出力をより効率的に計算する方法は、UとHをフーリエ変換Fによって周波数領域に写像するとともに、要素ごとの乗算を使用することで、以下のように畳み込み(コンボリューション)を実行することによって実行できる。
これによって、線形時不変LTIシステムm1:nの出力は単一ステップで計算されるので、このステップで実行される計算を、グラフィック処理ユニットGPUなどのハードウェア装置を使用することで並列化する機会が提供される。
図1を参照すると、並列化されるリカレントネットワーク層[101]への入力のシーケンスは、通常、次々に処理されているので、A行列[103]およびB行列[104]を使用することで、連続する層入力に対するmの評価同士の間に逐次ボトルネック(シーケンシャルボトルネック)[102]が発生する。本明細書に開示された方法[105]を適用することによって、このリカレント層のインパルス応答Hが計算されるので[106]、時間領域での行列乗算、またはフーリエ領域での要素毎乗算、を行なうことによって、層への入力がこのインパルス応答とで並列に畳み込まれることで[107]、出力m1:nを生成する[108]。図1に示すように、これらの方法を適用すると、順次ボトルネックになるリカレントニューラルネットワーク層は、高度に並列化されたフィードフォワードニューラルネットワーク層へ効果的に変換される。このフィードフォワード層は、リカレント層とで全く同じ計算を行ないうるが、コモディティなグラフィック処理ユニットGPUハードウェア上でより簡単に実装できるので、これらの計算の速度を加速させることができる。
再帰的に接続された人工ニューラルネットワークによって実行される計算を並列化するための、本明細書に開示される方法およびシステムの使用の実証を提供するべく、多数のベンチマーク実験からの結果が本明細書に記載される。これらの実験では、LegendreメモリユニットLMUの線形時不変LTI構成要素からのA行列およびB行列を使用した。しかし、フーリエ変換、ハダマード変換、ハール変換、ラプラス変換、コサイン変換、フーリエ-Stieltjes、ゲルファンド変換、またはハートリー変換、を備えている多くの標準線形変換およびその変形を同様に採用することができる。これらの変換の窓(ウィンドウ)付きバージョンも同様に採用することができるので、異なるA行列およびB行列を有していることができる。図2を参照すると、リカレントニューラルネットワーク層同士を並列化するための方法およびシステムは、シーケンスモデリングのための2つの標準的な機械学習ベンチマークで評価されている。2つの標準的な機械学習ベンチマークは、psMNISTシーケンス分類タスク[201]と、Mackey-Glass(MG)シーケンス予測タスク[202]と、である。標準的なリカレントニューラルネットワークモデルの速度は、リカレント層が線形時不変LTIシステムに対応するモデル[203]と、これらの線形時不変LTI層が並列化されたモデル[204]と、で比較される。速度メトリックを計算するためのシーケンス長を増やすと、リカレントニューラルネットワーク層同士を並列化するこれらの方法によって、計算速度を最大200倍まで向上させることができることがわかる[205]。すべての結果は、単一のGTX_1080_グラフィック処理ユニットGPU装置を使用することで測定された。
上記の説明は、例示的であることを意図しており、制限的ではないことを理解されたい。例えば、上述した実施形態は、互いに組み合わせて使用することができる。多くの他の実施形態は、上記の説明を検討する際に当業者には明らかであろう。
本発明によって提供され得る利益および利点は、特定の実施形態に関して上で説明された。これらの利点および利点、ならびにそれらを生じさせたりまたはより顕著にしたりする可能性のある要素または制限は、実施形態のいずれかまたはすべての重要な、必要な、または必須の、特徴として解釈されるものではない。
本発明を特定の実施形態を参照して説明したが、実施形態は例示であり、本発明の範囲はこれらの実施形態に限定されないことを理解されたい。上述した実施形態に対する多くの変形、修正、追加、および改良、が可能にされている。これらの変形、修正、追加、および改良、は本発明の範囲に入ることが企図されている。

Claims (9)

  1. リカレント接続された人工ニューラルネットワークモデルの学習および推論速度を向上させるためのコンピュータ実装方法としての方法であって、前記方法は、
    a.1つまたは複数の次元の入力を有している少なくとも1つの線形リカレント層を定義する工程と、
    b.任意の非線形層タイプを実装する少なくとも1つの他の層を定義する工程と、
    c.入力シーケンスに対する前記線形リカレント層の適用を、
    i.前記線形リカレント層のインパルス応答を計算する工程と、
    ii.前記線形リカレント層の出力シーケンスを生成するべく、前記インパルス応答を、前記線形リカレント層の前記入力シーケンスのすべての項目と同時に畳み込みする工程と、
    iii.前記出力シーケンスを用いて、他のすべてのネットワーク層の応答を計算する工程と、
    iv.最後のネットワーク層の応答から、損失メトリックを計算する工程と、
    v.前記線形リカレント層の前記インパルス応答の、前記入力シーケンスを伴う畳み込みを通じて前記損失メトリックを逆伝播することによって、すべての入力にわたってパラメータ勾配を並行して計算する工程と、
    vi.前記損失メトリックを最小化するべく、ネットワークの固定されていない重みを更新するべく、パラメータ勾配を使用する工程と、
    vii.リカレント行列または入力行列が更新された場合、前記インパルス応答を再計算する工程と、
    によって並列化する工程と、
    および
    d.パターン分類、信号処理、データ表現、およびデータ生成タスク、のうちの少なくとも1つを実行するべく、得られた人工ニューラルネットワークを操作する工程と、
    を備えている、方法。
  2. 線形リカレントネットワークによって実行される計算は、時間領域における畳み込みとして表現される、
    請求項1に記載の方法。
  3. 線形リカレントネットワークによって実行される計算は、周波数領域における要素ごとの乗算として表現される、
    請求項1に記載の方法。
  4. 前記並列化は、前記線形リカレント層の前記インパルス応答と、全入力シーケンスまでの全ての中間入力シーケンスを備えている上三角行列と、の間の行列-行列積として実施される、
    請求項1に記載の方法。
  5. 前記人工ニューラルネットワークへの入力は、別のニューラルネットワークからの以前の出力を使用することによって提供される、
    請求項1に記載の方法。
  6. 学習は並列化で実行される一方で、推論は並列化なしで実行される、
    請求項1に記載の方法。
  7. リカレント線形変換は固定であるとともに、前記リカレント線形変換は、離散または連続のLegendre変換、フーリエ変換、ハダマード変換、ハール変換、ラプラス変換、コサイン変換、フーリエ-スティールトジェス、ゲルファンド変換、およびハートリー変換、からなる群から選択される、
    請求項1~6のいずれか1項に記載の方法。
  8. 選択された前記リカレント線形変換のウィンドウ化されたバージョンを使用する、
    請求項7に記載の方法。
  9. ニューラルネットワークにおけるパターン分類、信号処理、データ表現、またはデータ生成、のためのシステムであって、前記システムは、
    a.1つまたは複数の次元の入力を有している少なくとも1つの線形リカレント層と、および
    b.パーセプトロン層、自己アテンション層、畳み込み層、またはゲートリカレント層、といった任意の線形層タイプまたは非線形層タイプを実装する少なくとも1つの他の層と、
    を備えており、
    前記システムは、請求項1に記載の方法を用いて前記ニューラルネットワークを操作する、
    システム。
JP2023520035A 2020-10-02 2021-10-01 リカレント接続人工ニューラルネットワークにおける計算を並列化するための方法およびシステム Pending JP2023544996A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063087100P 2020-10-02 2020-10-02
US63/087,100 2020-10-02
PCT/CA2021/051374 WO2022067444A1 (en) 2020-10-02 2021-10-01 Methods and systems for parallelizing computations in recurrently connected artificial neural networks

Publications (1)

Publication Number Publication Date
JP2023544996A true JP2023544996A (ja) 2023-10-26

Family

ID=80949108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023520035A Pending JP2023544996A (ja) 2020-10-02 2021-10-01 リカレント接続人工ニューラルネットワークにおける計算を並列化するための方法およびシステム

Country Status (8)

Country Link
US (1) US20230359861A1 (ja)
EP (1) EP4222656A1 (ja)
JP (1) JP2023544996A (ja)
KR (1) KR20230079140A (ja)
CN (1) CN116261732A (ja)
CA (1) CA3194614A1 (ja)
IL (1) IL301423A (ja)
WO (1) WO2022067444A1 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015093B1 (en) * 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US10078794B2 (en) * 2015-11-30 2018-09-18 Pilot Ai Labs, Inc. System and method for improved general object detection using neural networks
US20170249547A1 (en) * 2016-02-26 2017-08-31 The Board Of Trustees Of The Leland Stanford Junior University Systems and Methods for Holistic Extraction of Features from Neural Networks
US20180129937A1 (en) * 2016-11-04 2018-05-10 Salesforce.Com, Inc. Quasi-recurrent neural network
US10423861B2 (en) * 2017-10-16 2019-09-24 Illumina, Inc. Deep learning-based techniques for training deep convolutional neural networks

Also Published As

Publication number Publication date
IL301423A (en) 2023-05-01
CA3194614A1 (en) 2022-04-07
WO2022067444A1 (en) 2022-04-07
US20230359861A1 (en) 2023-11-09
EP4222656A1 (en) 2023-08-09
CN116261732A (zh) 2023-06-13
KR20230079140A (ko) 2023-06-05

Similar Documents

Publication Publication Date Title
KR102483639B1 (ko) 뉴럴 네트워크 구조 확장 방법, 디멘션 리덕션 방법, 및 그 방법을 이용한 장치
Kolen et al. A field guide to dynamical recurrent networks
Song et al. Identification of sparse neural functional connectivity using penalized likelihood estimation and basis functions
Li et al. Deep feature learning architectures for daily reservoir inflow forecasting
US20130204814A1 (en) Methods and apparatus for spiking neural computation
US20130204820A1 (en) Methods and apparatus for spiking neural computation
JP2024535897A (ja) 人工ニューラルネットワークにおける2次関数未満の複雑度を持つ陰的注意のための方法およびシステム
Schmidhuber Who invented backpropagation
US20240005166A1 (en) Minimum Deep Learning with Gating Multiplier
US11341413B2 (en) Leveraging class information to initialize a neural network language model
CN113454648A (zh) 循环神经网络中的勒让德存储器单元
KR20230029759A (ko) 아날로그 크로스바 어레이들을 업데이트하기 위한 희소 수정가능 비트 길이 결정 펄스 생성
JP2023530816A (ja) アナログ・アクセラレータのドリフト係数の変動を打ち消すためのドリフト正則化
JP2023544996A (ja) リカレント接続人工ニューラルネットワークにおける計算を並列化するための方法およびシステム
Volna et al. Prediction by means of Elliott waves recognition
Xu et al. Adaptive deep learning approximation for Allen-Cahn equation
US20220083867A1 (en) Methods and systems for simulating dynamical systems via synaptic descent in artificial neural networks
JP7188589B2 (ja) 復元装置、復元方法、およびプログラム
de Oliveira et al. Artificial neural networks for dictionary selection in adaptive greedy decomposition algorithms with reduced complexity
AU2023223754A1 (en) Methods and systems for processing temporal data with linear artificial neural network layers
KR20240153348A (ko) 선형 인공 신경망 계층을 사용하여 시간 데이터를 처리하기 위한 방법 및 시스템
Maginnis et al. Efficiently applying attention to sequential data with the Recurrent Discounted Attention unit
KR102652739B1 (ko) 범주형 특징 인코딩을 위한 딥러닝 임베딩 기술
Rahman et al. Activation functions performance in multilayer perceptron for time series forecasting
Ríos Deep Learning for Animal Audio Classification-A Foundational Approach

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240930