当前位置:首页 > 股票资讯 - 正文

深度学习中的各种卷积 新疆城建

卷积,深度,学习时间:2021-03-06 21:06:15浏览:181
后台-插件-广告管理-内容页头部广告位(手机)

原标题:深度学习中的各种回旋

如果您在深度学习中听说过不同的卷积类型,包括:

2D/3D/1 * 1/t转换/扩展/空间

可分离/深度可分离/平坦/分组/混合分组卷积

这些,但不清楚它们实际上是什么意思,这篇文章是为了向你展示这些卷积是如何工作的。

在本文中,我尽量用简单明了的方式解释深度学习中常用的几种卷积,希望能帮助你建立一个学习体系,为你的研究提供参考。

卷积VS互相关

卷积是信号处理、视觉处理或其他工程/科学领域中广泛使用的技术。在深度学习中,有一种称为卷积神经网络的模型体系结构。深度学习中的卷积本质上是信号处理中的互相关。当然,它们之间也有细微的差别。

在信号/图像处理中,卷积的定义如下:

从上面的公式可以看出,卷积是由两个函数f和g生成第三个函数的数学算子,将f和g的乘积经过翻转和平移后进行积分。流程如下:

信号处理中的卷积。滤波器g首先翻转,然后沿着横坐标移动。计算相交面积,即为卷积值。

另一方面,互相关称为滑动点积或两个函数的滑动内积。互相关中的滤波函数不需要反转。直接穿越特征函数f。f和g相交的区域是互相关。

在深度学习中,卷积中的滤波器不翻转。严格来说就是互相关。我们基本上执行逐个元素的加法或乘法。但是在深度学习中,我们还是习惯了被称为卷积。过滤器的重量是在训练中学习的。

深度学习中的卷积

卷积的目的是从输入中提取有用的特征。在图像处理中,有许多过滤器可供我们选择。每个过滤器帮助我们提取不同的特征。如水平/垂直/对角边等。CNN中通过卷积提取不同的特征,训练时自动学习滤波器的权值。然后将提取的所有特征进行“组合”来做出决策。

单通道版本

单通道卷积

在深度学习中,卷积是元素的加法和乘法。对于一个通道的图像,卷积如上图所示。这里的滤波器是3×3矩阵,】。过滤器在输入上滑动,在每个位置旋绕一次,并在每个滑动位置获得一个数字。最后的输出还是一个3×3的矩阵。(注意,在上面的例子中,步幅=1,填充=0)

多通道版本

在许多应用中,我们需要处理多通道图像。最典型的例子就是RGB图像。

