Tensorflow имеет пример модели перевода seq2seq, используя внимание, в github link
В классе Decoder определен слой gru, и он используется в функции call()
,код:
output, state = self.gru(x)
Мой вопрос: состояние ячейки gru не может быть обновлено?В той же партии, каждая отметка времени использует одно и то же состояние ячейки? Правильно ли я понимаю?
output, state = self.gru(x,initial_state=context_vector)
Затем я использую этот код и переобучаю модель. Когда это поезд, нет очевидной разницы.
И есть потери после 10 эпох
Epoch 10 Batch 374 Loss 0.1384
Но результат хуже: вызов gru (x) вызов gru (x, context_vector))
Но есть и предложение, которое может дать правильный результат, например
, вызывающее gru (x) вызов gru (x, context_vector)
Я бы хотел, чтобы кто-нибудь смог это объяснить.
И, наконец, простите мой хромой английский ...