论文笔记:Regularizing RNNs for Caption Generation by Reconstructing The Past with The Present

Regularizing RNNs for Caption Generation by Reconstructing The Past with The Present

1、提出问题

  • 传统的解码器依赖于输入的转换算子来生成描述,单词 yt+1 的生成是以第 t 时间步的 ht 为条件,但它没有充分利用以前的隐藏状态 ht-1

  • RNN 中训练和推理之间的差异(exposure bias)仍然存在。

2、创新点

提出了一种 ARNet 与编码器-解码器的框架相耦合,它通过重建过去的隐藏状态和现在的隐藏状态,来连接两个相邻的隐藏状态,因此他可以使当前的隐藏状态嵌入来自前一个隐藏状态的更多信息。

在这里插入图片描述

3、方法

3.1、Background

本文提出 ARNet 与编码器-解码器的框架相结合,以提高描述生成任务的性能。 这里我们简要回顾 Encoder-Decoder 框架。

3.1.1、Encoder

编码器用于生成输入数据的语义表示。他不仅生成全局信息 g ,而且生成局部信息 s={s1,s2,…,sn},这些信息将作为解码器的输入。

本文利用 Inception-V4 对给定图像 I 进行编码,最后一个全连接层为全局信息 g,最后一个卷积层的输出构成局部信息向量 s 。

这里还介绍了当输入为源代码时的任务,不详细介绍了。

3.1.2、Decoder

解码器的目的是根据编码器生成的全局信息向量 g 和局部信息向量 s 生成一个由 N 个单词 (y1,y2,···,yN) 组成的自然语句 C 。 为了进一步利用局部信息向量,提出了注意力机制。 因此,注意力机制的 LSTM 可以进一步重新表述为:

在这里插入图片描述

其中 zt 表示注意力机制产生的上下文向量。

给定从编码器生成的局部信息向量 s ,zt 通过以下方法计算:

在这里插入图片描述

α \alpha α(si,ht-1) 衡量 si 和 ht-1 之间的相似性,通常由多层感知器实现。

3.2、The Proposed ARNet

3.2.1、Architecture

在这里插入图片描述

我们提出的 ARNet 是由另一个 LSTM 实现的,它以解码器中产生的隐藏状态序列作为输入。 图中介绍了 ARNet 的结构,从中我们可以看出 ARNet 的目的是利用相邻的隐藏状态之间的关系。

使用 LSTM 单元用当前的隐藏状态 ht 去重建上一时间步的隐藏状态 ht-1 ,可表述为:

在这里插入图片描述

其中 it’、ft’、ot’、ct’ 和 ht’ 分别为 LSTM 单元的输入门、遗忘门、输出门、存储单元和隐藏状态。

为了进一步匹配先前的隐藏状态 ht-1 ,使用一个全连接层将生成的 ht’ 映射到具有 ht-1 的公共空间:

在这里插入图片描述

其中,wfc 和 bfc 分别为权重矩阵和偏置向量。h^t-1 是当前的隐藏状态经过重构后的状态。

然后,我们用 h^t-1 和 ht-1 之间的欧几里得距离定义了一个重建误差:

在这里插入图片描述

其中 LtAR 测量 ARNet 在时间步长 t 处的重建误差。 通过最小化定义的重构误差,我们使当前隐藏状态 ht 嵌入更多来自前一个隐藏状态 ht-1 的信息。

3.2.2、Training Procedure

模型的训练过程包括两个阶段。 首先,我们冻结 ARNet 的参数,并对编码器-解码器结构进行预训练,该阶段损失函数为:

在这里插入图片描述

其中,I 是输入的图像,C 是生成的描述。

在这里插入图片描述

在这里插入图片描述

w 是线性变换矩阵,y1 是句首的标志,yt 是独热向量,E 是嵌入矩阵,Eyt 代表一个词向量。

在编码器-解码器结构收敛之后,使用以下目标函数对整个网络进行微调:

在这里插入图片描述

这里, λ \lambda λ 是一个权衡参数,用于平衡 ARNet 和编码器-解码器架构的贡献。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>