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. 删除单个卷积层,网络性能就会下降,所以深度对于实现图像分类很重要。
相关推荐
初九之潜龙勿用2 分钟前
我的创作纪念日,纪念我的第512天
笔记
TURING.DT22 分钟前
模型部署:TF Serving 的使用
深度学习·tensorflow
励志去大厂的菜鸟2 小时前
系统相关类——java.lang.Math (三)(案例详细拆解小白友好)
java·服务器·开发语言·深度学习·学习方法
雾里看山2 小时前
【MySQL】 库的操作
android·数据库·笔记·mysql
liuhui2442 小时前
Pytorch深度学习指南 卷I --编程基础(A Beginner‘s Guide) 第1章 一个简单的回归
pytorch·深度学习·回归
睡不着还睡不醒3 小时前
【深度学习】神经网络实战分类与回归任务
深度学习·神经网络·分类
编码浪子3 小时前
Transformer的编码机制
人工智能·深度学习·transformer
cdut_suye3 小时前
踏浪而行,2024年技术创作的星光轨迹
经验分享·笔记·学习方法·热榜·博客之星·学习历程·回顾2024
IE063 小时前
深度学习系列76:流式tts的一个简单实现
人工智能·深度学习
雁于飞6 小时前
c语言贪吃蛇(极简版,基本能玩)
c语言·开发语言·笔记·学习·其他·课程设计·大作业