CNN中feature map、卷积核、卷积核的个数、filter、channel的概念解释

参考链接: https://blog.csdn.net/xys430381_1/article/details/82529397

作者写的很好,解决了很多基础问题。

feather map理解

这个是输入经过卷积操作后输出的结果,一般都是二维的多张图片,在论文图上都是以是多张二维图片排列在一起的(像个豆腐皮一样),它们其中的每一个都被称为\(feature \quad map\)

feather map 是怎么产生的

有几个卷积核就会产生几个\(feather \quad map\)。输入数据经过卷积操作输出\(feather \quad map\),从名字也可以知道(翻译就是特征图)这个是经过卷积核提取后得到的特征。

多个\(feather \quad map\)就意味着我们提取了多个特征值,这样或许就可以更加准确地识别数据。

卷积核的理解

卷积核又名过滤器(\(filter\))。

每个卷积核有三个属性:长宽深,这里一般深度不需要自己定义,深度是和输入的数据深度相同;

有多少个卷积核就有多少个\(feather \quad map\);

例如在\(pytorch.nn.Conv2d()\)函数中:

torch.nn.Conv2d(1, 16, kernel_size=5, stride=1, padding=2)
#二维卷积层,输入通道数1,输出通道数16(相当于有16个filter,也就是16个卷积核),卷积核大小为5*5*1(因为输入的通道数为1,所以这里卷积核的深度也就自动设置为1了),步长为1,零填充2圈
#经过计算,可以得到卷积输出的图像的大小和输入的图像大小是等大小的,但是深度不一样,为28*28*16(16为深度),因为这里的padding抵消了卷积的缩小

卷积核的个数:看到很多文章,一般都说随着网络的加深,\(feather\quad map\)的长宽尺寸会变小,也就是卷积提取的特征越具有代表性,所以后面的卷积层数需要增加,所以卷积核的个数也是要增加的,一般是成倍增加(有的会更根据实验的情况来具体设置)。下面的图示很好的说明了这个:(中间的就是卷积核,这是一个三维的卷积核,是一个,所以输出为一个\(feather \quad map\))

CNN学习过程:更新卷积核的值(也就是更新卷积核中的数值)

开始的卷积核的值是随机的,之后每次的向后计算的过程中会得出这个图像的类别,当然这个第一次的结果大部分都是不准确的,之后经过\(loss\quad function\)的作用,CNN会更新这些卷积核中的值,然后再来一次学习。这样经过多次的学习,CNN就会找到卷积核的最佳参数,使得提取的特征能准确区分这些图片,这样也就完成了CNN的学习过程。

