深度学习(二)卷积计算
写在前面:所有关于深度学习的基础知识均为鄙人的笔记分享,很多内容摘自大神们的博客或论文,因时间太长记不清了分别来自哪里。若有侵权,请联系鄙人邮箱min.wenfang@qq.com
目前,卷积的计算大多采用间接计算的方式,主要有以下三种实现方式:
- im2col + GEMM。 caffe等很多框架中都使用了这种计算方式,原因是将问题转化为矩阵乘法后可以方便的使用很多矩阵运算库(如MKL、openblas、Eigen等)。
- FFT变换。 时域卷积等于频域相乘,因此可将问题转化为简单的乘法问题。
- Winograd。 这种不太熟悉,据说在GPU上效率更高。 NNPACK就是FFT和Winograd方法的结合。
- cudnn库函数
上面三种方法执行效率都还不错,但对内存占用比较高,因为需要存储中间结果或者临时辅助变量。
im2col + GEMM 原理
darknet中应用了与caffe一样的函数
下面传有两个动图形象说明
注意!!!!:
1 多通道多卷积操作计算过程
如图5,输入图像layer m-1有4个通道,同时有2个卷积核w1和w2。对于卷积核w1,先在输入图像4个通道分别作卷积,再将4个通道结果加起来得到w1的卷积输出;卷积核w2类似。所以对于某个卷积层,无论输入图像有多少个通道,输出图像通道数总是等于卷积核数量!
缩进对多通道图像做1x1卷积,其实就是将输入图像于每个通道乘以卷积系数后加在一起,即相当于把原图像中本来各个独立的通道“联通”在了一起。
2 卷积核计算过程
1、首先,假设输入图片大小是 224*224*3(224是图像宽或高,3是三个通道,也就是RGB三种)
2、然后,假设conv1层的是 7*7*96 (7*7是卷积核的size k,96是卷积核的个数n),stride = 2;
3、所以conv1得到的结果是110*110*96([(w-k+pad)/stride+1] * [(h-k+pad)/stride+1] * n) (这个110来自于 (224-7+pad)/2+1 = 110 ,这个pad是我们常说的填充,也就是在图片的周围补充像素,这样做的目的是为了能够整除,除以2是因为2是图中的stride);
4、再做一次池化pooling,得到pool1, 池化的核的大小是3*3,所以池化后图片的维度是55*55*96 ( (110-3+pad)/2 +1 =55 );
深度学习(二)卷积计算相关推荐
- 【深度学习】卷积计算与训练模型的几种方法
卷积计算 全连接层和卷积层的根本区别在于:全连接层(Dense层)从输入空间中学到的是全局模式,而卷积层学到的是局部模式. 因为这个特性,所以卷积神经网络有两个有趣的性质: 平移不变性:卷积神经网络在 ...
- 深度学习之卷积神经网络(Convolutional Neural Networks, CNN)(二)
前面我们说了CNN的一般层次结构, 每个层的作用及其参数的优缺点等内容.深度学习之卷积神经网络(Convolutional Neural Networks, CNN)_fenglepeng的博客-CS ...
- 深度学习~卷积神经网络(CNN)概述
目录 1. 卷积神经网络的形成和演变 1.1 卷积神经网络结构 1.2 卷积神经网络的应用和影响 1.3 卷积神经网络的缺陷和视图 1.3.1 缺陷:可能错分 1.3.2 解决方法:视图 ...
- 机器学习——深度学习之卷积神经网络(CNN)——AlexNet卷积神经网络结构
目录 一.AlexNet卷积神经网络结构模型 1.数据库ImageNet 2.AlexNet第一层卷积层 二.AlexNet卷积神经网络的改进 1.非线性变化函数的改变--ReLU 2.最大池化(Ma ...
- DSSM、CNN-DSSM、LSTM-DSSM等深度学习模型在计算语义相似度上的应用+距离运算
在NLP领域,语义相似度的计算一直是个难题:搜索场景下query和Doc的语义相似度.feeds场景下Doc和Doc的语义相似度.机器翻译场景下A句子和B句子的语义相似度等等.本文通过介绍DSSM.C ...
- 深度学习二(Pytorch物体检测实战)
深度学习二(Pytorch物体检测实战) 文章目录 深度学习二(Pytorch物体检测实战) 1.PyTorch基础 1.1.基本数据结构:Tensor 1.1.1.Tensor数据类型 1.1.2. ...
- 知识图谱论文阅读(八)【转】推荐系统遇上深度学习(二十六)--知识图谱与推荐系统结合之DKN模型原理及实现
学习的博客: 推荐系统遇上深度学习(二十六)–知识图谱与推荐系统结合之DKN模型原理及实现 知识图谱特征学习的模型分类汇总 知识图谱嵌入(KGE):方法和应用的综述 论文: Knowledge Gra ...
- Kaggle深度学习与卷积神经网络项目实战-猫狗分类检测数据集
Kaggle深度学习与卷积神经网络项目实战-猫狗分类检测数据集 一.相关介绍 二.下载数据集 三.代码示例 1.导入keras库,并显示版本号 2.构建网络 3.数据预处理 4.使用数据增强 四.使用 ...
- 深度学习-conv卷积
深度学习-conv卷积 过滤器(卷积核) 传统的图像过滤器算子有以下几种: blur kernel:减少相邻像素的差异,使图像变平滑. sobel:显示相邻元素在特定方向上的差异. sharpen : ...
- 旷视首席科学家孙剑:深度学习变革视觉计算
https://www.toutiao.com/i6714941914564526596/ 孙剑从视觉智能.计算机摄影学以及AI计算3个方面介绍了计算机视觉研究领域的变革. 作者 | 张栋 AI科技评 ...
最新文章
- 【数据库】mysql报错 编码码1130 和错误码1146
- 2019.03.10----LINUX学习笔记
- Leetcode-53:最大子序和
- Promise之异步调用
- asp.net电子商务开发实战 视频 第二讲 (下)
- mysql根据时间回退_MySQL 中的日期时间类型
- ARM处理器上电/复位操作
- 第八回 新年晚会艺压群芳 文理分科三人聚首[林大帅作品选]
- 竞态条件的赋值_Go 译文之竞态检测器 race
- BZOJ 2339 [HNOI2011]卡农
- 正式通知!低学历恭喜了!每人补贴8000元,限本科以下学历,政策扶持,名额有限,速看...
- matlab中ode指令,matlab中ode5函数编写.doc
- visio 中取消 交叉连接线的拱形的方法
- [原创]数字转换中文大写金额
- 指针:C语言二级指针与二维数组
- Origin1——设置坐标轴、字体、标签等
- Linux 下如何添加一个普通用户,并给予用户root权限
- 真c++ 从二叉树到红黑树(6)之红黑树RedBlack
- 基于UCOS-III的雷电传奇自制小游戏————秉火STM32F103-指南者;PS2手柄
- MySQL 数据表优化设计(六):id 该如何选择数据类型?
热门文章
- Vivado官网获取License
- 基于Qt的音乐播放器(三)通过酷狗音乐的api接口,返回json格式歌曲信息(播放地址,歌词,图片)
- 中小站长如何防范黑客攻击,避免网站遭受损失?
- 市面上有哪些自动生成报表的工具?
- 数据结构与算法【Java】06---七大查找算法总结
- 计算机桌面颜色比较暗,电脑屏幕变色了怎么调回来 电脑屏幕变暗淡的原因有哪些...
- 利用Gitee创建Vnote免费图床 (实用)
- Burp抓包经常出现detectportal.firefox.com解决办法(附图)
- 微信搜一搜,不可忽视的超级流量池
- matlab实现基于暗通道先验(DCP)的单图像去雾