1. Nauka
  2. /
  3. Kursy
  4. /
  5. Tłumaczenie maszynowe z Keras

Connected

ćwiczenie

Definiowanie dekodera modelu inferencyjnego

Model inferencyjny to model używany w praktyce do wykonywania tłumaczeń na żądanie użytkownika. W tym ćwiczeniu zaimplementujesz dekoder modelu inferencyjnego.

Dekoder modelu inferencyjnego różni się od dekodera modelu treningowego. Nie możemy podawać dekoderowi francuskich słów, bo właśnie to chcemy przewidywać. Na szczęście istnieje rozwiązanie: możemy wykorzystać przewidziane w poprzednim kroku czasowym słowo francuskie jako wejście dla dekodera modelu inferencyjnego. Dlatego podczas generowania tłumaczenia dekoder musi produkować jedno słowo naraz, przyjmując poprzednie wyjście jako wejście.

W tym ćwiczeniu zaimportowano zmienne hsize (rozmiar ukryty warstwy GRU), fr_len oraz fr_vocab. Pamiętaj, że przedrostek de odnosi się do dekodera.

Instrukcje

100 XP
  • Zdefiniuj warstwę Input, która przyjmuje wsad sekwencji słów francuskich zakodowanych metodą one-hot (długość sekwencji równa 1).
  • Zdefiniuj kolejną warstwę Input, która przyjmuje wsad stanów o rozmiarze hsize – będzie ona służyć do przekazywania poprzedniego stanu do dekodera.
  • Pobierz wyjście i stan dekodera GRU.
  • Zdefiniuj model, który przyjmuje warstwę Input ze słowami francuskimi oraz warstwę Input z poprzednim stanem, a zwraca końcową predykcję i nowy stan GRU.