动学学深度学习07-现代卷积神经网络

动学学深度学习pytorch

参考地址:https://zh.d2l.ai/

文章目录

  • 动学学深度学习pytorch
    • 1-第07章-现代卷积神经网络
      • 1. AlexNet
        • 1.1 AlexNet 的核心贡献是什么?
        • 1.2 AlexNet 与 LeNet 的主要区别有哪些?
        • 1.3 为什么 AlexNet 需要 GPU 训练?
      • 2. VGG
        • 2.1 VGG 的核心设计思想是什么?
        • 2.2 VGG-11 的架构如何定义?
        • 2.3 为什么 VGG 计算量大于 AlexNet?
      • 3. NiN(Network in Network)
        • 3.1 NiN 如何解决全连接层的问题?
        • 3.2 NiN 的核心模块是什么?
        • 3.3 NiN 的参数量为何显著减少?
      • 4. GoogLeNet(Inception)
        • 4.1 Inception 块的设计动机是什么?
        • 4.2 Inception 块如何降低计算复杂度?
        • 4.3 GoogLeNet 的架构特点?
      • 5. 批量规范化(BatchNorm)
        • 5.1 批量规范化的作用是什么?
        • 5.2 批量规范化的计算流程?
        • 5.3 为什么批量规范化能正则化?
      • 6. ResNet(残差网络)
        • 6.1 残差块如何解决深层网络退化问题?
        • 6.2 ResNet-18 的架构特点?
        • 6.3 为什么残差连接有效?
      • 7. DenseNet(稠密连接网络)
        • 7.1 DenseNet 与 ResNet 的核心区别?
        • 7.2 DenseNet 的关键模块?
        • 7.3 为什么 DenseNet 参数更少?


1-第07章-现代卷积神经网络

1. AlexNet

1.1 AlexNet 的核心贡献是什么?

AlexNet 首次在大规模视觉竞赛中证明:学习到的特征可以超越手工设计的特征,标志着深度学习在计算机视觉领域的重大突破。

1.2 AlexNet 与 LeNet 的主要区别有哪些?
  • 深度更深:8 层 vs LeNet 的 5 层
  • 激活函数:使用 ReLU 而非 Sigmoid
  • 参数规模:卷积通道数是 LeNet 的 10 倍,全连接层参数量达 1GB
  • 正则化:使用 Dropout 和大量数据增强(翻转、裁切、变色)
1.3 为什么 AlexNet 需要 GPU 训练?
  • 计算需求:大规模矩阵乘法和卷积操作(312 TFLOPS vs CPU 的 1 TFLOPS)
  • 内存需求:早期 GPU 显存有限(3GB GTX580),需双 GPU 并行设计

2. VGG

2.1 VGG 的核心设计思想是什么?

通过重复使用统一的 VGG块(3×3 卷积 + ReLU + 2×2 最大池化)构建深层网络,强调“更深更窄”的卷积比“更浅更宽”更有效。

2.2 VGG-11 的架构如何定义?
conv_arch = ((1,64), (1,128), (2,256), (2,512), (2,512))  # (卷积层数, 输出通道数)
2.3 为什么 VGG 计算量大于 AlexNet?
  • 更深的卷积层(8 层 vs 5 层)
  • 更大的全连接层输入(25088 vs 6400)

3. NiN(Network in Network)

3.1 NiN 如何解决全连接层的问题?

1×1 卷积层 替代全连接层,实现逐像素的 MLP,保留空间结构的同时减少参数量。

3.2 NiN 的核心模块是什么?

NiN块:1 个 3×3 卷积 + 2 个 1×1 卷积(逐像素 MLP)
最后用 全局平均池化层 替代全连接层输出。

3.3 NiN 的参数量为何显著减少?

取消全连接层后,参数量从 AlexNet 的 1GB 降至 NiN 的 10MB(Fashion-MNIST 示例)。

4. GoogLeNet(Inception)

4.1 Inception 块的设计动机是什么?

通过 多尺度并行路径(1×1、3×3、5×5 卷积 + 3×3 池化)高效提取图像特征,解决“多大卷积核最合适”的问题。

4.2 Inception 块如何降低计算复杂度?
  • 1×1 卷积降维:在 3×3 和 5×5 卷积前减少通道数(如 192→96)
  • 通道合并:四条路径输出在通道维度拼接。
4.3 GoogLeNet 的架构特点?
  • 9 个 Inception 块堆叠
  • 全局平均池化层替代全连接层
  • 参数量仅为 AlexNet 的 1/12(6M vs 60M)

5. 批量规范化(BatchNorm)

5.1 批量规范化的作用是什么?

通过规范化中间层输入(减均值除方差),加速收敛,减少对初始化和学习率的敏感性,同时具有正则化效果。

