Я просто строю модель на основе тензорного потока nmt с примером внимания , и мне интересно, нашел ли я ошибку в документации или что-то неправильно понял.
Моя модель не вела себякак и ожидалось, поэтому я составил средние градиенты после каждой партии.
Графики показывают, что градиент recurrent_kernel декодера всегда равен нулю, что я нашел странным.
Предполагая, что это неверноЯ изменил
# passing the concatenated vector to the GRU
output, state = self.gru(x)
на
# passing the concatenated vector to the GRU
output, state = self.gru(x,initial_state=hidden)
Графики теперь более соответствуют моим ожиданиям
Тем не менее, поскольку моя модель обучается, и я до сих пор не совсем уверен, что она в конечном итоге сходится, мне интересно, сможет ли кто-нибудь подтвердить мое предположение о том, что мы должны передать последнее скрытое состояние в декодер в качестве исходного состояния?