美文网首页
指针网络-Pointer Networks

指针网络-Pointer Networks

作者: l1n3x | 来源:发表于2019-03-25 20:30 被阅读0次

今天分享一个简单而又有趣的seq2seq模型-Pointer Networks。程序员看到Pointer可能会想到c/c++中的指针,不过这里的Pointer和c/++中的指针可能更像是雷锋和雷锋塔的关系。

任务类型

在某些任务中,输入严格依赖于输入,或者说输出只能从输入中选择。例如输入一段话,提取这句话中最关键的几个词语。又或是输入一串数字,输出对这些数字的排序。这时如果使用传统seq2seq模型,则忽略了输入只能从输出中选择这个先验信息,Pointer Networks正是为了解决这个问题而提出的。

基本模型

Pointer Networks模型非常简洁,结构是基本的seq2seq + attention。对于传统的attention模型,在计算权重之后会对encoder的state进行加权,求得一个向量c。而Pointer Networks则在计算权重之后,选择概率最大的encoder state最为输出。示意图如下:

Pointer Networks

论文中使用了寻找闭包这个任务作为例子。简单的说,寻找闭包是从输入的点中找到一些点能把所有的点围起来。例如左上角图的闭包是(P_1, P_2, P_4, P_1)。左下角则是使用传统的seq2seq模型来解决这个任务,右边则是使用Pointer Networks。其中箭头指向的则是对应时间步的输出。采用这种方式就能解决输出只能从输入中选择的问题,可谓是大道至简。

参考:

[1] Pointer Networks

相关文章

  • 指针网络-Pointer Networks

    今天分享一个简单而又有趣的seq2seq模型-Pointer Networks。程序员看到Pointer可能会想到...

  • Pointer Networks

    很多时候使用seq2seq来解决序列生成问题,但seq2seq模型往往需要预先定义好输出集合的大小,即输出序列可能...

  • Pointer Networks

    Pointer Networks Oriol Vinyals, Meire Fortunato, Navdeep ...

  • Pointer Networks

    seq2seq 离散的词ID转换为词向量 与Encoder 中的这个步骤是一样的, 只不过embedding矩阵与...

  • 指针网络 Pointer Network

    传统的 Seq2Seq 模型中 Decoder 输出的目标数量是固定的,例如翻译时 Decoder 预测的目标数量...

  • 10 重忆C之 指针、内存、位运算

    指针(复习) 指针(pointer) 或 指针变量(pointer variable)。是“储存地址的变量”。它存...

  • Android基础--智能指针

    智能指针分为3类为轻量级指针(Light Pointer)、强指针(Strong Pointer)和弱指针(Wea...

  • #NIPS-2015# Pointer Networks

    Pointer Networks 论文地址:https://arxiv.org/abs/1506.03134 因为...

  • go调用c全面解析

    一、go的指针 pointer type、 uintptr和unsafe.Pointer pointer type...

  • Swift指针

    指针分类: raw pointer:未指定数据类型的指针(原生指针) typed pointer:指定数据类型的指...

网友评论

      本文标题:指针网络-Pointer Networks

      本文链接:https://www.haomeiwen.com/subject/nztivqtx.html