卷积神经网络 - AlexNet各层详解

AlexNet的层次化设计,使得 AlexNet 能够逐层提取从简单边缘到复杂图形的特征,同时结合归一化、池化和 Dropout 技术,有效提升了训练速度和泛化能力,成为推动深度学习发展的重要里程碑。本文我们来理解AlexNet各层的参数设置以及对应的作用。

一、我们先回顾一下AlexNet的结构:

包括 5 个卷积层、3 个汇聚层和 3 个全连接层 (其中最后一层是使用 Softmax 函数的输出层)。因为网络规模超出了当时的单 个 GPU 的内存限制,AlexNet 将网络拆为两半,分别放在两个 GPU 上,GPU 间只在某些层(比如第 3 层)进行通信。

 关键设计总结:

层级核心参数核心作用现代替代方案
Conv1-2大卷积核(11×11, 5×5)+ LRN快速捕获全局特征,增强对比度小卷积核堆叠(VGG)
Conv3-5小卷积核(3×3)堆叠深层局部特征细化残差连接(ResNet)
池化层重叠池化(步长<窗口)降维 + 平移不变性步长=窗口(标准池化)
FC6-74096神经元 + Dropout高阶语义映射 + 正则化全局平均池化(减少参数)
FC81000神经元 + Softmax多分类概率输出自适应输出(多任务学习)

二、对AlexNet各层的解释

AlexNet 的输入为 224 × 224 × 3 (原论文实际输入为227×227)的图像,输出为 1 000 个类别的条件概率,具体各层详解如下:

(1) 第一个卷积层,使用两个大小为11×11×3×48的卷积核,步长𝑆 = 4, 零填充 𝑃 = 3,得到两个大小为 55 × 55 × 48 的特征映射组。

  • 参数设置

    • 输入尺寸:227×227×3(原论文实际输入,常简化为224×224×3)

    • 卷积核:96=48*2 个,尺寸11×11,步长4,无填充(padding=0)

    • 激活函数:ReLU

    • 后续处理:最大池化(3×3窗口,步长2) + LRN(局部响应归一化)

  • 输出尺寸:55×55×96(计算:⌊(227−11)/4+1⌋=55)

  • 作用与意义

    • 大卷积核(11×11):快速捕获大范围低级特征(如边缘、纹理)。

    • 大步长(4):大幅降低特征图尺寸,减少计算量。

    • LRN:模拟生物神经系统的侧抑制,增强特征对比度(后续被BatchNorm取代)。

(2) 第一个汇聚层,使用大小为 3 × 3 的最大汇聚操作,步长 𝑆 = 2,得到两 个27 × 27 × 48的特征映射组。

  1. 池化层1:位于Conv1后,窗口3×3,步长2,输出27×27×96 = 27×27×48×2

  • 作用与意义

    • 逐步降采样:逐步减少特征图尺寸,聚焦重要特征。

    • 平移不变性:池化使网络对微小位置变化不敏感。

    • 控制过拟合:丢弃冗余细节,保留主要模式。

(3) 第二个卷积层,使用两个大小为5×5×48×128的卷积核,步长𝑆 = 1,零填充 𝑃 = 2,得到两个大小为 27 × 27 × 128 的特征映射组。

  • 参数设置

    • 输入尺寸:27×27×96(Conv1池化后)

    • 卷积核:256(128×2)个,尺寸5×5,步长1,填充2(保持尺寸)

    • 激活函数:ReLU

    • 后续处理:最大池化(3×3窗口,步长2) + LRN

  • 输出尺寸:27×27×256 → 池化后13×13×256

  • 作用与意义

    • 中等卷积核(5×5):提取中级特征(如形状、部件)。

    • 填充保留尺寸:避免信息丢失,维持特征图分辨率。

    • 重叠池化(步长<窗口):减少过拟合,保留更多信息。

(4) 第二个汇聚层,使用大小为 3 × 3 的最大汇聚操作,步长 𝑆 = 2,得到两个大小为 13 × 13 × 128 的特征映射组。

  1. 池化层2:位于Conv2后,窗口3×3,步长2,输出13×13×256。

  • 作用与意义

    • 逐步降采样:逐步减少特征图尺寸,聚焦重要特征。

    • 平移不变性:池化使网络对微小位置变化不敏感。

    • 控制过拟合:丢弃冗余细节,保留主要模式。

