0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何去理解CNN卷积层与池化层计算?

电子工程师 来源:51CTO博客gloomyfish 作者:gloomyfish 2021-04-06 15:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

概述

深度学习中CNN网络是核心,对CNN网络来说卷积层与池化层的计算至关重要,不同的步长、填充方式、卷积核大小、池化层策略等都会对最终输出模型与参数、计算复杂度产生重要影响,本文将从卷积层与池化层计算这些相关参数出发,演示一下不同步长、填充方式、卷积核大小计算结果差异。

一:卷积层

卷积神经网络(CNN)第一次提出是在1997年,杨乐春(LeNet)大神的一篇关于数字OCR识别的论文,在2012年的ImageNet竞赛中CNN网络成功击败其它非DNN模型算法,从此获得学术界的关注与工业界的兴趣。毫无疑问学习深度学习必须要学习CNN网络,学习CNN就必须明白卷积层,池化层等这些基础各层,以及它们的参数意义,从本质上来说,图像卷积都是离散卷积,图像数据一般都是多维度数据(至少两维),离散卷积本质上是线性变换、具有稀疏与参数重用特征即相同参数可以应用输入图像的不同小分块,假设有3x3离散卷积核如下:

pIYBAGBsCaaAXhtpAAAVeBDiS9Q778.png

假设有

5x5的图像输入块

步长为1(strides=1)

填充方式为VALID(Padding=VALID)

卷积核大小filter size=3x3

则它们的计算过程与输出如下

100017588-59694-2.png

假设这个时候我们修改步长为2、填充方式为SAME,卷积核大小不变(strides=2 Padding=SAME filter size=3x3),则计算过程与输出变为如下:

100017588-59695-3.png

最终输出得到的结果我们可以称为featuremap,CNN的深度多数时候是指featuremap的个数,对多维度的输入图像计算多个卷积核,得到多个featuremap输出叠加,显示如下:

100017588-59696-4.png

上述输入为5x5x2,使用卷积核3x3,输出3x3x3,填充方式为VALID,计算如果填充方式改为SAME则输出为5x5x3。可以看出填充方式对输出结果的影响。

二:小卷积核VS大卷积核

在AlexNet中有有11x11的卷积核与5x5的卷积核,但是在VGG网络中因为层数增加,卷积核都变成3x3与1x1的大小啦,这样的好处是可以减少训练时候的计算量,有利于降低总的参数数目。关于如何把大卷积核替换为小卷积核,本质上有两种方法。

1. 将二维卷积差分为两个连续一维卷积

二维卷积都可以拆分为两个一维的卷积,这个是有数学依据的,所以11x11的卷积可以转换为1x11与11x1两个连续的卷积核计算,总的运算次数:

11x11 = 121次

1x11+ 11x1 = 22次

2.将大二维卷积用多个连续小二维卷积替代
可见把大的二维卷积核在计算环节改成两个连续的小卷积核可以极大降低计算次数、减少计算复杂度。同样大的二维卷积核还可以通过几个小的二维卷积核替代得到。比如:5x5的卷积,我们可以通过两个连续的3x3的卷积替代,比较计算次数

5x5= 25次

3x3+ 3x3=18次

三:池化层

在CNN网络中卷积池之后会跟上一个池化层,池化层的作用是提取局部均值与最大值,根据计算出来的值不一样就分为均值池化层与最大值池化层,一般常见的多为最大值池化层。池化的时候同样需要提供filter的大小、步长、下面就是3x3步长为1的filter在5x5的输入图像上均值池化计算过程与输出结果

100017588-59697-5.png

改用最大值做池化的过程与结果如下:

