Exploiting Multiple Sequence Lengths in Fast End to End Training for Image Captioning
arXiv:2208.06551v4
2024/01/19
摘要
我们提出了一种称为扩展机制的方法,该方法处理输入时不受序列中元素数量的限制。通过这样做,模型能够比传统的基于注意力的方法更有效地学习。
为了支持这一观点,我们设计了一种新颖的架构ExpansionNet v2,该架构在MS COCO 2014图像描述挑战中取得了良好的结果,并在其类别中达到了最先进水平,在离线测试集上得分为143.7 CIDErD,在在线评估服务器上得分为140.8 CIDErD,在nocaps验证集上得分为72.9 AllCIDEr。
此外,我们还引入了一种端到端的训练算法,其速度比现有替代方案快2.8倍。
jchenghu/ExpansionNet_v2: Implementation code of the work “Exploiting Multiple Sequence Lengths in Fast End to End Training for Image Captioning”
1-引言
引言部分主要介绍了图像描述(Image Captioning)的任务定义、发展历程以及当前研究中的挑战和创新点。以下是引言的总结:
-
图像描述的定义与挑战:
- 图像描述是一项多模态任务,旨在无需人工干预的情况下生成图像的自然语言描述。它需要结合语言理解和视觉感知能力。
- 早期方法依赖于统计和图模型,但随着神经网络的发展,图像描述系统逐渐转向编码器-解码器结构。
-
发展历程:
- 早期工作结合了卷积神经网络(CNN)作为视觉特征提取器,以及循环神经网络(RNN)用于文本生成。
- 现代系统广泛采用注意力机制进行序列建模,甚至在图像特征提取中也应用了注意力机制。注意力机制的初衷是将输入序列内容分散到编码器的隐藏向量中,克服RNN的性能瓶颈。
-
现有研究的不足与创新点:
- 近年来研究表明,注意力机制与其他方法(如高斯分布、MLP、傅里叶变换)在效果上差异不大,关键在于能否形成高质量的输入组合。
- 作者提出,输入序列的固定长度可能是无状态架构(如Transformer)的性能瓶颈,限制了它们形成更高质量组合的能力。
- 为此,作者提出了“扩展机制”(Expansion mechanism),该机制能够将序列内容分配到更多或任意数量的元素中进行处理,然后在反向操作中恢复原始长度。这种方法使网络能够不受固定输入长度的限制来处理序列。【图1】
-
主要贡献:
- 引入了ExpansionNet v2,这是首个在图像描述任务中学习利用任意序列长度的模型,无需依赖注意力机制的特性。
- 论文展示了该方法在图像描述任务中的高效训练和推理能力,并在多个数据集上取得了优秀性能。
图1:扩展机制在前向阶段将输入数据分配到另一个具有不同序列长度的数据中,并在后向传递中执行反向操作。通过这种方式,网络能够处理不受元素数量限制的序列。
【我们引入了一种名为扩展机制的新方法,该方法在前向步骤中将输入内容分配到任意或增加数量的元素上,并在互补的后向操作中恢复原始长度。为了支持双向和自回归处理,我们引入了两种方法,称为静态扩展和动态扩展。】
【我们发现传统的图像描述架构确实受到输入所提供的固定元素数量的惩罚】
【我们的模型在大多数组件中去除注意力后依然取得了强劲的结果。最后,我们还提出了一种快速的端到端训练策略,与流行方法相比,显著降低了我们模型的训练代价。】
总结而言,引言部分强调了图像描述任务的挑战、注意力机制的作用以及扩展机制的创新性,为后续方法的提出和实验奠定了基础。
2-相关工作
主要回顾了图像描述生成(Image Captioning)领域的研究进展和相关工作,可以总结为以下几个方面:
1. 图像描述生成模型的发展
- 早期方法:早期的图像描述生成模型依赖于手工制作的句子与目标检测的结合。编码器通常基于卷积神经网络(CNN)提取图像特征,解码器则使用循环神经网络(RNN)生成描述。
- 改进与序列建模:随着研究的深入,编码器逐渐被替换为对象检测器,能够提取图像中的显著区域。这使得序列建模架构得以在编码器和解码器中应用。
2. 基于Transformer的现代方法
- Transformer的引入:目前,大多数现代图像描述生成系统基于Transformer架构。研究者们致力于改进其结构或注意力机制,例如:
- 引入了几何感知的自注意力机制。
- 通过门控机制减轻无关查询的贡献。
- 利用双线性池化增强输入元素之间的交互。
- 其他研究则集中在结构变化和更有效地利用视觉输入上。 - 嵌入向量的应用:作者提到,嵌入向量在机器翻译中表现出有效性,随后在图像描述生成中也被采用。然而,这些方法仅将输入扩展到固定数量的隐藏向量,而本研究提出的方法允许任意数量的扩展。
3. 预训练与数据增强
- 预训练趋势:另一种趋势是通过预训练大量数据来提升模型性能,然后微调至图像描述任务。例如,OFA和GIT是当前最先进模型,但它们的模型规模较大,限制了在内存受限设备上的部署,因此这些工作与本研究正交。
- 数据规模限制:作者指出,由于数据规模和模型大小的限制,这些工作不适用于本研究的实验设置。因此,作者仅考虑在MS-COCO 2014数据集上训练的模型,排除了使用额外数据的其他工作。
4. 总结
本研究通过回顾图像描述生成领域的相关工作,明确了当前研究的不足之处,特别是固定序列长度对模型性能的限制。在此基础上,作者提出了一种新的扩展机制(Expansion mechanism),旨在通过任意数量的隐藏向量提升模型的描述能力,同时保持计算效率。
3-方法
主要介绍了论文中提出的方法,具体包括 Static and Dynamic Expansion 机制以及模型架构的设计。以下是该章节的主要内容总结:
A. Static and Dynamic Expansion
-
扩展机制的核心思想:
- 扩展机制将输入序列的内容分配到任意或更大的元素数量中,使网络能够在不受固定输入长度限制的情况下处理序列。
- 然后通过互补的反向操作恢复原始序列长度。
-
两种实现方式:
- Static Expansion:在静态扩展中,扩展系数 (N_E) 决定了扩展后的序列大小,与输入长度 (L) 无关。扩展查询 (Q_E) 和偏置 (B_E) 分别等于预定义的参数 (E_Q) 和 (E_B)。
- Dynamic Expansion:在动态扩展中,扩展后的序列大小为 (N_E \cdot L),并且扩展查询 (Q_E) 和偏置 (B_E) 通过 BroadSum 操作计算。【图2】
-
Forward Expansion:
- 计算长度转换矩阵 (M),然后生成扩展序列。
- 动态扩展中应用掩码以保持自回归属性。
-
Backward Expansion:
- 通过转置长度转换矩阵恢复原始序列长度。
B. Architecture
- 模型架构:
- 模型基于标准的编码器-解码器结构,使用 Swin-Transformer 作为 backbone。
- 编码器由多个 Static Expansion → FeedForward 块组成,采用跳过连接和预层归一化。
- 解码器由多个 Dynamic Expansion → Cross-Attention → FeedForward 块组成,同样采用跳过连接和归一化。【图3】
C. Training objectives
主要讨论了模型的训练目标,包括两个主要的损失函数:交叉熵损失(Cross-Entropy loss)和CIDEr-D优化(使用SCST方法)。
-
交叉熵损失(Cross-Entropy loss):
- 模型首先使用交叉熵损失进行预训练,目标是最小化预测词的概率分布与真实词分布之间的差异。
-
CIDEr-D优化:
- 为了进一步提升生成描述的质量,论文采用了Self-Critical Sequence Training (SCST) 方法来优化CIDEr-D得分。
- SCST通过最小化负期望奖励来优化模型
- 损失的梯度可以通过以下公式近似计算
-
训练策略:
- 尽管模型同时优化了两个损失函数,但训练过程被高效地分成了两个额外的步骤,以适应更广泛的计算资源。
- 这种分步优化策略使得模型能够在不同计算资源下有效训练,同时保持较高的性能。
图2:静态扩展和自回归动态扩展方案及示例。假设输入长度为L = 3。在静态扩展情景中,扩展系数NE = 5导致扩展序列长度为5。相反,在动态扩展中,扩展系数NE = 3生成的扩展序列长度为L · NE = 9。为了简单起见,示例中省略了双重操作流、扩展偏差和门控结果组合。自回归动态扩展与双向扩展之间的区别在于屏蔽矩阵乘法。
图3:ExpansionNet v2 architecture.
总结
第三章详细介绍了 Static and Dynamic Expansion 机制的设计和实现,以及基于 Swin-Transformer 的模型架构,分步优化策略。该方法通过扩展输入序列的长度,使模型能够更灵活地处理图像描述任务,从而突破固定输入长度的限制,提升性能。
4-结果
A. 实验设置(Experimental Setup)
-
数据集:
- 使用MS-COCO 2014数据集进行训练,包含113,287张图像及其描述,其中验证集和测试集各包含5,000张图像。
- 数据预处理包括小写化、去除标点符号,并过滤出现次数少于5次的单词,最终词汇表大小为10,000。
- 模型还被评估到Novel Object Captioning at Scale (nocaps)数据集的验证集上,该数据集包含三种类型的图像:in-domain、near-domain和out-domain。
-
模型细节:
- 基线模型采用标准Transformer架构,主要模型为ExpansionNet v2。
- 所有模型均基于Swin-Transformer(Large配置)作为 backbone,并在ImageNet上预训练。
- 模型配置为:
d_m=512
,d_ff=2048
,N_enc=N_dec=3
。 - ExpansionNet v2的动态扩展系数设置为16,静态扩展系数集合为
G={32, 64, 128, 256, 512}
。
-
训练算法:
- 由于Swin-Transformer backbone的计算开销较大,训练过程分为四个步骤:
- Step A:冻结backbone,使用交叉熵损失训练,批大小为48,初始学习率为2e-4,预热10,000步,每2个epoch衰减0.8,共训练8个epoch。
- Step B:对整个系统进行端到端训练,批大小为48,初始学习率为3e-5,每epoch衰减0.55,共训练2个epoch。
- Step C:冻结backbone,使用CIDEr-D优化,批大小为48,初始学习率为1e-4,无预热,每epoch衰减0.8,共训练9个epoch。
- Step D:对整个系统进行微调,批大小为20,固定学习率为2e-6,可选步骤。
- 使用RAdam优化器(β1=0.9,β2=0.98)。
- 由于Swin-Transformer backbone的计算开销较大,训练过程分为四个步骤:
B. 消融研究(Ablation Study)
-
静态扩展和动态扩展的影响:
- 替换基线模型的编码器和解码器为本文提出的方法,评估不同扩展系数的设置。
- 结果表明,静态扩展对模型性能的提升具有显著影响,而动态扩展进一步增强了模型的性能。【表1】
-
模型性能:
- ExpansionNet v2在MS-COCO数据集上显著优于现有非生成模型,例如Up-Down、GCN-LSTM、SGAE、AoANet、X-Transformer等。
- 在单模型配置下,ExpansionNet v2在BLEU1、BLEU4、ROUGE、CIDEr-D等指标上分别比PureT模型高出0.7、0.6、0.4和2.2分。
- 在nocaps数据集上,模型在in-domain、near-domain和out-domain图像上均表现出较强的性能,尽管在out-domain图像上仍存在一定的挑战。
-
与生成模型的对比:
- ExpansionNet v2的性能略逊于生成模型(如GIT和OFA),但其优势在于模型规模较小、训练数据量少且训练时间短。
C. 性能比较
在COCO数据集上,ExpansionNet v2在单模型和ensemble配置下均表现出色,显著优于之前的方法。
- 与PureT相比,ExpansionNet v2在单模型配置下提升了0.7 BLEU1、0.6 BLEU4、0.1 METEOR、0.4 ROUGE、2.2 CIDEr-D和0.3 SPICE。
- 在ensemble配置下,改进了0.1 BLEU1、0.6 BLEU4、0.3 ROUGE、2.7 CIDEr-D和0.4 SPICE。
- 模型在nocaps数据集上也表现出色,尽管在处理未知对象时仍存在挑战。【表2、3、4】
D. 训练和推理成本
ExpansionNet v2的训练时间比其他非生成式模型快2.8倍,比生成式模型快46.8倍。尽管其FLOPS比基线高,但效率显著提升,尤其是在训练速度上。模型在设计时考虑了计算效率,使得在增加扩展系数时,FLOPS的增长并不成倍增加。
E. 定性分析
通过实例分析,ExpansionNet v2能够准确描述图像中的主体及其交互,展示了良好的语义理解能力。尽管在处理出域对象时存在困难,但总体描述准确。注意力可视化进一步验证了模型的有效性,展示了其在复杂场景下的关注点分布。【表8、9、图4】
表 I:在使用束大小为 3 的交叉熵训练的第一阶段进行的消融研究,数据来源于 Karpathy 验证集。B=BLEU。M=METEOR。R=ROUGE。C=CIDEr-D。S=SPICE。
表 II:在 Karpathy 测试集上最先进单模型的离线比较。B=BLEU。M=METEOR。R=ROUGE。C=CIDEr-D。S=SPICE。
表 III:在 Karpathy 测试集上的最新集成模型的离线比较。B=BLEU。M=Meteor。R=Rouge。C=CIDEr-D。S=SPICE。
表 IV:在线服务器在 MS-COCO 2014 测试集上的结果,其中真实值未知。B=BLEU。M=METEOR。R=ROUGE。C=CIDEr-D。S=SPICE。
表 VIII:标题示例。
表 IX:无胶囊域外图像的示例。
图4:ExpansionNet v2中单个解码器头的注意力可视化。
总结
- 实验设置部分详细描述了数据集、模型配置和训练策略,确保了实验的可重复性和高效性。
- 消融研究部分验证了本文提出方法的有效性,特别是在静态和动态扩展机制上的创新为图像描述任务带来了显著的性能提升。
5-结论
在本研究中,我们探讨了输入的固定元素数量是否代表了现代图像字幕系统中的性能瓶颈。
为此,我们提出了一种扩展机制的概念,并提供了两种具体实现,称为静态扩展和动态扩展,这两种实现使用与输入中提供的长度不同的序列来处理输入。
在这些层的基础上,我们设计了一种新架构,称为ExpansionNet v2,并使用快速的端到端训练方法在MSCOCO 2014数据集上进行了训练。
针对测试集进行的大量实验显示,我们的方法在与基准相比时取得了更好的性能。这积极回答了最初的研究问题,即输入长度是否可能成为序列处理的瓶颈。此外,ExpansionNet v2在离线(143.7 CIDEr-D)和在线(140.8 CIDEr-D)测试集上均取得了强劲的表现,主要被V+L预训练模型超越,我们认为这些模型与我们的工作是正交的,原因在于模型大小和额外训练数据的差异。
总之,我们引入了扩展层和ExpansionNet v2,并在图像字幕领域找到了研究问题的答案。未来的工作将进一步发展本研究中提出的方法和思路,动机在于它们可以轻松集成到其他解决方案(如V+L预训练)和其他研究领域中。