岳毅然 李霆锋 陈鑫锐 李煜
摘要:本文基于残差网络和长短期记忆网络,利用AI Challenger图像中文描述挑战赛的数据集,借助前人的研究基础,对图像描述模型的网络结构及参数进行优化和改进,并加以对比试验,通过恰当的评价指标探究模型网络结构对图像语义信息处理和描述匹配生成效果的影响,为提升标注准确度、流畅度提供参考依据。
关键词:图像描述 深度残差网络 长短期记忆网络
前言
近年来,随着深度學习在CV(Computer Vision,计算机视觉)和NLP(Natural Language Processing,自然语言处理)领域的发展和智能科学技术的突破,深度学习中的卷积神经网络(Convolutional Neural Networks,CNN)成为了人工智能领域的热点话题。其中,深度残差网络(Deep Residual Networks,ResNet)是卷积神经网络模型算法中最典型、最成功的算法之一,它是应用最为广泛的特征提取网络,具有权值共享、稀疏连接、网络结构更类似于生物神经网络等特点。
图像描述——看图说话(Image Caption)任务是结合计算机视觉CV和自然语言处理NLP两个领域的一种比较综合的任务,Image Caption模型的输入是一幅图像,输出是对该幅图像进行描述的一段文字。这项任务要求模型可以识别图片中的物体、理解物体间的关系,并用一句自然语言表达出来。图像描述在搜索引擎优化、自动配字、视障辅助阅读等广泛领域有着较高的应用价值。
AI Challenger图像中文描述挑战赛数据集是目前规模最大、语言使用和场景最为丰富的图片中文描述数据集,涵盖了超过100种复杂生活场景的含有人物的二十万张带有标注处理的图片,其场景复杂度、人物动作复杂度、身体遮挡情况都高于现有的其他数据集;而且,此数据集的语言描述标注更符合中文语言使用习惯。相对于Flickr8k-CN等传统数据集,该数据集创新性的引入了中文成语,用以修饰图片中的主要人物及背景事件,大大提升了描述语句的丰富度。
本文基于深度残差网络和长短期记忆网络在图像描述算法模型的应用研究,对传统的ResNet与LSTM模型进行优化,改进图片语义信息特征提取、描述语义数据的预处理效果,在AI Challenger图像中文描述挑战赛数据集上验证准确率和有效性。本文主要从图像信息处理、描述数据处理、语句生成三个部分进行参数优化和网络结构研究。对整体网络的卷积核、层数、批大小、学习率、分词模型等参数或结构进行优化,并针对全连接层传递效率较低、干扰到卷积层提取出的局部特征、收敛速率较低等问题,对传统的ResNet模型进行改进。
1 模型介绍
本研究的模型基于文献[1]的研究结果,输入分为图像和描述两部分,图片经过卷积神经网络提取全连接层的输入(2048维的向量)然后利用全连接层转化成256维的向量。由此将图像的语意空间转化到了词向量的语意空间。描述经过嵌入层(Embedding)转化成256维的向量。而后将上述得到的256维向量拼接在一起,输入LSTM中,计算每个词的输出,根据输出进行分类,预测下一个词。完整的流程框架如图1-1所示。
数据的预处理主要分为图像预处理和描述预处理两部分。图像预处理即提取图像特征,将图片输入ResNet网络,将最后一层替换成一个恒等映射,获得在池化层的输出(即全连接层的输入,2048维的向量)。
2 实验过程与效果
2.1图片语义信息
图片语义信息部分中,我们分别使用三种层数的深度残差网络:ResNet 50、ResNet 101、ResNet 150。其三者的基本结构如图2-1所示。
在修改与调整中,控制变量训练批次大小(epoch)为20,更改采用的模型以及对应的参数和维度量等,其他保持不变,样例如图2-2所示。实验表明,本文使用深度残差网络解决了增加深度而带来的退化问题,从而使增加网络深度后的网络性能显著提高。随着层数的增加,图片特征提取效果逐渐上升,语句生成更加顺畅、贴合实际。
2.2描述数据处理
在描述数据的预处理部分,本文通过优化描述数据处理步骤中的参数,优化得到的caption.pth,减少模型训练时间和不必要的计算。主要方式有以下几种:
(1)丢弃低频词(如图2-3所示):估算得到高频词与低频词分界公式,将min_appear定为10,减小word2ix,减少训练时间。
(2)词语长度限制:为保证整体效率,本文选择丢弃长度过长的词组。
(3)padding平均化句长:将不同长度的句子变成同样长度,设置max_length为30,更加贴合实际需要。
(4)用pack padded sequence函数对padding后的序列进行操作(如图2-4所示):经过padding操作序列中与许多空白填充值,在计算RNN隐藏元时也会进行不必要的计算,更可能会影响隐藏元的取值。于是针对不同长度的句子,我们按长度进行排序并记录每个句子长短。对不同的句子,padding成一样的长度。将上一步的Variable和样本长度输入pack padded sequence函数,会输出一个Packed Sequence对象,这个对象即可输入到LSTM模型中。
经过实验,我们发现描述数据处理的优化对实验结果没有显著的影响,但是减少了不必要的计算,减少了大量模型的训练时间。
2.3模型训练与描述生成
描述语句的生成部分本文选取了一个RNN网络,模型中的组成成分有两个全连接(linear)层:一个嵌入(embedding)层和一个LSTM(RNN)层。其中,LSTM层是Image Caption问题中典型的decoder,用于解码和生成词序列。本文在保证收敛性的情况下,保持最佳学习率,调节了优化器的种类,以获取正确的语句生成效果和更快的训练速度。样例如图2-5所示。
3 结论
通过对上述实验数据的整理分析,结合相关文献材料,我们以图像描述为主体,探索了包括卷积神经网络、循环神经网络、深度残差网络、长短期记忆网络等多种模型的结构及其参数调整,对图像描述生成的图像信息预处理、描述数据预处理和训练模型等方面进行了简单优化。同时,本文仅仅是针对网络中的部分简单参数和结构进行了小范围调整,由于作者水平有限资历尚浅,本项目的研究时间较短,诸如局部最优、多模型效果对比、优化收敛、深度降维等各方面尚未涉猎到,相信能够在日后的研究中进一步探索深度学习的奥秘。
参考文献
[1]刘国钧,陈绍业. 深度学习框架PyTorch:入门与实践[M].北京:电子工业出版社,2018:260-281.
[2] Mao J , Xu W . Explain Images with Multimodal Recurrent Neural Networks[J]. Computer Science, 2014.
[3] Karpathy A , Li F F . Deep visual-semantic alignments for generating image descriptions[C]// 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2015.
[4] Vinyals O , Toshev A , Bengio S , et al. Show and Tell: A Neural Image Caption Generator[J]. 2014.
[5] Vinyals O , Toshev A , Bengio S , et al. Show and Tell: Lessons learned from the 2015 MSCOCO Image Captioning Challenge[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2016.
作者簡介
岳毅然(2000年8月-),男,中山大学智能工程学院智能科学与技术专业2018级学生,研究方向:智能科学与技术、数据科学。李霆锋(2000年3月-),男,中山大学智能工程学院智能科学与技术专业2018级学生,研究方向:智能科学与技术。陈鑫锐(2000年7月-),男,中山大学智能工程学院智能科学与技术专业2018级学生,研究方向:智能科学与技术。李煜(2000年3月-),男,中山大学智能工程学院智能科学与技术专业2018级学生,研究方向:智能科学与技术。