吴恩达深度学习——卷积神经网络实例分析

内容来自https://www.bilibili.com/video/BV1FT4y1E74V,仅为本人学习所用。

文章目录

  • LeNet-5
  • AlexNet
  • VGG-16
  • ResNets
    • 残差块
  • 1*1卷积

LeNet-5

在这里插入图片描述

  • 输入层:输入为一张尺寸是 32 × 32 × 1 32×32×1 32×32×1的图像,其中 32 × 32 32×32 32×32是图像的长和宽, 1 1 1表示通道数。
  • 第一层卷积
    • 卷积核参数:卷积核大小为 5 × 5 5×5 5×5,步长 s = 1 s = 1 s=1,卷积核数量 n c = 6 n_c = 6 nc=6
    • 输出尺寸计算:根据公式 n H = ⌊ n H i n − f + 1 s ⌋ n_H=\lfloor\frac{n_{H_{in}} - f + 1}{s}\rfloor nH=snHinf+1 n W = ⌊ n W i n − f + 1 s ⌋ n_W=\lfloor\frac{n_{W_{in}} - f + 1}{s}\rfloor nW=snWinf+1 n H i n n_{H_{in}} nHin n W i n n_{W_{in}} nWin为输入特征图的高和宽, f f f为卷积核尺寸, s s s为步长),这里 n H i n = n W i n = 32 n_{H_{in}}=n_{W_{in}} = 32 nHin=nWin=32 f = 5 f = 5 f=5 s = 1 s = 1 s=1,则 n H = ⌊ 32 − 5 + 1 1 ⌋ = 28 n_H=\lfloor\frac{32 - 5 + 1}{1}\rfloor = 28 nH=1325+1=28 n W = ⌊ 32 − 5 + 1 1 ⌋ = 28 n_W=\lfloor\frac{32 - 5 + 1}{1}\rfloor = 28 nW=1325+1=28。所以输出特征图尺寸为 28 × 28 × 6 28×28×6 28×28×6
  • 第一层平均池化
    • 池化核参数:池化核大小 f = 2 f = 2 f=2,步长 s = 2 s = 2 s=2
    • 输出尺寸计算 n H = ⌊ 28 − 2 + 1 2 ⌋ = 14 n_H=\lfloor\frac{28 - 2 + 1}{2}\rfloor = 14 nH=2282+1=14 n W = ⌊ 28 − 2 + 1 2 ⌋ = 14 n_W=\lfloor\frac{28 - 2 + 1}{2}\rfloor = 14 nW=2282+1=14。输出特征图尺寸为 14 × 14 × 6 14×14×6 14×14×6
  • 第二层卷积
    • 卷积核参数:卷积核大小为 5 × 5 5×5 5×5,步长 s = 1 s = 1 s=1,卷积核数量 n c = 16 n_c = 16 nc=16
    • 输出尺寸计算 n H = ⌊ 14 − 5 + 1 1 ⌋ = 10 n_H=\lfloor\frac{14 - 5 + 1}{1}\rfloor = 10 nH=1145+1=10 n W = ⌊ 14 − 5 + 1 1 ⌋ = 10 n_W=\lfloor\frac{14 - 5 + 1}{1}\rfloor = 10 nW=1145+1=10。输出特征图尺寸为 10 × 10 × 16 10×10×16 10×10×16
  • 第二层平均池化
    • 池化核参数:池化核大小 f = 2 f = 2 f=2,步长 s = 2 s = 2 s=2
    • 输出尺寸计算 n H = ⌊ 10 − 2 + 1 2 ⌋ = 5 n_H=\lfloor\frac{10 - 2 + 1}{2}\rfloor = 5 nH=2102+1=5 n W = ⌊ 10 − 2 + 1 2 ⌋ = 5 n_W=\lfloor\frac{10 - 2 + 1}{2}\rfloor = 5 nW=2102+1=5。输出特征图尺寸为 5 × 5 × 16 5×5×16 5×5×16,将其展平后神经元数量为 5 × 5 × 16 = 400 5×5×16 = 400 5×5×16=400
  • 全连接层
    • 第一个全连接层有 120 120 120个神经元,连接展平后的 400 400 400个神经元。
    • 第二个全连接层有 84 84 84个神经元,连接第一个全连接层的 120 120 120个神经元。
  • 输出层:通过Softmax函数输出 10 10 10个类别的概率分布,用于分类任务。

