使用深度卷积神经网络进行 ImageNet 分类

大数据集包括 LabelMe(由数十万张完全分割的图像组成)和 ImageNet(由 22,000 多个类别的超过 1500 万张带标签的高分辨率图像组成)

CNN就是这样一类模型,它们的容量可以通过改变深度和广度来控制,并且它们还对图像的性质(即统计的平稳性和像素依赖性的局部性)做出强有力且基本正确的假设。与具有类似大小层的标准前馈神经网络相比,CNN的连接和参数要少得多,更容易训练。

数据集

ImageNet 是一个包含超过 1500 万张带标签的高分辨率图像的数据集,属于大约 22000 个类别。由人工贴标员使用亚马逊的Mechanical Turk 众包工具进行标记。

大规模视觉识别挑战赛(ILSVRC)使用ImageNet的子集,每个类别包含大约1000个图像。总共大约有120万张训练图像、5万张验证图像和15万张测试图像。

在 ImageNet 上,通常报告两个错误率:top-1top-5,其中 top-5 错误率是测试图像中正确标签不在模型认为最有可能的五个标签中的比例

ImageNet 由可变分辨率图像组成,而我们的系统需要恒定的输入维度。因此,我们将图像下采样到固定分辨率 256 × 256。给定一个矩形图像,我们首先重新缩放图像,使短边的长度为 256,然后从生成的图像中裁剪出中央 256 × 256 的块图像。

模型架构

五个卷积层和三个全连接层

ReLU非线性

将具有这种非线性的神经元称为整流线性单元(ReLU),使用 ReLU 的深度卷积神经网络的训练速度比使用 tanh 单元的深度卷积神经网络快几倍。

局部响应标准化

ReLU具有理想的特性:即它们不需要输入标准化来防止它们饱和。如果至少有一些训练样例对 ReLU 产生正输入,学习就会在该神经元中发生。然而,我们仍然发现以下局部标准化方案有助于泛化。

表示神经元在位置(x,y)应用核 i 得到的结果。响应归一化可以用上式来表示

CNN的整体架构

网络包含8层权重;前五个是卷积,其余三个是全连接的。最后一个全连接的输出被馈送到一个1000分类的softmax,其产生1000个类标签的分布。最大化正确标签在预测分布下的对数概率的跨训练案例的平均值。

第一个卷积层过滤224×224×3输入图像,96个大小为11×11×3的核,步幅为4像素。第二个卷积层将第一个卷积层的输出(响应归一化和池化)作为输入,并使用256个大小为5 × 5 × 48的核对其进行过滤。第三层、第四层和第五层卷积层相互连接,没有任何中间池化层或归一化层。第三个卷积层有384个大小为3 × 3 × 256的核,这些核连接到第二个卷积层的输出(归一化,池化)。第四个卷积层有384个大小为3 × 3 × 192的核,第五个卷积层有256个大小为3 × 3 × 192的核。完全连接的层每层有4096个神经元。

减少过拟合

数据增强

减少图像数据过拟合的最简单和最常用的方法是使用标签保留变换人为地扩大数据集。

采用两种不同形式的数据增强,这两种方式都允许用很少的计算从原始图像生成转换后的图像,因此转换后的图像不需要存储在磁盘上。转换后的图像是在CPU上用Python代码生成的,而GPU在前一批图像上进行训练。这些数据增强方案实际上是不需要计算的。


第一种形式包括生成图像平移和水平反射。通过从256*256图像中提取随机224*224的图像块(及其水平反射)并在这些提取的块上训练我们的网络来实现此目的。这将我们的训练集的大小增加了2048倍。在测试时,网络通过提取五个 224 × 224 补丁(四个角补丁和中心补丁)及其水平反射(因此总共十个补丁)来进行预测,并对网络的 softmax 层做出的预测进行平均在十个补丁上。

第二种形式包括改变训练图像中RGB通道的强度。具体来说,我们对整个ImageNet训练集中的RGB像素值执行PCA。对于每个训练图像,我们添加多个找到的主成分,

深度学习中对RGB像素值进行PCA指的是对RGB像素值进行主成分分析

主成分分析(PCA)是一种能够极大提升无监督特征学习速度的数据降维算法。在深度学习中,PCA被广泛应用于图像处理、人脸识别等领域。例如,对于一张200*200大小的RGB图像,其像素值可以看作是一个120000维的向量。通过PCA算法,可以将这个高维向量转换成一个低维向量,同时尽可能地保留原始数据中的信息。这样不仅可以减少计算量,还可以提高算法的准确性和鲁棒性。

Dropout

Dropout指的是以0.5的概率将每个隐藏神经元的输出设置为零。以这种方式"丢弃"的神经元不会对前向传播做出贡献,也不参与反向传播。

相关推荐
qq_529025293 分钟前
Torch.gather
python·深度学习·机器学习
IT古董36 分钟前
【漫话机器学习系列】017.大O算法(Big-O Notation)
人工智能·机器学习
凯哥是个大帅比36 分钟前
人工智能ACA(五)--深度学习基础
人工智能·深度学习
m0_748232921 小时前
DALL-M:基于大语言模型的上下文感知临床数据增强方法 ,补充
人工智能·语言模型·自然语言处理
szxinmai主板定制专家1 小时前
【国产NI替代】基于FPGA的32通道(24bits)高精度终端采集核心板卡
大数据·人工智能·fpga开发
海棠AI实验室1 小时前
AI的进阶之路:从机器学习到深度学习的演变(三)
人工智能·深度学习·机器学习
机器懒得学习1 小时前
基于YOLOv5的智能水域监测系统:从目标检测到自动报告生成
人工智能·yolo·目标检测
QQ同步助手2 小时前
如何正确使用人工智能:开启智慧学习与创新之旅
人工智能·学习·百度
AIGC大时代2 小时前
如何使用ChatGPT辅助文献综述,以及如何进行优化?一篇说清楚
人工智能·深度学习·chatgpt·prompt·aigc