Контекстная векторная форма с использованием Bahdanau Внимание - PullRequest
0 голосов
/ 03 февраля 2020

Я смотрю здесь в классе внимания Богданау. Я заметил, что окончательная форма вектора контекста (batch_size, hidden_size). Мне интересно, как они получили эту форму, учитывая, что Внимание_Весы имеют форму (batch_size, 64, 1), а объекты имеют форму (batch_size, 64, embedding_dim). Они умножили два (я думаю, что это матричный продукт), а затем суммировали по первой оси. Откуда исходит скрытый размер в контекстном векторе?

1 Ответ

1 голос
/ 03 февраля 2020

Вектор контекста, полученный в результате Bahdanau внимания, является средневзвешенным значением всех скрытых состояний кодера. Следующее изображение из Ref показывает, как это рассчитывается. По сути, мы делаем следующее.

  1. Вычисляем вес внимания, который является тензором (batch size, encoder time steps, 1) размера
  2. Умножаем каждое скрытое состояние (batch size, hidden size) поэлементно на значения e. В результате (batch_size, encoder timesteps, hidden size)
  3. Среднее по измерению времени, в результате чего (batch size, hidden size)

enter image description here

...