第2章 卷积神经网络

2.1 传统的图像分类算法

       图像分类是根据图像的原始信息将不同类别图像区分开来,是计算机视觉中重要的基本问题,也是图像检测、图像分割、物体跟踪、行为分析等其他高层视觉任务的基础。图像分类在很多领域有广泛应用,包括安防领域的人脸识别和智能视频分析,交通领域的交通场景识别,互联网领域基于内容的图像检索和相册子宫归类,医学领域的图像识别等。

        在CNN出现之前,图像分类算法依赖于复杂的特征工程。常用的特征提取方法包括SIFT(Scale-Invariant Feature Transform,尺度不变特征转换)、HOG(Histogram of Oriented Gradient,方向梯度直方图)、LBP(Local Bianary Pattern,局部二值模式)等,常用的分类算法为SVM。

2.2 基于CNN的图像分类算法

        人们尝试直接把原始图像作为输入,通过深度学习算法直接进行图像分类,从而绕过复杂的特征工程。

2.2.1 局部连接 

        常见的深度学习算法都是全连接形式,所谓全连接,就是第n-1层的任意一个节点,都和第n层所有节点有连接。同时,临近输入层的隐藏层的任意节点与输入层的全部节点都有连接。但是巨大的计算量阻碍了深度学习在图像分类方向的应用。

        类比猫的视觉神经细胞,将隐藏层的一个节点只处理10*10大小的数据,也就是说每个隐藏层的节点只与输入层的100个节点连接,这样在隐藏层节点数量和输入层节点数量不变的情况下,输入层与隐藏层的连接可以大幅减少,但是依然十分巨大。局部连接不会减少隐藏层的节点数量,减少的是隐藏层和输入层之间的连接数。

2.2.2 参数共享

        本质上隐藏层的一个节点与输入层一个节点的连接,对应的就是一个连接参数,大量的连接也就意味着大量的参数需要计算,仅仅依靠局部连接技术是无法进一步减少计算量的,于是人们又提出了参数共享的方法。

        所谓的参数共享是基于这样一个假设:一部分图像的统计特性与完整图像的特性相同。即使处理更大的图像,只要单一隐藏层节点与输入层连接的个数不变,全部隐藏层的参数个数也不变。这种共享参数的机制,可以理解为针对图像的卷积操作。

2.2.3 池化

       通过局部连接和参数共享后,计算量还是太大。使用卷积后的特征是因为图像具有一种“静态性”的属性,这也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图像,一个很自然的想法就是对不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值(或最大值)。这种聚合操作叫做池化。

你可能感兴趣的:(第2章 卷积神经网络)