卷积神经网络基础

一.卷积神经网络基础

1.1二维互相关运算

二维互相关(cross-correlation)运算的输入是一个二维输入数组和一个二维核(kernel)数组,输出也是一个二维数组,其中核数组通常称为卷积核或过滤器(filter)。
在这里插入图片描述

X = torch.tensor([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
K = torch.tensor([[0, 1], [2, 3]])
Y = corr2d(X, K)
print(Y)

1.2特征图与感受野

二维卷积层输出的二维数组可以看作是输入在空间维度(宽和高)上某一级的表征,也叫特征图(feature map)。影响元素x的前向计算的所有可能输入区域(可能大于输入的实际尺寸)叫做x的感受野(receptive field)。

1.3 填充和步幅

1.3.1 填充

填充(padding)是指在输入高和宽的两侧填充元素(通常是0元素),图2里我们在原输入高和宽的两侧分别添加了值为0的元素。
在这里插入图片描述
如果原输入的高和宽是nhnw,卷积核的高和宽是khkw,在高的两侧一共填充ph行,在宽的两侧一共填充pw列,则输出形状为
在这里插入图片描述

1.3.2 步幅

在互相关运算中,卷积核在输入数组上滑动,每次滑动的行数与列数即是步幅(stride)。此前我们使用的步幅都是1,图3展示了在高上步幅为3、在宽上步幅为2的二维互相关运算。
在这里插入图片描述
一般来说,当高上步幅为sh,宽上步幅为sw时,输出形状为:
在这里插入图片描述

1.4 多输入通道和多输出通道

1.4.1 多输入通道

在这里插入图片描述
假设输入数据的通道数为ci,卷积核形状为kh×kw,我们为每个输入通道各分配一个形状为kh×kw的核数组,将ci个互相关运算的二维输出按通道相加,得到一个二维数组作为输出。我们把ci个核数组在通道维上连结,即得到一个形状为ci×kh×kw的卷积核。

1.4.2 多输出通道

卷积层的输出也可以包含多个通道,设卷积核输入通道数和输出通道数分别为cico,高和宽分别为khkw。如果希望得到含多个通道的输出,我们可以为每个输出通道分别创建形状为ci×kh×kw的核数组,将它们在输出通道维上连结,卷积核的形状即co×ci×kh×kw
1.5 1x1卷积层
在这里插入图片描述
卷积核可在不改变高宽的情况下,调整通道数。1×1卷积核不识别高和宽维度上相邻元素构成的模式,其主要计算发生在通道维上。假设我们将通道维当作特征维,将高和宽维度上的元素当成数据样本,那么1×1卷积层的作用与全连接层等价

1.5 卷积层与全连接层的对比

二维卷积层经常用于处理图像,与此前的全连接层相比,它主要有两个优势:

一是全连接层把图像展平成一个向量,在输入图像上相邻的元素可能因为展平操作不再相邻,网络难以捕捉局部信息。而卷积层的设计,天然地具有提取局部信息的能力。

二是卷积层的参数量更少。不考虑偏置的情况下,一个形状为**(ci,co,h,w)的卷积核的参数量是ci×co×h×w**,与输入图像的宽高无关。假如一个卷积层的输入和输出形状分别是**(c1,h1,w1)(c2,h2,w2),如果要用全连接层进行连接,参数数量就是c1×c2×h1×w1×h2×w2**。使用卷积层可以以较少的参数数量来处理更大的图像。

1.6 池化

池化层主要用于缓解卷积层对位置的过度敏感性。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值