卷积核大小、个数,卷积层数是如何确定的 ?
(1)Kernel_size是如何选取的?
Q: 为什么CNN中的卷积核一般都是奇数*奇数 ?
A: 原因有二。(1) 卷积中有一种same convolution,也就是卷积前后尺寸(高x宽)不变。实现same convolution(n + padding - k + 1 = n) 。若 k 为偶数,那么padding就为奇数,就不能平均分配到卷积张量两边。(2)此外,奇数尺寸的卷积核便于用中心定位。
达到相同感受野的情况下,卷积核越小,所需要的参数和计算量越小。所以2×2排除了,一般都用3×3作为卷积核的大小。1×1的卷积核不能提升感受野,不能应用在需要提升感受野的应用中,也排除了。
(2)Channel数如何选取?
这与特征层的大小及能抽象出来的特征数量有关,特征层池化压缩后越小,图片的潜在的东西越复杂,所需要的深度或通道数越多。 极端情况下,假设一个通道只放一个特征例如嘴的特征,那这个图如果为了做一定性能的脸部识别,有千多个特征,那深度可能要一千多个了;幸好一个通道可以不用池化压缩得太小,一个通道放多个特征也能满足卷积的要求。
样本的丰富程度较好的情况下,模型的复杂度可以更高,那核内深度就可以更大,拟合、分类容易做到更准确。但速度上与硬件要求上就可能不行了。一般是能达到性能要求就行,要综合考虑。
之所以搞卷积而非全连接,就是减少参数量,就是准确性性能与速度、资源占用的综合考虑的结果。 综合考虑选取channel数量。既要保证准确度(个数越多越好),又要兼顾算力问题(个数越少越好)。
每一层卷积有多少channel数,以及一共有多少层卷积,这些暂时没有理论支撑,一般都是靠感觉去设置几组候选值,然后通过实验挑选出其中的最佳值。trial and error。 这也是现在深度卷积神经网络虽然效果拔群,但是一直为人诟病的原因之一。
(3)卷积层数如何选取 ?
多说几句,每一层卷积的channel数和网络的总卷积层数,构成了一个巨大的超参集合,这个超参集合里的最优组合,很可能比目前业界各种fancy的结构还要高效。只是我们一来没有理论去求解这个超参集合里的最优,二来没有足够的计算资源去穷举这个超参集合里的每一个组合,因此我们不知道这个超参集合里的最优组合是啥。现在业界里提出的各种fancy结构中不少都是不断trial and error,试出来一个效果不错的网络结构,然后讲一个好听的story,因为深度学习理论还不够,所以story一般都是看上去很美,背后到底是不是这回事只有天知道。比如好用到不行的batch norm,它的story是解决internal covariate shift,然而最近有篇文章How Does Batch Normalization Help Optimization? (No, It Is Not About Internal Covariate Shift)通过实验证明实际情况并不如此。
链接:https://www.zhihu.com/question/38098038/answer/416069216
总结:
卷积核大小、个数,卷积层数,都是先根据以往的经验设定一个初始值,然后根据具体的实验效果进行微调。
卷积核大小、个数,卷积层数是如何确定的 ?相关推荐
- resnet 卷积核大小_resnet50卷积神经网络cnn在covid 19射线照相上的图像分类
resnet 卷积核大小 On final year of uni, they offered three selection subject to choose: Image Processing, ...
- CNN中各类卷积总结:残差、shuffle、空洞卷积、变形卷积核、可分离卷积等
CNN从2012年的AlexNet发展至今,科学家们发明出各种各样的CNN模型,一个比一个深,一个比一个准确,一个比一个轻量.我下面会对近几年一些具有变革性的工作进行简单盘点,从这些充满革新性的工作中 ...
- python配置核_浅谈pytorch卷积核大小的设置对全连接神经元的影响
3*3卷积核与2*5卷积核对神经元大小的设置 #这里kerner_size = 2*5 class CONV_NET(torch.nn.Module): #CONV_NET类继承nn.Module类 ...
- 深度学习之输入通道个数、卷积核通道个数,卷积核个数、输出通道个数的关系
1.输入通道个数 = 卷积核通道个数 2.卷积核个数 = 输出通道个数
- 卷积核大小对网络参数和计算量的影响
下面展示了同一尺寸图像经过不同尺寸卷积核得到相同尺寸featuremap的过程,以及不同的参数量和计算量(这里不包含偏置): 一般卷积核的深度与上层featuremap深度(featuremap数)相 ...
- 卷积神经网络的卷积核大小、个数,卷积层数如何确定呢?
向AI转型的程序员都关注了这个号
- 卷积层数据放大_卷积神经网络重要回顾
上世纪60年代,Hubel等人通过对猫视觉皮层细胞的研究,提出了感受野这个概念,到80年代,Fukushima在感受野概念的基础之上提出了神经认知机的概念,可以看作是卷积神经网络的第一个实现网络,神经 ...
- 关于卷积核大小的论文与思路
随着近些年深度学习的发展,人们在选用卷积神经网络时通常都会默认卷积核为3×3 或者5×5的,感觉像已经是一个默认的公式一样了.正常来说大的卷积核不是可以获得更大的感受野对模型性能更好吗?怎么大家都不用 ...
- 神经网络输出大小(卷积层及池化层)
最新文章
- java触发_怎么样让JAVA 设置一秒钟触发一个事件
- ORA-00904 的解决
- linux平台驱动运行空间,UIO(linux Userspace I/O子系统)用户空间设备驱动I/O技术介绍...
- a 中调用js的几种方法整理及使用推荐
- qtdesigner右击按钮没有 to slot_或添加“力感按钮”再升级,Apple Pencil会更“能打”?...
- Java中Spring报错org.springframework.core.annotation.AnnotationUtils.clearCache()V
- 【Cite 1.7K】Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour
- python矩阵转置与zip(*)的使用
- 2022-2028年中国电力载波通信行业市场行情动态及竞争战略分析报告
- fread函数和fwrite函数的用法
- gr-osmosdr支持GNURadio的扩展
- The meaning of path integral formulation
- VoIP网络电话各种软硬设备部署一览★龙人skype网络电话公司
- python如何解决打不开txt文件的问题(UnicodeDecodeError)
- 10大行业大数据应用痛点及解决策略
- 虚拟机繁忙——无法关闭,怎么办
- 微商如何做百度引流?微商百度引流怎么做?
- 婚恋交友系统源码开发容易忽视的定位功能
- Python SOCKS5 二级代理服务器 实现白名单与网络控制
- 聚合函数的python方法
热门文章
- 布朗大学的机器人能一笔一划临摹出蒙娜丽莎,还能模仿你的笔迹
- 查找和排序算法的js实现
- 多个Excel根据两个同指标进行合并查询,处理。
- 数学建模比赛超全整理【数学建模有哪些比赛?】【全网最全数模整理】
- [源]看看“凡客体”是什么体!
- php验证手机号和身份证号
- WEBGUI配置和如何启动WEBGUI
- de novo转录组 流程_AI-De Novo分子设计
- ZCMU-1618-骨牌覆盖(矩阵乘法+快速幂)
- 计算机科学与技术制药工程就业前景分析,2018制药工程专业就业前景和就业方向分析...