30 深度 习 高级池化

小夏 教育 更新 2024-01-30

嗨,你好。 我是茶桁架。

在上一课中,我们习详细学习了卷积原理,在这个过程中,我们谈到了一个更重要的概念,叫做input channeloutput channel

当然,没有必要直接实现,卷积、pytorch、tensorflow 等原理,其实已经实现了。 但是,如果我们现在使用 Pytorch 的卷积运算,它将有一个输入通道和一个输出通道。

方法如下:conv2d,表示此处应用的过滤器是 2D 过滤器。 那么它是如何进行3D的呢?是将每一层的结果相加。

还有另一个对应物conv3d此时,过滤器已大不相同。

当我们使用它时,我们通常会应用它conv2d。如果在 Conv3D 中,我们每层都有不同的值,感觉会更好。 但其实我们现在得到的过滤器都是我们自己写的,但是为了提取自然界中非常非常多的特征,其实我们会让机器自动生成并初始化一堆过滤器,而这些过滤器的结果都是随机的。

也就是说,这个滤波器的结果在深习中实际上是随机的,然后通过训练和反向传播,这些滤波器会自动学习到习一个值。 也就是说,它会自动收敛到某个值,而这个值在这种环境下应该如何从卷积中提取特征,所以我们在制作 2D 时需要拟合的参数更少。

如果滤波器前面有很多很深的输入通道,那么滤波器需要拟合很多参数,如果是2D,只需要拟合这层2D。 这就是 2D 和 3D 之间的区别,也是为什么通常使用 2D 而不是 3D。

如果你现在想使用卷积,第一个参数是输入通道。 第二个是输出通道。 输出通道实际上就是有多少个滤波器。

核大小是指卷积完成时卷积的大小。 例如,如果是 3 * 3,则内核大小为 3,也可以写成 (3,3)。

还有一个参数叫步幅,这个步幅就是步幅。 那么,这一步是为了什么呢?我们一般使用滤镜对图像进行去卷积处理时,是矩阵上从左到右、从上到下移动的一个单位,这个步幅就是加快移动速度,从而设置间隔。 例如:那我就以一句台词为例,就知道意思就行了。 例如,如果筛选器是 3 列,则它应该按顺序排列,然后是,但我设置了步幅以跳过要执行的步骤。 在在那之后,它可以是。stride 默认为 1。

下一个参数 padding。 如果有一个带有 3*3 滤波器的 6*6 图像矩阵,那么 6*6 图像的卷积将首先变成 4*4,然后变成 2*2。 结果是它越来越小,这意味着抽象级别越来越高。

所以因为每个窗口都在不断变化,所以在下一轮中,如果你想在中间添加一些操作,维度就会发生变化,这会导致每次你想在中间连接一些东西时,都会重新计算维度。

换句话说,维度的不断变化会导致在编写**时计算变得更加复杂。

其次,我们不想过快地减少它。 在极端情况下,拍摄 10,000 x 10,000 的图像可以很快变成 2 x 2 的图像。 如果抽象级别太高,信息就会少。

第三个解释起来比较复杂,如果我们仔细想想,如果一个滤波器在图像上从左向右移动,那么当按顺序进行卷积时,最左边的一列只计算一次,但中间的位置被扫入计算多次。 我们想要的是边缘上的数据可以多次计算,也就是说,可以重复提取。

有一个非常简单的方法来解决这三个问题,那就是填充。 这意味着在图形的外部添加了一个或两个零圆圈。 如果要添加一个 0 的圆圈padding=1。如果它等于 2,则添加两轮 0。

下一个dilation。这就是我们在进行图分割时使用的。 在模式识别方面,您现在不必习它。

当我们卷积一个**时,它会变得越来越小,这称为下采样。 下采样后,如果我们想做图像分割,就需要把图像的所有主要部分都涂黑,其他部分都涂成白色,我们需要在这个小样本的基础上进行扩容,慢慢恢复到原来的大小,这叫做上采样。 有时在上采样时使用它dilation

这些是重要的参数。 在讨论了这些参数之后,实际上基本上解释了卷积的几个重要特征。

除了卷积之外,还有一个更重要的操作:pooling,池化操作。

池化操作其实很简单,我们得到一个**,卷积运算就是选择一个窗口和滤波,做一个F乘法W再加法。 sum(f*w).池化是一个简单的操作,它平均 W 侧的所有值,也可能是最大值。 如果它是最大值,则最大值表示图形中对其影响最大的点。

所以在池化之后,每次做这个操作,图形都会变小,但图像基本保持不变。 也就是说,池化操作之前和之后的图像是相似的,并且它采用最重要的信息。

现在我们来想一想,如果有**,不管是卷积还是池化,都会缩水。 那么我们来想一想,如果两个操作都导致图像被缩小,为什么会有两个操作呢?

我们机器习最麻烦的就是所谓的过拟合,就是训练时效果很好,但实际效果却不好。

控制过拟合最主要的是减少参数,当参数越少才能达到效果时,我们期望参数越少越好,在数据量相同的情况下可以防止过拟合越多。

