【机器学习】卷积的计算及两种特殊卷积的介绍
这篇博客分为两部分:
- 卷积的计算
- 两种特殊卷积的介绍:可分离卷积、空洞卷积
- 卷积的细节计算
首先是第一部分,卷积的计算。
参考资料:https://zhuanlan.zhihu.com/p/268179286
一、单通道单卷积核
这计算公式很简单,为方便描述,可以把卷积核以及卷积核扫描到图像的区域当作两个矩阵(但实际计算并不是矩阵乘法,不要搞混咯)。
具体计算的方式是:
- 将对应位置的元素相乘
- 将得到的所有乘积做一个求和
- 加上偏差bias
[左边是初始图片,右边是卷积核及其bias。]
右边是卷积核,左边红色框起来的部分是卷积核扫描到的位置,计算过程如下:
也就是:
二、单通道多卷积核
虽然卷积核多了起来,但计算一样简单:
- 按照“单通道单卷积核”的方式依次计算出各个卷积核对应的feature map
- 有多少个卷积核就输出多少个通道(每个通道的feature map为对应卷积核求出来的那一层feature map)
文字不好理解,见下图:
[左边是初始图片,右边是卷积核及其bias。]
结果:输出是一个3*3*2的feature map。
三、多通道单卷积核
对于多通道图像的卷积核,需要强调一点:
因为输入是三个通道,所以在进行卷积的时候,对应的每一个卷积核都必须要有三个通道才能进行卷积。
如上图,是一个多通道图像和一个卷积核。
具体计算:
- 图像的每个通道与卷积核中的一个通道对应。
- 按照“单通道单卷积核”的算法求出每个通道卷积后的值,有一点不同的是,此时的计算不需要加上bias。bias将在最后求和的阶段加上。
- 将每个通道的计算结果中、对应位置的值加起来,并加上bias,得到输出的feature map。
- 输出的feature map是单通道的。
结果如图:
四、多通道多卷积核
具体计算:
- 按“多通道单卷积核”的算法算出每个卷积核对应的feature map。
- 最后的输出的是一个多通道的feature map,多少个卷积核就是多少通道。
见下图:
结果:
总结(原文作者总结得很好啦,这里仅作摘抄):
(1)原始输入有多少个通道,其对应的一个卷积核就必须要有多少个通道,这样才能与输入进行匹配,也才能完成卷积操作。
(2)用k个卷积核对输入进行卷积处理,那么最后得到的特征图一定就会包含有k个通道。
最后还有个摘抄:
第二部分:介绍可分离卷积和空洞卷积
参考资料:
- https://blog.csdn.net/u013289254/article/details/99341428
一、可分离卷积
这部分原作者介绍得很清晰,仅作摘抄(来自参考文献1):
可分离卷积(空间可分离卷积,深度可分离卷积)都是可以用来减少计算量的。
空间可分离卷积:将卷积分解为两项单独的操作。下图中,一个卷积核为 3x3 的 Sobel 卷积核拆分成了一个 3x1 卷积核和一个 1x3 卷积核。
二、空洞卷积
参考资料:https://zhuanlan.zhihu.com/p/50369448
第三部分:卷积的细节计算
一、卷积层尺寸的计算
- 计算输出后的feature map的尺寸:
- 这条公式其实在查阅文档的时候也有提到,比如Pytorch文档中关于Conv2d部分的介绍,就有提到这条公式。
【机器学习】卷积的计算及两种特殊卷积的介绍相关推荐
- DL之DNN:自定义2层神经网络TwoLayerNet模型(计算梯度两种方法)利用MNIST数据集进行训练、预测
DL之DNN:自定义2层神经网络TwoLayerNet模型(计算梯度两种方法)利用MNIST数据集进行训练.预测 导读 利用python的numpy计算库,进行自定义搭建2层神经网络TwoLayerN ...
- 量子计算机怎么储存,什么是量子计算机_量子计算机原理_量子计算的两种有效方法...
量子计算机是一种可以实现量子计算的机器,是一种通过量子力学规律以实现数学和逻辑运算,处理和储存信息能力的系统.它以量子态为记忆单元和信息储存形式,以量子动力学演化为信息传递与加工基础的量子通讯与量子计 ...
- QT时间差计算的两种方法代码
QT时间差计算的两种方法 提供两种方法,直接贴出代码供参考,主要用到函数secsTo,toTIme_t(): #include <qdatetime.h>#include <wind ...
- group convolution (分组卷积)的计算量详解、卷积计算量特征图大小,池化特征图大小、深度通道deep-wise 卷积
group convolution (分组卷积)的计算量详解.卷积计算量特征图大小,池化特征图大小.深度通道deep-wise 卷积 提示:最近忙着各种提前批的笔试面试,所以没太多空刷题了都,先复盘一 ...
- 计算 java_两种计算Java对象大小的方法(转)
原文:http://blog.csdn.net/iter_zc/article/details/41822719 另一篇类似文章:http://www.cnblogs.com/magialmoon/p ...
- 二叉树节点数目计算的两种思路
介绍两种思想,虽然根本上都是遍历每个结点,但是在写代码的时候采用的是不同的思想. 遍历思想 先定义一个类变量就是采用二叉树遍历的代码,在经过每个节点的时候类变量++,具体代码如下: public cl ...
- html闰年计算方法,闰年计算的两种方法
说起闰年,估计一些朋友会很糊涂.好像隔个一两年就有闰年,结果闰来闰去,闰得头都快大了.到底什么是闰年?闰年该怎么计算呢? 实际上,闰年是公历的一个计算方式,也就是常说的阳历,或者叫西历也可以.在我国的 ...
- 基尼系数计算的两种方法:python实现 简单高效
使用两种方法,通过python计算基尼系数. 在sql中如何计算基尼系数,可以查看我的另一篇文章.两篇文章取数相同,可以结合去看. 文章中方法1的代码来自于:(加入了一些注释,方便理解).为精确计算. ...
- vb基于文本框内加法计算的两种代码
最简明的代码: Private Sub Command1_Click() Form1.Text3.Text = Val(Form1.Text1.Text + Form1.Text2.Text) End ...
最新文章
- 【数据结构】顺序循环队列及其实现(C语言)
- 冠军奖3万元!CSDN×易观算法大赛开赛啦
- 跨域解决方案(史上最易懂)
- TokuDB · 引擎特性 · HybridDB for MySQL高压缩引擎TokuDB 揭秘
- 计算机教师资格证报考科目,还在纠结报考教师资格证该选哪个科目呢?看完这篇,你不再迷茫...
- 他让张一鸣登门请教,培养出戴文渊李沐陈天奇,创建了传说中的上海交大ACM班...
- Consul + fabio 实现自动服务发现、负载均衡
- ASP.NET跨页面传值(二)
- 程序员十大心愿,程序员:你这么了解我的心声的嘛!
- 项目实战|100个蓝牙接收器发货了
- 鸿蒙卡片-物联网DTU污水液位计卡片
- 2021 年最佳 JavaScript 框架
- 装饰模式(Decorate Pattern)
- 【SAP Abap】SAP Eclipse ADT开发环境配置与应用
- 基于单片机GSM的防火防盗系统的设计
- PopWindow使用方法详解
- 笔记本电脑装android系统安装教程,电脑上安装Android 10小白教程,大屏Android用起来...
- 记录一下小米8Root过程
- 微信小程序第七章 图片替换
- Python 如何反方向迭代一个序列