[0,1

不同的渠道强调原始图像的不同方面

多通道数据的另一个例子是CNN中的图层。卷积网络层通常由多个通道(通常是数百个通道)组成。每个通道描述前一层的不同方面。我们如何在不同深度的层之间转换?如何将一个深度为n的图层转换成下一个深度为m的图层?

在描述这个过程之前,我们首先介绍一些术语:层、通道、特征映射、过滤器和内核。从层次结构来看,层和滤波器的概念处于同一层次,而通道和卷积核处于下一层次结构。通道和特征图是一回事。一个图层可以有多个通道(或要素地图)。如果输入是RGB图像,会有3个通道。“通道”通常用来描述“层”的结构。同样,“内核”用来描述“过滤器”的结构。

2,2

层与通道、过滤器与内核的区别

滤镜和内核的区别很微妙。很多时候,它们可以互换,所以这可能会引起我们的困惑。两者有什么区别?“核”往往是2D权重矩阵。而“滤镜”是指堆叠了多个内核的3D结构。如果是2D滤波器,那么两者是相同的。但是一个三维过滤器,在深度学习的大多数卷积中,包含内核。每个卷积核都是唯一的,它强调输入通道的不同方面。

讲完概念,我们继续讲解多通道卷积。将每个内核应用于前一层的输入通道,以生成输出通道。这是一个卷积核过程,我们对所有核重复这个过程来生成多个通道。然后将这些通道相加,形成一个输出通道。以下:

输入是具有三个通道的5x5x3矩阵。滤波器是一个3x3x3矩阵。首先,滤波器中的每个卷积核应用于输入层的三个通道。执行三次卷积以产生三个3×3通道。

0,1

然后将三个通道相加(矩阵相加),得到3x3x1的单通道。该通道是对输入层(5x5x3矩阵)应用滤波器(3x3x3矩阵)的结果。

类似地,我们可以把这个过程想象成一个3Dfilter矩阵在输入层上滑动。值得注意的是,输入层和滤波器具有相同的深度(通道数=卷积核数)。3Dfilter只需要在二维方向上移动,即图像的高度和宽度。这就是为什么这种操作被称为2D卷积,尽管3D滤波器用于处理3D数据。在每个滑动位置,我们执行卷积得到一个数字。如下例所示,在五个水平位置和五个垂直位置执行滑动。总之,我们得到的是单通道输出。

现在,让我们来看看如何在不同深度的层之间进行转换。假设输入层有x个in通道,我们想得到D个out通道的输出。我们只需要对输入层应用D输出过滤器。每个滤波器在卷积核中都有D。每个滤波器提供一个输出通道。完成该过程,并将结果堆叠在一起,形成输出层。

3D卷积

在上一节的最后一个插图中,可以看出这实际上是在完成3D卷积。但是在深度学习中,我们还是把上面的运算叫做2D卷积。3D数据,2D卷积。过滤器的深度与输入层的深度相同。3D滤镜仅在两个方向上移动(图像的高度和宽度),输出也是2D图像(只有一个通道)。

三维卷积是存在的,它们是2D卷积的推广。在3D卷积中,滤波器的深度小于输入层的深度(也可以说卷积核大小小于通道大小)。所以3D滤镜需要在数据的三个维度(图像的长、宽、高)上移动。在滤波器移动的每个位置,执行一次卷积以获得一个数字。当滤镜滑过整个3D空间时,输出结果也是3D的。

就像2D卷积可以在2D域编码对象关系一样,三维卷积也可以在三维空间描述对象关系。三维关系在一些应用中非常重要,如三维分割/医学图像重建等。

1x1卷积

我们来看一个有趣的运算,1x1卷积。

我们可能会想,这个卷积运算真的有用吗?只是看起来像一个数字乘以输入层的每个数字?正确和不正确。如果输入数据只有一个通道,这个操作是将每个元素乘以一个数字。

但是,如果输入数据是多通道的。然后下图显示了1 x 1卷积是如何工作的。输入数据为H×W×D,滤波器尺寸为1×1x D,输出通道尺寸为H×W×1。如果我们执行1x1卷积n次,并将结果连接在一起,我们可以得到h x w x n的输出。

“网络中的网络”一文中提出了1×1卷积。并且在Google发布的《用卷积更深入》中也有使用。1×1卷积的优点如下:

减少维度以提高计算效率 高效的低维嵌入或特征池 卷积后再次应用非线性 从上图可以看出前两个优点。完成1×1卷积运算后,深度方向的维数显著降低。如果原始输入有200个通道,1 x 1卷积运算将这些通道嵌入到一个通道中。第三个优点是非线性激活,如ReLU,可以在1×1卷积后添加。非线性允许网络学习更复杂的函数。

卷积算法

现在我们知道了深度维度的卷积。我们继续学习另外两个方向(高度&宽度),同样重要的卷积算法。一些术语:

核大小:上面已经提到了卷积核,卷积核大小定义了卷积视图。

Step:定义卷积核在图像中移动的每一步的大小。例如,Stride=1,则卷积核移动一个像素大小。Stride=2,则卷积核在图像中移动2个像素(即跳过一个像素)。我们可以使用stride >: =2对图像进行下采样。

填充:填充可以理解为在图像周围添加一些像素。填充可以保持空间输出维度等于输入图像。如果需要,输入外围可以填充0。另一方面,无填充卷积仅在输入图像的像素上执行卷积,没有填充0。输出将小于输入。

下图显示了2D卷积,内核大小=3,步幅=1,填充=1:

这里有一篇写得很好的文章推荐给大家。它讲述了更多的细节,并给出了许多关于内核大小、步长和填充的不同组合的例子。这里我只是总结一下一般情况下的结果。

输入图像大小为I,内核大小=k,填充=p,步幅=s,然后卷积输出o计算如下:回搜狐看看更多

负责编辑:


以上就是深度学习中的各种卷积新疆城建的全部内容了,喜欢我们网站的可以继续关注致亚股票网其他的资讯!
后台-插件-广告管理-内容页底部广告位(手机)