seq2seq模型改进以及论文分享

传统seq2seq模型介绍

传统的seq2seq模型通常有以下两种:

  • encoder-decoder
  • 引入attention的encoder-decoder模型

具体可参见论文:Show and Tell: A Neural Image Caption Generator
Show, Attend and Tell: Neural Image Caption Generation with Visual Attention
。后者与前者的不同即使用注意力机制加入context向量,context由上一个时刻生成的隐层向量和image features作用产生。后续,基于attention的改进Knowing When to Look: Adaptive Attention via A Visual Sentinel for Image Captioning引入注意力哨兵机制。注意力机制层面的修改,有很多的变式,模型不同之处的重点是怎么讲上个时刻隐层向量和图像向量相互作用。但是模型整体的训练并没有本质的改变。
前人模型的一个通病是exposure bias。在训练和测试的时候,模型获得的输入的分布是不同的。训练的时候是数据集的分布,而测试的时候是预测结果的分布。实际来讲,训练的时候,在decoder中输入的是训练集句子的单词,而测试的时候,decoder输入的是上个时刻预测的单词。这样分布的不同将会造成模型非常脆弱。

用采样改进exposure bias

考虑到上面提到的问题,Scheduled Sampling for Sequence Prediction withRecurrent Neural Networks提出了scheduled sampling 的方式,训练的时候以一定概率选择该句子对应ground-truth的词汇,同时以一定概率选择上个时刻预测的词汇。模型图可见下图:
SS模型图
使用ground-truth单词的概率是 ϵ \epsilon ϵ,而使用前一个预测单词的概率是 1 − ϵ 1-\epsilon 1ϵ。同时这里作者还提出了一个叫做curriculum learning的方法。即刚开始训练的时候更大概率选择ground-truth,在训练的后续阶段更高概率选择预测的单词。因为刚开始训练的时候,模型比较粗糙,预测不准确,如果一开始就大概率使用预测的单词,将会造成很难收敛。所以这里重新对每个epoch定义了一个 ϵ i \epsilon_i ϵi
ϵ i = k k + e i k \epsilon_i = \frac{k}{k+e^{\frac{i}{k}}} ϵi=k+ekik作者还给出了其他的计算公式,但是之后很多人都用这一个。
但encoder-decoder除了训练上面的问题,还存在评估的问题——训练和测试采用的评估方式不同。训练的时候通常采用交叉熵,而测试的时候通常使用BLUE等评估标准。

采用深度强化学习改进

MIXER模型的提出,将深度强化学习Reinforcement Learning (RL) 引进到seq2seq模型当中,Sequence Level Training with Recurrent Neural Networks。如果直接使用RL,词库非常大,因此将会造成action space非常大,从头开始训练将会非常难。作者提出了一个Mixed Incremental Cross-Entropy Reinforce (MIXER) 的方法,前期用交叉熵训练,后期引入RL训练。关键点在于: ∇ θ L θ = ( r ( w 1 , w 2 … , w T ) − r t + 1 ) ∇

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Seq2Seq模型是一种神经网络模型,用于将一个序列转换为另一个序列。它由两个主要组件组成:编码器和解码器。编码器将输入序列转换为一个固定长度的上下文向量,解码器使用该上下文向量生成输出序列。经典的Seq2Seq模型没有引入注意力机制,它使用固定长度的上下文向量来传递整个输入序列的信息。然而,引入注意力机制可以提高模型的性能。 注意力机制是一种在解码器中引入的机制,用于选择编码器输出的特定部分,以便在生成每个输出时更加关注相关的输入信息。它允许解码器根据输入序列的不同部分调整其注意力重点。通过这种方式,注意力机制可以解决长输入序列和翻译过程中的对齐问题。 有多种注意力机制的变体,其中一种常见的是基于Bahdanau等人的论文提出的注意力机制。该机制使用可学习的权重将编码器的输出与解码器的隐藏状态进行加权求和,以确定解码器应关注的输入部分。 另一种常见的注意力机制是基于Luong等人的论文提出的注意力机制。该机制通过计算编码器输出和解码器隐藏状态之间的点积注意力权重,来确定解码器应关注的输入部分。 注意力机制的引入使得模型能够更好地关注输入序列的相关部分,从而提高模型在序列转换任务上的性能。 综上所述,Seq2Seq模型是一种用于将一个序列转换为另一个序列的神经网络模型。经典的Seq2Seq模型由编码器和解码器组成,没有引入注意力机制。而注意力机制是一种在解码器中引入的机制,用于选择输入序列的特定部分以提高模型性能。常见的注意力机制包括基于Bahdanau等人的论文和Luong等人的论文提出的机制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值