CV学习笔记-Alexnet

简介: CV学习笔记-Alexnet

Alexnet

1. 背景

AlexNet是2012年ImageNet竞赛冠军获得者Hinton和他的学生Alex Krizhevsky设计的。也是在那年之后,更多的更深的神经网络被提出。

2018122814580746.png

2. 网络结构

原网络结构:

2018122814580746.png

这个原述解释的是上面一半与下面一半分别跑在不同的GPU上,所以将原生网络简化成下面结构,来具体看看中间的过程如何计算。

2018122814580746.png

详解:

输入接收一个三通道的二维224 × 224矩阵,故而原始输入图片输入网络应当先进行处理,resize到(224,224,3)。

使用步长为4 × 4,大小为11 × 11的卷积核对图像进行卷积,输出的特征(feature map)为96层(也即输出有96个通道)

详细计算方式在笔者的前一篇文章已有介绍,此处作推演。

输出的通道数与卷积核的个数(3通道,卷积核的通道数与原输入通道数应为一致)一致,所以输出通道数经过卷积操作是可以人为定义的。这里使用了96个11×11卷积核进行了卷积,输出为55×55×96,55怎么算来的呢,使用了公式N=(W-F+2P)/S + 1,W为输入大小,F为卷积核大小,P为填充值大小,S为步长大小,代入公式可得,N=(224-55+2 × 0)/4 +1=54,很多层都进行了LRN操作,可参考《深度学习饱受争议的局部响应归一化(LRN)详解》,笔者在这里就不作介绍了

然后进入池化操作,池化操作不改变输出通道数,池化的pool_size为3 ×3,故而输出大小为(55-3)/2+1=27,故最终输出为27 × 27 × 96

然后经过same方式padding后,用5 × 5的卷积核进行了卷积操作,输出通道为256,same方式下经过计算输出为⌈ 27 /1 ⌉ = 27 ,输出大小不变,故最终输出为27 × 27 × 256

image.png

然后使用3 ×3的窗口,以步长为2 × 2的窗口进行最大池化操作,池化不改变通道数,输出为(27-3+0)/2 + 1 = 13,故输出大小为13 × 13 × 256,然后再经过same方式加padding,输出为⌈ 13 /1 ⌉ = 13 输出通道指定为384,也即用了384个3 × 3 的卷积核(卷积核个数等于输出通道数),最终输出为13 × 13 × 384 。然后保持384的输出通道不变,加一圈padding(即P=1),用3 × 3的卷积核进行卷积,输出为(13-3+2)/1 + 1 = 13,故最终输出为13 × 13 × 384 然后设置输出通道为256,加一圈padding(即P=1),用3 × 3的卷积核进行卷积,输出为(13-3+2)/1 + 1 = 13,故最终输出为13 × 13 × 256 然后使用3 × 3的窗口大小、2 × 2的步长进行最大池化操作,池化不改变通道数,通道数仍为256,输出为(13-3+0)/2 + 1 = 6,故最终输出为6 × 6 × 256

由于FC(全连接层)只接收一维向量,故需要将6 × 6 × 256 转换成1 × 1 × 9216的向量,输入为9216个参数,这个过程形象的成为拍扁的过程,原理是用与原featuremap大小相同的卷积核进行卷积,个数即输出通道数,然后经过三层FC,再通过softmax分类器进行分类,softmax的输出个数即你要分的类别数,FC层中的过程相当于用1 ×  1的卷积核进行卷积的过程。



相关文章
|
3月前
|
机器学习/深度学习 计算机视觉 Python
cv2.dnn.
【9月更文挑战第13天】
58 12
|
7月前
|
计算机视觉
YOLOv8改进 | 2023Neck篇 | 利用Gold-YOLO改进YOLOv8对小目标检测
YOLOv8改进 | 2023Neck篇 | 利用Gold-YOLO改进YOLOv8对小目标检测
329 1
|
7月前
|
机器学习/深度学习 计算机视觉
YOLOv5改进 | 2023Neck篇 | 利用Gold-YOLO改进YOLOv5对小目标检测
YOLOv5改进 | 2023Neck篇 | 利用Gold-YOLO改进YOLOv5对小目标检测
298 0
|
机器学习/深度学习 编解码 数据可视化
【计算机视觉】CNN 可视化算法 CAM & Grad-CAM
CAM 算法是论文《Learning Deep Features for Discriminative Localization》中提出的,作者发现 CNN 网络虽然在训练时可能未提供对象的位置,但是仍然具有很强的定位特征能力。 《Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization》论文提出的 Grad-CAM 算法,Grad-CAM 利用网络反向传播的梯度计算出 feature map 每一个通道的权重从而得到热力图。因此 Grad-CAM 可以直接用于各种 CNN 网络而无需重新训
|
机器学习/深度学习 算法 数据挖掘
CV学习笔记-卷积神经网络
CV学习笔记-卷积神经网络
263 0
CV学习笔记-卷积神经网络
|
机器学习/深度学习 存储 编解码
CV全新范式 | LSTM在CV领域杀出一条血路,完美超越Swin与ConvNeXt等前沿算法
CV全新范式 | LSTM在CV领域杀出一条血路,完美超越Swin与ConvNeXt等前沿算法
274 0
|
机器学习/深度学习 传感器 并行计算
CV学习笔记-CNN-VGG
CV学习笔记-CNN-VGG
122 0
CV学习笔记-CNN-VGG
|
算法 数据可视化 计算机视觉
CV17 HOG特征提取算法
假设有这么一幅图片(gray格式),取出64*128大小的部分,通过选择其中的一个像素点及其周围的3x3区域,计算梯度和大小
325 0
|
算法 数据中心 计算机视觉
CV学习笔记-特征提取
CV学习笔记-特征提取
206 0
CV学习笔记-特征提取
|
机器学习/深度学习 人工智能 自然语言处理
深度学习与CV教程(10) | 轻量化CNN架构 (SqueezeNet,ShuffleNet,MobileNet等)
本文讲解了神经网络参数与复杂度计算,以及主流轻量级网络,包括SqueezeNet、Xception、ShuffleNet v1~v2、MobileNet v1~v3等
3520 24
深度学习与CV教程(10) | 轻量化CNN架构 (SqueezeNet,ShuffleNet,MobileNet等)