指针网络(Pointer network)–学习笔记

  1. 一种能够生成 可变大小输出序列 的神经网络架构. 
  2. 指针网络输出序列的长度取决于输入序列, 这解决了传统序列到序列 (seq2seq) 模型必须固定序列长度的限制。
  3. 传统seq2seq:使用输入序列的固定表征 (也就是encoder 最后一步的hidden state)来生成输出序列. 这一固定描述限制了可以穿过 decoder 的信息量与计算量. 
  4. 注意力网络:
    1. 通过对输入标志的加权,在decoder的每一个时间step生成一个context vector。 将 每个输入标志的 hidden state 表征 乘以 注意力权重, 然后求和得到context vector.
    2. 更多可参考:注意力机制–学习笔记_Wsyoneself的博客-CSDN博客
  5. 指针网络:
    1. 可以被看做注意力网络的扩展
    2. 在decoder的每一个time step都会生成一个新的注意力向量。用于调节基于输入内容的注意力.
    3. 指针网络可以做策略网络,因为其在每一步都会生成对输入元素的概率分布。以此更新actor的损失。
    4. 指针网络结构:由 encoder, attention 和 decoder 三个模块组成。
    5. Pointer network 主要用在解决组合优化类问题,实际上是Sequence to Sequence learning中encoder RNN和decoder RNN的扩展。
    6. 在组合优化类问题中,比如TSP问题,输入是城市的坐标序列,输出也是城市的坐标序列,而每次求解的TSP问题城市规模n是不固定的
    7. 将传统注意力机制中对于输入序列的权重作为指向输入序列的指针,每次预测一个元素时找输入序列中权重最大的那个元素。
      1.  传统带有注意力机制的seq2seq模型输出的是针对输出词汇表的一个概率分布,而Pointer Networks输出的则是针对输入文本序列的概率分布。
      2. 因为输出元素来自输入元素的特点,Pointer Networks特别适合用来直接复制输入序列中的某些元素给输出序列。
    8. 指针网络相对可控,信息来源于输入的信息范围,是天生的复制粘贴利器。但是他也有个弊端,就是说无法生成输入范围以外的词汇,这样就有很大的限制。
       

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年2月28日 下午10:35
下一篇 2023年2月28日 下午10:38

相关推荐