论文阅读——指针网络(Pointer Networks)

论文:Pointer Networks

作者:Oriol Vinyals et al.

1  Introduction

背景:RNN应用于学习序列函数有很多年了,然而以往的框架限制了序列的输入输出长度。最近的研究引进了新的Seq2seq范式解决了这个约束。

问题:这些方法仍然需要预先确定输出字典的大小。由于这个约束,因此这个框架不能应用于组合优化问题(输出字典的大小取决于输入序列的长度)。

解决办法:通过重新利用注意力机制来创建指向输入元素的指针来解决这个限制。

2  Models

2.1  Sequence-to-Sequence Model

        给定一个训练对(training pair) \left(\mathcal{P}, \mathcal{C}^{\mathcal{P}}\right),Seq2seq模型使用参数模型(带有参数 \theta 的RNN)计算条件概率 p\left(\mathcal{C}^{\mathcal{P}} \mid \mathcal{P} ; \theta\right),来估计概率链式法则的项。         

p\left(\mathcal{C}^{\mathcal{P}} \mid \mathcal{P} ; \theta\right)=\prod_{i=1}^{m(\mathcal{P})} p_{\theta}\left(C_{i} \mid C_{1}, \ldots, C_{i-1}, \mathcal{P} ; \theta\right)

        其中,\mathcal{P}=\left\{P_{1}, \ldots, P_{n}\right\} 是一个 n 维向量序列,\mathcal{C}^{\mathcal{P}}=\left\{C_{1}, \ldots, C_{m(\mathcal{P})}\right\} 是一个拥有 m(\mathcal{P}) 个索引的序列,每个值在1到 n 之间。

        模型参数通过最大化训练集的条件概率来学习获得

\theta^{*}=\underset{\theta}{\arg \max } \sum_{\mathcal{P}, \mathcal{C}^{\mathcal{P}}} \log p\left(\mathcal{C}^{\mathcal{P}} \mid \mathcal{P} ; \theta\right)

 2.2  Content Based Input Attention

        普通的序列到序列模型,利用输入序列 \mathcal{P} 的末端识别RNN的固定维度状态,来生成整个输出序列 \mathcal{C^\mathcal{P}}。这限制了可以流向生成模型的信息和计算量。注意力模型通过使用额外的神经网络增强编码器和解码器 RNN 来改善这个问题,该神经网络在整个编码器 RNN 状态序列上使用注意力机制。

        以下是符号说明, (e_1, ..., e_n) 和 (d_1,...,d_{m(\mathcal{P})}) 分别是编码器和解码器隐藏层状态。对于LSTM RNNs 来说,使用输出门之后的状态( h_t = o\cdot \tanh{c_t} )。则每个一输出时刻 i 的注意力向量如下:

u_{j}^{i}=v^{T} \tanh \left(W_{1} e_{j}+W_{2} d_{i}\right) \quad j \in(1, \ldots, n)

a_{j}^{i}=\operatorname{softmax}\left(u_{j}^{i}\right) \quad j \in(1, \ldots, n)

d_{i}^{\prime}=\sum_{j=1}^{n} a_{j}^{i} e_{j}

        这里softmax将 u^i 归一化到 (0, 1)来作为输入序列上方的“attention” mask, v、 W_1 和 W_2 都是可学习参数。 

        该模型比Seq2seq模型要好,但是不适用于输出字典大小依赖于输入的问题。

2.3  Ptr-Net

        经过修改后的模型(Ptr-Net)允许解决组合优化问题(输出字典的大小取决于输入序列中的元素数量)。

        Seq2seq模型在固定大小的输出字典上使用一个softmax分布来计算 p\left(C_{i} \mid C_{1}, \ldots, C_{i-1}, \mathcal{P}\right),因此不能解决输出字典大小等于输入序列长度的问题。为了解决这个问题,这里使用了注意力机制,公式如下:

u_{j}^{i}=v^{T} \tanh \left(W_{1} e_{j}+W_{2} d_{i}\right) \quad j \in(1, \ldots, n)

 p\left(C_{i} \mid C_{1}, \ldots, C_{i-1}, \mathcal{P}\right)=\operatorname{softmax}\left(u^{i}\right)

        这里,不用混合编码器状态来向解码器传播额外信息,相反,使用 u_j^i 作为指向输入元素的指针。类似地,对于 \mathcal{C}_{i-1} ,只需要复制相应的 P_{\mathcal{C}_{i-1}} 作为输入。

        该方法专门针对输出离散且对应于输入位置的问题。

3  Motivation and Datasets Structure

4  Empirical Results

5  Conclusions

        论文描述了Ptr-Net(一个新的体系结构),其允许我们学习一个序列 \mathcal{C^\mathcal{P}} 通过给定另一个序列 \mathcal{P} 的条件概率,其中 \mathcal{C^\mathcal{P}} 是一个 \mathcal{P} 中位置相对应的离散标记序列。

 

 

 

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部