100017588-59698-6.png

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 卷积
    +关注

    关注

    0

    文章

    95

    浏览量

    18925
  • cnn
    cnn
    +关注

    关注

    3

    文章

    355

    浏览量

    23247
  • vgg
    vgg
    +关注

    关注

    1

    文章

    11

    浏览量

    5421
  • 池化
    +关注

    关注

    0

    文章

    4

    浏览量

    1240
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CNN卷积神经网络设计原理及在MCU200T上仿真测试

    CNN算法简介 我们硬件加速器的模型为Lenet-5的变型,网络粗略分共有7,细分共有13。包括卷积,最大
    发表于 10-29 07:49

    数据全复用高性能设计思路分享

    大家好,本团队此次分享的内容为可实现数据全复用高性能设计思路,核心部分主要由以下3个部分组成; 1.SRAM读取模块;——使用的存
    发表于 10-29 07:10

    NMSISI库的使用

    :   神经网络卷积函数   神经网络激活函数   全连接函数   神经网络函数   Softmax 函数   神经网络支持功能   该库具有用于操作不同权重和激活数据类型的
    发表于 10-29 07:07

    NMSIS神经网络库使用介绍

    :   神经网络卷积函数   神经网络激活函数   全连接函数   神经网络函数   Softmax 函数   神经网络支持功能   该库具有用于操作不同权重和激活数据类型的
    发表于 10-29 06:08

    构建CNN网络模型并优化的一般建议

    的尺寸不宜过大,3*3或者1*1等小尺寸的卷积核(滤波器)对于实现轻量级模型是十分必要的。 3)添加归一和验证检查点:归一可以调整
    发表于 10-28 08:02

    卷积运算分析

    的数据,故设计了ConvUnit模块实现单个感受域规模的卷积运算. 卷积运算:不同于数学当中提及到的卷积概念,CNN神经网络中的卷积严格意义
    发表于 10-28 07:31

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    , batch_size=512, epochs=20)总结 这个核心算法中的卷积神经网络结构和训练过程,是用来对MNIST手写数字图像进行分类的。模型将图像作为输入,通过卷积
    发表于 10-22 07:03

    CICC2033神经网络部署相关操作

    读取。接下来需要使用扩展指令,完成神经网络的部署,此处仅对第一卷积+的部署进行说明,其余与之类似。 1.使用 Custom_Dtr
    发表于 10-20 08:00

    感知、传输、应用一体:工控一体机厂家聚徽详解集成技术方案

    过程的全面智能与高效。本文将深入探讨工控一体机中感知、传输、应用一体的集成技术方案,
    的头像 发表于 05-27 14:35 803次阅读

    在友晶LabCloud平台上使用PipeCNN实现ImageNet图像分类

    利用深度卷积神经网络(CNN)进行图像分类是通过使用多个卷积来从输入数据中提取特征,最后通过分类做决策来识别出目标物体。
    的头像 发表于 04-23 09:42 877次阅读
    在友晶LabCloud平台上使用PipeCNN实现ImageNet图像分类

    自动驾驶感知系统中卷积神经网络原理的疑点分析

    背景 卷积神经网络(Convolutional Neural Networks, CNN)的核心技术主要包括以下几个方面:局部连接、权值共享、多卷积核以及
    的头像 发表于 04-07 09:15 639次阅读
    自动驾驶感知系统中<b class='flag-5'>卷积</b>神经网络原理的疑点分析

    BP神经网络与卷积神经网络的比较

    多层。 每一都由若干个神经元构成,神经元之间通过权重连接。信号在神经网络中是前向传播的,而误差是反向传播的。 卷积神经网络(CNN) : CNN主要由
    的头像 发表于 02-12 15:53 1305次阅读

    什么是原子刻蚀

    本文介绍了什么是原子刻蚀(ALE, Atomic Layer Etching)。 1.ALE 的基本原理:逐精准刻蚀  原子刻蚀(ALE)是一种基于“自限性反应”的纳米加工技术,其特点是以单
    的头像 发表于 01-20 09:32 1167次阅读
    什么是原子<b class='flag-5'>层</b>刻蚀

    MultiGABSE-AU物理PMA子及PMD子的相关机制

    在之前的文章中,我们介绍了IEEE 802.3cz[1]协议,MultiGABSE-AU物理中XMII、PCS子以及两个可选功能的相关内容,本篇将介绍MultiGABSE-AU物理PMA子
    的头像 发表于 12-23 10:20 1686次阅读
    MultiGABSE-AU物理<b class='flag-5'>层</b>PMA子<b class='flag-5'>层</b>及PMD子<b class='flag-5'>层</b>的相关机制

    AI模型部署边缘设备的奇妙之旅:目标检测模型

    FC的大小或配置。 这些组件的组合和优化构成了卷积神经网络的核心,并且随着计算机视觉领域的发展,新的技术和理论不断被提出,以进一步提升CNN的性能和泛
    发表于 12-19 14:33