(5) 第三个卷积层为两个路径的融合,使用一个大小为 3 × 3 × 256 × 384的卷积核,步长 𝑆 = 1,零填充 𝑃 = 1,得到两个大小为 13 × 13 × 192 的特征映 射组。

  • 参数设置

    • 输入尺寸:13×13×256

    • 卷积核:384个,尺寸3×3,步长1,填充1

    • 激活函数:ReLU

    • 后续处理:无池化/LRN

  • 输出尺寸:13×13×384

  • 作用与意义

    • 小卷积核(3×3):细化局部特征,增强非线性表达能力。

    • 不降采样:保持空间分辨率,为深层网络提供高维特征。

(6) 第四个卷积层,使用两个大小为 3 × 3 × 192 × 192 的卷积核,步长 𝑆 = 1,零填充 𝑃 = 1,得到两个大小为 13 × 13 × 192 的特征映射组。

  • 参数设置

    • 输入尺寸:13×13×384

    • 卷积核:384个,尺寸3×3,步长1,填充1

    • 激活函数:ReLU

    • 后续处理:无池化/LRN

  • 输出尺寸:13×13×384

  • 作用与意义

    • 参数对称性:与Conv3相同配置,进一步组合复杂特征。

    • 增加网络深度:通过堆叠小卷积核,模拟更大感受野(类似5×5效果)。

(7) 第五个卷积层,使用两个大小为 3 × 3 × 192 × 128 的卷积核,步长 𝑆 = 1,零填充 𝑃 = 1,得到两个大小为 13 × 13 × 128 的特征映射组。

  • 参数设置

    • 输入尺寸:13×13×384

    • 卷积核:256个,尺寸3×3,步长1,填充1

    • 激活函数:ReLU

    • 后续处理:最大池化(3×3窗口,步长2)

  • 输出尺寸:13×13×256 → 池化后6×6×256

  • 作用与意义

    • 最终特征抽象:提取高级语义特征(如物体整体结构)。

    • 末次池化:压缩空间维度,减少全连接层参数。

(8) 第三个汇聚层,使用大小为 3 × 3 的最大汇聚操作,步长 𝑆 = 2,得到两 个大小为 6 × 6 × 128 的特征映射组。

  1. 池化层5:位于Conv5后,窗口3×3,步长2,输出6×6×256。

  • 作用与意义

    • 逐步降采样:逐步减少特征图尺寸,聚焦重要特征。

    • 平移不变性:池化使网络对微小位置变化不敏感。

    • 控制过拟合:丢弃冗余细节,保留主要模式。

(9) 三个全连接层,神经元数量分别为 4 096、4 096 和 1 000。

1.全连接层6 (FC6)

  • 参数设置

    • 输入:6×6×256 = 9216维向量(展平后)

    • 神经元数:4096

    • 激活函数:ReLU

    • 正则化:Dropout(概率0.5)

  • 作用与意义

    • 全局特征整合:将空间特征映射为高阶语义表示。

    • Dropout:随机屏蔽50%神经元,防止过拟合。

2. 全连接层7 (FC7)

  • 参数设置

    • 输入:4096维

    • 神经元数:4096

    • 激活函数:ReLU

    • 正则化:Dropout(概率0.5)

  • 作用与意义

    • 进一步非线性映射:增强分类决策的判别能力。

    • 参数共享:与FC6结构对称,形成深层非线性组合。

3. 全连接层8 (FC8)

  • 参数设置

    • 输入:4096维

    • 神经元数:1000(对应ImageNet类别数)

    • 激活函数:Softmax

  • 输出:1000维概率分布(各类别条件概率)。

  • 作用与意义

    • 分类决策:将特征映射到类别空间。

    • Softmax归一化:输出概率满足∑pi=1,适配交叉熵损失。

三、局部响应归一化

AlexNet 还在前两个汇聚层之后进行了局部响应归一化(Local Re-sponse Normalization,LRN)以增强模型的泛化能力。我们大概解释一下,什么事局部相应归一化。

局部响应归一化(LRN)是一种归一化技术,其灵感来源于生物视觉系统中的“侧抑制”机制。简单来说,侧抑制指的是在生物神经元中,一个神经元的高激活会抑制其邻近神经元的响应,从而增强对比度。LRN 就是在卷积神经网络中模拟这一现象,使得局部区域内响应较强的神经元能够“胜出”,而较弱的响应被相对抑制,从而增强特征的鲁棒性。

在 AlexNet 中,局部响应归一化通常在前两个池化层之后应用,其数学表达式通常为:

