上传网站安装教程北京网络科技公司名单

当前位置: 首页 > news >正文

上传网站安装教程,北京网络科技公司名单,10元网站备案,做网站的点子3.池化层 3.1 概述 池化层 (Pooling) 降低维度, 缩减模型大小#xff0c;提高计算速度. 即: 主要对卷积层学习到的特征图进行下采样#xff08;SubSampling#xff09;处理。 池化层主要有两种: 最大池化 max pooling 最大池化是从每个局部区域中选择最大值作为池化后的值…3.池化层 3.1 概述 池化层 (Pooling) 降低维度, 缩减模型大小提高计算速度. 即: 主要对卷积层学习到的特征图进行下采样SubSampling处理。 池化层主要有两种: 最大池化 max pooling 最大池化是从每个局部区域中选择最大值作为池化后的值这样可以保留局部区域中最显著的特征。最大池化在提取图像中的纹理、形状等方面具有很好的效果。 平均池化 avgPooling 平均池化是将局部区域中的值取平均作为池化后的值这样可以得到整体特征的平均值。平均池化在提取图像中的整体特征、减少噪声等方面具有较好的效果。
3.2 池化层计算 整体结构 计算 ​ 最大池化: max(0, 1, 3, 4)max(1, 2, 4, 5)max(3, 4, 6, 7)max(4, 5, 7, 8) 平均池化: mean(0, 1, 3, 4)mean(1, 2, 4, 5)mean(3, 4, 6, 7)mean(4, 5, 7, 8) 3.3 步长Stride 最大池化: max(0, 1, 4, 5)max(2, 3, 6, 7)max(8, 9, 12, 13)max(10, 11, 14, 15) 平均池化: mean(0, 1, 4, 5)mean(2, 3, 6, 7)mean(8, 9, 12, 13)mean(10, 11, 14, 15) 3.4 边缘填充Padding 最大池化: max(0, 0, 0, 0)max(0, 0, 0, 1)max(0, 0, 1, 2)max(0, 0, 2, 0)… 以此类推 平均池化: mean(0, 0, 0, 0)mean(0, 0, 0, 1)mean(0, 0, 1, 2)mean(0, 0, 2, 0)… 以此类推 3.5 多通道池化计算 ​ 在处理多通道输入数据时池化层对每个输入通道分别池化而不是像卷积层那样将各个通道的输入相加。这意味着池化层的输出和输入的通道数是相等。 3.6 池化层的作用 池化操作的优势有 通过降低特征图的尺寸池化层能够减少计算量从而提升模型的运行效率。池化操作可以带来特征的平移、旋转等不变性这有助于提高模型对输入数据的鲁棒性。池化层通常是非线性操作例如最大值池化这样可以增强网络的表达能力进一步提升模型的性能。 但是池化也有缺点 池化操作会丢失一些信息这是它最大的缺点 3.7 池化API使用 import torch import torch.nn as nn# 1. API 基本使用 def test01():inputs torch.tensor([[0, 1, 2], [3, 4, 5], [6, 7, 8]]).float()inputs inputs.unsqueeze(0).unsqueeze(0)# 1. 最大池化# 输入形状: (N, C, H, W)polling nn.MaxPool2d(kernel_size2, stride1, padding0)output polling(inputs)print(output)# 2. 平均池化polling nn.AvgPool2d(kernel_size2, stride1, padding0)output polling(inputs)print(output)# 2. stride 步长 def test02():inputs torch.tensor([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15]]).float()inputs inputs.unsqueeze(0).unsqueeze(0)# 1. 最大池化polling nn.MaxPool2d(kernel_size2, stride2, padding0)output polling(inputs)print(output)# 2. 平均池化polling nn.AvgPool2d(kernel_size2, stride2, padding0)output polling(inputs)print(output)# 3. padding 填充 def test03():inputs torch.tensor([[0, 1, 2], [3, 4, 5], [6, 7, 8]]).float()inputs inputs.unsqueeze(0).unsqueeze(0)# 1. 最大池化polling nn.MaxPool2d(kernel_size2, stride1, padding1)output polling(inputs)print(output)# 2. 平均池化polling nn.AvgPool2d(kernel_size2, stride1, padding1)output polling(inputs)print(output)# 4. 多通道池化 def test04():inputs torch.tensor([[[0, 1, 2], [3, 4, 5], [6, 7, 8]],[[10, 20, 30], [40, 50, 60], [70, 80, 90]],[[11, 22, 33], [44, 55, 66], [77, 88, 99]]]).float()inputs inputs.unsqueeze(0)# 最大池化polling nn.MaxPool2d(kernel_size2, stride1, padding0)output polling(inputs)print(output)if name main:test04()3.9 每日作业 概念理解题 简述在卷积神经网络中池化层的作用并解释其为何能帮助提高模型性能。 操作过程描述题 描述最大池化和平均池化的具体计算步骤包括如何进行窗口滑动、取最大值或平均值的操作。 参数设置意义题 请说明池化层中的“步长”和“池化窗口大小”两个参数对输出特征图的影响并举例说明不同参数组合下的结果差异。 功能分析题 分析池化层如何实现下采样downsampling并讨论这种降维操作如何有助于防止过拟合。 应用效果比较题 对比最大池化和平均池化的优缺点并讨论在什么情况下更倾向于选择其中一个作为池化层的类型。 实践操作题 假设有一个输入尺寸为32x32的图像数据通过一个池化窗口为2x2步长为2的最大池化层请计算输出特征图的尺寸。 泛化能力提升题 池化层是如何通过保持局部不变性来增强模型对图像变换的鲁棒性的请举例说明。 综合思考题 在设计深度学习模型时为什么我们通常会在连续的卷积层之间插入池化层这背后体现了什么样的设计理念
3.10 知识点扩展 深入理解题 请详细解释池化层在卷积神经网络中的作用并举例说明其如何通过降低空间维度和参数数量来提高模型的效率和泛化能力。 梯度传播分析题 在反向传播过程中池化层是如何计算并传递梯度的请描述最大池化与平均池化的梯度计算差异。 自适应池化策略题 介绍空间金字塔池化Spatial Pyramid Pooling, SPP或可变形池化Deformable Pooling等自适应池化策略的工作原理以及它们如何解决标准池化层对输入尺寸固定依赖的问题。 多尺度特征融合题 如何利用不同大小的池化窗口来提取多尺度特征请结合具体实例阐述多尺度池化在目标检测、图像分类等任务中的应用价值。 理论探讨题 池化层是否一定能够防止过拟合是否存在可能引入欠拟合的风险如果有应如何平衡池化带来的优势和潜在问题 未来发展方向题 针对未来研究方向你认为池化层的设计会有哪些可能的发展趋势或改进点例如注意力机制在池化过程中的应用、动态池化策略等。

  1. 整体结构 4.1 特征图变化 5. 卷积知识扩展 5.1 卷积结果 通过上述的动画可以发现卷积实际上将原本图像中的某一特征进行提取。 5.2 二维卷积 分单通道版本和多通道版本。 5.2.1 单通道版本 之前所讲卷积相关内容其实真正意义上叫做二维卷积单通道卷积版本,即只有一个通道的卷积。 如下图我们对于卷积核kernel的描述一般是大小3x3、步长stride为1、填充Padding为0 ​ 5.2.2 多通道版本 彩色图像拥有R、G、B这三层通道因此我们在卷积时需要分别针对这三层进行卷积 最后将三个通道的卷积结果进行合并元素相加得到卷积结果 5.3 三维卷积 ​ 二维卷积是在单通道的一帧图像上进行滑窗操作输入是高度H宽度W的二维矩阵。 ​ 而如果涉及到视频上的连续帧或者立体图像中的不同切片就需要引入深度通道此时输入就变为高度H宽度W*深度C的三维矩阵。 ​ 不同于二维卷积核只在两个方向上运动三维卷积的卷积核会在三个方向上运动因此需要有三个自由度。 ​ 这种特性使得三维卷积能够有效地描述3D空间中的对象关系它在一些应用中具有显著的优势例如3D对象的分割以及医学图像的重构等。 5.4 反卷积 卷积是对输入图像及进行特征提取这样会导致尺寸会越变越小而反卷积是进行相反操作。并不会完全还原到跟输入图一样只是保证了与输入图像尺寸一致主要用于向上采样。从数学上看反卷积相当于是将卷积核转换为稀疏矩阵后进行转置计算。也被称为转置卷积。 5.4.1 反卷积计算过程 如图在2x2的输入图像上使用【步长1、边界全0填充】的3x3卷积核进行转置卷积反卷积计算向上采样后输出的图像大小为4x4 如我们的语义分割里面就需要反卷积还原到原始图像大小。 5.4.2 反卷积底层计算 反卷积的计算过程如下图 5.5 空洞卷积膨胀卷积 ​ 为扩大感受野在卷积核俩面的元素之间插入空格“膨胀”内核形成“空洞卷积”或称膨胀卷积并用膨胀率参数L表示要扩大内核的范围即在内核元素之间插入L-1个空格。当L1时则内核元素之间没有插入空格变为标准卷积。图中是L2的空洞卷积。 5.6 可分离卷积 5.6.1 空间可分离卷积 空间可分离卷积是将卷积核分解为两项独立的核分别进行操作。在数学中我们可以将矩阵分解 [ − 1 0 1 − 2 0 2 − 1 0 1 ] [ 1 2 1 ] × [ − 1 0 1 ] \left[ \begin{matrix} -1 0 1 \ -2 0 2 \ -1 0 1 \end{matrix} \right] \left[ \begin{matrix} 1 \ 2 \ 1 \end{matrix} \right]\times \left[ \begin{matrix} -1 0 1 \end{matrix} \right] ​−1−2−1​000​121​ ​ ​121​ ​×[−1​0​1​] 所以对3x3的卷积核我们同样可以拆分成 3x1 和 1x3 的两个卷积核对其进行卷积且采用可分离卷积的计算量比标准卷积要少。 5.6.2 深度可分离卷积 深度可分离卷积由两部组成深度卷积核1x1卷积我们可以使用Animated AI官网的图来演示这一过程 图1输入图的每一个通道我们都使用了对应的卷积核进行卷积。 通道数量 卷积核个数 图2完成卷积后对输出内容进行1x通道数的卷积 5.7 扁平卷积 扁平卷积是将标准卷积拆分成为3个1x1的卷积核然后再分别对输入层进行卷积计算。 标准卷积参数量XYC计算量为MNCXY 拆分卷积参数量(XYC)计算量为MN(CXY)
    5.8 分组卷积 2012年AlexNet论文中最先提出来的概念当时主要为了解决GPU显存不足问题将卷积分组放到两个GPU中并行执行。 在分组卷积中卷积核被分成不同的组每组负责对相应的输入层进行卷积计算最后再进行合并。 下图中卷积核被分成两个组前半部负责处理前半部的输入层后半部负责后半部的输入层最后将结果组合。 5.9 混洗分组卷积 ​ 分组卷积中最终结果会按照原先的顺序进行合并组合阻碍了模型在训练时特征信息在通道间流动削弱了特征表示。混洗分组卷积主要是将分组卷积后的计算结果混合交叉在一起输出。 5.10 多通道卷积与偏执 卷积核卷完之后偏置矩阵就会与输出特征矩阵相加得到本次卷积的最终结果。 有两个结论 输入特征的通道数决定了卷积核的通道数卷积核通道个数输入特征通道个数。 卷积核的个数决定了输出特征矩阵的通道数与偏置矩阵的通道数卷积核个数输出特征通道数偏置矩阵通道数。