TimeDistributed wrapper'ın Keras'ta ne yaptığını anlamaya çalışıyorum.
TimeDistributed'ın "bir girdinin her geçici dilimine bir katman uyguladığını" anlıyorum.
Ama biraz deney yaptım ve anlayamadığım sonuçları aldım.
Kısacası, LSTM katmanıyla bağlantılı olarak TimeDistributed ve just Dense katman aynı sonuçları verir.
model = Sequential()
model.add(LSTM(5, input_shape = (10, 20), return_sequences = True))
model.add(TimeDistributed(Dense(1)))
print(model.output_shape)
model = Sequential()
model.add(LSTM(5, input_shape = (10, 20), return_sequences = True))
model.add((Dense(1)))
print(model.output_shape)
Her iki model için de (Yok, 10, 1) çıktı şeklini aldım .
Bir RNN katmanından sonra TimeDistributed ve Dense katman arasındaki farkı açıklayan var mı?
Dense
girdiyi düzleştiren ve sonra yeniden şekillendiren katman arasında bir ayrım yapmak , dolayısıyla farklı zaman adımlarını bağlamak ve daha fazla parametreye sahip olmak veTimeDistributed
zaman adımlarını ayrı tutmak (dolayısıyla daha az parametreye sahip olmak) idi. Senin durumundaDense
500 paramter olmalıydı,TimeDistributed
sadece 50