其中:

直观理解

  • 通过这个归一化操作,网络会在同一空间位置的不同通道之间进行“竞争”,较高的激活值会使归一化因子变大,从而使得该神经元在输出时相对“减弱”,而其他神经元受到的影响也会有所平衡。

  • 这种机制帮助网络减少对个别神经元过分依赖,提高模型的泛化能力。

通过这种归一化,网络能够平衡各通道的响应,防止某个通道因过大激活而“主导”后续计算,同时让网络对局部变化更为敏感。

总之,LRN 在 AlexNet 中通过模仿生物视觉系统中的侧抑制机制,帮助网络增强局部特征对比度,提升模型鲁棒性,并在当时显著提高了图像分类的准确率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/39965.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【设计模式】工厂模式

首先了解一下什么是工厂方法模式&#xff1f; 工厂方法模式&#xff08;Factory Method Pattern&#xff09;是一种创建型设计模式&#xff0c;它提供了一种方法来封装对象的创建逻辑。具体来说&#xff0c;它通过定义一个创建对象的接口&#xff08;即工厂方法&#xff09;&a…

centos 7 部署FTP 服务用shell 脚本搭建

#!/bin/bash# 检查是否以root身份运行脚本 if [ "$EUID" -ne 0 ]; thenecho "请以root身份运行此脚本。"exit 1 fi# 安装vsftpd yum install -y vsftpd# 启动vsftpd服务并设置开机自启 systemctl start vsftpd systemctl enable vsftpd# 配置防火墙以允许F…

基于Spring Boot的个性化商铺系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

AI(DeepSeek、ChatGPT)、Python、ArcGIS Pro多技术融合下的空间数据分析、建模与科研绘图及论文写作

人工智能&#xff08;AI&#xff09;与ArcGIS Pro的结合&#xff0c;为空间数据处理和分析开辟了前所未有的创新路径。AI通过强大的数据挖掘、深度学习及自动化能力&#xff0c;可高效处理海量、多源、异构的空间数据&#xff0c;极大提升了分析效率与决策支持能力。而ArcGIS P…

2025最新3个wordpress好用的主题

红色大气的wordpress企业主题&#xff0c;适合服务行业的公司搭建企业官方网站使用。是一款专为中小企业和个人开发者设计的WordPress主题&#xff0c;旨在提供专业的网站构建解决方案。 通过此WordPress主题&#xff0c;用户可以轻松创建和维护一个专业的企业网站&#xff0c…

Spring AI Alibaba AudioModel使用

一、AudioModel简介 1、AudioModel 当前&#xff0c;Spring AI Alibaba 支持以下两种通义语音模型的适配&#xff0c;分别是&#xff1a; 文本生成语音 SpeechModel&#xff0c;对应于 OpenAI 的 Text-To-Speech (TTS) API录音文件生成文字 DashScopeAudioTranscriptionMode…

时隔多年,终于给它换了皮肤,并正式起了名字

时隔多年&#xff0c;终于更新了直播推流软件UI&#xff0c;并正式命名为FlashEncoder。软件仍使用MFC框架&#xff0c;重绘了所有用到的控件&#xff0c;可以有效保证软件性能&#xff0c;也便于后续进一步优化。 下载地址&#xff1a;https://download.csdn.net/download/Xi…

Python备赛笔记2

1.区间求和 题目描述 给定a1……an一共N个整数&#xff0c;有M次查询&#xff0c;每次需要查询区间【L,R】的和。 输入描述: 第一行包含两个数&#xff1a;N,M 第二行输入N个整数 接下来的M行&#xff0c;每行有两个整数&#xff0c;L R&#xff0c;中间用空格隔开&…

各类神经网络学习:(四)RNN 循环神经网络(下集),pytorch 版的 RNN 代码编写

上一篇下一篇RNN&#xff08;中集&#xff09;待编写 代码详解 pytorch 官网主要有两个可调用的模块&#xff0c;分别是 nn.RNNCell 和 nn.RNN &#xff0c;下面会进行详细讲解。 RNN 的同步多对多、多对一、一对多等等结构都是由这两个模块实现的&#xff0c;只需要将对输入…

python每日十题(10)

在Python语言中&#xff0c;源文件的扩展名&#xff08;后缀名&#xff09;一般使用.py。 保留字&#xff0c;也称关键字&#xff0c;是指被编程语言内部定义并保留使用的标识符。Python 3.x有35个关键字&#xff0c;分别为&#xff1a;and&#xff0c;as&#xff0c;assert&am…