AlexNet

在这里插入图片描述

  • 输入层:输入图像尺寸为 227 × 227 × 3 227×227×3 227×227×3,其中 227 × 227 227×227 227×227是图像的长和宽, 3 3 3表示通道数。
  • 第一层卷积
    • 卷积核:卷积核大小为 11 × 11 11×11 11×11,步长 s = 4 s = 4 s=4,卷积核数量 n c = 96 n_c = 96 nc=96
    • 输出尺寸:根据公式 n H = ⌊ n H i n − f + 1 s ⌋ n_H=\lfloor\frac{n_{H_{in}} - f + 1}{s}\rfloor nH=snHinf+1 n W = ⌊ n W i n − f + 1 s ⌋ n_W=\lfloor\frac{n_{W_{in}} - f + 1}{s}\rfloor nW=snWinf+1 n H i n n_{H_{in}} nHin n W i n n_{W_{in}} nWin为输入特征图的高和宽, f f f为卷积核尺寸, s s s为步长),可得 n H = ⌊ 227 − 11 + 1 4 ⌋ = 55 n_H=\lfloor\frac{227 - 11 + 1}{4}\rfloor = 55 nH=422711+1=55 n W = ⌊ 227 − 11 + 1 4 ⌋ = 55 n_W=\lfloor\frac{227 - 11 + 1}{4}\rfloor = 55 nW=422711+1=55。所以输出特征图尺寸为 55 × 55 × 96 55×55×96 55×55×96
  • 第一层最大池化
    • 池化核:池化核大小为 3 × 3 3×3 3×3,步长 s = 2 s = 2 s=2
    • 输出尺寸 n H = ⌊ 55 − 3 + 1 2 ⌋ = 27 n_H=\lfloor\frac{55 - 3 + 1}{2}\rfloor = 27 nH=2553+1=27 n W = ⌊ 55 − 3 + 1 2 ⌋ = 27 n_W=\lfloor\frac{55 - 3 + 1}{2}\rfloor = 27 nW=2553+1=27。输出特征图尺寸为 27 × 27 × 96 27×27×96 27×27×96
  • 第二层卷积:
    • 卷积核:卷积核大小为 5 × 5 5×5 5×5,填充 p p p为“same”(保证输出尺寸与输入相同),卷积核数量 n c = 256 n_c = 256 nc=256
    • 输出尺寸:当使用“same”填充时,输出尺寸与输入相同,即 27 × 27 × 256 27×27×256 27×27×256
  • 第二层最大池化
    • 池化核:池化核大小为 3 × 3 3×3 3×3,步长 s = 2 s = 2 s=2
    • 输出尺寸 n H = ⌊ 27 − 3 + 1 2 ⌋ = 13 n_H=\lfloor\frac{27 - 3 + 1}{2}\rfloor = 13 nH=2273+1=13 n W = ⌊ 27 − 3 + 1 2 ⌋ = 13 n_W=\lfloor\frac{27 - 3 + 1}{2}\rfloor = 13 nW=2273+1=13。输出特征图尺寸为 13 × 13 × 256 13×13×256 13×13×256
  • 第三 - 五层卷积
    这三层卷积核大小均为 3 × 3 3×3 3×3,填充均为“same”,卷积核数量分别为 384 384 384 384 384 384 256 256 256。每层输出特征图尺寸均保持为 13 × 13 × 13×13× 13×13×相应通道数。
  • 第三层最大池化
    • 池化核:池化核大小为 3 × 3 3×3 3×3,步长 s = 2 s = 2 s=2
    • 输出尺寸 n H = ⌊ 13 − 3 + 1 2 ⌋ = 6 n_H=\lfloor\frac{13 - 3 + 1}{2}\rfloor = 6 nH=2133+1=6 n W = ⌊ 13 − 3 + 1 2 ⌋ = 6 n_W=\lfloor\frac{13 - 3 + 1}{2}\rfloor = 6 nW=2133+1=6。输出特征图尺寸为 6 × 6 × 256 6×6×256 6×6×256
  • 全连接层
    • 展平 6 × 6 × 256 6×6×256 6×6×256的特征图,得到 6 × 6 × 256 = 9216 6×6×256 = 9216 6×6×256=9216个神经元,连接到第一个全连接层( 9216 9216 9216个神经元)。
    • 第一个全连接层连接到第二个全连接层( 4096 4096 4096个神经元),第二个全连接层再连接到第三个全连接层( 4096 4096 4096个神经元)。
  • 输出层:第三个全连接层连接到输出层,通过Softmax函数输出 1000 1000 1000个类别的概率分布。

