Je sais comment un RNN, LSTM, réseaux neuronaux, fonction d'activation fonctionne mais à partir de divers modèles LSTM disponibles Je ne sais pas ce que dois-je utiliser pour quelles données et quand. J'ai créé ces 5 modèles en tant qu'échantillon de différents varits de modèles LSTM que j'ai vus mais je ne sais pas quel ensemble de données de séquence optimal devrait utiliser. J'ai la plupart de mes confussion dans les deuxième/troisième lignes de ces modèles. Est-ce que model1 et model4 sont identiques? Pourquoi model1.add(LSTM(10, input_shape=(max_len, 1), return_sequences=False))
est-il différent de model4.add(Embedding(X_train.shape[1], 128, input_length=max_len))
? J'apprécierais beaucoup Si quelqu'un peut expliquer ces cinq modèles en anglais simple.Quand et où devrions-nous utiliser ces modèles Keras LSTM
from keras.layers import Dense, Dropout, Embedding, LSTM, Bidirectional
from keras.models import Sequential
from keras.layers.wrappers import TimeDistributed
#model1
model1 = Sequential()
model1.add(LSTM(10, input_shape=(max_len, 1), return_sequences=False))
model1.add(Dense(1, activation='sigmoid'))
model1.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
print model1.summary()
#model2
model2 = Sequential()
model2.add(LSTM(10, batch_input_shape=(1, 1, 1), return_sequences=False, stateful=True))
model2.add(Dense(1, activation='sigmoid'))
model2.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
print model2.summary()
#model3
model3 = Sequential()
model3.add(TimeDistributed(Dense(X_train.shape[1]), input_shape=(X_train.shape[1],1)))
model3.add(LSTM(10, return_sequences=False))
model3.add(Dense(1, activation='sigmoid'))
model3.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
print model3.summary()
#model4
model4 = Sequential()
model4.add(Embedding(X_train.shape[1], 128, input_length=max_len))
model4.add(LSTM(10))
model4.add(Dense(1, activation='sigmoid'))
model4.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
print model4.summary()
#model5
model5 = Sequential()
model5.add(Embedding(X_train.shape[1], 128, input_length=max_len))
model5.add(Bidirectional(LSTM(10)))
model5.add(Dense(1, activation='sigmoid'))
model5.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
print model5.summary()