LSTMユニットとセルの理解


32

私はしばらくの間LSTMを研究してきました。私はすべてがどのように機能するかを高いレベルで理解しています。ただし、Tensorflowを使用して実装する場合、BasicLSTMCellに多数のユニット(つまりnum_units)パラメーターが必要であることに気付きました。

LSTMのこの非常に徹底的な説明から、単一のLSTMユニットが次のいずれかであることがわかりました。

LSTMユニット

これは実際にはGRUユニットです。

のパラメーターnum_unitsは、BasicLSTMCellレイヤー内で相互に接続するこれらの数を参照していると想定しています。

それは疑問を残します-この文脈での「セル」とは何ですか?「セル」は、通常のフィードフォワードニューラルネットワークのレイヤーと同等ですか?


私はまだ混乱しており、colah.github.io / posts / 2015-08-Understanding-LSTMsを読んでいて、それをよく理解しています。その記事に関して、セルという用語はどのように適用されますか?この記事のLSTMセルは、Tensorflowのようにベクトルであるようです。
ピノキオ

回答:


17

残念ながら用語は一貫していません。num_unitsTensorFlowでは、隠れ状態の数、つまり指定した方程式のの次元です。ht

また、https : //github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/api_docs/python/functions_and_classes/shard9/tf.nn.rnn_cell.RNNCell.mdから:

このパッケージのセルの定義は、文献で使用されている定義とは異なります。文献では、セルは単一のスカラー出力を持つオブジェクトを指します。このパッケージの定義は、このようなユニットの水平配列を指します。

「LSTMレイヤー」はおそらくより明示的です、

def lstm_layer(tparams, state_below, options, prefix='lstm', mask=None):
    nsteps = state_below.shape[0]
    if state_below.ndim == 3:
        n_samples = state_below.shape[1]
    else:
        n_samples = 1

    assert mask is not None
    […]

ああ、そうだとすると、「セル」とは、num_unit相互接続されたLSTMセルのサイズの水平配列です。理にかなっています。それでは、標準のフィードフォワードネットワークの隠れ層に似ていますか?

* LSTM状態単位

@recそれは正しいです
フランクデルノンクール

1
たとえば、@ Sycoraxは、ニューラルネットワークの入力が10タイムステップの時系列である場合、水平次元には10個の要素があります。
フランクデルノンクール

1
私はまだ混乱しており、colah.github.io / posts / 2015-08-Understanding-LSTMsを読んでいて、それをよく理解しています。その記事に関して、セルという用語はどのように適用されますか?この記事のLSTMセルは、Tensorflowのようにベクトルであるようです。
ピノキオ

4

ほとんどのLSTM / RNNダイアグラムは、非表示のセルのみを表示しますが、それらのセルの単位は表示しません。したがって、混乱。各非表示レイヤーには、タイムステップの数と同じ数の非表示セルがあります。さらに、次の図のように、各非表示セルは複数の非表示ユニットで構成されています。したがって、RNNの隠れ層マトリックスの次元は(タイムステップの数、隠れユニットの数)です。

ここに画像の説明を入力してください


4

問題はこの回答で回答したものとほぼ同じですが、この問題をグラフで説明したいと思います。これは、今日、seq2seqモデルで少し混乱しました(@Franck Dernoncourtの回答のおかげで)。この単純なエンコーダー図では:

ここに画像の説明を入力してください

h


私は信じているnum_units = n。この図に
notilas

-1

私の意見では、セルは、隠れノードなどのノードを意味します。これは、隠れノードとも呼ばれ、多層LSTMモデルでは、セルの数はtime_steps * num_layersで計算でき、num_unitsはtime_stepsに等しくなります


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.