「ゲート付き再帰型ユニット(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

機械学習

高性能意思決定のためのRLHF:戦略と最適化

はじめに 人間の要因/フィードバックからの強化学習(RLHF)は、RLの原則と人間のフィードバックを組み合わせた新興の分野で...

機械学習

Falcon AI 新しいオープンソースの大規模言語モデル

はじめに Open AIによるGPT(Generative Pre Trained)の発表以来、世界はGenerative AIによって大いに沸き立っています。そ...

機械学習

xAIはPromptIDEを発表しました:Promptエンジニアリングと人工知能AIの透明性における新たなフロンティア

人工知能開発における画期的な一手として、xAIはPromptIDEを公開しました。PromptIDEは、プロンプトエンジニアリングと機械学...

AI研究

『このAI研究は、IFPおよびリポソーム蓄積を予測するための物理ベースの深層学習を発表します』

がん治療の精緻化を追求する中、研究者たちは、腫瘍のダイナミクスを飛躍的に向上させる画期的な解決策を導入しました。この...

データサイエンス

ChatGPTが知能的ですか? 科学的なレビュー

約1年前、OpenAIはChatGPTをリリースし、世界中を席巻しましたChatGPTは、コンピュータとの対話を、従来のより制約の少ない、...