cnn一维时序数据_理解CNN卷积层与池化层计算

cnn⼀维时序数据_理解CNN卷积层与池化层计算
与毒共舞概述
深度学习中CNN⽹络是核⼼,对CNN⽹络来说卷积层与池化层的计算⾄关重要,不同的步长、填充⽅式、卷积核⼤⼩、池化层策略等都会对最终输出模型与参数、计算复杂度产⽣重要影响,本⽂将从卷积层与池化层计算这些相关参数出发,演⽰⼀下不同步长、填充⽅式、卷积核⼤⼩计算结果差异。武警成都医院
⼀:卷积层
卷积神经⽹络(CNN)第⼀次提出是在1997年,杨乐春(LeNet)⼤神的⼀篇关于数字OCR识别的论⽂,在2012年的ImageNet竞赛中CNN ⽹络成功击败其它⾮DNN模型算法,从此获得学术界的关注与⼯业界的兴趣。毫⽆疑问学习深度学习必须要学习CNN⽹络,学习CNN就必须明⽩卷积层,池化层等这些基础各层,以及它们的参数意义,从本质上来说,图像卷积都是离散卷积,图像数据⼀般都是多维度数据(⾄少两维),离散卷积本质上是线性变换、具有稀疏与参数重⽤特征即相同参数可以应⽤输⼊图像的不同⼩分块,假设有3x3离散卷积核如下:
假设有
- 5x5的图像输⼊块
- 步长为1(strides=1)
- 填充⽅式为VALID(Padding=VALID)
- 卷积核⼤⼩filter size=3x3金瓶梅1迅雷下载
则它们的计算过程与输出如下
假设这个时候我们修改步长为2、填充⽅式为SAME,卷积核⼤⼩不变(strides=2 Padding=SAME filter size=3x3),则计算过程与输出变为如下:
最终输出得到的结果我们可以称为featuremap,CNN的深度多数时候是指featuremap的个数,对多维度的输⼊图像计算多个卷积核,得到多个featuremap输出叠加,显⽰如下:
上述输⼊为5x5x2,使⽤卷积核3x3,输出3x3x3,填充⽅式为VALID,计算如果填充⽅式改为SAME则输出为5x5x3。可以看出填充⽅式对输出结果的影响。
⼆:⼩卷积核VS⼤卷积核
在AlexNet中有有11x11的卷积核与5x5的卷积核,但是在VGG⽹络中因为层数增加,卷积核都变成3x3与1x1的⼤⼩啦,这样的好处是可以减少训练时候的计算量,有利于降低总的参数数⽬。关于如何把⼤卷积核替换为⼩卷积核,本质上有两种⽅法。
1.将⼆维卷积差分为两个连续⼀维卷积
⼆维卷积都可以拆分为两个⼀维的卷积,这个是有数学依据的,所以11x11的卷积可以转换为1x11与11x1两个连续的卷积核计算,总的运算次数:
11x11 = 121次
1x11+ 11x1 = 22次
2.将⼤⼆维卷积⽤多个连续⼩⼆维卷积替代
embedding
可见把⼤的⼆维卷积核在计算环节改成两个连续的⼩卷积核可以极⼤降低计算次数、减少计算复杂度。同样⼤的⼆维卷积核还可以通过⼏个⼩的⼆维卷积核替代得到。⽐如:5x5的卷积,我们可以通过两个连续的3x3的卷积替代,⽐较计算次数
5x5= 25次
3x3+ 3x3=18次sl
三:池化层
腐蚀与防护在CNN⽹络中卷积池之后会跟上⼀个池化层,池化层的作⽤是提取局部均值与最⼤值,根据计算出来的值不⼀样就分为均值池化层与最⼤值池化层,⼀般常见的多为最⼤值池化层。池化的时候同样需要提供filter的⼤⼩、步长、下⾯就是3x3步长为1的filter在5x5的输⼊图像上均值池化计算过程与输出结果
改⽤最⼤值做池化的过程与结果如下:
**天下难事,
必作于易;
天下⼤事,
必作于细!**————————————————版
版权声明:本⽂为CSDN博主「gloomyfish」的原创⽂章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原⽂出处链接及本声明。

本文发布于:2024-09-22 15:46:37,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/475253.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:计算   卷积   输出   池化层   参数
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议