косинусное сходство для внимания декодера в нмт - PullRequest
1 голос
/ 02 марта 2020

Я реализую модель нейронного машинного перевода, и для части декодера (с механизмом внимания) я хотел бы вычислить косинусное сходство для нахождения оценок. Вот функция:

оценка (a, b) = / || a || || Ь ||

В моем случае:

        a = htilde_t (N, H)

        b = h (S, N, H)

        the output should be (S, N)

Моя путаница связана с их размерами, и я не знаю, как решить это в pytorch.

1 Ответ

0 голосов
/ 02 марта 2020

См. Здесь: https://pytorch.org/docs/master/nn.html?highlight=cosine#torch .nn.CosineShogity

cos = nn.CosineSimilarity(dim=2, eps=1e-6)
output = cos(a.unsqueeze(0),b)

вам нужно отжать, чтобы добавить измерение-призрак, чтобы оба ввода имели одинаковый размер:

    Input1: (∗1,D,∗2) where D is at position dim

    Input2: (∗1,D,∗2) , same shape as the Input1

    Output: (∗1,∗2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...