zoukankan      html  css  js  c++  java
  • Pointer Networks

     原文链接:https://arxiv.org/abs/1506.03134

    Motivation

    现有的序列化预测通常使用RNN。RNN的问题在于输出数量固定,对于答案长度动态变化的问题并不适用。

    作者以凸包问题(Convex Hull)为例。给定一定数量的点,希望找到一系列点组成凸多边形,使得任一点或者在多边形内部,或者为多边形顶点。

    显然对于固定总数的点,其凸包顶点数量可变,采用seq2seq的序列模型难以实现比较好的效果。

    因此,作者提出了指针网络(Pointer Networks),以解决答案长度可变的问题,通过生成由输入到输出的答案指针,实现答案从输入的拷贝。 

    Review:seq2seq Model

    RNN序列模型如图所示。输入一系列序列,在模型前半部分进行编码,后半部分进行解码。解码部分的每一步依据模型参数、输入序列、此前所有步的输出生成当前步的输出。

    在给定的输入序列P和RNN模型参数θ的情况下,模型预测一系列答案CP(C1 ~ Cm(P))的概率可以用以下的条件概率乘积表示:

     其中模型参数θ可以通过最大化正确答案概率(对数和)来调整:

    Review:Attention

    注意力机制如图所示。当前步的输出通过对每一个输入(经过encode编码)加权求和产生。

    对于第i步的输出,首先对于每一步输入编码计算权重uji,将该步编码ej与第i步解码di分别进行线性变换并相加,通过tanh激活并乘以参数v,最后得到uji。

    将uji经过softmax得到aji,作为最终权重。以aji作为权重对此前每一步的编码ej进行加权平均,得到第i步的输出。

    Pointer Networks

    作者提出指针网络,通过将输入直接拷贝作为输出,实现对可变长度答案的预测。

    首先使用与Attention同样的方法,得到每一步的权重。

     然后直接将权重最大的输入项作为输出,即将softmax后的权重(Attention中的aji作为预测为第j个输入的概率。

    直观来讲,就是将Attention中的权重作为指针,将输入指向输出,生成针对输入序列的概率分布。 

  • 相关阅读:
    不可小视视图对效率的影响力
    Maximum Margin Planning
    PhysicsBased Boiling Simulation

    Learning Behavior Styles with Inverse Reinforcement Learning
    Simulating Biped Behaviors from Human Motion Data
    Nearoptimal Character Animation with Continuous Control
    Apprenticeship Learning via Inverse Reinforcement Learning
    回报函数学习的学徒学习综述
    Enabling Realtime Physics Simulation in Future Interactive Entertainment
  • 原文地址:https://www.cnblogs.com/zkwang/p/12919936.html
Copyright © 2011-2022 走看看