2021李宏毅机器学习笔记--15 Pointer Network
摘要
传统的 Seq2Seq 模型中 Decoder 输出的目标数量是固定的,例如翻译时 Decoder 预测的目标数量等于字典的大小。这导致 Seq2Seq 不能用于一些组合优化的问题,例如凸包问题,三角剖分,旅行商问题 (TSP) 等。Pointer Network 可以解决输出字典大小可变的问题,Pointer Network 的输出字典大小等于 Encoder 输入序列的长度并修改了 Attention 的方法,根据 Attention 的值从 Encoder 的输入中选择一个作为 Decoder 的输出。
一、Pointer Network
问题的原始描述是有一堆的点,要找出最外围的点,使得这些点连起来,能够包围所有的点。
现在用神经网络解决:把所有点的坐标丢到NN里面,要求得到最外围点的下标。
可以看到,输入的Sequence是所有的点,输出的Sequence是包围所有点的点
这个问题实际上可以看做是Sequence-to-sequence问题。
Sequence2Sequence(简称seq2seq)模型是RNN的一个重要的应用场景,顾名思义,它实现了把一个序列转换成另外一个序列的功能,并且不要求输入序列和输出序列等长。