全连接层对于输入图像尺寸的限制问题

前言

本文以CNNs 为例,说明含有全连接层的网络,为什么需要固定输入图像的大小

CNN

在处理图像级的分类任务时,CNNs是常用的模型。我们输入图像,网络会输出一个向量,该向量中每个位置的值,往往代表我们的输入图像属于对应的类的概率,概率最大的类就是图像所属的类别。

因为输出是一个向量,而我们的输入是图像,至少是二维的(因为包含位置信息)。因此,我们需要利用全连接层来消除位置信息,将其转换成一维向量。

我们知道CNNs网络的最后几层,往往是全连接层。我们对前一层的输出进行flatten操作(将矩阵展开成一维向量,比如将28*28的矩阵展开成1*784的向量),作为全连接层的输入,然后与全连接层进行矩阵乘法,得到分类的结果向量。

当网络结构固定下来后,全连接层的参数个数也就固定下来了。比如每个神经元有28*28 = 784个参数,一共有5个神经元(也就是5个候选类别)。

我们进行矩阵乘法 W ∗ X = V W* X = V WX=V

  • W W W是全连接层的参数矩阵,大小为 5 ∗ 784 5 * 784 5784
  • X X X是全连接层的输入,大小需要为 784 ∗ 1 784 * 1 7841
  • V V V是全连接层的输出,大小为 5 ∗ 1 5 * 1 51

在这里插入图片描述

可见,flatten后的数据的第一维大小,与全连接层参数第二维大小必须相同。而网络结构(卷积层,池化层等)是固定的,输入图像的尺寸会经过一个固定的变换。因此,输入图像的大小必须是固定的,这样才能与全连接层进行矩阵乘运算。

FCN

FCN为全卷积网络,就是将CNNs后面的全连接层都换成了卷积层。FCN处理的是像素级的分类任务,常用于语义分割。网络输出的尺寸与输入图像的尺寸相同,给予每个像素一个类别。因为网络结构中没有全连接层,因此对于一个固定的FCN网络,对输入图像的尺寸没有限制,可以接受各种尺寸的输入图像。

FCNCNN的区别和详细介绍

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
全局平均池化是一种常用的替代全连接层的方法,它可以用于图像分类和目标检测等任务中。在传统的卷积神经网络中,全连接层通常用于将卷积层提取的特征映射转换为最终的分类结果。然而,全连接层具有大量的参数,容易导致过拟合和计算复杂度高的问题。 相比之下,全局平均池化可以有效地减少参数数量和计算复杂度。它的原理是对每个特征图进行平均池化操作,将特征图的高度和宽度降为1,得到一个固定长度的特征向量。这样做的好处是保留了特征图中每个位置的信息,并且通过平均操作将特征图的维度降低到一个固定值,从而减少了参数数量。 全局平均池化的优点包括: 1. 减少参数数量:相比于全连接层,全局平均池化不需要大量的参数来进行特征转换,从而减少了模型的复杂度。 2. 防止过拟合:全局平均池化可以减少模型的参数数量,降低了过拟合的风险。 3. 提高计算效率:全局平均池化操作简单,计算效率高,适用于大规模的图像数据处理。 然而,全局平均池化也存在一些限制: 1. 丢失空间信息:全局平均池化将特征图的高度和宽度降为1,丢失了空间信息,可能对一些需要位置信息的任务不太适用。 2. 限制特征图的尺寸:全局平均池化要求输入的特征图尺寸固定,如果输入的特征图尺寸不一致,需要进行额外的处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长命百岁️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值