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. 删除单个卷积层,网络性能就会下降,所以深度对于实现图像分类很重要。
相关推荐
我要吐泡泡了哦1 小时前
GAMES104:15 游戏引擎的玩法系统基础-学习笔记
笔记·学习·游戏引擎
骑鱼过海的猫1231 小时前
【tomcat】tomcat学习笔记
笔记·学习·tomcat
AI大模型知识分享2 小时前
Prompt最佳实践|如何用参考文本让ChatGPT答案更精准?
人工智能·深度学习·机器学习·chatgpt·prompt·gpt-3
贾saisai3 小时前
Xilinx系FPGA学习笔记(九)DDR3学习
笔记·学习·fpga开发
北岛寒沫3 小时前
JavaScript(JS)学习笔记 1(简单介绍 注释和输入输出语句 变量 数据类型 运算符 流程控制 数组)
javascript·笔记·学习
烟雨666_java3 小时前
JDBC笔记
笔记
GEEKVIP3 小时前
Android 恢复挑战和解决方案:如何从 Android 设备恢复删除的文件
android·笔记·安全·macos·智能手机·电脑·笔记本电脑
小言从不摸鱼4 小时前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
铁匠匠匠4 小时前
从零开始学数据结构系列之第六章《排序简介》
c语言·数据结构·经验分享·笔记·学习·开源·课程设计
Moliay5 小时前
【资料分析】刷题日记2
笔记·公考·行测·常识·资料分析