卷积层

1.卷积运算

卷积层由卷积运算和激活函数组成。卷积运算基于一个局部的线性模型,这个线性模型会重复地应用在图像的各个不同的位置上。卷积运算的结果仍然是一种类似图像的数据,只不过每个位置上的数值代表的是一种局部特征。

卷积运算的公式:

若输入图像的尺寸为 (H, W) ,则输出数据的尺寸为。

下边的例子演示了一个3x3的kernel卷积的过程,卷积核为:

可见,卷积层实现的就是滤波操作。与全连接层相比:

  1. 卷积运算具有局部性,计算结果只受到卷积核覆盖范围内局部数据的影响。
  2. 卷积层具有参数共享的特性,因此参数量小,更有利于特征的学习。
  3. 卷积层的输出的结果仍然具有空间结构,方便进一步提取更高层级的图像特征。

2.步幅(stride)

卷积核每次移动的位移叫做步幅 (stride),在上边的例子里,纵向和横向的步幅均为1,即表示为。步幅的大小也可以超过1,此时相当于对图像数据进行了降采样。

在考虑步幅大小时,输出数据的尺寸为: 。

3.边界效应 (Padding)

在上边卷积运算的例子中,与卷积核相乘的数据都在图像范围内,因此输出的"图像"相较原图像是缩小的,图像边缘的特征被忽略了。 Padding是将原图像进行扩展,并将扩展的部分补0,使得卷积运算的结果尺寸与原图像相同。如果纵向和横向的填充尺寸分别为 和 (两边各分一半),那么输出数据的尺寸为:

4.多个输入通道

到目前为止,我们处理的图像还只是灰度图,即只有一个特征通道。如果我们处理的是彩色图,具有 (R, G, B) 三通道特征,输入图像数据的尺寸是 。此时卷积核也需要升一个维度,尺寸变为 。

在进行卷积运算时,同样沿着高、宽的维度平移。每次运算,输入窗口中的数据大小也为,与卷积核先将对应位置的元素相乘,再相加。

输出数据的尺寸与单输入通道的情况相同。

5.多个输出通道

在之前的例子中,我们只使用了一个卷积核。实际上,为了提高模型提取特征的能力,一般会使用多个卷积核,每个卷积核对应一种输出的特征,即特征通道。

如下图所示,每个卷积核独立地进行特征提取。输出数据会增加一个表示通道的维度。此时输出数据的尺寸为 。其中,。

PyTorch定义了进行卷积运算的层,即 nn.Conv2d 和 nn.Conv1d ,他们都是 nn.Module 的子类。

nn.Conv2d:https://docs.pytorch.org/docs/2.11/generated/torch.nn.Conv2d.html#torch.nn.Conv2dhttps://docs.pytorch.org/docs/2.11/generated/torch.nn.Conv2d.html#torch.nn.Conv2dnn.Conv1d:https://docs.pytorch.org/docs/2.11/generated/torch.nn.Conv1d.html#torch.nn.Conv1dhttps://docs.pytorch.org/docs/2.11/generated/torch.nn.Conv1d.html#torch.nn.Conv1d接下来我们利用 nn.Conv2d 复现一下 sobel 滤波。

6.卷积层

卷积运算+非线性激活函数就构成了卷积层,非线性函数一般采用ReLU 。我们可以把nn.Conv2d和nn.ReLU组成一个块 (也是nn.Module的子类),方便后续搭建更复杂的网络结构。

在利用sobel算子提取边缘特征时,我们对两个方向的滤波数据先取绝对值,再进行组合。接下来我们利用卷积层来复现这一过程。

卷积层可以叠加多层,所提取的局部特征,其语义抽象层次逐步提高。随着卷积次数的增加,每个位 置上的特征所关联的区域也逐渐增大,因此一般也会逐步降低采样率(通过池化层)。

相关推荐
林伽一几秒前
从2048并发会话到501B开源模型,算力账本开始按“单位卡产出“计价|2026年10月07日
人工智能·安全·ai·开源
桃西西呀2 分钟前
Spring AI Alibaba 之一:整体概览与分层架构,看清它在 Spring AI 之上到底加了什么
人工智能·spring·llm
winfredzhang6 分钟前
用 Chrome 插件 + 局域网 Qwen2.5-VL 打造视频截屏 OCR 工具
人工智能·chrome·ocr·api·plugin
做cv的小昊8 分钟前
【大模型算法自学笔记01】NLP基础知识(1.1 自注意力)
人工智能·笔记·算法·自然语言处理·大模型·llm
loulanyue_11 分钟前
Context Is All You Need:读千问办公CEO陈宇森2026云栖演讲
人工智能·智能体·千问办公
零基础12311 分钟前
深度强化学习驱动的 Agent 后训练:原理、实践与前沿路线
人工智能·python·机器学习
一缕82年的清风12 分钟前
从 Cursor 杀回命令行:当 AI 接管终端,CLI 会取代 IDE 吗?
人工智能
夏文强17 分钟前
国产开源反攻海外:GLM-5.3 进 Cursor,CursorBench 开放权重第一
人工智能·开源·大模型·glm·智谱
Yyyyyy~17 分钟前
【机器学习】Numpy
人工智能·机器学习·numpy
高洁0121 分钟前
数字孪生驱动大模型工业知识库
人工智能·python·深度学习·机器学习·transformer