JP6676165B2 - 畳み込みゲート制御再帰型ニューラルネットワーク - Google Patents

畳み込みゲート制御再帰型ニューラルネットワーク Download PDF

Info

Publication number
JP6676165B2
JP6676165B2 JP2018524364A JP2018524364A JP6676165B2 JP 6676165 B2 JP6676165 B2 JP 6676165B2 JP 2018524364 A JP2018524364 A JP 2018524364A JP 2018524364 A JP2018524364 A JP 2018524364A JP 6676165 B2 JP6676165 B2 JP 6676165B2
Authority
JP
Japan
Prior art keywords
state
cgru
time step
convolution
updated
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.)
Active
Application number
JP2018524364A
Other languages
English (en)
Other versions
JP2018533804A (ja
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 JP2018533804A publication Critical patent/JP2018533804A/ja
Application granted granted Critical
Publication of JP6676165B2 publication Critical patent/JP6676165B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/044Recurrent networks, e.g. Hopfield networks
    • 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/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/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Image Analysis (AREA)
  • Error Detection And Correction (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本明細書は、ニューラルネットワークシステムのアーキテクチャに関する。
ニューラルネットワークは、受け取られた入力に関する出力を予測するために非線形ユニットの1つまたは複数の層を使用する機械学習モデルである。一部のニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワーク内の次の層、すなわち、次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれの組の現在の値に従って、受け取られた入力から出力を生成する。
一部のニューラルネットワークは、再帰型ニューラルネットワークである。再帰型ニューラルネットワークは、入力シーケンスを受け取り、入力シーケンスから出力シーケンスを生成するニューラルネットワークである。特に、再帰型ニューラルネットワークは、現在の時間ステップにおいて出力を計算する際に前の時間ステップからのネットワークの内部状態の一部またはすべてを使用する可能性がある。再帰型ニューラルネットワークの例は、1つまたは複数のLSTMセルを含む長期短期記憶(LSTM: Long Short-Term Memory)ニューラルネットワークであり、1つまたは複数のLSTMセルはそれぞれ、たとえば現在の活性化(activation)を生成する際に使用するためまたはLSTMニューラルネットワークのその他の構成要素に提供されるための、セルに関する前の状態をセルが記憶することを可能にする、入力ゲート、忘却ゲート、および出力ゲートを含む。
本明細書は、再帰型ニューラルネットワークアーキテクチャに関するテクノロジーを説明する。
概して、畳み込みゲート制御再帰型ニューラルネットワーク(CGRN)は、複数の畳み込みゲート制御再帰型ユニット(CGRU: convolutional gated recurrent unit)を含み、次元x×y×mを有する状態テンソルを保持し、x、y、およびmは、それぞれ1よりも大きい。
複数の時間ステップの各々において、CGRNは、CGRUの各々を通じて現在保持されている状態テンソルを処理することによって現在保持されている状態テンソルを更新するように構成される。最後の時間ステップの後、状態テンソルは、システムの出力を生成する出力層によって処理される。
1つまたは複数のコンピュータのシステムが特定の動作または行為を実行するように構成されることは、システムが、動作中にシステムに動作または行為を実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをそのシステム上にインストール済みであることを意味する。1つまたは複数のコンピュータプログラムが特定の動作または行為を実行するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されるときに装置に動作または行為を実行させる命令を含むことを意味する。
本明細書に記載の対象は、以下の利点のうちの1つまたは複数を実現するように特定の実施形態に実装され得る。本明細書において説明されるCGRNのアーキテクチャは、CGRNが並列性が高いことを可能にし、すなわち、CGRNは、並列性の高い畳み込み演算器から構築されるので、CGRNを訓練するのにより少ない計算量ですむようにし、実行するのに、すなわちCGRNを使用して推論を計算するのに計算効率が高くなるようにする。CGRNのアーキテクチャは、CGRNが異なるサイズの入力に一般化されることを可能にし、たとえば、より短い入力に関して訓練されたCGRNがより長い入力に関する推論を効果的に計算することを可能にする。
本明細書の対象の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明に記載されている。対象のその他の特徴、態様、および利点は、説明、図面、および請求項から明らかになるであろう。
例示的なニューラルネットワークシステムを示す。 CGRNを使用してニューラルネットワークの入力を処理するための例示的なプロセスの流れ図である。 現在保持されているセルの状態テンソルを更新するためにCGRUを使用して現在の時間ステップにおいて現在保持されている状態テンソルを処理するための例示的なプロセスの流れ図である。
様々な図面における同様の参照番号および参照指示は、同様の要素を示す。
図1は、例示的なニューラルネットワークシステム100を示す。ニューラルネットワークシステム100は、以下で説明されるシステム、構成要素、および技術が実装される、1つまたは複数の場所の1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されたシステムの例である。
ニューラルネットワークシステム100は、ニューラルネットワークの入力を受け取り、ニューラルネットワークの入力からシステムの出力を生成する機械学習システムである。たとえば、ニューラルネットワークシステム100は、ニューラルネットワークの入力102を受け取り、システムの出力132を生成することができる。概して、ニューラルネットワークの入力は、数値入力のシーケンス、たとえば、数値のベクトルまたはその他の順序付けられた集合であり、システムの出力は、単一のベクトルまたは複数のベクトルのシーケンスである可能性がある。
ニューラルネットワークシステム100は、生成されたシステムの出力を出力データリポジトリに記憶するか、あるいは、たとえば、ユーザに提示するためにシステムの出力を特徴付けるデータを提供することによって、またはさらに処理するために別のシステムにシステムの出力の一部もしくはすべてを提供することによって何らかの即時的な目的で使用するためにシステムの出力を提供することができる。
ニューラルネットワークシステム100は、任意の種類のデジタルデータ入力を受け取り、入力に基づいて任意の種類のスコア、分類、または回帰出力を生成するように構成され得る。
例として、ニューラルネットワークシステム100への入力が1つの言語のテキストを表すシーケンスである場合、ニューラルネットワークシステム100によって生成される出力は、入力テキストの他の言語への翻訳である別の言語のテキストを表すシーケンスである可能性がある。
別の例として、ニューラルネットワークシステム100への入力が発話された発言の特徴を表すシーケンスである場合、ニューラルネットワークシステム100によって生成される出力は、発言の書き起こしであるテキストを表すシーケンスである可能性がある。
別の例として、ニューラルネットワークシステム100への入力がテキストを表すシーケンスである場合、ニューラルネットワークシステム100によって生成される出力は、1組の話題のうちの各々に関するスコアである可能性があり、スコアは、対応する話題がテキストシーケンスの話題である見込みを表す。
別の例として、ニューラルネットワークシステム100への入力がテキストを表すシーケンスである場合、ニューラルネットワークシステム100によって生成される出力は、入力テキストの要約である、すなわち、入力テキストシーケンスよりも短いテキストを表すシーケンスである可能性がある。
特に、ニューラルネットワークシステム100は、畳み込みゲート制御再帰型ニューラルネットワーク(CGRN) 110を含む。CGRN 110は、畳み込みゲート制御再帰型ユニット(CGRU) 120のシーケンスおよび出力層130を含む。
概して、CGRUは、ニューラルネットワークの入力102から生成される初期状態テンソル122を受け取り、最終状態テンソル128を生成するために初期状態テンソル122を集合的に繰り返し更新する。
すなわち、CGRN 110は、x、y、およびmがそれぞれ1よりも大きいものとして次元x×y×mを有し、ニューラルネットワークの入力102から初期化されるテンソルである状態を保持する。ニューラルネットワークの入力102から状態テンソルを初期化することは、図2を参照して下でより詳細に説明される。CGRU 120は、最終状態テンソル128を生成するために保持される状態テンソルを集合的に繰り返し更新する。
より詳細には、CGRU 120は、複数の時間ステップの各々において処理を実行する。各時間ステップにおいて、各CGRUは、入力状態テンソルを受け取り、入力状態テンソルを更新し、更新された状態テンソルをCGRNの別の構成要素、すなわち、別のCGRUまたは出力層に提供する。たとえば、複数の時間ステップのうちの所与の時間ステップにおいて、シーケンス内のCGRU 120aが、現在の状態テンソル122を受け取り、現在の状態テンソル122を処理して更新された状態テンソル126を生成することができる。最終状態テンソル126は、複数の時間ステップのうちの最後の時間ステップのためのシーケンス内の最後のCGRUによって生成される状態テンソルである。
出力層130は、最終状態テンソル126を処理してシステムの出力132を生成する。最終状態テンソル126を処理することは、図2を参照して下でより詳細に説明される。
図2は、CGRNを使用してニューラルネットワークの入力を処理するための例示的なプロセス200の流れ図である。便宜上、プロセス200は、1つまたは複数の場所に置かれた1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラミングされたニューラルネットワークシステム、たとえば、図1のニューラルネットワークシステム100が、プロセス200を実行し得る。
システムが、ニューラルネットワークの入力を受け取る(ステップ202)。概して、ニューラルネットワークの入力は、長さmをそれぞれが有するベクトルのシーケンスである。たとえば、シーケンスは、可能な入力の語彙からのそれぞれの入力をそれぞれが表す埋め込みベクトル(embedding vector)のシーケンスである可能性がある。
システムは、ニューラルネットワークの入力を用いてCGRNの状態テンソルを初期化する(ステップ204)。特に、システムは、各入力ベクトルを状態テンソルの第1の列へと連結し、状態テンソルのすべてのその他のエントリをゼロに設定する。すなわち、シーケンス内の第kのベクトルが、(0,k,0)から(0,k,m)までの成分において状態テンソルに追加され、列1からx - 1までの成分が、ゼロに設定される。
システムは、複数の時間ステップのためのCGRUのシーケンスを通じて初期状態テンソルを処理して最終状態テンソルを生成する(ステップ206)。特に、時間ステップの各々において、システムは、シーケンス内のCGRUの各々を通じて現在の状態テンソルを処理してシーケンスに関する更新された状態テンソルを生成する。CGRUによって入力状態テンソルを処理することは、図3を参照して下でより詳細に説明される。
システムは、出力層を使用して最終状態テンソルを処理してCGRNの出力、すなわち、受け取られたニューラルネットワークの入力に関するシステムの出力を生成する(ステップ208)。
特に、出力層は、第1の列の第kの深さベクトルが最終状態テンソルの(0,k,0)から(0,k,m)における成分であるものとして最終状態テンソルの第1の列の各深さベクトル(depth vector)に出力パラメータ行列を適用して、列の各深さベクトルからそれぞれの初期出力ベクトルを生成するように構成される。
一部の実装においては、そのとき、出力層は、最終出力ベクトルを生成するために各処理出力ベクトルから極大の成分を選択するように構成され、すなわち、その結果、最終出力ベクトルは、初期出力ベクトルの各々からのそれぞれの極大の成分のベクトルである。
図3は、現在保持されているセルの状態テンソルを更新するためにCGRUを使用して現在の時間ステップにおいて現在保持されている状態テンソルを処理するための例示的なプロセス300の流れ図である。便宜上、プロセス300は、1つまたは複数の場所に置かれた1つまたは複数のコンピュータのシステムにより実装されたCGRUによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラミングされたニューラルネットワークシステム内のCGRU、たとえば、図1のニューラルネットワークシステム100のCGRU 120aが、プロセス300を実行し得る。
CGRUが、現在保持されている状態テンソルを受け取る(ステップ302)。現在の時間ステップが第1の時間ステップであり、CGRUがシーケンス内の第1のCGRUである場合、状態テンソルは、ニューラルネットワークの入力から初期化された状態テンソルである。現在の時間ステップが第1の時間ステップではなく、CGRUがシーケンス内の第1のCGRUである場合、状態テンソルは、直前の時間ステップにおいてシーケンス内の最後のCGRUによって生成された状態テンソルである。CGRUがシーケンス内の第1のCGRUではない場合、状態テンソルは、現在の時間ステップのためにシーケンス内の前のCGRUによって生成された状態テンソルである。
CGRUは、現在保持されている状態テンソルに主畳み込みゲート(main convolutional gate)を適用して主畳み込みゲート出力を生成する(ステップ304)。特に、CGRUは、CGRUに関する主カーネルバンク(kernel bank)と現在保持されている状態テンソルとの間で畳み込みを実行する。カーネルバンクは、形状[kx, ky, m, m]の4次元テンソルであり、すなわち、kx・ky・m2個のパラメータを含み、kxおよびkyは、カーネルの幅および高さである。状態テンソルとのカーネルバンクの畳み込みは、状態テンソルと同じ次元を有する新しいテンソルを生成する。
心象(mental image)sとの形状[kx, ky, m, m]を有するフィルタバンクの畳み込みを実行するとき、結果として得られるテンソルの成分[x, y, i]の値は、
Figure 0006676165
を満たす。
一部の実装において、忘却畳み込みゲート(forget convolutional gate)出力gは、
g =σ(U' * s + B')
を満たし、sは、現在保持されている状態テンソルであり、U' * sは、主畳み込みゲートの主カーネルバンクと状態テンソルとの畳み込みであり、B'は、主畳み込みゲートに関するバイアスベクトルである。
CGRUは、現在保持されている状態テンソルに忘却畳み込みゲートを適用して忘却畳み込みゲート出力を生成する(ステップ306)。特に、CGRUは、CGRUに関する忘却カーネルバンクと現在保持されている状態テンソルとの間で畳み込みを実行する。一部の実装において、忘却畳み込みゲート出力rは、
r =σ(U'' * s + B'')
を満たし、U'' * sは、忘却カーネルバンクと現在保持されている状態テンソルとの畳み込みであり、B''は、忘却畳み込みゲートに関するバイアスベクトルである。
CGRUは、現在保持されている状態テンソル、主畳み込みゲート出力、および忘却畳み込みゲート出力を組み合わせて、更新された状態テンソルを生成する(ステップ308)。すなわち、CGRUは、現在保持されている状態テンソルに主畳み込みゲート出力と忘却畳み込みゲート出力との両方を適用して、更新された状態テンソルを生成する。一部の実装において、更新された状態テンソルは、
CGRU(s) = u・s + (1 - u)・tanh(U * (r・s) + B)
を満たし、Uは、GRUの出力カーネルバンクであり、Bは、GRUの出力に関するバイアスベクトルであり、r・sは、点別のベクトル積を示す。
CGRUは、更新された状態テンソルをCGRN内の次の構成要素に提供する(ステップ310)。特に、CGRUがシーケンス内の最後のCGRUではない場合、CGRUは、更新された状態テンソルをシーケンス内の次のCGRUに提供する。CGRUがシーケンス内の最後のCGRUであり、現在の時間ステップが最後の時間ステップではない場合、CGRUは、次の時間ステップにおいて処理するために、更新された状態テンソルをシーケンス内の第1のCGRUに提供する。CGRUがシーケンス内の最後のCGRUであり、現在の時間ステップが最後の時間ステップである場合、CGRUは、ニューラルネットワークの入力に関するシステムの出力を生成するために、更新された状態テンソルを出力層に提供する。
CGRNの構成要素のすべては微分可能であるので、システムは、通常の機械学習訓練技術、たとえば、時間訓練技術(time training technique)による誤差逆伝播を用いた確率的勾配降下法を使用して目的関数を最適化することによってCGRNを訓練することができる。すなわち、システムは、CGRNの、すなわち、フィルタバンクのパラメータおよびCGRUのバイアスならびに出力層の出力パラメータ行列の値を調整することによって目的関数を最適化するために訓練技術の複数回の繰り返しを実行することができる。
場合によっては、CGRNの訓練中、CGRUの各パラメータの値が時間ステップのすべてに渡って共有されるように制約するのではなく、システムは、時間ステップを複数のサブセットに分割し、CGRUに関する各パラメータの値がサブセット内で共有されるようにのみ制約する。すなわち、時間ステップの所与のサブセットに関して、および所与のCGRUの所与のパラメータに関して、システムは、サブセット内の各時間ステップにおいて同じ値を有するようにパラメータを制約するが、その他のサブセットに関しては値が変化することを可能にする。したがって、訓練した後、CGRUは、時間ステップのあるサブセット内では入力にパラメータ値のある組を適用し、時間ステップの別のサブセット内では入力にパラメータ値の別の組を適用する。
本明細書に記載の対象の実施形態および機能的動作は、本明細書で開示された構造およびそれらの構造的均等物を含むデジタル電子回路、または有形で具現化されたコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらのうちの1つもしくは複数の組合せで実装され得る。本明細書に記載の対象の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために有形の非一時的プログラムキャリア上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替的にまたは追加的に、プログラム命令は、データ処理装置による実行のために好適な受信機装置に送信するために情報を符号化するように生成される人為的に生成された伝播信号、たとえば、機械によって生成された電気的信号、光学的信号、または電磁的信号上に符号化され得る。コンピュータストレージ媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せである可能性がある。
用語「データ処理装置」は、データ処理ハードウェアを指し、例として、1つのプログラミング可能なプロセッサ、1台のコンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含する。装置は、専用の論理回路、たとえば、FPGA (フィールドプログラマブルゲートアレイ)またはASIC (特定用途向け集積回路)である可能性もあり、またはそのような専用の論理回路をさらに含む可能性がある。任意で、装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を生成するコード、たとえば、プロセッサのファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含み得る。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるまたは称される可能性もある)は、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で記述可能であり、独立型プログラムとしての形態、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境での使用に適したその他の単位としての形態を含む任意の形態で配置され得る。コンピュータプログラムは、ファイルシステム内のファイルに対応する可能性があるが、必ずそうであるとは限らない。プログラムは、その他のプログラムもしくはデータを保持するファイルの一部、たとえば、マークアップ言語のドキュメントに記憶された1つもしくは複数のスクリプト、問題にしているプログラムに専用の単一のファイル、または複数の組織されたファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルに記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に置かれるか、もしくは複数の場所に分散され、通信ネットワークによって相互に接続される複数のコンピュータ上で実行されるように配置され得る。
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによって機能を実行する1つまたは複数のコンピュータプログラムを1つまたは複数のプログラミング可能なコンピュータが実行することによって実行され得る。また、プロセスおよび論理フローは、専用の論理回路、たとえば、FPGA (フィールドプログラマブルゲートアレイ)またはASIC (特定用途向け集積回路)によって実行される可能性があり、さらに、装置は、それらの専用の論理回路として実装される可能性がある。
コンピュータプログラムの実行に好適なコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはこれら両方、または任意のその他の種類の中央演算処理装置を含み、例として、それらに基づく可能性がある。概して、中央演算処理装置は、読み出し専用メモリ、またはランダムアクセスメモリ、またはこれら両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令を遂行または実行するための中央演算処理装置、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。また、概してコンピュータは、データを記憶するための1つまたは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらの大容量ストレージデバイスからデータを受信するか、もしくはそれらの大容量ストレージデバイスにデータを転送するか、もしくはその両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを備えていなくてもよい。さらに、コンピュータは、別のデバイス、たとえば、ほんのいくつか例を挙げるとすれば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレイヤー、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに組み込まれる可能性がある。
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、メディア、およびメモリデバイスを含む。プロセッサおよびメモリは、専用の論理回路によって補完されるか、または専用の論理回路に組み込まれる可能性がある。
ユーザとのインタラクションを提供するために、本明細書に記載の対象の実施形態は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT (ブラウン管)またはLCD (液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータ上に実装され得る。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用される可能性があり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックである可能性があり、ユーザからの入力は、音響、発話、または触覚による入力を含む任意の形態で受け取られる可能性がある。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、そのデバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。
本明細書に記載の対象の実施形態は、バックエンド構成要素を、たとえば、データサーバとして含むか、またはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、ユーザが本明細書に記載の対象の実装とインタラクションすることができる関係グラフィカルユーザインターフェース(relationship graphical user interface)もしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムに実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互に接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、たとえば、インターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して互いに離れており、通常は通信ネットワークを通じてインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント-サーバの関係にあるコンピュータプログラムによって生じる。
本明細書は多くの特定の実装の詳細を含むが、これらは、いかなる発明の範囲または特許請求され得るものの範囲に対する限定ともみなされるべきではなく、むしろ、特定の発明の特定の実施形態に特有である可能性がある特徴の説明とみなされるべきである。別々の実施形態の文脈で本明細書において説明されている特定の特徴が、単一の実施形態において組み合わせて実装される可能性もある。反対に、単一の実施形態の文脈で説明されている様々な特徴が、複数の実施形態に別々に、または任意の好適な部分的組合せで実装される可能性もある。さらに、特徴は、特定の組合せで動作するものとして上で説明されている可能性があり、最初にそのように主張されてさえいる可能性があるが、主張された組合せの1つまたは複数の特徴は、場合によっては組合せから削除される可能性があり、主張された組合せは、部分的組合せ、または部分的組合せの変形を対象とする可能性がある。
同様に、動作が図中に特定の順序で示されているが、これは、そのような動作が示された特定の順序でもしくは逐次的順序で実行されること、または所望の結果を達成するために示されたすべての動作が実行されることを必要とするものと理解されるべきでない。特定の状況においては、マルチタスクおよび並列処理が有利である可能性がある。さらに、上述の実施形態における様々なシステムモジュールおよび構成要素の分割は、すべての実施形態においてそのような分割を必要とするものと理解されるべきでなく、説明されたプログラム構成要素およびシステムは、概して、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージングされる可能性があると理解されるべきである。
対象の特定の実施形態が、説明された。その他の実施形態は、添付の請求項の範囲内にある。たとえば、請求項に挙げられた行為は、異なる順序で実行される可能性があり、それでも所望の結果を達成することができる。一例として、添付の図面に示されたプロセスは、所望の結果を達成するために、必ずしも、示された特定の順序、または逐次的順序である必要はない。特定の実装においては、マルチタスクおよび並列処理が有利である可能性がある。
100 ニューラルネットワークシステム
102 ニューラルネットワークの入力
110 CGRN
120 CGRU
120a CGRU
122 初期状態テンソル、現在の状態テンソル
126 更新された状態テンソル
128 最終状態テンソル
130 出力層
132 システムの出力
200 プロセス
300 プロセス

Claims (13)

1つまたは複数のコンピュータによって実装される畳み込みゲート制御再帰型ニューラルネットワーク(CGRN)を含み、前記CGRNが、
次元x×y×mを有するテンソルである状態を保持することであって、x、y、およびmが、それぞれ1よりも大きい、保持することと、
複数の時間ステップの各々に関して、複数の畳み込みゲートを通じて現在保持されている状態を処理することによって前記現在保持されている状態を更新することと、
前記複数の時間ステップの中の最後の時間ステップの後に、前記更新された状態を出力層を通じて処理することであって、前記出力層が、前記複数の時間ステップの中の前記最後の時間ステップの後に前記更新された状態を受け取り、前記更新された状態を修正してCGRNの出力を生成するように構成される、処理することとを行うように構成され
前記CGRNの前記状態が、システムの入力に初期化され、
前記CGRNが、シーケンス内に配列された複数の畳み込みゲート制御再帰型ユニット(CGRU)を含み、
現在の時間ステップが前記複数の時間ステップの第1の時間ステップである場合、前記シーケンス内の第1のCGRUは、システムの入力に初期化された状態を受け取り、該受け取った状態を処理して第1の更新された状態を生成するように構成され、前記現在の時間ステップが前記複数の時間ステップの第1の時間ステップでない場合、前記第1のCGRUは、直前の時間ステップにおいて前記シーケンス内の最後のCGRUによって生成された状態を受け取り、該受け取った状態を処理して更新された状態を生成するように構成され、
前記時間ステップにおけるそれぞれのその他のCGRUが、前記シーケンス内の前のCGRUによって更新された前記状態を受け取り、前記受け取られた状態を更新するように構成される、システム。
各CGRUが、主畳み込みゲートを含み、前記主畳み込みゲートが、g =σ(U' * s + B')を満たす主畳み込みゲート出力gを生成するように構成され、ここで、sが、前記CGRUによって受け取られた前記状態であり、U' * sが、前記主畳み込みゲートのカーネルバンクと前記状態との畳み込みであり、B'が、前記主畳み込みゲートに関するバイアスベクトルである請求項1に記載のシステム。
各CGRUが、忘却畳み込みゲートをさらに含み、前記忘却畳み込みゲートが、r =σ(U'' * s + B'')を満たす忘却畳み込みゲート出力rを生成するように構成され、ここで、sが、前記CGRUによって受け取られた前記状態であり、U'' * sが、前記忘却畳み込みゲートのカーネルバンクと前記状態との畳み込みであり、B''が、前記忘却畳み込みゲートに関するバイアスベクトルである請求項2に記載のシステム。
前記CGRUによって更新された更新された内部状態CGRU(s)が、
CGRU(s) = u・s + (1 - u)・tanh(U * (r・s) + B)
を満たし、ここで、Uが、GRUのカーネルバンクであり、Bが、バイアスベクトルであり、r・sが、点別のベクトル積を示す請求項3に記載のシステム。
前記最後の時間ステップの後に前記更新された状態を修正することが、
前記最後の時間ステップの後に前記更新された状態の第1の列の各成分に出力パラメータ行列を適用することを含む請求項1から4のいずれか一項に記載のシステム。
1つまたは複数のコンピュータによって実行されるときに前記1つまたは複数のコンピュータに請求項1から5のいずれか一項に記載のCGRNを実装させる命令を記憶する1つまたは複数のコンピュータストレージ媒体。
システムの入力を受け取るステップと、
請求項1から5のいずれか一項に記載のCGRNを使用して前記システムの入力を処理して前記システムの入力に関するCGRNの出力を生成するステップとを含む方法。
方法であって、
次元x×y×mを有するテンソルである状態を保持することであって、x、y、およびmが、それぞれ1よりも大きい、保持することと、
複数の時間ステップの各々に関して、複数の畳み込みゲートを通じて現在保持されている状態を処理することによって前記現在保持されている状態を更新することと、
前記複数の時間ステップの中の最後の時間ステップの後に、前記更新された状態を出力層を通じて処理することであって、前記出力層が、前記複数の時間ステップの中の前記最後の時間ステップの後に前記更新された状態を受け取り、前記更新された状態を修正して畳み込みゲート制御再帰型ニューラルネットワーク(CGRN)の出力を生成するように構成される、処理することと
を行うようにCGRNを動作させるステップと、
ニューラルネットワークシステムによって、前記CGRNの前記状態をシステムの入力に初期化するステップとを含み、
前記CGRNが、シーケンス内に配列された複数の畳み込みゲート制御再帰型ユニット(CGRU)を含み、
前記方法がさらに、
現在の時間ステップが前記複数の時間ステップの第1の時間ステップである場合、システムの入力に初期化された状態を受け取り、該受け取った状態を処理して第1の更新された状態を生成するように前記シーケンス内の第1のCGRUを動作させるステップと、
前記現在の時間ステップが前記複数の時間ステップの第1の時間ステップでない場合、直前の時間ステップにおいて前記シーケンス内の最後のCGRUによって生成された状態を受け取り、該受け取った状態を処理して更新された状態を生成するように前記第1のCGRUを動作させるステップとを含み、
前記時間ステップにおけるそれぞれのその他のCGRUが、前記シーケンス内の前のCGRUによって更新された前記状態を受け取り、前記受け取られた状態を更新するように構成される、方法。
各CGRUが、主畳み込みゲートを含み、前記方法が、g =σ(U' * s + B')を満たす主畳み込みゲート出力gを生成するように前記主畳み込みゲートを動作させるステップを含み、ここで、sが、前記CGRUによって受け取られた前記状態であり、U' * sが、前記主畳み込みゲートのカーネルバンクと前記状態との畳み込みであり、B'が、前記主畳み込みゲートに関するバイアスベクトルである請求項8に記載の方法。
各CGRUが、忘却畳み込みゲートをさらに含み、前記方法が、r =σ(U'' * s + B'')を満たす忘却畳み込みゲート出力rを生成するように前記忘却畳み込みゲートを動作させるステップを含み、ここで、sが、前記CGRUによって受け取られた前記状態であり、U'' * sが、前記忘却畳み込みゲートのカーネルバンクと前記状態との畳み込みであり、B''が、前記忘却畳み込みゲートに関するバイアスベクトルである請求項9に記載の方法。
前記CGRUによって更新された更新された内部状態CGRU(s)が、
CGRU(s) = u・s + (1 - u)・tanh(U * (r・s) + B)
を満たし、ここで、Uが、GRUのカーネルバンクであり、Bが、バイアスベクトルであり、r・sが、点別のベクトル積を示す請求項10に記載の方法。
前記最後の時間ステップの後に前記更新された状態を修正することが、
前記最後の時間ステップの後に前記更新された状態の第1の列の各成分に出力パラメータ行列を適用することを含む請求項8から11のいずれか一項に記載の方法。
コンピューティング装置によって実行されるときに前記コンピューティング装置に請求項8から12のいずれか一項に記載の方法を実行させる命令を含むコンピュータプログラム。
JP2018524364A 2015-11-12 2016-11-11 畳み込みゲート制御再帰型ニューラルネットワーク Active JP6676165B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562254702P 2015-11-12 2015-11-12
US62/254,702 2015-11-12
PCT/US2016/061670 WO2017083752A1 (en) 2015-11-12 2016-11-11 Convolutional gated recurrent neural networks

Publications (2)

Publication Number Publication Date
JP2018533804A JP2018533804A (ja) 2018-11-15
JP6676165B2 true JP6676165B2 (ja) 2020-04-08

Family

ID=57485886

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018524364A Active JP6676165B2 (ja) 2015-11-12 2016-11-11 畳み込みゲート制御再帰型ニューラルネットワーク

Country Status (6)

Country Link
US (1) US10977547B2 (ja)
EP (1) EP3360081A1 (ja)
JP (1) JP6676165B2 (ja)
KR (1) KR102271262B1 (ja)
CN (1) CN108351982B (ja)
WO (1) WO2017083752A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10229111B1 (en) * 2016-02-03 2019-03-12 Google Llc Sentence compression using recurrent neural networks
US10896367B2 (en) * 2017-03-07 2021-01-19 Google Llc Depth concatenation using a matrix computation unit
US10447635B2 (en) 2017-05-17 2019-10-15 Slice Technologies, Inc. Filtering electronic messages
WO2018213840A1 (en) 2017-05-19 2018-11-22 Google Llc Depthwise separable convolutions for neural machine translation
US10334456B2 (en) * 2017-07-06 2019-06-25 Futurewei Technologies, Inc. Optimizing cellular networks using deep learning
US10949328B2 (en) 2017-08-19 2021-03-16 Wave Computing, Inc. Data flow graph computation using exceptions
US11106976B2 (en) 2017-08-19 2021-08-31 Wave Computing, Inc. Neural network output layer for machine learning
CN109492747A (zh) * 2017-09-13 2019-03-19 杭州海康威视数字技术股份有限公司 一种神经网络的网络结构生成方法及装置
WO2019084254A1 (en) * 2017-10-27 2019-05-02 Wave Computing, Inc. TENSEUR HANDLING IN A NEURONAL NETWORK
WO2019089553A1 (en) * 2017-10-31 2019-05-09 Wave Computing, Inc. Tensor radix point calculation in a neural network
US10977546B2 (en) 2017-11-29 2021-04-13 International Business Machines Corporation Short depth circuits as quantum classifiers
CN107798385B (zh) * 2017-12-08 2020-03-17 电子科技大学 基于块张量分解的循环神经网络稀疏连接方法
US10628295B2 (en) 2017-12-26 2020-04-21 Samsung Electronics Co., Ltd. Computing mechanisms using lookup tables stored on memory
US10732929B2 (en) * 2018-01-09 2020-08-04 Samsung Electronics Co., Ltd. Computing accelerator using a lookup table
US11803883B2 (en) 2018-01-29 2023-10-31 Nielsen Consumer Llc Quality assurance for labeled training data
CN108282262B (zh) * 2018-04-16 2019-11-26 西安电子科技大学 基于门控循环单元深度网络的智能时序信号分类方法
US10776923B2 (en) 2018-06-21 2020-09-15 International Business Machines Corporation Segmenting irregular shapes in images using deep region growing
US10643092B2 (en) 2018-06-21 2020-05-05 International Business Machines Corporation Segmenting irregular shapes in images using deep region growing with an image pyramid
WO2020013482A1 (ko) 2018-07-10 2020-01-16 주식회사 엘지화학 옥시수산화질산철의 제조방법, 이로부터 제조된 옥시수산화질산철을 포함하는 리튬 이차전지용 양극 및 이를 구비한 리튬 이차전지
US11645178B2 (en) 2018-07-27 2023-05-09 MIPS Tech, LLC Fail-safe semi-autonomous or autonomous vehicle processor array redundancy which permits an agent to perform a function based on comparing valid output from sets of redundant processors
CN111160516B (zh) * 2018-11-07 2023-09-05 杭州海康威视数字技术股份有限公司 一种深度神经网络的卷积层稀疏化方法及装置
US11416733B2 (en) * 2018-11-19 2022-08-16 Google Llc Multi-task recurrent neural networks
CN111612489B (zh) * 2019-02-25 2024-03-29 北京嘀嘀无限科技发展有限公司 订单量的预测方法、装置及电子设备
US11481472B2 (en) 2019-04-01 2022-10-25 Wave Computing, Inc. Integer matrix multiplication engine using pipelining
US11227030B2 (en) 2019-04-01 2022-01-18 Wave Computing, Inc. Matrix multiplication engine using pipelining
CN111693667A (zh) * 2020-05-06 2020-09-22 杭州电子科技大学 一种基于门控递归阵列水质检测系统及方法
CN112052894B (zh) * 2020-09-02 2023-02-07 北京理工大学 一种动力舱状态实时监控评价方法
US20220121901A1 (en) * 2020-10-20 2022-04-21 International Business Machines Corporation Gated unit for a gated recurrent neural network
US20240212672A1 (en) * 2021-04-26 2024-06-27 The Trustees Of Dartmouth College Low power analog circuitry for artificial neural networks

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305072A (ja) * 2006-05-15 2007-11-22 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP5368687B2 (ja) 2007-09-26 2013-12-18 キヤノン株式会社 演算処理装置および方法
CN102934131A (zh) * 2010-04-14 2013-02-13 西门子公司 用于计算机辅助地学习递归神经网络以对动态系统建模的方法
US9165243B2 (en) * 2012-02-15 2015-10-20 Microsoft Technology Licensing, Llc Tensor deep stacked neural network
US9620108B2 (en) * 2013-12-10 2017-04-11 Google Inc. Processing acoustic sequences using long short-term memory (LSTM) neural networks that include recurrent projection layers

Also Published As

Publication number Publication date
KR20180082531A (ko) 2018-07-18
WO2017083752A1 (en) 2017-05-18
KR102271262B1 (ko) 2021-06-30
JP2018533804A (ja) 2018-11-15
CN108351982B (zh) 2022-07-08
EP3360081A1 (en) 2018-08-15
US10977547B2 (en) 2021-04-13
CN108351982A (zh) 2018-07-31
US20170140263A1 (en) 2017-05-18

Similar Documents

Publication Publication Date Title
JP6676165B2 (ja) 畳み込みゲート制御再帰型ニューラルネットワーク
JP6666457B2 (ja) リカレントニューラルネットワークモデルの圧縮
US20210117801A1 (en) Augmenting neural networks with external memory
US11715009B2 (en) Training neural networks using synthetic gradients
US10083169B1 (en) Topic-based sequence modeling neural networks
US20230289598A1 (en) Augmented recurrent neural network with external memory
JP2019533257A (ja) ニューラルアーキテクチャ検索
US11200482B2 (en) Recurrent environment predictors
CA3004885A1 (en) Asynchronous deep reinforcement learning
EP3207507B1 (en) Augmenting neural networks with external memory
JP2019517075A (ja) 比較セットを使用する入力例の分類
WO2019165462A1 (en) Unsupervised neural network training using learned optimizers
US11755879B2 (en) Low-pass recurrent neural network systems with memory
JP2020506488A (ja) バッチ再正規化層
WO2019075267A1 (en) ARTIFICIAL NEURON NETWORK AUTO-SYNCHRONIZATION ACTIVATION LAYERS
US10635972B1 (en) Recurrent neural networks with rectified linear units
US11893480B1 (en) Reinforcement learning with scheduled auxiliary control

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180531

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180531

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191008

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200311

R150 Certificate of patent or registration of utility model

Ref document number: 6676165

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250