Целое число, количество символов, попадающих в встраивание.
embedding_size
Целое число, длина вектора встраивания для каждого символа.
output_projection
None или пара (W, B) весов проекции вывода и смещений; W имеет форму [размер_вывода x количество_символов], а B — форму [количество_символов]; если задано и feed_previous=True, каждый предыдущий вывод сначала умножается на W и добавляется B.
feed_previous
Булево значение; если True, используется только первый из decoder_inputs (символ "GO"), а все остальные входные данные декодера генерируются следующим образом: next = embedding_lookup(embedding, argmax(previous_output)). По сути, это реализует жадный декодер. Его также можно использовать во время обучения для эмуляции http://arxiv.org/abs/1506.03099. Если False, decoder_inputs используются как задано (стандартный случай декодера).
update_embedding_for_previous
Булево значение; если False и feed_previous=True, только встраивание для первого символа decoder_inputs (символ "GO") будет обновляться обратным распространением. Встраивания для символов, сгенерированных самим декодером, остаются неизменными. Этот параметр не имеет эффекта, если feed_previous=False.
scope
Область переменных для созданной подграфа; по умолчанию «embedding_rnn_decoder».
Возвращаемые значения
Кортеж вида (выводы, состояние), где: выводы: список такой же длины, как decoder_inputs, состоящий из 2D тензоров. Вывод имеет форму [размер_пакета x размер_вывода_ячейки], когда output_projection не равно None (и представляет собой плотное представление предсказанных токенов). Он имеет форму [размер_пакета x количество_символов_декодера], когда output_projection равно None. состояние: состояние каждой ячейки декодера в каждом шаге времени. Это список длиной len(decoder_inputs) — по одному элементу для каждого шага времени. Это 2D тензор формы [размер_пакета x размер_состояния_ячейки].