首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

【深度学习进阶】CNN-AlexNet

  • 25-02-16 04:41
  • 2364
  • 11291
blog.csdn.net

文章目录

  • 介绍
    • 架构特点
    • 创新点与贡献
    • 影响与意义
  • 网络亮点
    • 过拟合
  • 详解
    • Conv1
    • Maxpool1
    • Conv2
    • Maxpool2
    • Conv3
    • Conv4
    • Conv5
    • Maxpool3

​

介绍

AlexNet 是一种深度卷积神经网络(CNN),由 Alex Krizhevsky、Ilya Sutskever 和 Geoffrey E. Hinton 在 2012 年提出,并在当年的 ImageNet 大规模视觉识别挑战赛(ILSVRC)中取得了第一名的成绩。这一成就标志着深度学习在计算机视觉领域的重大突破,极大地推动了该领域的发展。

架构特点

  • 输入尺寸:AlexNet 接受 224x224x3(宽 x 高 x RGB 通道数)大小的图像作为输入。
  • 卷积层:
    • AlexNet 包含 5 个卷积层,其中前三个卷积层后面接有最大池化层和局部响应归一化层(LRN)。后两个卷积层则直接连接到全连接层。
    • 第一层使用较大的卷积核(11x11),步长为 4,以捕捉大范围的空间信息;后续几层逐渐减小卷积核大小(5x5 和 3x3),以便提取更细粒度的特征。
    • 每个卷积层都应用了 ReLU 激活函数,这有助于加速训练过程并缓解梯度消失问题。
  • 池化层:
    • 最大池化层用于降低特征图的空间维度,减少参数数量并控制过拟合。
  • 局部响应归一化(LRN):
    • LRN 对局部神经元活动进行归一化处理,增强了模型的泛化能力。
  • 全连接层:
    • AlexNet 有两个大的全连接层,每个包含 4096 个神经元。这些层负责整合前面所有层提取出的特征,并映射到最终的输出类别。
    • 全连接层之后通常会有一个 Dropout 层,用来随机丢弃一部分神经元,防止过拟合。
  • 输出层:
    • 输出层通过 Softmax 函数将预测值转换为概率分布,对应于 ImageNet 数据集中的 1000 类别标签。

创新点与贡献

  • GPU 加速:AlexNet 是最早利用 GPU 来加速训练过程的网络之一,显著缩短了训练时间。
  • ReLU 激活函数:引入 ReLU 代替传统的 Sigmoid 或 Tanh 激活函数,加快了训练速度并提高了性能。
  • Dropout 技术:通过在网络中添加 Dropout 层来减少过拟合现象,提升了模型的泛化能力。
  • 数据增强:为了增加训练样本的多样性,AlexNet 使用了镜像翻转和裁剪等方法对原始图像进行了扩充。

影响与意义

AlexNet 的成功不仅在于它在 ILSVRC 上取得的优异成绩,更重要的是它证明了深度卷积神经网络在大规模图像分类任务上的巨大潜力。自那时以来,许多新的 CNN 架构如 VGGNet、GoogLeNet、ResNet 等相继出现,它们在不同方面改进和发展了 AlexNet 的思想和技术,共同推动了深度学习和计算机视觉领域的快速发展。

总之,AlexNet 作为一个里程碑式的模型,开启了现代深度学习研究的新纪元,其设计理念和技术创新至今仍然影响着众多研究工作。

ISLVRC 2012

  • 训练集:1,281,167张已标注图片
  • 验证集:50,000张已标注图片
  • 测试集:100,000张未标注图片
    在这里插入图片描述

网络亮点

该网络的亮点在于:

  1. 首次利用 GPU 进行网络加速训练。
  2. 使用了 ReLU 激活函数,而不是传统的 Sigmoid 激活函数以及 Tanh 激活函数。
  3. 使用了 LRN 局部响应归一化。
  4. 在全连接层的前两层中使用了 Dropout 随机失活神经元操作,以减少过拟合。

过拟合

根本原因是特征维度过多,模型假设过于复杂,参数过多,训练数据过少,噪声过多,导致拟合的函数完美的预测训练集,但对新数据的测试集预测结果差。 过度的拟合了训练数据,而没有考虑到泛化能力。
​
在这里插入图片描述
使用 Dropout 的方式在网络正向传播过程中随机失活一部分神经元。
在这里插入图片描述

详解

经卷积后的矩阵尺寸大小计算公式为:N = (W − F + 2P ) / S + 1

① 输入图片大小 W×W
② Filter大小 F×F
③ 步长 S
④ padding的像素数 P

Conv1

在这里插入图片描述

  • Conv1:
    • kernels:48*2=96
    • kernel_size:11
    • padding:[1, 2]
    • stride:4
  • input_size: [224, 224, 3]
  • output_size: [55, 55, 96]
  • N = (W − F + 2P ) / S + 1=[224-11+(1+2)]/4+1

Maxpool1

在这里插入图片描述

  • Maxpool1:

    • kernel_size:3
    • pading: 0
    • stride:2
  • input_size: [55, 55, 96]

  • output_size: [27, 27, 96]

  • N = (W − F + 2P ) / S + 1=(55-3)/2+1

Conv2

在这里插入图片描述

  • Conv2:
    • kernels:128*2=256
    • kernel_size:5
    • padding: [2, 2]
    • stride:1
  • input_size: [27, 27, 96]
  • output_size: [27, 27, 256]
  • N = (W − F + 2P ) / S + 1=(27-5+4)/1+1

Maxpool2

在这里插入图片描述

  • Maxpool2:

    • kernel_size:3
    • pading: 0
    • stride:2
  • input_size: [27, 27, 256]

  • output_size: [13, 13, 256]

  • N = (W − F + 2P ) / S + 1=(27-3)/2+1

Conv3

在这里插入图片描述

  • Conv3:

    • kernels:192*2=384
    • kernel_size:3
    • padding: [1, 1]
    • stride:1
  • input_size: [13, 13, 256]

  • output_size: [13, 13, 384]

  • N = (W − F + 2P ) / S + 1=(13-3+2)/1+1

Conv4

在这里插入图片描述

  • Conv4:

    • kernels:192*2=384
    • kernel_size:3
    • padding: [1, 1]
    • stride:1
  • input_size: [13, 13, 384]

  • output_size: [13, 13, 384]

  • N = (W − F + 2P ) / S + 1=(13-3+2)/1+1

Conv5

在这里插入图片描述

  • Conv5:

    • kernels:128*2=256
    • kernel_size:3
    • padding: [1, 1]
    • stride:1
  • input_size: [13, 13, 384]

  • output_size: [13, 13, 256]

  • N = (W − F + 2P ) / S + 1=(13-3+2)/1+1

Maxpool3

在这里插入图片描述

  • Maxpool3:

    • kernel_size:3
    • pading: 0
    • stride:2
  • input_size: [13, 13, 256]

  • output_size: [6, 6, 256]

  • N = (W − F + 2P ) / S + 1=(13-3+2)/1+1

在这里插入图片描述

注:本文转载自blog.csdn.net的道友老李的文章"https://blog.csdn.net/u014608435/article/details/144425106"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top