1. 序章

このチュートリアルでは、長短期記憶(LSTM)と呼ばれるシーケンシャルタイプのデータで一般的に使用されるリカレントニューラルネットワークの1つのタイプを紹介します。 これは確かに最も一般的に使用されるリカレントニューラルネットワークの1つです。 最初に、ニューラルネットワークの用語とリカレントニューラルネットワークについて簡単に紹介します。

その後、LSTMアーキテクチャについて詳しく説明し、双方向LSTMと単方向LSTMの違いについて説明します。 最後に、両方のタイプのネットワーク用のいくつかのアプリケーションについて説明します。

2. ニューラルネットワーク

ニューラルネットワークは、生物学的ニューラルネットワークのインスピレーションとして明示的に作成されたアルゴリズムです。 ニューラルネットワークの基本は、ネットワークの種類に応じて相互接続されたニューロンです。 当初のアイデアは、人間の脳と同じように機能する人工システムを作成することでした。

ニューラルネットワークには多くの種類がありますが、大まかに3つのクラスに分類されます。

ほとんどの場合、それらの違いは、それらを形成するニューロンのタイプと、情報がネットワークをどのように流れるかです。

このチュートリアルでは、リカレントニューラルネットワークと特にLSTMのみを扱います。

3. リカレントニューラルネットワーク

標準のフィードフォワードニューラルネットワークでは、各入力ベクトルコンポーネントには重みがあり、リカレントネットワークでは、各コンポーネントが同じ重みを共有します。一般に、リカレントネットワークの利点は、入力ベクトルの各位置の重みを共有することです。 また、モデルは、重みを共有することにより、異なる長さのシーケンスを処理できます。 もう1つの利点は、ネットワークが学習する必要のあるパラメーター(重み)の数が減ることです。

リカレントネットワークの基本原理は、入力ベクトルといくつかの情報前のステップ(通常はベクトル)からの計算は、出力と情報を計算するために使用されます 次のステップに渡されます。 一般に、出力値の計算に使用される式は 各ステップはユニット(ブロック)と呼ばれます。

したがって、最も単純なリカレントネットワーク の場合、1つのブロックは次の関係で定義できます。

(1)  

は、入力シーケンスの一部であるベクトルまたは数値であり、反復関係を計算するためのステップを示し、指定された次元の重み行列およびベクトルであり、活性化関数です。 通常、の場合はまたはを取りますが、の場合は出力値を計算するため、またはを取ります。 最後に、下の画像では、このブロックのアーキテクチャ全体を観察できます。

dr

4. LSTM

LSTMは、特殊なタイプのリカレントニューラルネットワークです。 具体的には、このアーキテクチャは、勾配の消失と爆発の問題を解決するために導入されました。 さらに、このタイプのネットワークは、シーケンスの最初と最後の値の関係を認識して、長距離接続を維持するのに適しています。

LSTMモデルは特に表現、 ゲート。 実際、ゲートには3つのタイプがあります。

  • ゲートを忘れる–前のステップからメモリセルからメモリセルが受け取る情報の量を制御します
  • update(入力)ゲート–メモリセルを更新するかどうかを決定します。 また、制御方法多くの情報現在のメモリセル受信からa潜在的に新しい[ X226X]メモリセル。
  • 出力ゲート–次の非表示状態の値を制御します

数学的には、LSTMブロックを次のように定義します。

(2)  

は重み行列とベクトル、はリカレントネットワークの現在の反復、は更新ゲート、は忘却ゲート、は出力ゲート、はメモリセルの潜在的な値、はメモリセルの現在の値、出力値または非表示状態です。 LSTMブロックのアーキテクチャは、次のように表示できます。

5. 双方向LSTM

双方向LSTM(BiLSTM)は、主に自然言語処理で使用されるリカレントニューラルネットワークです。 標準のLSTMとは異なり、入力は両方向に流れ、両側からの情報を利用することができます。 また、シーケンスの両方向における単語とフレーズ間のシーケンシャル依存関係をモデル化するための強力なツールでもあります。

要約すると、BiLSTMは情報の流れの方向を逆にするもう1つのLSTMレイヤーを追加します。 簡単に言うと、入力シーケンスが追加のLSTMレイヤーを逆方向に流れることを意味します。 次に、平均、合計、乗算、連結など、いくつかの方法で両方のLSTMレイヤーからの出力を結合します。

説明のために、展開されたBiLSTMを次の図に示します。

5.1. 利点

このタイプのアーキテクチャには、実際の問題、特にNLPで多くの利点があります。主な理由は、入力シーケンスのすべてのコンポーネントに過去と現在の両方の情報があることです。 このため、BiLSTMは、両方向からのLSTMレイヤーを組み合わせて、より意味のある出力を生成できます。

たとえば、次の文です。

Appleは…

果物としてのリンゴについて、またはアップル社についてかもしれません。 したがって、LSTMは、将来のコンテキストを知らないため、「Apple」が何を意味するのかを知りません。

対照的に、これらの文の両方で最も可能性が高いです:

Appleは、競合他社が単純に再現できないものです。

アップルは私が食べるのが好きなものです。

BiLSTMは、シーケンス(文)のコンポーネント(単語)ごとに異なる出力を持ちます。 結果として 、BiLSTMモデルは、文の分類、翻訳、エンティティ認識などの一部のNLPタスクで役立ちます。 さらに、音声認識、タンパク質構造予測、手書き認識、および同様の分野でのアプリケーションが見つかります。

最後に、LSTMと比較したBiLSTMの欠点に関しては、BiLSTMははるかに低速なモデルであり、トレーニングにより多くの時間を必要とすることを言及する価値があります。 したがって、本当に必要な場合にのみ使用することをお勧めします。

6. 結論

この記事では、BiLSTMと呼ばれる1つのリカレントニューラルネットワークを紹介しました。 ニューラルネットワークを紹介した後、単方向と双方向の両方のLSTMアルゴリズムについて詳しく説明しました。 これらの方法のアルゴリズムの違いに加えて、アプリケーションの主な違いについても説明しました。