Harbor镜像仓库迁移与高可用集群搭建HTTPS实现实战指南

实验环境 Ubuntu22.04操作系统 registry节点 10.0.0.91 master节点 10.0.0.92 backup节点 10.0.0.93 在企业信息化建设的不同演进阶段&#xff0c;私有镜像仓库的选型策略存在显著差异。近期主导完成某企业级容器镜像仓库升级项目&#xff0c;成功实现Docker Registry至Ha…

【Python】pillow库学习笔记3-Image.mode

提取颜色通道时&#xff0c;偶然换了个图片&#xff0c;结果在在运行代码时一直报错&#xff1a; from PIL import Image im Image.open(city2.png) r,g,b im.split() om Image.merge("RGB", (b,g,r)) om.save(cBGR.jpg)Traceback (most recent call last): File…

PDF打开密码教程:让您的文档更安全

在数字化办公时代&#xff0c;PDF 文件常包含敏感信息&#xff0c;这时候&#xff0c;给PDF文件设置打开密码就成了一种有效的保护措施。这样&#xff0c;只有输入正确密码的人才能查看内容&#xff0c;大大提高了文件的安全性。如果您对这方面不清楚&#xff0c;就来看看小编分…

SOFAActs 介绍-01-白盒测试框架 overview

前言 大家好&#xff0c;我是老马。 sofastack 其实出来很久了&#xff0c;第一次应该是在 2022 年左右开始关注&#xff0c;但是一直没有深入研究。 最近想学习一下 SOFA 对于生态的设计和思考。 sofaboot 系列 SOFABoot-00-sofaboot 概览 SOFABoot-01-蚂蚁金服开源的 s…

Snipaste软件出现测量像素不准的问题

最近写一些前端布局的时候发现使用snipaste测量dom元素大小的时候出现和实际不符的情况。我平时写代码的时候是笔记本和一个显示屏&#xff0c;在笔记本上测量的时候发现总是和实际大小不符合&#xff0c;而在显示屏上测量的时候却并无差错&#xff0c;真是奇了怪了。 后来发现…

笔试专题(三)

文章目录 字符串中找出连续最长的数字串题解代码 拼三角题解代码 字符串中找出连续最长的数字串 题目链接 题解 1. 考察双指针 模拟 2. 算法思路&#xff1a;给定一个i 0&#xff0c;让i&#xff0c;如果遇到数字字符就创建一个变量j i&#xff0c;让j去遍历&#xff0c…

基于vue.js开发的家庭装修管理系统开发与设计(源码+lw+部署文档+讲解),源码可白嫖!

摘要 本家庭装修管理系统采用B/S架构&#xff0c;数据库是MySQL&#xff0c;网站的搭建与开发采用了先进的Node.js语言进行编写&#xff0c;使用了VUE框架。该系统从两个对象&#xff1a;由管理员和用户来对系统进行设计构建。用户的功能包括&#xff1a;注册、登录、浏览首页…

NAT网络地址转换与内网穿透

一、背景 前一篇文章提到PCDN&#xff0c; 也就是p2p技术CDN技术进行融合。 P2P技术有利于文件的快速分发。我们的CDN在控制节点分发数据的时候&#xff0c;向边缘节点传输数据&#xff0c;也是一种分发&#xff0c;还有各边缘节点强制同步数据等等&#xff0c;如果结合P2P技术…

【开源宝藏】30天学会CSS - DAY9 第九课 牛顿摆动量守恒动画

以下是一份逐步拆解教程&#xff0c;带你从零理解并复刻这个牛顿摆&#xff08;Pendulum of Newton&#xff09;动画效果&#xff0c;这是一个经典的物理演示模型&#xff0c;现在通过纯 HTML 和 CSS 实现出来&#xff0c;视觉效果炫酷、结构简洁。 &#x1f3af; 动画效果说明…

Chat2DB:一款强大的数据库管理工具,AI助力高效查询与分析

AI技术可谓是日新月异&#xff0c;其已经融入到社会的方方面面&#xff0c;今天就给大家分享一款数据库SQL客户端工具&#xff1a;Chat2DB。 1 简介 Chat2DB是一款开源的数据库管理工具&#xff0c;集成了AI 智能辅助功能&#xff0c;支持自然语言生成 SQL&#xff0c;帮助开发…