美文网首页
CNN卷积中的池化层pooling

CNN卷积中的池化层pooling

作者: 小黄不头秃 | 来源:发表于2022-09-05 00:29 被阅读0次

(一)池化层

卷积层对位置是及其敏感的、例如在前面讲到的对未知的边缘检测中,只要其中有一个像素发生了变化,他的边缘也会发生变化。

所以我们在一定程度上是需要平移不变的。例如:照明,物体位置,比例,外观等淫图象而异。

那么我们通过怎么样的标志能够解决这样一个问题呢?可以通过池化层来解决。它的运作规律就是通过滑动窗口来获取滑动窗口中的最大值。作用在卷积输出层之后,对输出结果有一定的模糊作用。

(1)填充,步幅和多个通道
  • 池化层与卷积层类似,具有填充和步幅。
  • 没有可以学习的参数。
  • 在每个输入通道应用池化层以获得相应的输出通道
  • 输出通道数 = 输入通道数
(2)常用的池化层
  • 最大池化层:每个窗口中最强的模式信号
    获得窗口中的最大值
  • 平均池化层:将最大池化层中的“最大”操作替换为“平均”操作
    获得窗口中的平均值

(二)代码操作

import torch
from torch import nn
from d2l import torch as d2l

def pool2d(X, pool_size, mode="max"):
    p_h, p_w = pool_size
    Y = torch.zeros((X.shape[0]-p_h+1,X.shape[1]-p_w+1))
    for i in range(Y.shape[0]):
        for j in range(Y.shape[1]):
            if mode == "max":
                Y[i,j] = X[i:i+p_h, j:j+p_w].max()
            if mode == "avg":
                Y[i, j] = X[i:i+p_h, j:j+p_w].mean()
    return Y

X = torch.arange(9,dtype=torch.float32).reshape((3,3))
print(pool2d(X,(2,2)))
print(pool2d(X,(2,2),mode="avg"))
# 填充和步幅
X = torch.arange(16,dtype=torch.float32).reshape((1,1,4,4))

# print(X)
pool2d = nn.MaxPool2d(kernel_size=3,stride=2,padding=0)
print(pool2d(X))
X = torch.cat((X,X+1), 1)
print(X)

pool2d = nn.MaxPool2d(kernel_size=3,stride=2,padding=1)
print(pool2d(X))

相关文章

  • CNN卷积神经网络

    弄清楚CNN,需要解决两个问题,一是卷积层(Convolution层),二是池化层(Pooling 层) 卷积层 ...

  • CNN卷积中的池化层pooling

    (一)池化层 卷积层对位置是及其敏感的、例如在前面讲到的对未知的边缘检测中,只要其中有一个像素发生了变化,他的边缘...

  • Task03:字符识别模型

    0. CNN原理和发展 CNN由卷积(convolution)、池化(pooling)、非线性激活函数(non-l...

  • 【DCGAN】原理

    传统CNN: 卷积层:提取特征 池化层:特征下采样 DCGAN:没有池化层了,都是卷积层

  • 吴恩达深度学习笔记(79)-池化层讲解(Pooling laye

    池化层(Pooling layers) 除了卷积层,卷积网络也经常使用池化层来缩减模型的大小,提高计算速度,同时提...

  • tensorflow之深度学习-卷积神经网络

    卷积神经网络(CNN)由输入层、卷积层、激活函数、池化层、全连接层组成,即INPUT(输入层)-CONV(卷积层)...

  • 卷积神经网络中的各种池化操作

    池化操作(Pooling)是CNN中非常常见的一种操作,Pooling层是模仿人的视觉系统对数据进行降维,池化操作...

  • CNN

    利用CNN识别MNIST手写字,很普通的一个例程。输入数据经过卷积层,池化层,卷积层,池化层,全连接层,Softm...

  • TensorFlow构建卷积神经网络解mnist2

    原理可以看CNN,对图片数据做了卷积池化操作,然后还是用DNN,示意图如下 卷积与池化 第一层卷积与池化 第二层卷...

  • 卷积神经网络

    参考博客: 卷积神经网络_(1)卷积层和池化层学习 - outthinker - 博客园 卷积神经网络(CNN)模...

网友评论

      本文标题:CNN卷积中的池化层pooling

      本文链接:https://www.haomeiwen.com/subject/adtjnrtx.html