https://zhuanlan.zhihu.com/p/62532887
是一种上采样操作,具体操作如下:
流程描述:
1.在Pooling(一般是Max Pooling)时,保存最大值的位置。
2.中间经历若干网络层的运算。
3.上采样阶段,利用第1步保存的Max Location,重建下一层的feature map。
UnPooling不完全是Pooling的逆运算,Pooling之后的feature map,要经过若干运算,才会进行UnPooling操作;对于非Max Location的地方以零填充。然而这样并不能完全还原信息。
https://arxiv.org/pdf/1603.07285.pdf
https://arxiv.org/abs/1301.3557
https://zhuanlan.zhihu.com/p/77040467
https://arxiv.org/pdf/1611.05138.pdf
https://blog.csdn.net/qq_33270279/article/details/103898245
https://github.com/scutan90/DeepLearning-500-questions
https://zhuanlan.zhihu.com/p/62532887
https://blog.csdn.net/qq_32768091/article/details/84145088
池化操作(Pooling)是CNN中非常常见的一种操作,Pooling层是模仿人的视觉系统对数据进行降维,池化操作通常也叫做子采样(Subsampling)或降采样(Downsampling),在构建卷积神经网络时,往往会用在卷积层之后,通过池化来降低卷积层输出的特征维度,有效减少网络参数的同时还可以防止过拟合现象。主要功能有以下几点:抑制噪声,降低信息冗余提升模型的尺度不变性、旋转不变形...
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks, FNN),是深度学习的代表算法之一。
对卷积神经网络的研究始于二十世纪80至90年代,时间延迟网络和LeNet-5是最早出现的卷积神经网络;在二十一世纪后,随着深度学习理论的提出和
1、Max Pooling Over Time操作
MaxPooling Over Time是NLP中CNN模型中最常见的一种下采样操作。
意思是对于某个Filter抽取到若干特征值,只取其中得分最大的那个值作为Pooling层保留值,其它特征值全部抛弃,值最大代表只保留这些特征中最强的,而抛弃其它弱的此类特征。
(1)保留主要特征的同时减少参数和计算量,防止过拟合。
(2)invariance(不变性),这种不变性包括translation(平移),rotation(旋转),scale(尺度)。
Pooling 层说到底还是一个特征选择,信息过滤的过程。也就是说我们损失了一部分信息,这是一个和计算性能的一个妥协,随着运算速度的不断提高,我认为这个妥协会越来越小。
现在有些网络都开始少用或者不用pooling层了。
TensorFlow中的卷积一般是通过tf.nn.conv2d()函数实现的具体可以查看官网:https://www.tensorflow.org/api_docs/python/tf/nn/conv2d
TensorFlow中的池化有几种方式举个例子:通过tf.nn.max_pool函数实现的具体可以查看官网:htt
在卷积神经网络(CNN)中,池化是一种常见的操作,它的主要作用是减少特征图的大小,从而减少模型参数,降低过拟合的风险,同时提高模型的计算效率。
具体来说,池化操作会在特征图上滑动一个固定大小的窗口,并在窗口内选取一个最大值(最大池化)或平均值(平均池化)作为该窗口的结果。这样,特征图中的每个窗口都被压缩成一个单一的值,从而减少了特征图的大小。
此外,池化操作还可以提高模型对平移不变性的鲁棒性。在图像分类任务中,池化操作可以使模型对图像中物体的位置和大小变化具有一定的不变性,从而提高模型的泛化能力。
总的来说,池化操作在CNN中起着非常重要的作用,可以有效地减少模型参数、降低过拟合风险、提高模型计算效率和鲁棒性。