AlexNet 与 LeNet - 5 结构类似但规模更大,使用了 ReLU 激活函数。

VGG-16

在这里插入图片描述

  • 输入层:输入是尺寸为 224 × 224 × 3 224×224×3 224×224×3的图像,其中 224 × 224 224×224 224×224是图像的空间尺寸, 3 3 3表示通道数。
  • 卷积层与池化层
    • 第一组:使用 2 2 2 3 × 3 3×3 3×3、步长为 1 1 1、填充为“same”的卷积核,卷积核数量分别为 64 64 64,输出特征图尺寸为 224 × 224 × 64 224×224×64 224×224×64;接着是最大池化层,池化窗口 2 × 2 2×2 2×2、步长为 2 2 2,输出 112 × 112 × 64 112×112×64 112×112×64的特征图。
    • 第二组 2 2 2 3 × 3 3×3 3×3、步长为 1 1 1、填充为“same”的卷积核,卷积核数量为 128 128 128,输出 112 × 112 × 128 112×112×128 112×112×128的特征图;再经最大池化( 2 × 2 2×2 2×2,步长 2 2 2),输出 56 × 56 × 128 56×56×128 56×56×128的特征图。
    • 第三组 3 3 3 3 × 3 3×3 3×3、步长为 1 1 1、填充为“same”的卷积核,卷积核数量为 256 256 256,输出 56 × 56 × 256 56×56×256 56×56×256的特征图;经最大池化( 2 × 2 2×2 2×2,步长 2 2 2),输出 28 × 28 × 256 28×28×256 28×28×256的特征图。
    • 第四组 3 3 3 3 × 3 3×3 3×3、步长为 1 1 1、填充为“same”的卷积核,卷积核数量为 512 512 512,输出 28 × 28 × 512 28×28×512 28×28×512的特征图;经最大池化( 2 × 2 2×2 2×2,步长 2 2 2),输出 14 × 14 × 512 14×14×512 14×14×512的特征图。
    • 第五组 3 3 3 3 × 3 3×3 3×3、步长为 1 1 1、填充为“same”的卷积核,卷积核数量为 512 512 512,输出 14 × 14 × 512 14×14×512 14×14×512的特征图;经最大池化( 2 × 2 2×2 2×2,步长 2 2 2),输出 7 × 7 × 512 7×7×512 7×7×512的特征图。
  • 全连接层
    • 展平 7 × 7 × 512 7×7×512 7×7×512的特征图后连接到第一个全连接层,有 4096 4096 4096个神经元。
    • 第一个全连接层连接到第二个全连接层,同样有 4096 4096 4096个神经元。
  • 输出层:通过Softmax函数输出 1000 1000 1000个类别的概率分布。

VGG - 16结构简洁,通过堆叠多个小尺寸卷积核来加深网络。

ResNets

