图像分类 image classification
图像分类算法作为基础的卷积神经网络算法,研究开始的时间比较早,1998年即有LeNet提出,被认为是最早的卷积神经网络模型,但由于当时计算机算力和数据集的限制,没有太优的表现,直至2012年AlexNet的提出,深层的卷积神经网络正式变成研究的热点。
图像分类算法的基础结构即上文的卷积神经网络结构:输入层 -> ((卷积层+激活函数)*n -> 池化层)*n -> (全连接层+激活函数) -> 输出层
随着研究深入,不断有新的图像分类算法提出:如VGGNet、GoogLeNet、ResNet等,他们各自完善了卷积神经网络的各个缺陷。
Dropout
随机隐藏部分神经元,抑制过拟合
Batch Normalization, BN
BN层,使得每一层神经网络的输入保持相同分布
评价指标
top-1错误率:将概率向量中最大的作为预测结果,若分类正确,则为正确;
top-5错误率:只要概率向量中最大的前五名里有分类正确的,则为正确。
代表性算法
基本的思想是先做一次池化,然后经过全连接+Sigmoid限制到[0,1]的范围,再将其作为scale前面的对应通道上,作为下一层的输入。
-
LeNet[1998]:CNN的鼻祖,奠定CNN的基本结构。
-
AlexNet[2012]:第一个深度CNN,用了更深的网络结构;使用Dropout抑制过拟合;改用ReLU激活函数改善梯度消失。
-
VGG[2014]:重复堆叠3x3卷积增加网络深度;通过堆叠3x3卷积核代替大卷积核,减少参数量。
-
GoogLeNet[2014]:提出Inception模块,在控制参数和计算量的前提下,增加网络的深度与宽度;使用三个分类器加权以缓解梯度消失。
-
ResNet[2015]:提出残差网络,弱化每层之间的强联系,解决了深层网络的优化问题(在此之前增加网络深度不一定可以得到更好的效果)。
-
ResNeXt[2016]:ResNet和Inception的结合体,Inception中每个分支结构相同,无需人为设计。
-
DenseNet[2016]:Densely connected convolutional networks,建立前面所有层与后面层的密集连接(dense connection),实现特征重用。
-
SENet[2017]:Squeeze-and-excitation networks,提出SE模块(注意力机制, Attention),使网络可以关注拥有更有效的特征的通道。