162
правки
Изменения
Нет описания правки
<math>h_i</math> {{---}} скрытое состояние энкодера.
''Зеленые блокиБлоки энкодера (зеленый)'' {{---}} блоки энкодера получающие на вход <math>x_i</math> и передающие скрытое состояние <math>h_i</math> на следующую итерацию.
<math>d_i</math> {{---}} скрытое состояние декодера.
<math>y_i</math> {{---}} слова в предложении на языке ''B''.
''Фиолетовые блокиБлоки декодера (фиолетовый)'' {{---}} блоки декодера получающие на вход <math>y_{i-1}</math> или специальный токен '''start''' в случае первой итерации и возвращаюшие <math>y_i</math> {{---}} слова в предложении на языке ''B''.
Передают <math>d_i</math> {{---}} скрытое состояние декодера на следующую итерацию.
Перевод считается завершенным при <math>y_i</math>, равном специальному токену '''end'''.
Здесь <math>x_i, h_i, d_i, y_i</math> имееют те же назначения, что и в варианте без механизма внимания.
''Желтый блокАггрегатор скрытых состояний энкодера (желтый)'' {{---}} аггрегирует в себе все вектора <math>h_i</math> и возвращает всю последовательность векторов <math>h = [h_1, h_2, h_3, h_4]</math>.
<math>СV_i</math> {{---}} вектор контекста на итерации <math>i</math>.
''Красные блокиБлоки механизма внимания (красный)'' {{- --}} механизм внимания. Принимает <math>h</math> и <math>d_{i - 1}</math>, возвращает <math>СV_i</math>.
''Фиолетовые блокиБлоки декодера (фиолетовый)'' {{- --}} по сравнению с обычной ''Seq2Seq'' сетью меняются входные данные. Теперь на итерации <math>i</math> на вход подается не <math>y_{i-1}</math>, а конкатенация <math>y_{i-1}</math> и <math>CV_i</math>.
Таким образом при помощи механизма внимания достигается "фокусирование" декодера на определенных скрытых состояниях. В случаях машинного перевода эта возможность помогает декодеру предсказывать на какие скрытые сосояния при исходных определенных словах на языке ''A'' необходимо обратить больше внимания при переводе данного слова на язык ''B''.