Модель кодер-декодер с механизмом внимания
Кодер-декодер-модели подходят для задач, где длины входной и выходной последовательностей являются переменными [9]. Кодер — это нейронная сеть, которая трансформирует входные данные в некоторое промежуточное представление и выделяет признаки. Декодер — это, как правило, рекуррентная искусственная нейронная сеть (РИНC) [10], которая получает на вход это промежуточное представление для генерации выходных последовательностей.
В работе [9] в качестве декодера было предложено использовать рекуррентный генератор последовательностей (РГП), основанный на механизме внимания. В качестве реализации механизма внимания применялся многослойный перцептрон (MLP) [11]. РГП — это РИНС, которая генерирует случайную выходную последовательность y(y1, …, yL) по входу h длины L. РГП состоит из РИНС и подсети, называемой механизмом внимания (attention-mechanism). Механизм внимания выбирает некоторую часть входной последовательности, которая затем применяется для обновления скрытых состояний РИНС и для предсказания следующего выходного значения. На i-м шаге РГП генерирует выход yi, фокусируясь на определенных элементах h:
i Attend(si1, i1, ); h
L gi i j j, h ; j1
yi Generate(si1, gi),
где si–1 — (i–1)-е состояние РИНС, которое называется генератором (Generator), i–1 — вектор весов внимания (attention weights), который также часто называется выравниванием [9]. В работе [12] gi было названо проблеском (glimpse). Шаг завершается вычислением нового состояния генератора si Recurrency(si1, g yi, i).
Recurrency обычно представляет из себя LSTMмодули.
Выход
Декодер
MLP Проблеск
Dtl
Dt–1
Кодер
|