过去,卷积中的这些值是由人类决定的,但现在它们被期望由机器自动求解,这意味着这个参数需要自己求解。 另一方面,池化不需要设置参数,它没有参数,这会减少参数。

使用池化后,不仅参数减小,而且下一个 x 的维度也减小。 所以核心是我们减少了需要训练的参数。

之所以使用池化,是因为它可以减少参数,从而减少过拟合的问题。 但是,如果你有很多数据,或者模型本身更容易训练和收敛,那么你实际上可以不用这种池化操作。

所以这个时候,我想和大家谈谈一个更重要的概念,叫做权重分配和局部不变性:parameters sharing and location invariant.这种位置不变性也称为移位不变性。 CNN的两个最重要的特征中的第一个是它的权重共享。

我们给一个**,只是我之前的头像,如果有过滤器,它是3*3,那么这个3*3的网格和每个窗口上的这个过滤器是一样的。

所以让我们想一想,如果有一张 1000 乘以 1000 的图,我们就得写出这个 1000 * 1000 的数字wx+b如果这个 x 是 100 万个维度,那么这个 w 也是 100 万个维度。

因此,如果我们要进行训练,我们将不得不训练 100 万 W。 这是拟合线性变化,因此,如果我们要拟合卷积,如果输出通道为 10,我们需要拟合哪些参数?

卷积核为 3*3,其中 10。 这是 9*9 乘以 10。 不管位置是 1,000 * 1,000 还是 10,000 * 10,000,我们都希望在卷积核中拟合这个参数。

我们做一层卷积,即使我们给出 10 个卷积核,也是 90。 如果要给它做一个线性变化,就得拿到100万,两者的差值非常大。

为什么会有这么大的差异?这是因为不同位置使用的过滤器的值是相同的。 滤镜参数在整个图像中共享。 这就是卷积神经网络的权重分配。

那么现在我们来想一想,我们有这个参数共享,它有什么作用呢?

减少参数数量的效果是防止过拟合,而防止过拟合的最终体现就是我们的各种计算机视觉任务,性能不错。 除此之外,还有一个功能可以大大提高我们的计算速度。

最初,如果你有这么多参数,我们将不得不一次反向传播 100 万次反向传播。 现在我们只做九十个。

因此,权重共享实际上是卷积神经网络运行得如此之好的原因。

2024年,计算机视觉的测试效果有了突飞猛进的提升。 这是因为使用了卷积神经网络。

过去,大家在实验室环境中的训练集上都做得很好,但是拿到测试集后,效果很差。 后来,在使用卷积神经网络后,这个错误率突然下降了。

价值共享功能带来了一个称为定位不变性的功能。 这只是一个地方的事情,我们正在把它连接在一起。

我们各有两个**,例如,下面这幅我曾经画过的画,我分别改变了构图。

两种图像数据在表示方面有很大不同,但是在对眼睛的位置进行卷积后,只要使用相同的卷积核,结果是相似的。 因此,定位不变性意味着无论眼睛在哪里,我们都可以提取它。

假设我们在训练中,无论眼睛在哪里,只要训练了滤波器,即使它在测试数据集上的位置发生了变化,我们仍然可以提取它的特征,并且仍然能够计算出与它相似的这个值,这就是所谓的定位不变性。

这两个特征非常重要。

老实说,构建卷积神经网络最重要的是看经验。 在下一课中,我们将介绍几种经典的神经网络结构。

相似文章

    28 种高级 LSTM 习 深度学习

    如果您对本文中的资源和内容有任何疑问,请给我留言。嗨,你好。我是茶桁架。在上一课中,我们用了一个例子来说明为什么我们使用 RNN 神经网络,以及它与全连接神经网络的区别。在这一课中,我们将继续讨论上一课的内容,如果你还没有看过上一课,建议回去好好看一看,尤其是要弄清楚 的流程顺序。一个全连接的模型必...

    如何培养深入学习习的能力

    在信息时代,深度学习习能力已成为一项极其重要的技能。无论您是学生 专业人士还是任何领域的从业者,您都将从发展深厚的 习 技能中受益匪浅。本文将解释如何培养深度学习习技能,以帮助您在习,工作和生活中更加成功。要培养深入学习习的能力,首先需要打下坚实的基础。这包括对自己领域的深刻理解,以及相关背景知识的...

    PyTorch 深度学习 习 框架揭开神秘面纱,掌握技术的未来!

    ...

    常用的深度学习习自动标注软件

    介绍 自动标注软件是一种非常省力的操作,并且随着深度习的发展,这些自动标注软件也在不断增加。本文将重点介绍更经典的自动注释软件。.autolabelimg 除了 LabelIMG 的初始功能外,AutoLabelIMG 还包含 多个辅助注释功能,分别位于 annoatate tools 和 vide...

    我们可以从什么角度着手解决深度学习习模型训练的问题?

    在上一篇文章中,我们谈到了工业领域深度学习习 习模型训练中的一些问题。在今天的文章中,让我们来看看这些现有问题有哪些解决方案 缺陷数据生成 采用人工智能技术,自动完成缺陷 数据的生成,解决缺陷样本不足的问题。减少样本数据依赖性 从小样本习学习 迁移习 异常检测,减少不良样本数量。数据管理 通过数字化...