Вывод слоя встраивания в декодере (нейронный машинный перевод) - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь понять модель внимания, используя следующий учебник https://www.tensorflow.org/tutorials/text/nmt_with_attention

В разделе «Декодер» написано:

# x shape after passing through embedding == (batch_size, 1, embedding_dim)
    x = self.embedding(x)

Я не понимаю почему встраиваемый вывод равен (batch_size, 1, embedding_dim). Согласно документации (https://www.tensorflow.org/api_docs/python/tf/keras/layers/Embedding) вывод должен быть (batch_size, input_length, output_dim), как в случае с учебником (batch_size, max_len, embedding_dim).

Вопрос: Почему размер secode = 1, но не max_len?

1 Ответ

1 голос
/ 06 августа 2020

Модель в этом учебном пособии представляет собой последовательность, которая должна быть упорядочена, поэтому на каждом шаге модель получает Одно слово всего текста. Вот почему max_len в (batch_size, max_len, embedding_dim) равно 1. каждое слово представлено ОДНИМ вектором size = embedding_dim

...