传统神经网络在加深层数时可能会出现梯度消失或梯度爆炸,以及性能退化(训练误差和测试误差增加)等问题。看看如下常规计算:
在这里插入图片描述
对于输入为 a [ l ] a^{[l]} a[l],经过两层处理后得到输出 a [ l + 2 ] a^{[l + 2]} a[l+2]。每一层由神经元组成, a [ l ] a^{[l]} a[l]先进入第一层得到 a [ l + 1 ] a^{[l + 1]} a[l+1],再进入第二层得到 a [ l + 2 ] a^{[l + 2]} a[l+2] 。计算过程如下:

  1. 输入 a [ l ] a^{[l]} a[l]首先进行线性变换: z [ l + 1 ] = W [ l + 1 ] a [ l ] + b [ l + 1 ] z^{[l + 1]} = W^{[l + 1]}a^{[l]} + b^{[l + 1]} z[l+1]=W[l+1]a[l]+b[l+1],其中 W [ l + 1 ] W^{[l + 1]} W[l+1]是权重矩阵, b [ l + 1 ] b^{[l + 1]} b[l+1]是偏置项。
  2. 对线性变换结果 z [ l + 1 ] z^{[l + 1]} z[l+1]应用ReLU激活函数: a [ l + 1 ] = g ( z [ l + 1 ] ) a^{[l + 1]} = g(z^{[l + 1]}) a[l+1]=g(z[l+1]) g g g代表ReLU函数。
  3. a [ l + 1 ] a^{[l + 1]} a[l+1]再进行第二次线性变换: z [ l + 2 ] = W [ l + 2 ] a [ l + 1 ] + b [ l + 2 ] z^{[l + 2]} = W^{[l + 2]}a^{[l + 1]} + b^{[l + 2]} z[l+2]=W[l+2]a[l+1]+b[l+2]
  4. z [ l + 2 ] z^{[l + 2]} z[l+2]应用ReLU激活函数得到输出: a [ l + 2 ] = g ( z [ l + 2 ] ) a^{[l + 2]} = g(z^{[l + 2]}) a[l+2]=g(z[l+2])

残差块

残差块是一种特殊的神经网络模块,引入了跳跃连接(图中上面的蓝色箭头)机制,使得网络能够学习输入和输出之间的残差映射,而不是直接学习复杂的恒等映射。
在这里插入图片描述
对于普通网络,理论上(绿色曲线)随着层数增加,训练误差应持续降低,但实际上(蓝色曲线),当层数增加到一定程度,训练误差反而上升,出现性能退化问题。

对于残差网络,随着层数增加,训练误差能够持续下降,避免了普通网络中的性能退化问题,使得网络可以更容易地训练更深的层次,解决普通深层神经网络中梯度消失和性能退化等问题。

本网络引入残差块,有:
在这里插入图片描述
输入 a [ l ] a^{[l]} a[l],直接到 a [ l + 1 ] a^{[l + 1]} a[l+1]线性函数处的输出。计算过程如下:

  1. 输入 a [ l ] a^{[l]} a[l]先进行第一次线性变换: z [ l + 1 ] = W [ l + 1 ] a [ l ] + b [ l + 1 ] z^{[l + 1]} = W^{[l + 1]}a^{[l]} + b^{[l + 1]} z[l+1]=W[l+1]a[l]+b[l+1]
  2. z [ l + 1 ] z^{[l + 1]} z[l+1]应用ReLU激活函数: a [ l + 1 ] = g ( z [ l + 1 ] ) a^{[l + 1]} = g(z^{[l + 1]}) a[l+1]=g(z[l+1])
  3. a [ l + 1 ] a^{[l + 1]} a[l+1]进行第二次线性变换: z [ l + 2 ] = W [ l + 2 ] a [ l + 1 ] + b [ l + 2 ] z^{[l + 2]} = W^{[l + 2]}a^{[l + 1]} + b^{[l + 2]} z[l+2]=W[l+2]a[l+1]+b[l+2]
  4. 跳跃连接(紫色箭头)将 a [ l ] a^{[l]} a[l] z [ l + 2 ] z^{[l + 2]} z[l+2]相加,然后对相加结果应用ReLU激活函数得到最终输出: a [ l + 2 ] = g ( z [ l + 2 ] + a [ l ] ) a^{[l + 2]} = g(z^{[l + 2]} + a^{[l]}) a[l+2]=g(z[l+2]+a[l])

1*1卷积

在这里插入图片描述
对于一个 6 × 6 × 32 6\times6\times32 6×6×32的张量,经过 1 × 1 × 32 1\times1\times32 1×1×32卷积和激活函数,相当于把32个通道的值相加后填入。 1 × 1 1\times1 1×1卷积从根本上可以看作是32个通道都应用了一个全连接神经网络。

使用大小为 1 × 1 1×1 1×1的卷积核时,当输入通道为1时, 1 × 1 1×1 1×1卷积对原特征的缩放操作;多通道时,对于输入特征图的每个区域,计算该区域与卷积核中的元素之和,还可引入激活函数。

在这里插入图片描述

