AlexNet阅读笔记

ImageNet classification with deep convolutional neural networks

原文链接:https://dl.acm.org/doi/abs/10.1145/3065386

中文翻译:https://blog.csdn.net/qq_38473254/article/details/132307508

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

摘要

  1. 大型卷积神经网络AlexNet,实现了低错误率;
  2. 该网络由5个卷积层和3个全连接层组成;
  3. 使用了GPU加快了训练速度;
  4. 开发了"dropout"正则化手段减少过拟合;

1. 简介

  1. 为了更强大的模型,大型的数据集是需要的,如ImageNet;
  2. GPU能够与2D卷积实现结合,可以促进CNN训练;
  3. 如果有更快的GPU和更大的数据集,结果就可以得到改善。

2. 数据集

  1. 使用ImageNet的子集,每个类别包含大约1000个图像。总共大约有120万张训练图像、5五万张验证图像和15万张测试图像;
  2. ImageNet是由可变分辨率图像组成,这里将图像下采样到固定分辨率256 × 256。

3.架构

3.1 ReLU非线性

  1. 使用 ReLU 的深度卷积神经网络的训练速度比使用 tanh 单元的深度卷积神经网络快几倍;
  2. 激活函数:

3.2 多GPU上的训练

  1. GPU适合并行训练,将网络分布在两个GPU上。

3.3 局部响应标准化

3.4 重叠池化

  1. 间隔s个像素<池化单元位置为中心的大小为z × z 的邻域。

3.5 整体架构

  1. 输入图像:224×224×3
  2. 第一个卷积层 :96 个大小为 11×11×3 的核,步幅4
  3. 第二个卷积层:256 个大小为 5 × 5 × 48核
  4. 第三个卷积层:384 个大小为 3 × 3 × 256 的内核
  5. 第四个卷积层: 384 个大小为 3 × 3 × 192 的内核
  6. 第五个卷积层: 256 个大小为 3 × 3 × 192 的内核
  7. 第一个全连接层:4096 个神经元
  8. 第二个全连接层:4096 个神经元
  9. 第三个全连接层:1000个神经元
  10. 最后输出到softmax

4. 减少过拟合

4.1 数据增强

  1. 图像平移和水平反射,将训练集的大小增加了 2048 倍,减少了过拟合;
  2. 改变训练图像中 RGB 通道的强度,将错误率降低了1%。

4.2 Dropout

  1. 以 0.5 的概率将每个隐藏神经元的输出设置为零,减少了过拟合。

5. 学习细节

  1. 使用随机梯度下降来训练模型,减少了模型的训练误差
  2. 使用标准差为0.01的零均值高斯分布初始化每层权重;
    用常量1初始化第二、第四、第五卷积层和全连接隐藏层的神经元偏差;
    用常量0初始化剩余层的神经元偏差。
  3. 对所有层使用相同的学习率,当验证错误率不随当前学习率提高,将学习率除以10。学习率初始化为0.01并且终止前减少了三倍。

6. 结果

1.错误率相较于之前的Top-1和Top-5得到明显降低

6.1 定性评价

  1. GPU 1 上的内核很大程度上与颜色无关,而 GPU 2 上的内核主要与颜色相关
  2. 如果两个图像产生具有较小欧几里德分离的特征激活向量,我们可以说神经网络的更高层认为它们是相似的

7. 讨论

  1. 删除单个卷积层,网络性能就会下降,所以深度对于实现图像分类很重要。
相关推荐
Zzj_tju3 小时前
准确率不变,概率质量也不变吗?
人工智能·深度学习·机器学习·语言模型
一木 之林4 小时前
Dify学习笔记 03 · RAG检索增强生成:三代范式、评估与落地(第40-45、55-56集)
笔记·小程序·交互·dify
在所不辞兄5 小时前
【零基础学智能仿真-67】力学知识库与检索增强
人工智能·深度学习·神经网络·机器学习·智能仿真
拜小白5 小时前
【论文解读】ZInD:带标注平面图、360° 全景与 3D 房间布局的 Zillow 室内数据集
深度学习·计算机视觉·全景图
DevOps老兵6 小时前
Transformer拆解01:Transformer为什么出现,RNN到底卡在哪里
rnn·深度学习·大模型·transformer·注意力机制
zcg19427 小时前
通过UE制作segment和depth数据
人工智能·深度学习
箓维9 小时前
TCP Socket的进阶实现
网络·笔记·tcp/ip
二哈赛车手9 小时前
新人笔记---hermes定时功能设计,具体讲解以及可优化点
java·人工智能·笔记·spring·ai·typescript
星恒随风10 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
Yolanda_202210 小时前
week3深度学习处理文本(上)
人工智能·深度学习