CNN中feature map、卷积核、卷积核的个数、filter、channel的概念解释的更多相关文章

  1. CNN中feature map、卷积核、卷积核个数、filter、channel的概念解释,以及CNN 学习过程中卷积核更新的理解

    具体可以看这篇文章,写的很详细.https://blog.csdn.net/xys430381_1/article/details/82529397

  2. pytorch中,不同的kernel对不同的feature map进行卷积之后输出某一个channel对应的多个feature map如何得到一个channel的feature map

    实际上在卷积操作的时候,比如说,我某一层输出的feature map的size为4713*13 channel的数目为7,设经过某卷积层之后,网络输出的feature map的channel的数目为1 ...

  3. CNN中,1X1卷积核到底有什么作用呢?

    CNN中,1X1卷积核到底有什么作用呢? https://www.jianshu.com/p/ba51f8c6e348 Question: 从NIN 到Googlenet mrsa net 都是用了这 ...

  4. CNN 中, 1X1卷积核到底有什么作用

    转自https://blog.csdn.net/u014114990/article/details/50767786 从NIN 到Googlenet mrsa net 都是用了这个,为什么呢 发现很 ...

  5. 【深度学习】CNN 中 1x1 卷积核的作用

    [深度学习]CNN 中 1x1 卷积核的作用 最近研究 GoogLeNet 和 VGG 神经网络结构的时候,都看见了它们在某些层有采取 1x1 作为卷积核,起初的时候,对这个做法很是迷惑,这是因为之前 ...

  6. CNN中的feature map

    个人学习CNN的一些笔记,比较基础,整合了其他博客的内容 feature map的理解在cnn的每个卷积层,数据都是以三维形式存在的.你可以把它看成许多个二维图片叠在一起(像豆腐皮竖直的贴成豆腐块一样 ...

  7. pytorch中网络特征图(feture map)、卷积核权重、卷积核最匹配样本、类别激活图(Class Activation Map/CAM)、网络结构的可视化方法

    目录 0,可视化的重要性: 1,特征图(feture map) 2,卷积核权重 3,卷积核最匹配样本 4,类别激活图(Class Activation Map/CAM) 5,网络结构的可视化 0,可视 ...

  8. CNN中各类卷积总结:残差、shuffle、空洞卷积、变形卷积核、可分离卷积等

    CNN从2012年的AlexNet发展至今,科学家们发明出各种各样的CNN模型,一个比一个深,一个比一个准确,一个比一个轻量.我下面会对近几年一些具有变革性的工作进行简单盘点,从这些充满革新性的工作中 ...

  9. CNN中的卷积核及TensorFlow中卷积的各种实现

    声明: 1. 我和每一个应该看这篇博文的人一样,都是初学者,都是小菜鸟,我发布博文只是希望加深学习印象并与大家讨论. 2. 我不确定的地方用了"应该"二字 首先,通俗说一下,CNN ...

随机推荐

  1. MySQL_(Java)使用JDBC向数据库发起查询请求

    MySQL_(Java)使用JDBC向数据库发起查询请求 传送门 MySQL_(Java)使用JDBC创建用户名和密码校验查询方法 传送门 MySQL_(Java)使用preparestatement ...

  2. Java项目框架搭建系列(Java学习路线)

    前言: 已经工作4年,真是时间飞逝. 其实当你在一间公司工作一两年之后,公司用到的开发框架的基本使用你应该都会了. 你会根据一个现有项目A复制一下搭建出另外一个类似框架的项目B,然后在项目B上进行业务 ...

  3. Java多线程-程序运行堆栈分析

    class文件内容 class文件包含JAVA程序执行的字节码:数据严格按照格式紧凑排列在class文件中的二进制流,中间无任何分隔符:文件开头有一个0xcafebabe(16进制)特殊的一个标志. ...

  4. (十六)C语言之函数

  5. 认识git的简单命令

    一.课程目的 教大家学会it的简单命令(老师建议 English 的前后要加空格) 二.认识 git 命令 整篇文章都是用语雀写的. 解释了(使用git)绑定gitee的操作 https://www. ...

  6. python:网络爬虫的学习笔记

    如果要爬取的内容嵌在网页源代码中的话,直接下载网页源代码再利用正则表达式来寻找就ok了.下面是个简单的例子: import urllib.request html = urllib.request.u ...

  7. react 路由

    react 提供了实现路由的方式,不过需要我们下载插件 react-router-dom 当我们下载好了插件,然后我们可以通过 import {} from 'react-router-dom' 来引 ...

  8. java中线程状态

    刚开始接触java时,就觉得多线程是一个障碍,不容易理解,当时选择了跳过,不过工作一段时间后,发现这块还是需要深入研究一下的,及时平时工作中不使用多线程,但一定会使用web容器,比如tomcat,也是 ...

  9. ccf 201712-4 行车路线(70分)

    ccf 201712-4 行车路线 解题思路: 首先Dijkstra是基于贪心算法的,即每一次作出的选择都具有贪心选择性.此题由于有“如果连续走小道,小明的疲劳值会快速增加,连续走s公里小明会增加s2 ...

  10. 前端之路(二)之JavaScript:菜鸟教程学习:http://www.runoob.com/js/js-intro.html

    JavaScript 语句和 JavaScript 变量都对大小写敏感. 键值对通常写法为 name : value (键与值以冒号分割). 键值对在 JavaScript 对象通常称为 对象属性. ...