输入为尺寸 28 × 28 × 192 28×28×192 28×28×192的特征图,使用了 32 32 32 1 × 1 1×1 1×1的卷积核对同一个区域进行卷积操作32次,卷积核大小为 1 × 1 × 192 1×1×192 1×1×192(因为输入通道数是 192 192 192),之后经过ReLU激活函数,输出特征图尺寸为 28 × 28 × 32 28×28×32 28×28×32,空间尺寸( 28 × 28 28×28 28×28)保持不变,通道数从 192 192 192减少到了 32 32 32,说明 1 × 1 1×1 1×1卷积可以在不改变特征图空间大小的情况下,对通道数进行降维调整,减少计算量和模型参数数量 。

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

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

相关文章

【Uniapp-Vue3】z-paging插件组件实现触底和下拉加载数据

一、下载z-paing插件 注意下载下载量最多的这个 进入Hbuilder以后点击“确定” 插件的官方文档地址: https://z-paging.zxlee.cn 二、z-paging插件的使用 在文档中向下滑动,会有使用方法。 使用z-paging标签将所有的内容包起来 配置标签中的属性 在s…

【B站保姆级视频教程:Jetson配置YOLOv11环境(七)Ultralytics YOLOv11配置】

Jetson配置YOLOv11环境(7)Ultralytics YOLOv11环境配置 文章目录 1. 下载YOLOv11 github项目2. 安装ultralytics包3. 验证ultralytics安装3.1 下载yolo11n.pt权重文件3.2 推理 1. 下载YOLOv11 github项目 创建一个目录,用于存放YOLOv11的项目…

第二天:系统从BIOS/UEFI到GRUB/bootloader的启动过程

目录 **一、BIOS/UEFI初始化阶段****二、引导加载程序(GRUB)的启动过程****1. BIOS模式下的GRUB分阶段加载****2. UEFI模式下的GRUB加载** **三、操作系统内核加载与初始化****四、关键组件与配置文件****五、故障排查与恢复****总结**常见问题如何在UEF…

【容器技术01】使用 busybox 构建 Mini Linux FS

使用 busybox 构建 Mini Linux FS 构建目标 在 Linux 文件系统下构建一个 Mini 的文件系统,构建目标如下: minilinux ├── bin │ ├── ls │ ├── top │ ├── ps │ ├── sh │ └── … ├── dev ├── etc │ ├── g…

【C语言系列】深入理解指针(5)

深入理解指针(5) 一、sizeof和strlen的对比1.1sizeof1.2strlen1.3sizeof和strlen的对比 二、数组和指针笔试题解析2.1 一维数组2.2 字符数组2.2.1代码1:2.2.2代码2:2.2.3代码3:2.2.4代码4:2.2.5代码5&#…

【蓝桥杯嵌入式】2_LED

1、电路图 74HC573是八位锁存器,当控制端LE脚为高电平时,芯片“导通”,LE为低电平时芯片“截止”即将输出状态“锁存”,led此时不会改变状态,所以可通过led对应的八个引脚的电平来控制led的状态,原理图分析…

Diskgenius系统迁移之后无法使用USB启动

前言 本文用于记录系统迁移中遇到的问题及解决方法,如有不对请指出,谢谢! 现象 使用DiskGenius进行系统迁移后,使用USB启动失败,反复在品牌logo和黑屏之间切换,期间还会在左上角显示”reset system“报错…

SQL Server 数据库备份指南

SQL Server备份是数据库维护的日常工作。备份的目的是在发生数据丢失、损坏甚至硬件故障时将数据库和事务日志恢复到最近的时间点。您可以借助专业的SQL Server备份软件,操作起来更方便。前提需要安装SQL Server Management Studio (SSMS)工具。 对于 SQL 数据库备份,有多种…

SpringAI介绍及本地模型使用方法

博客原文地址 前言 Spring在Java语言中一直稳居高位,与AI的洪流碰撞后也产生了一些有趣的”化学反应“,当然你要非要说碰撞属于物理反应也可以, 在经历了一系列复杂的反应方程后,Spring家族的新成员——SpringAI,就…

ip地址是手机号地址还是手机地址

