162
правки
Изменения
Нет описания правки
<math>СV = \sum_{i=1}^m e_i h_i</math>
Результатом работы слоя внимания является <math>CVc</math> который, содержит в себе информацию обо всех скрытых состоянях <math>h_i</math> пропорционально оценке <math>e_i</math>.
== Пример использования для архитектуры ''Seq2Seq'' ==
''Аггрегатор скрытых состояний энкодера (желтый)'' {{---}} аггрегирует в себе все вектора <math>h_i</math> и возвращает всю последовательность векторов <math>h = [h_1, h_2, h_3, h_4]</math>.
<math>СV_ic_i</math> {{---}} вектор контекста на итерации <math>i</math>.
''Блоки механизма внимания (красный)'' {{---}} механизм внимания. Принимает <math>h</math> и <math>d_{i - 1}</math>, возвращает <math>СV_ic_i</math>.
''Блоки декодера (фиолетовый)'' {{---}} по сравнению с обычной ''Seq2Seq'' сетью меняются входные данные. Теперь на итерации <math>i</math> на вход подается не <math>y_{i-1}</math>, а конкатенация <math>y_{i-1}</math> и <math>CV_ic_i</math>.
Таким образом при помощи механизма внимания достигается "фокусирование" декодера на определенных скрытых состояниях. В случаях машинного перевода эта возможность помогает декодеру предсказывать на какие скрытые сосояния при исходных определенных словах на языке ''A'' необходимо обратить больше внимания при переводе данного слова на язык ''B''.