CNN的卷积核大小都是奇数而没有偶数主要有以下两点原因:

1、奇数卷积核有中心像素点

如下图中,奇数大小的卷积核有唯一的中心像素点,而偶数大小的卷积核没有中心像素点

                  

为什么需要中心像素点?因为中心像素点有以下两点左右:

  • 确定局部卷积后要更新的像素点位置。如下图的卷积操作,中心像素的位置对应着当前卷积操作wx+b的值要赋给那个位置。如果卷积核是偶数,中心位置有四个像素。一种可能的解决方式是同时更新这四个像素的值,但这样会增加计算量。同时以步长stride=1移动卷积核时,会覆盖之前的值,造成计算浪费。

  • 便于进行卷积操作,以中心点移动卷积核,(这点好像有点牵强,以左上角或右下角任一点像素也可移动卷积核)

2、奇数的卷积核便于图像进行对称的补0padding

卷积有好几种方式如valid,same。其中same卷积的方式如上面卷积示例图所示,是为了保持卷积后特征图大小不变,在卷积操作进行前先在图像的周围补0。假设卷积前特征图大小为m,卷积核大小为k,那么正常情况下卷积后特征图大小n应该为m-k+1。既

为了使卷积后特征图大小保持不变,在卷积前把特征图的尺寸增大k-1。然后在进行卷积操作。此时

也就是卷积操作前后特征图大小相等。

为了使特征图增大k-1。通常使用的方式是在图像周围补0。如果卷积核的大小是奇数,则k-1为偶数。则可以在图像两侧进行对称的padding。左右上下各补充(k-1)/2。

CNN为什么卷积核的大小都是奇数相关推荐

  1. 【AI-1000问】为什么CNN中的卷积核半径都是奇数?

    往期视频(前往公众号有三AI观看) 为什么CNN中的卷积核一般都是奇数*奇数? 熟悉CNN应该都知道常见的卷积核都是3*3或者5*5等,也就是奇数*奇数,似乎都没看过偶数的,这是为什么呢? 作者/编辑 ...

  2. CNN 可视化卷积核

    Deep Visualization:可视化并理解CNN https://blog.csdn.net/zchang81/article/details/78095378   caffe版本 卷积神经网 ...

  3. 一维卷积filter_面试题:CNN的卷积核是单层的还是多层的?

    CNN的卷积核是单层的还是多层的? 解析: 一般而言,深度卷积网络是一层又一层的.层的本质是特征图, 存贮输入数据或其中间表示值. 一组卷积核则是联系前后两层的网络参数表达体, 训练的目标就是每个卷积 ...

  4. 脑洞大开!拿Transformer和CNN比较!犯错都像人类

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:量子位 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 这是 ...

  5. 数组和矩阵问题:奇数下标都是奇数或者偶数下标都是偶数

    [题目] 给定一个长度不小于2的数组 arr, 实现一个函数调整 arr, 要么让所有的偶数下标都是偶数,要么让所有的奇数下标都是奇数. [题目] 如果 arr 的长度为 N,函数要求时间复杂度为 O ...

  6. LeetCode 5352. 生成每种字符都是奇数个的字符串

    5352. 生成每种字符都是奇数个的字符串 给你一个整数 n,请你返回一个含 n 个字符的字符串,其中每种字符在该字符串中都恰好出现 奇数次 . 返回的字符串必须只含小写英文字母.如果存在多个满足题目 ...

  7. 20200308: 生成每种字符都是奇数个的字符串灯泡开关 III(leetcode5352-5353)

    生成每种字符都是奇数个的字符串&灯泡开关 III 题目 思路与算法 代码实现 复杂度分析 题目 思路与算法 第一题没什么难度,StringBuilder拼接即可 第二题一开始想复杂了,用了Ha ...

  8. C语言习题:/*键盘输入两个非零整数A和B,如果A和B都是偶数则输出两个数的和,如果A和B都是奇数则输出两个数的差,如果A是奇数B是偶数则输出两数积,如果A是偶数B是奇数输出AVB结果*/

    #include<stdio.h> /*键盘输入两个非零整数A和B,如果A和B都是偶数则输出两个数的和, 如果A和B都是奇数则输出两个数的差, 如果A是奇数B是偶数则输出两数积, 如果A是 ...

  9. 奇数下标都是奇数或者偶数下标都是偶数(Java)

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net package live.every.day.Pro ...

最新文章

  1. Redis~Linux环境下的部署
  2. 用正则表达式去除行首行尾空格
  3. 如何在TortoiseGit中使用ssh-keygen生成的key
  4. linux如何把nfs数据导出来,linux – NFS导出已经挂载NFS的目录(在服务器上)
  5. Activiti工作流之实现一个简单的流程审批
  6. 连招 横版 flash 游戏_街机游戏中的无限连究竟有多变态?有种对决叫作没开始就结束了!...
  7. GridCtrl学习笔记(2)寻找自动更新表格的最新数据并把其显示到当前窗口的方法...
  8. selinux 导致ftp文件夹出错~
  9. zillow房价预测比赛_Zillow Prize: 百万美刀奖金的房价预测比赛
  10. java 数组对象属性数组_Java中数组的特性
  11. 什么是 CD 管道?一文告诉你如何借助 Kubernetes、Ansible 和 Jenkins 创建 CD 管道!...
  12. Python自学之路——装饰器的秘密
  13. android合入第三方库,Android中inflate和merge结合使用
  14. python base64 编解码,转换成Opencv,PIL.Image图片格式
  15. Springboot毕设项目基于批示的督查督办管理系统c6m0djava+VUE+Mybatis+Maven+Mysql+sprnig)
  16. 尚德机构季报图解:净利1.79亿 实现连续四个季度盈利
  17. 关于嵌入式常用显示屏的总结
  18. Android扭曲图像(水面落叶壁纸初步实现)
  19. 乐视网被冻结价值9000万财产 要贾跃亭以FF股权抵偿债务
  20. 《四平青年》是部好电影

热门文章

  1. 2021年,薪酬最高的5种编程语言,你想学哪个?
  2. python基于融合SPD-Conv改进yolov5与原生yolov5模型实践路面裂痕裂缝检测
  3. 对话趣链张帅:区块链与数据融合,价值三段论凸显 | SDBD2020・算力在线
  4. ps 如何使用仿制图章工具
  5. 切比雪夫不等式,大数定律及极限定理。
  6. 收藏下一个适合用来做宣传页背景的色调和CSS代码
  7. [Python][自己写的杀病毒脚本]
  8. 187_陈易奇_Java核心编程
  9. 游戏任务设计(2):MoveTo与Farm任务
  10. Unity3D 图片空间和内存占用分析