Inizia subitoInizia gratis

Definire l'encoder

Qui farai il primo passo verso la creazione di un modello di traduzione automatica: implementare l'encoder. L'encoder che implementerai è un modello molto semplice rispetto ai modelli complessi usati in applicazioni reali come il servizio di traduzione di Google. Ma non preoccuparti: anche se il modello è semplice, i concetti sono gli stessi di quelli più complessi. Qui useremo il prefisso en (ad es. en_gru) per indicare tutto ciò che riguarda l'encoder e de per indicare ciò che riguarda il decoder (ad es. de_gru).

Vedrai che scegliamo en_vocab più piccolo (150) rispetto al valore reale (228) che abbiamo trovato. Ridurre il vocabolario diminuisce l'uso di memoria del modello. Ridurre leggermente il vocabolario va bene perché così rimuoviamo le parole più rare. Nei compiti di traduzione automatica, le parole rare di solito hanno meno valore rispetto a quelle comuni.

Questo esercizio fa parte del corso

Traduzione automatica con Keras

Visualizza corso

Istruzioni dell'esercizio

  • Definisci un livello Input per un input con ampiezza del vocabolario en_vocab e lunghezza di sequenza en_len, usando l'argomento shape.
  • Definisci un livello keras.layers.GRU con hsize unità nascoste che restituisca il suo stato.
  • Ottieni gli output dal livello GRU passando en_inputs e assegna lo stato della GRU a en_state e l'output a en_out.
  • Definisci un keras.models.Model il cui input è en_inputs e il cui output è en_state e stampa il riepilogo del modello.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

import tensorflow.keras as keras

en_len = 15
en_vocab = 150
hsize = 48

# Define an input layer
en_inputs = keras.layers.____(____=____)
# Define a GRU layer which returns the state
en_gru = ____(____, ____=____)
# Get the output and state from the GRU
____, ____ = ____(____)
# Define and print the model summary
encoder = ____(inputs=____, ____=____)
print(encoder.____)
Modifica ed esegui il codice