pytroch学习笔记六:nn网络层——卷积层

本文深入探讨了卷积运算与卷积层,详细介绍了1d、2d、3d卷积,卷积的基本属性如卷积核、步长和填充,以及卷积的计算过程。此外,文章还涵盖了多种卷积类型,包括标准卷积、反卷积、空洞卷积、可分离卷积等,并以nn.Conv2d为例说明了如何在PyTorch中实现二维卷积。
摘要由CSDN通过智能技术生成

通过前面两节的学习,已经知道如何搭建一个网络模型以及搭建模型一个非常重要的类nn.Module和模型容器Containers。搭建网络模型有两个基本的步骤:建立子模块和拼接子模块。建立的子模块就包括卷积层、池化层、激活层和全连接层等。所以这一节就从子模块开始。

一、卷积运算与卷积层

卷积运算:卷积核在输入信号(图像)上滑动,相应位置进行乘加;
卷积层:又称为滤波器,过滤器,可以认为是某种模式,某种特征。

卷积的过程类似于用一个模版去图像上寻找与它相似的区域,与卷积模式越相似,激活值越高,从而实现特征的提取。
在这里插入图片描述

1、1d 2d 3d卷积示意

一般情况下,卷积核在几维上滑动就是几维卷积。
一维卷积示意图
在这里插入图片描述
二维卷积示意图
在这里插入图片描述
三维卷积示意图
在这里插入图片描述

二、卷积的基本属性

卷积核(Kernel):卷积操作的感受野,直观理解是一个滤波矩阵,普遍使用的卷积核大小为3×3、5×5等;
步长(Stride):卷积核遍历特征图时每步移动的像素,如步长为1则每次移动1个像素,步长为2则每次移动2个像素(即跳过1个像素),以此类推;
填充(Padding):处理特征图边界的方式,一般有两种,一种是对边界外完全不填充,只对输入像素执行卷积操作,这样会使输出特征图的尺寸小于输入特征图尺寸;另一种是对边界外进行填充(一般填充为0),再执行卷积操作,这样可使输出特征图的尺寸与输入特征图的尺寸一致;
通道(Channel):卷积层的通道数(层数)。
如下图是一个卷积核(kernel)为3×3、步长(stride)为1、填充(padding)为1的二维卷积:
在这里插入图片描述

三、卷积的计算过程

卷积的计算过程非常简单,当卷积核在输入图像上扫描时,将卷积核与输入图像中对应位置的数值逐个相乘,最后汇总求和,就得到该位置的卷积结果。不断移动卷积核,就可算出各个位置的卷积结果。如下图:
在这里插入图片描述

四、卷积的各种类型

1、标准卷积
(1)二维卷积(单通道卷积)

在上面的示意图中已经显示过,表示只有一个通道的卷积。如下图是一个卷积核(kernel)为3×3、步长(stride)为1、填充(padding)为0的卷积:
在这里插入图片描述

(2)二维卷积(多通道卷积)

拥有多个通道的卷积,例如处理彩色图像时,分别对R, G, B这3个层处理的3通道卷积,如下图:
在这里插入图片描述

再将三个通道的卷积结果进行合并(一般采用元素相加),得到卷积后的结果,如下图:
在这里插入图片描述

(3)三维卷积

卷积有三个维度(高度、宽度、通道),沿着输入图像的3个方向进行滑动,最后输出三维的结果,如下图:
在这里插入图片描述

(4)1x1卷积(1 x 1 Convolution)

当卷积核尺寸为1x1时的卷积,也即卷积核变成只有一个数字。如下图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值