5.2 批量规范化的计算流程?
BN(x) = γ * (x - μ_B) / sqrt(σ²_B + ε) + β
  • μ_B 和 σ²_B:当前批次的均值和方差
  • γ 和 β:可学习的缩放和偏移参数
5.3 为什么批量规范化能正则化?

训练中引入的批次统计噪声(μ_B 和 σ²_B 的随机性)相当于隐式正则化,类似于 Dropout 的效果。

6. ResNet(残差网络)

6.1 残差块如何解决深层网络退化问题?

通过 跳跃连接(Skip Connection)使网络能够学习 残差映射 F(x) = H(x) - x,而非直接拟合 H(x),确保新增层至少不劣于原网络。

6.2 ResNet-18 的架构特点?
  • 4 个残差模块(每个含 2 个残差块)
  • 通道数逐模块翻倍(64→128→256→512)
  • 全局平均池化层输出(512→10)
6.3 为什么残差连接有效?
  • 数学保证:嵌套函数类 F ⊆ F’,新增层可退化为恒等映射
  • 梯度传播:跳跃连接缓解梯度消失,支持训练 152 层网络。

7. DenseNet(稠密连接网络)

7.1 DenseNet 与 ResNet 的核心区别?
  • 连接方式:ResNet 是 相加(x + F(x)),DenseNet 是 通道拼接([x, F(x)])
  • 特征复用:每一层接收前面所有层的特征图作为输入。
7.2 DenseNet 的关键模块?
  • 稠密块(DenseBlock):每层输出通道数为增长率(如 32),输入通道数线性增长(增长率 × 层数)。
  • 过渡层(Transition Layer):1×1 卷积降维 + 2×2 平均池化降采样。
7.3 为什么 DenseNet 参数更少?
  • 特征复用减少冗余参数
  • 过渡层控制通道数(如 1024→512)
  • 增长率(32)远小于 ResNet 的通道增量(256→512)。

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

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

相关文章

详细讲解Java中的反射和经典面试题(保姆级别)

1.1 反射的概述:专业的解释(了解一下):是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;这种动态获取…

MyCAT完整实验报告

MyCAT完整实验报告 ‍ 前言 刚刚看了一下前面的那篇MyCAT的文章 感觉有一些问题 所以拿出一篇文章再说一下 单独构建了完整的实验环境 这样会全面一点 ‍ 安装MyCAT #跳过‍ 主从配置 #不多追溯 因为我们选择的主从 也可以做双主机 但我们后边再说‍ 环境搭建 一、环境规划 服务…

机器翻译论文阅读方法:顶会(ACL、EMNLP)论文解析技巧

