卷积神经网络(CNN)的细节问题(滤波器的大小选择)
0. 滤波器的大小选择
- 大部分卷积神经网络都会采用逐层递增(1⇒ 3 ⇒ 5 ⇒ 7)的方式。
- 每经过一次池化层,卷积层过滤器的深度都会乘以 2;
1. 权值共享:减轻过拟合 & 降低计算量
一个卷积层(Wx+b ⇒ ReLU ⇒ maxpooling)可以有多个不同的卷积核,而每一个卷积核都对应一个滤波后映射出的新图像,同一个新图像中的每一个像素都来自完全相同的卷积核,这就是卷积核的权值共享。
那么为什么要共享卷积核的权值参数呢?
- 降低模型复杂度以减轻过拟合;
- 降低计算量;
2. 待求参数数目的量化分析
考虑 103×10310^3\times 10^3 的输入图像:
- 全连接,隐层神经元的数目为 10610^6 时,则每一个输入像素与每一个隐层神经元之间都是待学习的参数,
- 数目为 106×106=101210^6\times 10^6=10^{12}
- 卷积,卷积核的大小为 10×1010\times 10 时,
- 步长为 10,103×10310×10×(10×10)\frac{10^3\times 10^3}{10\times 10}\times \left(10\times 10\right),103×10310×10\frac{10^3\times 10^3}{10\times 10}表示的是输入图像可划分的块数,也即经卷机作用后的输出图像;
- 步长为 1,(103−10+1)×(103−10+1)⋅(10×10)\left(10^3-10+1\right)\times\left(10^3-10+1\right)\cdot \left(10\times 10\right)
- 在不考虑步长的前提下,可近似将待学习的参数的数目视为 (103×103)⋅(10×10)\left(10^3\times 10^3\right)\cdot \left(10\times 10\right)
3. CNN 的卷积与信号与系统中的卷积
CNN 的卷积并没有执行“翻转”操作,而是与输入图像做滑动窗口“相关”计算;
如果 KK 个输入通道(Xk,0≤k<KX^k,\quad 0\leq k )的输入经若干卷积核的作用之后得到 LL 个通道的输出(Yℓ,0≤ℓ<LY^\ell, \quad 0\leq \ell),需要的卷积核的数目为 L×KL\times K:
\begin{split} Y^\ell(m, n)=&X^k(m,n)\star H^{k\ell}(m,n)\\ =&\sum_{k=0}^{K-1}\sum_{i=0}^{I-1}\sum_{j=0}^{J-1}X^{k}(m+i, n+j)H^{k\ell}(i, j) \end{split}
Hkℓ(i,j)H^{k\ell}(i, j) 表示的是第 ℓ\ell 列,第 kk 行二维卷积核,卷积核的大小为 I⋅JI\cdot J。
4. 时间复杂度
- N×NN\times N 大小的图像,FF 个 K×KK\times K 的 filters ⇒ 计算复杂度 O(N2×K2×F)O(N^2\times K^2\times F)
- 要知道 F<script type="math/tex" id="MathJax-Element-158">F</script> 的值一般是很大的,比如 256;
卷积神经网络(CNN)的细节问题(滤波器的大小选择)相关推荐
- python卷积神经网络cnn的训练算法_【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理...
上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...
- CNN---用于图像分类的经典的卷积神经网络CNN
文章目录 概览 1.计算机视觉简介: 2.图像分类 一.LeNet-5 1.模型架构 2.模型简介 3.模型特点 二.AlexNet 1.网络架构 2.模型介绍 3.模型特点 三.VGGNet 1.模 ...
- 卷积神经网络CNN原理详解(一)——基本原理
卷积神经网络CNN原理详解(一)--基本原理 转载过来为了自己以后学习方便,大家请看原文章 为什么要用神经网络? 特征提取的高效性. 大家可能会疑惑,对于同一个分类任务,我们可以用机器学习的算法来做, ...
- 【综述】一文读懂卷积神经网络(CNN)
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习 ...
- [人工智能-深度学习-24]:卷积神经网络CNN - CS231n解读 - 卷积神经网络基本层级
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:[人工智能-深度学习-23]:卷积神经网络CNN - CS231n解读 - 卷积神经网络基本层级_ ...
- 卷积神经网络(CNN,ConvNet)
卷积神经网络(CNN,ConvNet) 卷积神经网络(CNN,有时被称为 ConvNet)是很吸引人的.在短时间内,变成了一种颠覆性的技术,打破了从文本.视频到语音等多个领域所有最先进的算法,远远超出 ...
- 卷积神经网络CNN总结
从神经网络到卷积神经网络(CNN) 我们知道神经网络的结构是这样的: 那卷积神经网络跟它是什么关系呢? 其实卷积神经网络依旧是层级网络,只是层的功能和形式做了变化,可以说是传统神经网络的一个改进.比如 ...
- TF之CNN:Tensorflow构建卷积神经网络CNN的简介、使用方法、应用之详细攻略
TF之CNN:Tensorflow构建卷积神经网络CNN的简介.使用方法.应用之详细攻略 目录 TensorFlow 中的卷积有关函数入门 1.tf.nn.conv2d函数 案例应用 1.TF之CNN ...
- 卷积神经网络(CNN)介绍与实践
七月 上海 | 高性能计算之GPU CUDA培训 7月27-29日三天密集式学习 快速带你入门阅读全文> 正文共4499个字,26张图,预计阅读时间18分钟. CNN的前世今世 1.1.大脑 ...
最新文章
- iphone录屏怎么录声音_ev录屏怎么录制声音 ev录屏声音设置教程
- 根据 UserAgent 判断网页是在浏览器、或在微信、或在APP中
- Latex:表格制作全攻略
- sql 插入text字段包含特殊字符_Kettle(PDI)转换中输出之插入/更新详解
- bootstrap清除拟态框内添加新HTML再打开时会有缓存现象
- 奇异值分解(Singular Value Decomposition,SVD)
- python环境配置(一)——Linux下将python2.6升级到2.7 安装pip 以及升级中遇到问题的解决方法
- TypeError: type ‘types.GenericAlias‘ is not an acceptable base type
- 2021年全球电力线通信(PLC)系统收入大约7385.8百万美元,预计2028年达到14530百万美元,2022至2028期间,年复合增长率CAGR为11.0%
- python语言实现指纹识别_Python语言之指纹识别是目前最成熟的识别技术!Python能分分钟做出一个来!...
- wps如何设置分段页眉
- 可以放游戏网站云服务器,游戏网站选择哪个云服务器好?游戏服务器配置方案?...
- java 正则表达式匹配冒号_用于匹配与冒号连接的单词对的正则表达式
- 如何让梯形变成平行四边形_把梯形转化成平行四边形.ppt
- 待得天晴花已老,不如携手雨中看
- Android中关于Manifest的权限注册问题
- java 随机手机验证码_Java实现随机生成手机短信验证码的简单代码
- 初学C语言一些知识点的整理
- 人工智能的出现,赋予零售业6种应用新生命!
- JavaScript 高级3 :函数进阶
热门文章
- android timepicker分割线颜色,Android修改DatePicker字体颜色及分割线颜色详细介绍
- java清除缓存池_Java 缓存池(使用Map实现)
- HelloKafka入门 helloKafka
- gsm模块 java 录音_Android GSM驱动模块详细分析
- Doris之磁盘空间管理(重点)
- xml里写sql语句大于、小于的正确方法
- 集群、分布式、集中式、伪分布式的概念与区别
- java多线程交替打印_java多线程 更优雅的实现线程同步:交替打印A、B LockSupport实现...
- flink的Yarn模式
- 均值滤波python实现_python手写均值滤波