本文的结构如下:
第一章介绍图像标签推荐技术的研究现状,并提出采用深度学习的方法来进行标签推荐。
第二章介绍本文的核心算法:卷积神经网络。这一章从网络构造、工作流程以及各层原理等多个方面,详细介绍卷积神经网络的原理。这为接下来的工作打下理论基础。
第三章介绍基于卷积神经网络的图像标签推荐技术的实现,并对该技术进行测试。
第四章介绍图像标签推荐系统的详细设计与实现。从服务器端和移动端两方面入手,详细介绍推荐系统需要实现什么以及如何实现。然后,对系统进行测试,并对测试结果进行分析。
结论部分对本文工作进行总结。
2卷积神经网络
卷积神经网络属于深层神经网络,它是从生物学概念中演化而来的[11]。1962年,Hubel和Wiesel在对猫的视觉皮层细胞的研究中,发现了视觉皮层存在一种复杂的细胞分布,这些细胞对于外界输入的视觉信息局部上是敏感的,这些细胞被称为“感受野” [12]。这些细胞就像一些滤波器一样,它们对输入的图像是局部敏感的,也正是因为这个原因,它们可以更好地获取输入图像的空间关系。基于感受野的概念,在1984年,日本学者Fukushima实现了神经认知机,它被看做是卷积神经网络的第一次实现。也正是基于感受野的概念,卷积神经网络提出了局部感知,并且进一步提出了权值共享的概念。通过采用这两个方法,不仅使神经网络模型更加简单,也使参数的数量更少了。这使得神经网络模型更易于训练。并且相对于其他神经网络,它们成为了卷积神经网络的特殊之处。关于局部感知和权值共享,本章也会在接下来的内容中详述。
本章主要介绍本文的核心算法:卷积神经网络。首先,本章会介绍一些神经网络的概念。然后,本章会介绍卷积神经网络的网络构造和工作流程。最后,根据网络结构,本章依次介绍卷积神经网络所包含的各层的原理。
2。1神经网络
为了更加全面地介绍神经网络,先从最简单的神经网络讲起。即只包含一个神经元的神经网络,如图2。1所示。
图2。1最简单的神经网络模型
在这个神经网络模型中,它的输入值为:,,和截距+1,输出为:。其中,函数被称为激活函数。
而我们所说的神经网络,便是将上述的很多单一的神经元联结起来。其中,一个神经元的输出作为另一个神经元的输入,如图2。2所示。
图2。2多层神经网络
在神经网络中,输入层在最左边,输出层在最右边,中间的所有层称为隐藏层。我们用来表示神经网络的层数,因此上图的神经网络中。然后我们将第层记为,因此为输入层,为输出层。在上图神经网络中,我们记参数。其中表示第层第个神经元与第层的第个神经元之间的联接参数,即连接线上的权重。表示第层第个神经元的偏置项。因此在上图中,。我们用表示第层第个神经元的输出值。当时,,即第个输入值。对于给定参数集合,上图的神经网络就可以根据函数来计算输出值。上图神经网络的计算步骤为:
我们将上述的计算步骤称为前向传播。使用类似的方法,可以轻松地拓展到更加复杂的神经网络中。
2。2 卷积神经网络结构和工作流程
在这一节中,首先介绍卷积神经网络的网络构造。为了更加形象,这里我们使用一个经典的例子LeNet-5来进行介绍。LeNet-5是采用卷积神经网络来进行数字识别的典型例子[13]。它的卷积神经网络结构如图2。3所示。