在数字化生活的浪潮中,IP地址、手机号和手机地址这三个概念如影随形,它们各自承载着网络世界的独特功能,却又因名称和功能的相似性而时常被混淆。尤其是“IP地址”这一术语,经常被错误地与手机号地址或手机地址划上等号。本文旨在…

车载以太网__传输层

车载以太网中,传输层和实际用的互联网相差无几。本篇文章对传输层中的IP进行介绍 目录 什么是IP? IP和MAC的关系 IP地址分类 私有IP NAT DHCP 为什么要防火墙穿透? 广播 本地广播 直接广播 本地广播VS直接广播 组播 …

wxWidgets生成HTML文件,带图片转base64数据

编译环境大家可以看我之前的文章,CodeBlocks + msys2 + wx3.2,win10 这里功能就是生成HTML文件,没用HTML库,因为是自己固定的格式,图片是一个vector,可以动态改变数量的。 效果如下: #include <wx/string.h> #include <wx/file.h> #include <wx/ima…

网络原理一>数据链路层协议->以太网协议

目录 以太网协议的结构&#xff1a;类型&#xff1a;ARP请求应答报文&#xff1a;CRC&#xff1a;MTU: 为什么需要mac地址&#xff1a;mac地址和IP地址的区别&#xff1a; 以太网协议的结构&#xff1a; 以太网是数据链路层和物理层的主要协议 源IP&#xff0c;目的IP就不多说…

售后板子HDMI无输出分析

问题&#xff1a; 某产品售后有1例HDMI无输出。 分析&#xff1a; 1、测试HDMI的HPD脚&#xff08;HDMI座子的19pin&#xff09;&#xff0c;测试电压4.5V&#xff0c;属于正常。 2、用万用表直流电压档&#xff0c;测试HDMI的3对数据脚和1对时钟脚&#xff08;板子通过HDM…

【声音转文字CapsWriter】声音随时转化为文字,CapsWriter提高工作效率

文章目录 前言1. 软件与模型下载2. 本地使用测试3. 异地远程使用3.1 内网穿透工具下载安装3.2 配置公网地址3.3 修改config文件3.4 异地远程访问服务端 4. 配置固定公网地址4.1 修改config文件 5. 固定tcp公网地址远程访问服务端 前言 今天我要给大家安利一个神器——CapsWrit…

十二、Docker Compose 部署 SpringCloudAlibaba 微服务

一、部署基础服务 0、项目部署结构 项目目录结构如下: /home/zhzl_hebei/ ├── docker-compose.yml └── geochance-auth/└── Dockerfile└── geochance-auth.jar └── geochance-system/└── Dockerfile└── geochance-system.jar └── geochance-gateway/…

Games104——游戏引擎Gameplay玩法系统:基础AI

这里写目录标题 寻路/导航系统NavigationWalkable AreaWaypoint NetworkGridNavigation Mesh&#xff08;寻路网格&#xff09;Sparse Voxel Octree Path FindingDijkstra Algorithm迪杰斯特拉算法A Star&#xff08;A*算法&#xff09; Path Smoothing Steering系统Crowd Simu…

Win11非虚拟机安装ISE14.7

官网下载6.18GB 的 Full Installer for Windows 7/XP/Server解压后运行安装程序不勾选Enable WebTalk to send software, IP ...安装程序卡死在ISE:Configure WebTalk&#xff0c;此时打开任务管理器&#xff0c;在详情中找到xwebtalk&#xff0c;右键结束任务。安装程序继续进…

从0开始达芬奇(3.8)

剪视频有主次之分&#xff0c;主就是Aroll&#xff0c;次就是Broll。 智能媒体夹&#xff1a; 媒体池的智能媒体夹部分可以很好区分主次。这个相当于智能搜索&#xff0c;当有大量的素材时&#xff0c;可以为这些素材标明信息&#xff0c;下次使用不需要反复看&#xff0c;直…

python算法和数据结构刷题[3]:哈希表、滑动窗口、双指针、回溯算法、贪心算法

回溯算法 「所有可能的结果」&#xff0c;而不是「结果的个数」&#xff0c;一般情况下&#xff0c;我们就知道需要暴力搜索所有的可行解了&#xff0c;可以用「回溯法」。 回溯算法关键在于:不合适就退回上一步。在回溯算法中&#xff0c;递归用于深入到所有可能的分支&…