Compararea numărului de parametri
Ai văzut că reprezentarea one-hot nu este o reprezentare bună a cuvintelor, deoarece este foarte sparsă. Folosirea stratului Embedding creează o reprezentare densă a vectorilor, însă necesită și un număr mare de parametri de învățat.
În acest exercițiu vei compara numărul de parametri al două modele – unul care folosește embeddings și altul care folosește codificarea one-hot – pentru a observa diferența.
Modelul model_onehot este deja încărcat în mediu, alături de Sequential, Dense și GRU din keras. De asemenea, parametrii vocabulary_size=80000 și sentence_len=200 sunt deja definiți.
Acest exercițiu face parte din cursul
Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras
Instrucțiuni pentru exercițiu
- Importă stratul
Embeddingdinkeras.layers. - La stratul de embedding, folosește dimensiunea vocabularului plus unu ca dimensiune de intrare și dimensiunea propoziției ca lungime de intrare.
- Compilează modelul.
- Afișează rezumatul modelului cu embedding.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Import the embedding layer
from tensorflow.keras.layers import ____
# Create a model with embeddings
model = Sequential(name="emb_model")
model.add(Embedding(input_dim=____, output_dim=wordvec_dim, input_length=____, trainable=True))
model.add(GRU(128))
model.add(Dense(1))
model.____(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Print the summaries of the one-hot model
model_onehot.summary()
# Print the summaries of the model with embeddings
model.____