AlexNet
2012年,AlexNet引领了一个重大的技术突破,首次展示了通过机器学习学到的特征能够超越传统的手工设计特征。这一成就彻底改变了计算机视觉领域的研究方向。AlexNet是一个由8层组成的卷积神经网络,它在2012年的ImageNet图像识别挑战赛中以显著的优势获胜。此外,AlexNet的架构与早期的LeNet架构非常相似。
模型设计
AlexNet和LeNet的设计理念非常相似,但也存在显著差异。
- AlexNet比相对较小的LeNet5要深得多。AlexNet由八层组成:五个卷积层、两个全连接隐藏层和一个全连接输出层。
- AlexNet使用ReLU而不是sigmoid作为其激活函数。
在AlexNet的设计中,第一层使用的卷积窗口大小为11×11,这是为了更好地捕获ImageNet数据集中相比MNIST数据集大得多的图像的特征。随后的第二层的卷积窗口则缩小至5×5,接着是3×3的窗口尺寸。此外,第一层、第二层和第五层卷积后都会接一个3×3窗口、步幅为2的最大汇聚层,以减少数据的空间大小。
AlexNet的卷积层通道数量是LeNet的10倍,显著增加了模型的复杂度。在最后一个卷积层之后,网络包含两个全连接层,每个层都有4096个神经元。这两个全连接层累计几乎占用了1GB的模型参数。
由于早期GPU显存的限制,原始的AlexNet采用了双数据流的设计,使得每个GPU只需要处理一半的模型参数。不过,随着现代GPU显存的增加,这种跨GPU分解模型的需求已大大减少。因此,目前版本的AlexNet模型在这方面与原始论文有所不同。
激活函数与容量控制
在AlexNet中,采用了ReLU激活函数替代了传统的sigmoid激活函数。ReLU激活函数的计算复杂度更低,不需要进行复杂的指数运算。此外,ReLU在训练过程中表现出更好的性能,尤其是在使用不同的参数初始化策略时。这是因为当sigmoid函数的输出接近0或1时,其梯度接近于0,这会阻碍反向传播过程中的参数更新。相比之下,ReLU在其正数部分的梯度恒为1,避免了这种梯度消失的问题。
在模型复杂度控制方面,AlexNet通过使用暂退法(dropout)来防止全连接层过拟合,而LeNet主要依赖于权重衰减。此外,为了增强模型的泛化能力,AlexNet在训练期间引入了大量的图像增强技术,包括图像的翻转、裁剪和颜色变换,这些方法显著增加了训练数据的多样性,有助于减少过拟合。
VGG网络
VGG(Visual Geometry Group)网络是一种经典的卷积神经网络,由牛津大学的研究者于2014年开发。VGG网络的特点是其均一的架构,主要使用3x3的小卷积核和2x2的最大池化层,通过增加网络深度来提升性能。VGG有几个版本,最著名的是VGG16和VGG19,分别含有16和19层网络结构。它们在多个图像识别任务中表现出色,尽管计算成本较高,但其结构清晰、易于实现,广泛用于图像处理领域。
常用数据集
包括MINIST、PASCAL VOC、MS COCO、ImageNet等
MNIST数据集:
其中,MNIST 数据集主要由一些手 写数字的图片和相应的标签组成,图片一共有 10 类,分别对应从 0~9。原始的 MNIST 数据库一共包含下面 4 个文件:
CIFAR-10数据集 :
- CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。有50000个训练图像和10000个测试图像
- 数据集分为五个训练批次和一个测试批次,每个批次有10000 个图像。测试批次包含来自每个类别的恰好1000个随机选择的图像
深度学习视觉应用
算法评价指标
TP: 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数
FP: 被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数
FN:被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数
TN: 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数=
P(精确率): 𝑇𝑃/(𝑇𝑃+𝐹𝑃 标识“挑剔”的程度
R(召回率): 𝑇𝑃/(𝑇𝑃+𝐹𝑁)。召回率越高,准确度越低,标识“通过”的程度
精度( Accuracy)::(𝑇𝑃+𝑇𝑁)/(𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁)
其中精确率与召回率往往呈现反比例关系,精确率与召回率可以通过改变阈值来调整。
AP(平均准确率)计算