南洋理工大学的综述论文《Recent Advances in Convolutional Neural Networks》对卷积神经网络的各个组件以及进展情况进行总结和解读,其中涉及到 CNN 中各种重要层的数学原理以及各种激活函数和损失函数。机器之心技术分析师对该论文进行了解读。
论文地址:https://arxiv.org/abs/1512.07108
引言
近段时间来,深度 CNN 已经在多个深度学习应用领域取得了出色的表现,并且也有很好的泛化的能力。图像分类、目标检测、实例分割和场景理解等大量任务都使用 CNN 实现了当前最佳。这篇论文总结了从最初到现在的 CNN 发展情况,并给出了以下指示:
- 解释卷积层的数学原理
- 解释池化层的数学原理
- 介绍某些常用的激活函数
- 介绍某些常用的损失函数
- 简要介绍基于 CNN 的应用
卷积层的数学原理
从数学上看,第 l 层的第 k 个特征图的位置 (i,j) 处的特征值可以写成 z_{i,j,k}^l,可这样计算:
其中 w_k^l 是第 l 层的权重,b_k^l 是第 l 层的偏置。x_{i,j}^l 是第 l 层的 (i,j) 位置的输入图块。一个特征图的权重是共享的。CNN 的最大优势之一就是这种权重共享机制,因为参数更少时,它能显著降低计算复杂度,同时还能让训练和优化更简单。
基于这类基本卷积层的一种最著名的应用是用于 USPS 数字和 MNIST 识别的 LeNet-5,如下图所示:
LeNet-5 由三类层构成,即卷积层、池化层和全连接层。卷积层的目标是学习更能代表输入的特征,池化层则是为了降低空间维度,全连接层则是用于类别预测。具体而言,卷积层由多个卷积核构成,这使其能够得到多个特征图,而且特征图的每个神经元都会连接到之前一层中的临近神经元区域,我们将这个区域称为之前一层中神经元的感受野(receptive field)。
如上图所示,首先通过求输入与一个学习后的卷积核的卷积,可以得到一个新的特征图,然后在卷积得到的结果上逐元素应用非线性激活。在当时,MNIST 或 USPS 数字的分类结果是很好的,即使现在也仍有很多研究者在使用它们来进行简单实验,以解释说明各种各样的算法。一般而言,任何类型的卷积网络都能在这些数据集上轻松实现 97%-98% 的准确度。
近段时间来&