AlexNet
卷积神经网络取得的第一个进步是AlexNet网络,它是在2012年提出的。这里有一些关键的改进:它提出了ReLu,也就是有助于防止消失的梯度问题;它也引入了dropout的概念,使得每层中神经元随机地打开和关闭,防止过拟合。如果你的数据过于相似,它不能够对相似但不同的图像进行分类,因为它过拟合了你的训练数据。
因此dropout是一种防止过拟合的正则化技术,通过随机地打开和关闭神经元,数据被迫寻找新的路径,因为它被迫寻找新的路径,网络能够更好地泛化;卷积网络也引入了数据增强的想法,AlexNet或者AlexNet的作者将经过不同角度旋转的图像送入AlexNet网络,而不是仅仅放入单一角度的,这使得它更好的适用于不同的角度,这是一个更深的网络,所以他们增加了更多的层,这提高了分类的准确性。
VGG Net
在这之后,就是VGG Net。其中最大的变化是,我们添加了更多的层。
GoogLeNet
此后是GoogLeNet。GoogLeNet卷积核的尺寸不同。我们在同一个输入中,把它连接在一起。在单独的层操作,而不是只经过一次卷积操作。我们先是乘法,接下来是求和操作。它先是乘一些东西,再乘一些东西,然后把所有这些乘法的输出连接在一起,进行前向传播。这使得它更好地学习在每一层中的特征表示。
ResNet
接下来是ResNet,这是在resin之后的创意。如果我们只是保持堆叠层,那么网络每次都会变得更好吗?答案是否定的。如果你增加更多的话,性能会发生下降。ResNet说没关系。每隔两层进行数组元素依次相加操作,它只是增加了这个操作,并且改进梯度传播,从而使得反向传播更加容易。进一步解决了梯度消失的问题。
DenseNet
这之后是DenseNet。DenseNet 提出将网络中每一层的所有块与其他层连接起来。这是一种更复杂的连接策略。网络被设计的越来越深。还有一些计算技巧正在被添加到这些卷积网络上,比如ReLu或dropout或批量标准化(Batch Normalization),从而提升了性能。另外,我们还在网络层之间使用越来越多的连接,但是Hinton说卷积神经网络存在问题。
卷积神经网络可以从看到的东西里面,学习最底层的特征。
以狗为例,在最底层学习耳朵的边和曲率,然后我们沿着层次向上到高层,当我们进入下一层时学到的每一个特征将会变得更加复杂——第一层是边缘特征,下一层学到的特征变成了形状,下一层它们变成更加复杂的形状,比如一个完整的耳朵,在最后一层,它们变成非常非常复杂的形状,比如狗的整个身体。
这与我们所知道的人类视觉皮层的工作方式非常相似。每当我们看到某些东西的时候,按层次顺序激活神经元。当我们试图去识别一些我们所看到的东西时,我们并不知道精确的复杂的细节层间的连接机制,但是我们知道在每个层之间都会有层次关系发生。
卷积神经网络的症结在哪?
-
首先所有下采样池化层都会失去高精度的空间信息,在高层特征中就好比鼻子和嘴巴之间的空间关系,仅仅能够区分鼻子和嘴巴是不够的,就好像如果你的鼻子在图片中的左边角落,而嘴巴在图片中的右边角落,眼睛在图片的下面,你总不能说根据这三个特点说这肯定是一张脸。
-
还有一个空间相关性——眼睛要在鼻子的上面,鼻子要在嘴巴上面。但是下采样或池化会失去这种关系,它们对几何关系的理解卷积网络在图像检测上很糟糕。