Apa arti dari "Jumlah unit dalam sel LSTM"?

19

Dari kode Tensorflow : Tensorflow. RnnCell.

num_units: int, The number of units in the LSTM cell.

Tidak dapat memahami apa artinya ini. Apa unit sel LSTM. Input, Output dan lupakan gerbang? Apakah ini berarti "jumlah unit dalam lapisan proyeksi berulang untuk Deep LSTM". Lalu mengapa ini disebut "jumlah unit dalam sel LSTM"? Apa itu sel LSTM dan apa perbedaan blok VS LSTM, apakah unit LSTM minimal jika bukan sel?

Brans Ds
sumber
FYI Memahami unit LSTM vs sel
Franck Dernoncourt
Jika layer berisi beberapa unit LSTM paralel, bagaimana ia menangani input x? case 1: h (1) = f (x) h (t) = f (h (t-1), x) h (t + 1) = f (h (t), x) case 2: h (1 ) = f (x) h (t) = h (t-1) Mungkin ada kasus lain seperti ResNet.
user1908842

Jawaban:

10

Seperti komentar bermanfaat dalam fungsi itu mengatakan,

Definisi sel dalam paket ini berbeda dari definisi yang digunakan dalam literatur. Dalam literatur, sel mengacu pada objek dengan output skalar tunggal. Definisi dalam paket ini mengacu pada array horizontal dari unit-unit tersebut.

Intinya, layer akan berisi beberapa unit LSTM paralel, identik secara struktural tetapi masing-masing akhirnya "belajar mengingat" beberapa hal yang berbeda.

Peter adalah
sumber
1
Terima kasih :) Komentar itu ditambahkan 7 hari yang lalu, setelah pertanyaan ini. Setelah beberapa penggalian, saya bertanya kepada tim Tensorflow di grup Google mengapa definisi sel LSTM berbeda dari sel LSTM literatur .. dan mereka telah menambahkan komentar itu :)
Brans Ds
6

Kebanyakan diagram LSTM / RNN hanya menunjukkan sel-sel yang tersembunyi tetapi tidak pernah unit dari sel-sel itu. Karena itu, kebingungan. Setiap lapisan tersembunyi memiliki sel tersembunyi, sebanyak jumlah langkah waktu. Dan selanjutnya, setiap sel tersembunyi terdiri dari beberapa unit tersembunyi, seperti pada diagram di bawah ini. Oleh karena itu, dimensi matriks lapisan tersembunyi di RNN adalah (jumlah langkah waktu, jumlah unit tersembunyi).

masukkan deskripsi gambar di sini

Garima Jain
sumber
1

Dalam Keras, yang berada di atas TensorFlow atau Theano, saat Anda menelepon model.add(LSTM(num_units)), num_units adalah dimensi ruang output (dari sini , baris 863). Bagi saya, itu berarti num_unitsjumlah unit tersembunyi yang pengaktifannya dikirim ke langkah waktu berikutnya.

StorScerceress
sumber
0

Jumlah unit dalam RNN adalah jumlah unit memori RNN untuk setiap input urutan secara vertikal yang dilampirkan satu sama lain, dan masing-masing meneruskan informasi yang difilter ke unit memori berikutnya.

Ingat konsep ini terinspirasi dari konsep ilmu komputer tentang aliran alokasi memori ke berbagai unit ukuran bit.

Raj
sumber