论文部分内容阅读
在大数据时代,随着数据的迅速增加和计算能力的不断增强,深度学习成为近年来的研究热点,尤其是其中的卷积神经网络(Convolutional Neural Networks,CNN)模型已经在诸如图像、语音等很多领域取得了令人印象深刻的成果。随着拍照设备的大规模普及以及互联网的发展,网络上的图片急剧增加,如何在海量图片中做快速有效的图像检索成为人们的迫切需求。基于深度学习的哈希算法是图像检索算法中较为快速有效的算法,以其既能基于CNN自动多层次地提取图像特征,又能利用哈希将高维特征映射为简短的二进制哈希码便于存储和检索而引起研究者的广泛关注。目前关于这方面的研究中,CNNBH算法提出可以在传统的用于分类的卷积神经网络中选取一层作为哈希层,通过训练网络的分类能力来训练哈希层,然后将哈希层的输出量化便可实现端对端的哈希码生成,并基于哈希码做图像检索,其检索性能已经达到了领域内的领先水平。但是,该算法在网络结构及卷积核初始值的选取上存在一些问题,所以其检索性能还有一定的提升空间。 针对CNNBH算法中的这两点问题,本文提出了基于改进的CNNBH及卷积自编码器(Convolutional Auto-Encoder,CAE)预训练的图像检索算法,有效地提高了原始CNNBH算法的检索性能,本文的主要工作包括以下三个方面: (1)本文提出了从哈希层的选取和卷积核的数量及比例方面改进CNNBH算法的网络结构。首先,详细研究了传统的用于分类的CNN的网络结构以及CNNBH算法提出的网络结构,然后提出了选取分类器的前一个全连接隐藏层作为哈希层代替CNNBH算法中选择第一个全连接隐藏层作为哈希层,提出了卷积层从底层到高层的卷积核采用逐层增加的结构代替CNNBH算法中每层卷积核数量相等的结构。最后,实验验证了本文改进的CNNBH网络在获得的分类性能优于CNNBH算法。 (2)本文提出了使用一种无监督学习算法,即卷积自编码器,对改进的CNNBH网络的卷积核做逐层预训练初始化,再通过有监督学习来继续训练整个网络。首先,分析了Xavier算法初始化是人为选择一些初始值来得到随机数并没有充分考虑输入数据的内在特征这样的弊端,然后研究了两种无监督预训练算法,自编码器和限制玻尔兹曼机,总结了通过无监督预训练可以使网络获得图像自身的抽象特征,并且为网络提供较好的初始权值。但是这些无监督学习算法的网络参数众多,适合对全连接网络做预训练,不适合卷积神经网络。接下来,我们提出使用一种卷积自编码器来对改进网络的卷积核做逐层预训练,再使用标签数据做有监督微调。最后,用实验验证了本文的基于CAE预训练的卷积神经网络在分类能力上的优于基于Xavier初始化的卷积神经网络。 (3)提出了基于改进的CNNBH网络及CAE预训练的图像检索算法,给出具体的算法步骤,设计实验验证了其在图像检索上的有效性。实验结果展示,本文的图像检索算法,只需在MNIST数据集的1千个数据的子集上做有监督训练,就可以达到很可观的检索性能,其性能可以匹敌原始CNNBH算法在MNIST数据集的5万个数据的训练集上有监督训练后达到的检索性能。 综上,本文提出了一种基于改进的CNNBH网络和卷积自编码器预训练的图像检索算法。实验结果表明,本文算法中提出的网络结构的改进方法和卷积自编码器预训练的卷积核初始化方法都有效地提高了算法的检索性能,对基于深度学习的图像检索研究具有重要的意义。