更多内容请见: 机器翻译修炼-专栏介绍和目录 文章目录 一、论文选择:快速判断论文价值 1.1 关注核心会议与子领域 1.2 筛选标准 1.3 预读筛选 1.4 快速定位关键信息 二、精读解析 2.1 问题定义(5分钟) 2.2 方法解剖(15分钟) 2.3 实验深挖(20分钟) 2.4 批判性思考(10分…

Transformer模型实战篇

引入 基于Transformers的NLP解决方案的步骤如下:(以文本分类为例) 导入相关包,General,可以询问ai需要导什么包加载数据集,Data_loader,Datasets数据集划分,测试机,验证集…

深入(流批【牛批】框架)Flink的机制

flink本身是专注有状态的无限流处理,有限流处理【batch批次】是无限流处理的一中特殊情况!应用场景实时ETL 集成流计算现有的诸多数据通道和SQL灵活的加工能力,对流式数据进行实时清洗、归并和结构化 处理;同时,对离线…

Git 2.15.0 64位安装步骤Windows详细教程从下载到验证(附安装包下载)

一、下载后双击运行 安装包下载:https://pan.quark.cn/s/7200b32a1ecf,找到下载好的文件:​Git-2.15.0-64-bit.exe​双击这个文件,就会弹出安装向导窗口,点 ​​“Next”(下一步)​​ 二、选择…

在职老D渗透日记day23:sqli-labs靶场通关(第29关-31关)http参数过滤

5.29.第29关 http参数过滤 闭合5.29.1.手动注入(1)判断注入类型、注入点闭合(2)有回显,优先用联合查询注入,判读字段数?id1&id2 order by 3 -- ?id1&id2 order by 4 --(3)…

Spring Boot整合Amazon SNS实战:邮件订阅通知系统开发

Spring Boot整合Amazon SNS实战引言配置服务总结新用户可获得高达 200 美元的服务抵扣金 亚马逊云科技新用户可以免费使用亚马逊云科技免费套餐(Amazon Free Tier)。注册即可获得 100 美元的服务抵扣金,在探索关键亚马逊云科技服务时可以再额…

LeetCode_动态规划1

动态规划1.动态规划总结1.1 01背1.1.1 二维数组1.1.2 一维数组1.2 完全背包2.斐波那契数(力扣509)3.爬楼梯(力扣70)4.使用最小花费爬楼梯(力扣746)5.不同路径(力扣62)6.不同路径 II(力扣63)7.整数拆分(力扣343)8.不同的二叉搜索树(力扣96)9.分割等和子集(力扣416)10.最后一块石…

【STM32】HAL库中的实现(九):SPI(串行外设接口)

SPI 接口通信原理 SPI(Serial Peripheral Interface)是全双工主从通信协议,特点是: 信号线功能SCK串行时钟MOSI主设备输出,从设备输入MISO主设备输入,从设备输出CS(NSS)片选信号&am…

Git常用操作大全(附git操作命令)

Git常用操作大全 一、基础配置 1.1 设置用户名和邮箱 git config --global user.name "你的名字" git config --global user.email "你的邮箱"1.2 查看配置 git config --list二、仓库管理 2.1 初始化本地仓库 git init2.2 克隆远程仓库 git clone <仓库…

详解flink table api基础(三)

文章目录1.使用flink的原因&#xff1a;2. Flink支持两种模式&#xff1a;3. flink table api工作原理&#xff1a;4. Flink table api 使用5. select语句&flink table api&#xff1a;6. 使用flink table api 创建table7. 使用flink table api 写流式数据输出到表或sink8.…

Vue2+Vue3前端开发_Day5

参考课程: 【黑马程序员 Vue2Vue3基础入门到实战项目】 [https://www.bilibili.com/video/BV1HV4y1a7n4] ZZHow(ZZHow1024) 自定义指令 基本语法&#xff08;全局 & 局部注册&#xff09; 介绍&#xff1a;自己定义的指令&#xff0c;可以封装一些 DOM 操作&#xff0c…

机器学习--决策树2

目录 第一代裁判&#xff1a;ID3 与信息增益的 “偏爱” 第二代裁判&#xff1a;C4.5 用 “增益率” 找平衡 第三代裁判&#xff1a;CART 的 “基尼指数” 新思路 遇到连续值&#xff1f;先 “砍几刀” 再说 给决策树 “减肥”&#xff1a;剪枝的学问 动手试试&#xff1…

yggjs_react使用教程 v0.1.1

yggjs_react是一个用于快速创建React项目的工具&#xff0c;它集成了Vite、TypeScript、Zustand和React Router等现代前端技术栈&#xff0c;帮助开发者快速搭建高质量的React应用。 快速入门 快速入门部分将指导您如何安装yggjs_react工具、创建新项目并启动开发服务器。 安…

vulhub可用的docker源

这一块不太容易找&#xff0c;我试了好几个源&#xff0c;下面是20250820测试可用源 编辑方法sudo mkdir -p /etc/docker sudo vim /etc/docker/daemon.json 配置内容 [1] {"registry-mirrors" : ["https://docker.registry.cyou", "https://docker-…

基于YOLOv8-SEAttention与LLMs融合的农作物害虫智能诊断与防控决策系统

1. 引言 1.1 研究背景与意义 农作物虫害是制约农业产量与质量的重要因素。据FAO报告&#xff0c;全球每年因病虫害造成的粮食损失高达 20%–40%。传统人工巡查与经验诊断具有时效性差、成本高与专业人才不足等缺陷。近年来&#xff0c;计算机视觉特别是目标检测技术在农业检测…

从零开始构建GraphRAG红楼梦知识图谱问答项目(三)

文章结尾有CSDN官方提供的学长的联系方式&#xff01;&#xff01; 欢迎关注B站从零开始构建一个基于GraphRAG的红楼梦项目 第三集01 搭建后端服务 创建一个python文件server.py 完整源码放到文章最后了。 1.1 graphrag 相关导入 # GraphRAG 相关导入 from graphrag.query.cont…

S32K328(Arm Cortex-M7)适配CmBacktrace错误追踪

CmBacktrace 相当于重写了hard_fault函数&#xff0c;在hard_fault函数里面去分析SCB寄存器的信息和堆栈信息&#xff0c;然后把这些信息打印出来(或者写到flash)&#xff1b;通过使用串口输出产生hard_fault的堆栈信息&#xff0c;然后利用addr2line工具反推出具体的代码执行函…

AI研究引擎的简单技术实现步骤

产品愿景与核心功能 1.1 产品使命 “洞见 Weaver”是一个全栈AI Web应用,旨在将用户的复杂研究问题,通过AI驱动的动态思维导图和结构化报告,转化为一次沉浸式的、可追溯的视觉探索之旅。我们的使命是,将AI复杂的推理过程透明化,将人类的探索直觉与AI的分析能力无缝结合,…