「ゲート付き再帰型ユニット(GRU)の詳細な解説:RNNの数学的背後理論の理解」

GRUの詳細な解説:RNNの理論の理解

ゲート付き再帰ユニット(GRU)は、長期記憶(LSTM)の簡略版です。この記事では、それがどのように機能するかを見ていきましょう。

Photo by Laila Gebhard on Unsplash

この記事では、ゲート付き再帰ユニット(GRU)の動作について説明します。GRUは、長期記憶(LSTM)の事前知識があると簡単に理解できるため、事前にLSTMについて学ぶことを強くお勧めします。LSTMに関する私の記事をご覧ください。

バニラRNNからLSTMへの実践的なガイド | Shivamshinde著 | 2023年1月 | VoAGI

ゲート付き再帰ユニット(GRU)は、長期記憶(LSTM)ユニットの簡略版です。どちらも再帰ニューラルネットワークにおいて有用な情報を長く保持するために使用されます。どちらも同じくらい優れていますが、使用ケースによってパフォーマンスが異なります。ある使用ケースでは、LSTMの方がより良い結果を出し、別の使用ケースではGRUの方がより良い結果を出すことがあります。実際のモデルトレーニングには、パフォーマンスが高い方を使用する必要があります。

ただし、ネットワークでGRUを使用するといくつかの利点があります。

  1. この記事で見るように、GRUには2つのゲートがあり、トレーニングがより速くなります。これはメモリと処理能力が少ない場合に役立ちます。
  2. また、小規模なデータセットで優れた結果を提供します。

それでは、GRUの動作について理解しましょう。

以下の図のシンボルの意味に注意してください:

以下の方程式中の変数の意味

Wxz、Wxr、Wxgは、入力ベクトルx(t)との接続のための3つのゲートの重み行列です。

Whz、Whr、Whgは、直前の状態h(t-1)との接続のための3つのゲートの重み行列です。

bz、br、bgは、3つのゲートのバイアス項です。

GRUに関する基本情報

高レベルでは、GRUは入力と出力の数が同じ単純なRNNユニットの改良版と考えることができます。ただし、GRUの内部構造は若干異なります。

LSTMとは異なり、GRUには1つの状態ベクトルしかありません。GRUの場合、長期および短期ベクトルは1つに組み合わされます。

GRUは3つのブロックで構成されています。それらは次のとおりです。

  1. 基本RNNブロック、g(t)
  2. 無駄な情報を忘れ、新しい重要な情報を覚える役割を果たすゲート、z(t)
  3. 前の状態のどの部分を入力として使用するかを決定するゲート、r(t)

GRUは2つの入力を受け取ります。それらは次のとおりです。

  1. 前のセルの状態、h(t-1)
  2. トレーニングデータの入力、x(t)

GRUセルは2つの項を出力します。それらは次のとおりです。

  1. 現在のセルの状態、h(t)
  2. 現在のセルの予測、y(t)

それでは、各出力が入力を使用して計算される方法を理解しましょう。

現在のセルの状態の計算

基本的に、セルの状態は2つの量の加算によって求められます。第1の量は、前の状態からどれだけ忘れるかを示します。そして、第2の量は、トレーニングデータの入力からどれだけ覚えるかを示します。

まずは、第1の量について理解しましょう。

First Part Diagram

上記の図でわかるように、z(t)は前の状態とトレーニングデータを入力として受け取ります。これは、忘却ゲートのような役割を果たしています。z(t)ゲートの値は、この時間ステップで前の状態のどの部分を忘れるかを決定します。前の状態とトレーニング入力は、それぞれの重みとバイアスとの積を取り、その合計にバイアスを加えたものです。この合計にシグモイド関数を適用すると、z(t)の値が得られます。前の状態とz(t)の値の要素ごとの積は、現在の時間ステップの状態を計算するために必要な最初の量を与えます。最初の量は、上記の図で緑色で表示されています。

First Quantity Equation

2番目の量を理解しましょう。

Second Part Diagram

z(t)の値は、最初の量の計算で説明したように計算されます。しかし、ここでは(1-z(t))が入力ゲートとして機能します。基本的なRNNセルg(t)は2つの入力を受け取ります。

  1. トレーニングデータの入力、x(t)
  2. r(t)と前の状態h(t-1)の要素ごとの積

r(t)の計算方法は、z(t)と同じですが、計算に使用される重みとバイアスが異なります。r(t)の値は、単純なRNNセルg(t)に入力として与える前の状態のどの部分を与えるべきかを示します。

g(t)の両方の入力は、それぞれの重みと乗算され、その合計にバイアス項が加えられます。その後、この最終的な合計値はハイパボリックタンジェント関数に渡され、g(t)の値を得ます。

今度は、g(t)と(1-z(t))、または入力ゲートの要素ごとの積が、現在の時間ステップの状態を計算するために必要な2番目の量を与えます。2番目の量は、上記の図で緑色で表示されています。

これで、両方の量を見つけたので、それらを合計することで現在の時間ステップの状態が得られます。

calculation of the current step and prediction

GRUセルでは、現在の状態の値は予測と同じです。したがって、現在の状態を既に計算しているため、現在の時間ステップの予測も計算されています。

Current State or Current Prediction

これまでに、GRUの全体を理解するために必要なさまざまな部分を見てきました。では、今まで見てきた部分をすべて組み合わせましょう。

Whole GRU Diagram

これがGRUネットワーク全体のダイアグラムです。

この記事がお気に召したでしょうか。記事中の図は手書きで描かれました。GRUを理解するために直感的でわかりやすい(そして散らかりすぎていない)と思います。記事についてのご意見があれば、ぜひお知らせください。また、記事がお気に入りの場合は、拍手をお願いします。

私とつながるには

LinkedIn

ウェブサイト

[email protected]までメールしてください

素晴らしい一日を!

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

音声合成:進化、倫理、そして法律

ロマン・ガーリン、シニアバイスプレジデント @イノベーション、スポートレーダー この記事では、音声合成の進化を辿り、それ...

人工知能

「コーディング経験なしでAIエージェンシーを始める方法」

「次の10年で最も大きなビジネスの機会の1つを紹介させてください」

コンピュータサイエンス

「アリババは、量子コンピューティングよりもこれを優先します」

中国のテック巨人であるアリババは最近、量子コンピューティング部門を廃止するという戦略的な重点の大幅な転換を発表しまし...

AIニュース

「チャンドラヤーン3の着陸:AIとセンサーがISROの壮大な月探査を支援」

宇宙探査の魅惑的な広がりの中で、すべてのミッションは未知へのサイコロのような賭けです。インドの国立宇宙機関であるイン...

機械学習

BYOL(Bootstrap Your Own Latent)— コントラスティブな自己教示学習の代替手段

『今日の論文分析では、BYOL(Bootstrap Your Own Latent)の背後にある論文に詳しく触れますこれは、対比的な自己教師あり学...

機械学習

統合と自動化の簡素化:Boomi CTOが開発者と共有するビジョン

アイと自動化を活用した民主化された統合プラットフォームは、複雑なタスクを単純化し、持続的な進化を推進します