解析:

一般而言,深度卷积网络是一层又一层的。

层的本质是特征图, 存贮输入数据或其中间表示值。一组卷积核则是联系前后两层的网络参数表达体, 训练的目标就是每个卷积核的权重参数组。描述网络模型中某层的厚度,通常用名词通道channel数或者特征图feature map数。

不过人们更习惯把作为数据输入的前层的厚度称之为通道数(比如RGB三色图层称为输入通道数为3),把作为卷积输出的后层的厚度称之为特征图数。 卷积核(filter)一般是3D多层的,除了面积参数, 比如3x3之外, 还有厚度参数H(2D的视为厚度1). 还有一个属性是卷积核的个数N。

卷积核的厚度H, 一般等于前层厚度M(输入通道数或feature map数). 特殊情况M > H。 卷积核的个数N, 一般等于后层厚度(后层feature maps数,因为相等所以也用N表示)。 卷积核通常从属于后层,为后层提供了各种查看前层特征的视角,这个视角是自动形成的。

卷积核厚度等于1时为2D卷积,对应平面点相乘然后把结果加起来,相当于点积运算; 卷积核厚度大于1时为3D卷积,每片分别平面点求卷积,然后把每片结果加起来,作为3D卷积结果;1x1卷积属于3D卷积的一个特例,有厚度无面积, 直接把每片单个点乘以权重再相加。

归纳之,卷积的意思就是把一个区域,不管是一维线段,二维方阵,还是三维长方块,全部按照卷积核的维度形状,对应逐点相乘再求和,浓缩成一个标量值也就是降到零维度,作为下一层的一个feature map的一个点的值!

可以比喻一群渔夫坐一个渔船撒网打鱼,鱼塘是多层水域,每层鱼儿不同。

船每次移位一个stride到一个地方,每个渔夫撒一网,得到收获,然后换一个距离stride再撒,如此重复直到遍历鱼塘。 A渔夫盯着鱼的品种,遍历鱼塘后该渔夫描绘了鱼塘的鱼品种分布; B渔夫盯着鱼的重量,遍历鱼塘后该渔夫描绘了鱼塘的鱼重量分布;

还有N-2个渔夫,各自兴趣各干各的; 最后得到N个特征图,描述了鱼塘的一切!

2D卷积表示渔夫的网就是带一圈浮标的渔网,只打上面一层水体的鱼; 3D卷积表示渔夫的网是多层嵌套的渔网,上中下层水体的鱼儿都跑不掉; 1x1卷积可以视为每次移位stride,甩钩钓鱼代替了撒网;

下面解释一下特殊情况的 M > H:实际上,除了输入数据的通道数比较少之外,中间层的feature map数很多,这样中间层算卷积会累死计算机(鱼塘太深,每层鱼都打,需要的鱼网太重了)。

所以很多深度卷积网络把全部通道/特征图划分一下,每个卷积核只看其中一部分(渔夫A的渔网只打捞深水段,渔夫B的渔网只打捞浅水段)。这样整个深度网络架构是横向开始分道扬镳了,到最后才又融合。

这样看来,很多网络模型的架构不完全是突发奇想,而是是被参数计算量逼得。特别是现在需要在移动设备上进行AI应用计算(也叫推断), 模型参数规模必须更小, 所以出现很多减少握手规模的卷积形式, 现在主流网络架构大都如此。

转载于:https://www.cnblogs.com/julyedu/p/11473726.html

CNN的卷积核是单层的还是多层的?相关推荐

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

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

  2. 【slam十四讲第二版】【课本例题代码向】【第七讲~视觉里程计Ⅱ】【使用LK光流(cv)】【高斯牛顿法实现单层光流和多层光流】【实现单层直接法和多层直接法】

    [slam十四讲第二版][课本例题代码向][第七讲~视觉里程计Ⅱ][使用LK光流(cv)][高斯牛顿法实现单层光流和多层光流][实现单层直接法和多层直接法] 0 前言 1 使用LK光流(cv) 1.1 ...

  3. CNN为什么卷积核的大小都是奇数

    CNN的卷积核大小都是奇数而没有偶数主要有以下两点原因: 1.奇数卷积核有中心像素点 如下图中,奇数大小的卷积核有唯一的中心像素点,而偶数大小的卷积核没有中心像素点                   ...

  4. CNN 可视化卷积核

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

  5. 使用EasyExcel导出表单表头-单层表头和多层表头

    一.导入pom <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</ ...

  6. 深度学习基础知识整理

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/kwame211/article/details/81165381 本文是在七月的BAT机器学习面试1 ...

  7. BAT机器学习面试1000题系列(第1~305题

    1 请简要介绍下SVM,机器学习 ML模型 易SVM,全称是support vector machine,中文名叫支持向量机.SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同 ...

  8. 【转】BAT机器学习面试1000题系列(1~50)

    BAT机器学习面试1000题系列 整理:July.元超.立娜.德伟.贾茹.王剑.AntZ.孟莹等众人.本系列大部分题目来源于公开网络,取之分享,用之分享,且在撰写答案过程中若引用他人解析则必注明原作者 ...

  9. pli测试50题题库_AI面试必备/深度学习100问1-50题答案解析

    1.梯度下降算法的正确步骤,(正确步骤dcaeb)(梯度下降法其实是根据函数的梯度来确定函数的极小值),这里的问题与其说是梯度下降算法的步骤不如说类似图图像分类训练的整个流程:网络初始化-输入to输出 ...

最新文章

  1. 开源库nothings/stb的介绍及使用(图像方面)
  2. java选中一格_java-选中排序(新手)
  3. Java线程的状态转换
  4. Java VisualVM插件地址
  5. 诊断SQLSERVER问题常用的日志
  6. 2020蓝桥杯省赛---java---C---1(约数个数)
  7. 301、404、200、304、500HTTP状态
  8. %dn在c语言中是什么意思,请问C语言中 char far 是什么意思?
  9. 通过CSS,Jquery实现DIV的各种动作(包括漂移,未测试IE6)
  10. java录音程序_record类完成语音信号采集的任务_Android实现语音数据实时采集、播放...
  11. 【java】详解java中的注解(Annotation)
  12. git 暂存本地修改的文件
  13. 【英语四六级-必背单词】高中英语单词(C - 1)MP3试听与下载
  14. 非极大值抑制(NMS)讲解
  15. java 股票数据接口_股票数据查询接口
  16. 计算机网络系列选择题
  17. 计算机导论知识点总结(下)
  18. 算法-关于地点名词提取(C/C++/JAVA/C#)-build20220403
  19. nmap批量扫描(速度快)方法
  20. 浅谈BI和大数据的关系

热门文章

  1. 2021全国电设(F题)openmv的图像识别之数字识别
  2. jQuery伪类选择器
  3. 设计模式:状态(State)模式
  4. 【设计模式】我对设计模式的C语言解读(上)
  5. 【asp.net小札记】Repeater自定义添加排序按钮+显示图片
  6. python爬虫之爬取简书中的小文章标题
  7. IE中不能自动选择UTF-8编码的解决办法
  8. 四月单向历——你是人间四月天
  9. 「SequoiaDB巨杉数据库」Oma()概述2
  10. Python之520爱的表白