【论文复现代码数据集见评论区】5小时精读AlexNet Paper,吃透CV计算

AlexNet
《ImageNet Classification with Deep Convolutional Neural Network》基于深度卷积网络的图像分类
前期知识储备
- 机器学习:了解机器学习基本原理及概念,如数据集划分、损失函数、优化方法等
- 神经网络:了解神经网络基本知识,特别是卷积神经网络的工作原理等
- 图像分类:了解图像分类的概念,掌握图像分类的流程
- PyTorch:了解PyTorch基本使用方法,如数据读取处理、模型构建、损失优化等
论文总览

学习目标

目录
1、论文导读 背景介绍
- 论文研究背景CV-baselinel-AexNet-01-研究背景 P1 - 09:55
- 论文研究成果及意义CV-baselinel-AlexNet-02- 研究成果意义 P2 - 00:04
- 小结CV-baselinel-AlexNet-02- 研究成果意义 P2 - 09:21
2、论文精读
- 回顾CV-baselinel-AlexNet-03-论文结构 P3 - 01:23
- 论文结构CV-baselinel-AlexNet-03-论文结构 P3 - 02:38
- AlexNet结构CV-baselinel-AlexNet-04-结构 P4 - 00:09
- 训练技巧CV-baselinel-AlexNet-06-训练技巧 P6 - 00:01
- 实验设置及结果分析CV-baselinel-AlexNet-07实验结果及分析 P7 - 00:02
- 论文总结CV-baselinel-AlexNet-08-论文总结 P8 - 00:02
- 小结CV-baselinel-AlexNet-08-论文总结 P8 - 16:49
3、代码实现
1、论文导读 背景介绍
论文研究背景

CV领域常见的两个数据集:
Mnist:10个类,灰度图像,手写体数字(图片分辨率28*28)
Cifar-10:10个类,彩色图像(图片分辨率32*32)
ILSVRC-2012:1000个类,彩色图像
ILSVRC
ImageNet Large Scale Visual Recognition Challenge
ImageNet大规模图像识别挑战赛

ILSVRC-2012数据集与ImageNet数据集的关系

- ImageNet官网:https://image-net.org/

top 5 error:五个类别中有一个预测正确了就不会惩罚模型,使其继续优化(这里的惩罚我理解为类似于最优化方法中的罚函数,用来评价函数)
- 这里的minj d(x ,y)的计算是先将j个d(x , y)求出来然后取最小值CV-baselinel-AexNet-01-研究背景 P1 - 22:27
- d(x , y)的计算:x 和 y 相等则表达式为 0 ,否则为 1
- top 5 error最后将求得的minj d(x ,y)求和再取平均
强大的计算资源
580*2 6days

论文研究成果及意义
研究成果

AlexNet历史意义



小结

CV-baselinel-AlexNet-02- 研究成果意义 P2 - 09:21
2、论文精读
回顾

CV-baselinel-AlexNet-03-论文结构 P3 - 01:23
论文结构


摘要

AlexNet结构

- 网络连接方式
- 数据流计算
- 连接参数计算

CV-baselinel-AlexNet-04-结构 P4 - 10:00


- 向下取整
连接数量的计算

- Fi:输入的个数
- Ks:卷积核大小
- Kn:卷积核的数量
- 池化层没有权重参数
- 全连接层(FC)连接数量的计算:全连接层每一个神经元都与前面所有的特征图神经元(Tensor size)相连接
- FC-1层的连接数量占了整个网络结构的一半以上
AlexNet结构特点

ReLU的优点

ReLU与Sigmoid函数的对比

- 蓝色曲线表示函数
- 红色曲线表示梯度
局部响应标准化
Local Response Normalization(LRN)
CV-baselinel-AlexNet-05网络结构特点 P5 - 09:40

- b:经过LRN之后神经元的值
- a:神经元原始的值
- 等式右侧的分母值越大,左侧b的值就越小,从而实现了对神经元的抑制作用
- 当前神经元周围如果有很大的值,则当前神经元会被抑制
- 现在很少会采用LRN,现在有了更好的BN(Batch Normalization)
Overlapping Pooling

- 上图中的两种池化方式是不带重叠的池化方式,即pool size = stride ,相邻两个池化区域之间不会有重叠的部分
- 论文中提到的Overlapping Pooling 是带重叠部分的池化操作,即pool size > stride , 相邻两个池化区域之间存在重叠的部分(如下图中红色阴影部分所示)

训练技巧(减轻过拟合)
- Data Augmentation
- Dropout
Data Augmentation
- 方法一:针对位置

- 方法二:针对颜色

Dropout

- 详细内容见另一篇笔记中的“正则化”部分中的内容:https://www.bilibili.com/read/cv13926486?spm_id_from=333.999.0.0
实验设置及结果分析
- ILSVERC-2012比赛
- 卷积核可视化
- 特征相似性
ILSVERC-2012比赛

- * 表示预训练
卷积核可视化

- 为什么只把第一个卷积层进行格式化?越往后卷积核越小,可视化后看不出什么东西;卷积越往后,特征越高级越抽象,人眼很难识别

特征相似性

- 欧氏距离

论文总结
CV-baselinel-AlexNet-08-论文总结 P8 - 00:02

关键点:
- 算法
- 算力
- 算料
创新点主要是:
- ReLu
- Data Augmentation
- FC层采用Dropout减轻过拟合

- 图片缩放时先对短边进行缩放,是为了避免短边像素的缺失

小结
CV-baselinel-AlexNet-08-论文总结 P8 - 16:49
回顾本节内容,复习巩固

3、代码实现

----end----