必威体育Betway必威体育官网
当前位置:首页 > IT技术

【论文笔记】Pointer Network

时间:2019-10-30 01:43:19来源:IT技术作者:seo实验室小编阅读:84次「手机版」
 

pointer

Pointer Network

Abstract  我们引入了一种新的神经网络结构来学习输出序列的条件概率,其中的元素是与输入序列中的位置对应的离散序列。这类问题不能通过现在的序列对序列和NTM(Neural Turing Mechines)解决,因为在每个步骤的输出的目标数量取决于输入的长度,这是可变的。诸如排列可变长度序列和各种组合优化问题的问题都属于这个类型。我们的模型采用最近提出的神经注意机制解决了可变大小输出字典的问题。它不同于前面提出的,不是使用注意力机制/将编码器的隐层单元混合在每个解码阶段的上下文向量中,而使用注意力机制作为指针来选择输入序列的一个成员来作为输出序列。我们把这种体系结构叫做指针网络。Ptr-Nets不仅改进了序列到序列(seq-to-seq)的输入注意力机制,而且允许我们将模型泛化去处理可变字典。

1 Introduction

RNN用于序列上的函数学习已经有30年的历史。然而,它们的结构限制了它们用固定的帧频作为输入输出。最近引入了一种序列对序列模式(seq-to-seq)[1] 消除了这些约束:它使用一个RNN将输入映射成为一个嵌入(embedding),用另一个RNN将这个嵌入(embedding)映射为输出。Bahdanau使用了基于文本的注意力机制,通过从输入中产生额外的上线文信息来增强解码器。这些发展使得将RNN应用在新的领域成为可能,实现了自然语言处理的核心问题,诸如翻译、分析,图像和视频字幕,甚至是学会执行程序。(RNN经常被用于处理序列问题,并有人做了很多改进)

尽管如此,这些方法仍然需要预先确定输出字典的大小。由于这些约束我们不能直接将这个框架应用于组合优化问题,因为组合问题的输出字典是依赖于输入序列的长度。在论文中,我们将通过赋予 [5] 中注意力机制新的用途,创造指向输入元素的指针来解决这个问题。我们称之为指针网络(Ptr-Nets)的结构可训练输出三个组合优化问题的满意解--计算平面凸壳、Delaunay三角剖分和对称平面旅行商问题(TSP)。所得到的模型以纯数据驱动的方式(当我们只有输入和期望输出的例子时)产生了这些问题的近似解。(但现有模型仍无法解决组合优化问题,因此我们结合equence-to-sequence [1] 和 input-attention models [5]模型提出了 “Ptr-Nets” 来解决组合优化问题)

我们方法的主要贡献如下:

  • 我们提出了一种新的结构,我们称之为指针网络,它简单而有效。它能用softmax概率分布作为“指针(pointer)”去处理可变长读数据字典的基本问题。
  • 我们应用指针网络模型去处理三个明显的非平凡算法问题(包含几何)。我们证明了学到的模型能推广到/测试问题比训练问题更多点。
  • 我们的指针网络学习了一个有竞争力的小规模(n<=50)TSP近似求解器。我们的结果表明单纯的数据驱动的方法可以学到计算上难以处理的问题的近似解。

2 Model 

2.1 和 2.2 我们复习了作为我们模型基础的sequence-to-sequence [1] 和 input-attention models [5],2.3描述了我们提出的指针网络(Ptr-Nets)。

2.1 sequence-to-sequence

对模型的具体描述参见文末链接。。。  

在序列对序列(seq-to-seq)模型中,输出字典的大小是固定的且等于n,因为输出是从输入中选择的。因此,我们需要为每个n训练一个单独的模型。这样可以避免我们无法学会对输出字典的大小取决于输入序列长度的问题的解决方案

假设输出数量为O(n),该模型的计算复杂度为O(n)。然而,处理该问题的精确算法的复杂度更高。例如,凸包问题的复杂度为O(nlogn)。注意力机制会给模型增加计算负担。

2.2 content based input attention

普通的序列对序列模型在输入序列末端,使用识别RNN的固定维度的状态来产生整个输出序列。这限制了信息的数量和可以流通到生成模型的计算量。[5]的注意力机制模型改善了这个问题,它使用一个额外的神经网络来增加编码器和解码器RNNs,该网络在编码器RNN状态的整个序列上使用了注意力机制。

ci即是下文中所使用的di,也就是上下文向量 

这两篇文章的论文笔记链接附在文末

2.3 Ptr-Nets

Ptr-Nets是一种结合了seq2seq和2.2的attention机制的一种特殊attention机制的神经网络。这种网络结构与 [Sutskever et al., 2014] 提出的序列到序列模型非常相似,但是有两点不同:第一,在序列到序列模型中,每一步的预测目标的种类是固定的,但是在 Ptr-Net 中是可变的;第二,在序列到序列模型中,在解码阶段通过注意机制将编码阶段的隐层单元组合成为一个上下文向量信息,而在 Ptr-Net 中,通过注意机制来选择(指向)输入序列中的一个来作为输出。

它不预测输出是什么,而是预测输出应该对应哪个输入。

3、4是数据和实验部分,此处略过

最后实验部分

[1] Ilya Sutskever, Oriol Vinyals, and Quoc V Le. Sequence to sequence learning with neural

networks. In Advances in Neural Information Processing Systems, pages 3104–3112, 2014.

【论文笔记】Sequence to Sequence Learning with Neural Networks

[5] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. Neural machine translation by

jointly learning to align and translate. In ICLR 2015, arXiv preprint arXiv:1409.0473, 2014.

【论文笔记】Neural Machine Translation by Jointly Learning to Align and Translate

文章最后发布于: 2018-11-05 22:41:19

相关阅读

N-BaIoT-Network-based-Detection-of-IoT-Botnet-Atta

数据工程概论作业实现,https://archive.ics.uci.edu/ml/datasets/detection_of_IoT_botnet_attacks_N_BaIoT 数据集的异常检测。

java.lang.NullPointerException

之前一篇文章聊过异常排名《Java异常排行榜:哪个异常最常见?》,里面谈到国外一个网站对 Java 异常进行数据分析并排名,结果是 NullPoi

java.lang.NullPointerException

对于任意的Object,判断其是否为null,应该将Object xx==null写在所有判断条件的前头,一个为null的东西,调用其自身的任何方法都会出现

HTTP Status 500 - Request processing failed; neste

HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerExceptiontype Exception reportmess

Residual Networks 理解(一)

从开始接触机器学习以来,就一直想做一些读书/论文笔记,因为越来越认识到这一领域是一个复杂又庞大的系统,(尤其是在进入深度学习这一

分享到:

栏目导航

推荐阅读

热门阅读