Dalam Keras, data input dibentuk sebagai [sampel, langkah masa, ciri]. Ini bermakna data disusun mengikut urutan panjang tertentu, di mana setiap jujukan mengandungi berbilang ciri.
Sebagai contoh, pertimbangkan visualisasi di bawah, di mana kita mempunyai tiga langkah masa (kotak merah jambu) dan satu ciri (biru kotak):
[Imej tiga kotak merah jambu yang mewakili langkah masa dan satu kotak biru mewakili ciri]
Dalam kes ini, bentuk data kami ialah (1, 3, 1) , di mana:
Apakah LSTM Stateful?
LSTM Stateful mengekalkan keadaan dalaman merentas kelompok, yang bermaksud bahawa output pada langkah masa tertentu bergantung bukan sahaja pada input pada langkah masa itu tetapi juga pada input yang datang sebelum itu. Ini boleh berguna untuk tugasan yang memerlukan model mengingati maklumat sebelumnya, seperti ramalan siri masa atau pemprosesan bahasa semula jadi.
Bagaimana Saiz Kelompok Mempengaruhi LSTM Stateful
Apabila menggunakan LSTM stateful, saiz kelompok menentukan bilangan jujukan yang diproses sekaligus. Jika saiz kelompok ialah 1, model akan memproses setiap jujukan secara individu dan mengekalkan keadaan dalamannya. Ini boleh berguna untuk tugas yang tertib jujukan itu penting, seperti ramalan siri masa.
Jika saiz kelompok lebih besar daripada 1, model akan memproses berbilang jujukan secara selari dan berkongsi keadaan dalamannya merentas mereka. Ini boleh menjadi lebih cekap untuk latihan, tetapi ia juga boleh menjadikan model kurang tepat, terutamanya untuk tugasan yang susunan urutannya penting.
Contoh Penggunaan LSTM Stateful
Berikut ialah coretan kod contoh yang menggunakan rangkaian LSTM stateful untuk meramalkan nilai seterusnya dalam siri masa:
<code class="python">model = Sequential() model.add(LSTM(4, batch_input_shape=(1, look_back, 1), stateful=True)) model.add(Dense(1)) model.compile(loss='mean_squared_error', optimizer='adam') # Train the model for i in range(100): model.fit(trainX, trainY, nb_epoch=1, batch_size=1, verbose=2, shuffle=False) model.reset_states()</code>
Dalam contoh ini, model dilatih menggunakan saiz kelompok 1, yang bermaksud bahawa setiap urutan diproses secara individu. Argumen stateful=True memberitahu model untuk mengekalkan keadaan dalaman merentas kelompok. Fungsi reset_states() digunakan untuk menetapkan semula keadaan dalaman selepas setiap urutan telah diproses.
Atas ialah kandungan terperinci Apakah kesan saiz kelompok pada LSTM Negeri di Keras?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!