池化层的知识

   卷积神经网络的一个重要概念就是池化层,一般是在卷积层之后。池化层对输入做降采样,常用的池化做法是对每个滤波器的输出求最大值,平均值,中位数等。

  

  池化的特点之一就是它输出一个固定大小的矩阵,这对分类问题很有必要。例如,如果你用了100个滤波器,并对每个输出使用最大池化,那么无论滤波器的尺寸是多大,也无论输入数据的维度如何变化,你都将得到一个100维的输出。这让你可以应用不同长度的句子和不同大小的滤波器,但总是得到一个相同维度的输出结果,传入下一层的分类器。

  池化还能降低输出结果的维度,(理想情况下)却能保留显著的特征。你可以认为每个滤波器都是检测一种特定的特征,例如检测句子是否包含诸如“not amazing”等否定意思。如果这个短语在句子中的某个位置出现,那么对应位置的滤波器的输出值将会非常大,而在其它位置的输出值非常小。通过采用取最大值的方式,能将某个特征是否出现在句子中的信息保留下来,但是无法确定它究竟在句子的哪个位置出现。所以这个信息出现的位置真的很重要吗,这有点类似于一组n-grams模型的行为。尽管丢失了关于位置的全局信息(在句子中的大致位置),但是滤波器捕捉到的局部信息却被保留下来了,比如“not amazing”和“amazing not”的意思就大相径庭。

  在图像识别领域,池化还能提供平移和旋转不变性。若对某个区域做了池化,即使图像平移/旋转几个像素,得到的输出值也基本一样,因为每次最大值运算得到的结果总是一样的。

  Dilated Convolution(扩张神经网络)的产生是为了解决全卷积网络在图像分割领域的问题,图像分割需要输入和输出在像素的shape保持一致,但由于池化层的存在导致需要通过上采样扩增size,但是上采样并不能将丢失的信息无损的找回所以存在不足。

  Dilated Convolution想法就是既然池化的下采样操作会带来信息损失,那么就把池化层去掉。但是池化层去掉随之带来的是网络各层的感受野变小,这样会降低整个模型的预测精度。Dilated convolution的主要贡献就是如何在去掉池化下采样操作的同时,而不降低网络的感受野。

  最后个人觉得虽然Dilated Convolution可以增大感受野,不损失信息,但是先前的池化层(pooling)还具有减小网络规模和参数的作用,较少特征冗余,防止过拟合的作用。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
卷积神经网络(Convolutional Neural Network,简称CNN)是一种深度学习模型,广泛应用于计算机视觉任务,如图像分类、目标检测和图像生成等。 CNN的基本组成部分包括卷积层(Convolutional Layer)、池化层(Pooling Layer)和全连接层(Fully Connected Layer)。 卷积层是CNN的核心,通过卷积操作提取输入数据的特征。卷积操作使用一组可学习的卷积核(或滤波器)对输入数据进行滑动窗口的方式进行计算,生成特征图(Feature Map)。特征图可以捕捉输入数据的空间结构信息。 池化层用于减小特征图的空间尺寸,并降低模型对位置的敏感性。常见的池化方式有最大池化和平均池化,它们分别选择窗口内的最大值或平均值作为池化后的值。 全连接层将池化层输出的特征图连接为一个向量,并通过多个全连接层进行分类或回归等任务。 除了上述基本组成部分,CNN还可以包含其他功能模块,如批归一化层(Batch Normalization)用于加速训练过程、激活函数层(Activation Layer)用于引入非线性等。 通过多个卷积层和池化层的堆叠,CNN可以逐渐提取输入数据的高层次特征,从而实现对复杂任务的有效建模。在训练过程中,CNN通过反向传播算法进行参数的优化,使得模型能够适应特定的任务。 希望以上基础知识能够帮助到您!如果您有更多问题,可以继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值