Количество целей, выдаваемых Декодером в традиционной модели Seq2Seq, фиксировано, например, количество целей, предсказанных Декодером во время трансляции, равно размеру словаря. Это делает Seq2Seq непригодным для некоторых задач комбинаторной оптимизации, таких как задачи выпуклой оболочки, триангуляция, задача коммивояжера (TSP) и т. д. Pointer Network может решить проблему переменного размера выходного словаря.Размер выходного словаря Pointer Network равен длине входной последовательности Encoder и модифицируется метод Attention.Согласно значению Attention, один из входы кодировщика выбираются как выходы декодера.
1.Pointer Network
Модель Seq2Seq — это модель, включающая кодировщик и декодер, которые могут преобразовывать одну последовательность в другую. Однако прогнозируемый выходной целевой размер модели Seq2Seq является фиксированным, а также в некоторых случаях, когда выходной целевой размер будет меняться, например, во многих задачах комбинаторной оптимизации.
Количество выходных целей задачи комбинаторной оптимизации зависит от длины входной последовательности, например, задача коммивояжера содержит 5 городов (1, 2, 3, 4, 5), а количество целей при выводе прогнозов равно 5. Сеть указателей изменяет способ традиционного внимания, чтобы его можно было использовать для этих комбинированных задач оптимизации. Сеть указателей получит вероятность каждого города во входной последовательности в соответствии с вниманием при прогнозировании вывода (то есть выход выбирается из входа).
1.1 Традиционное внимание
Традиционное внимание будет объединять выходные данные кодировщика в каждый момент времени в соответствии со значением внимания, а затем смешивать их с выходными данными декодера в текущий момент для прогнозирования выходных данных. Как показано в приведенной ниже формуле,eпредставляет вывод кодировщика,dпредставляет вывод декодера,Wиvвсе изучаемые параметры.
1.2 Внимание сети указателей
После того, как Pointer Network вычислит значение Attention, она не объединяет выходные данные Encoder, а использует Attention в качестве входной последовательности.PВероятность выхода на каждой позиции в .
Разница между Pointer Network и Seq2Seq показана на рисунке ниже, на котором показана проблема выпуклой оболочки. Декодер Seq2Seq будет предсказывать вывод каждой позиции (но количество выходных целей фиксировано), в то время как декодер сети указателей напрямую получает вероятность каждой позиции во входной последовательности в соответствии с вниманием и берет входную позицию с наибольшая вероятность в качестве текущего выхода.
2. Экспериментальные результаты
В нижней части рисунка показаны экспериментальные результаты Pointer Network, m — количество точек в обучающих данных, а n — количество точек в тестовых данных. Рисунок (a) представляет собой Seq2Seq с использованием LSTM, обучение и тестирование Seq2Seq должны использовать одинаковое количество точек.