1*1的卷积核与Inception】的更多相关文章

https://www.zhihu.com/question/56024942 https://blog.csdn.net/a1154761720/article/details/53411365 本文介绍1*1的卷积核与googlenet里面的Inception.正式介绍之前,首先回顾卷积网络的基本概念. 1. 卷积核:可以看作对某个局部的加权求和:它是对应局部感知,它的原理是在观察某个物体时我们既不能观察每个像素也不能一次观察整体,而是先从局部开始认识,这就对应了卷积.卷积核的大小一般有1x…
从LeNet-5开始,cnn就有了标准的结构:stacked convolutional layers are followed by one or more fully-connected layers.对于Imagenet这种大的数据集,趋势是增加层数和层的大小,用dropout解决过拟合. 1×1卷积核在Inception中大量使用,两个作用:dimension reduction and rectified linear activation(即增加非线性)(维度降低减少参数:并增加模型…
CNN从2012年的AlexNet发展至今,科学家们发明出各种各样的CNN模型,一个比一个深,一个比一个准确,一个比一个轻量.我下面会对近几年一些具有变革性的工作进行简单盘点,从这些充满革新性的工作中探讨日后的CNN变革方向. 注:水平所限,下面的见解或许有偏差,望大牛指正.另外只介绍其中具有代表性的模型,一些著名的模型由于原理相同将不作介绍,若有遗漏也欢迎指出. 一.卷积只能在同一组进行吗?-- Group convolution Group convolution 分组卷积,最早在AlexN…
从GoogLeNet至Inception v3 一.CNN发展纵览 我们先来看一张图片: 1985年,Rumelhart和Hinton等人提出了后向传播(Back Propagation,BP)算法(也有说1986年的,指的是他们另一篇paper:Learning representations by back-propagating errors),使得神经网络的训练变得简单可行,这篇文章在Google Scholar上的引用次数达到了19000多次,目前还是比Cortes和Vapnic的Su…
论文地址 在该论文中作者提出了一种被称为Inception Network的深度卷积神经网络,它由若干个Inception modules堆叠而成.Inception的主要特点是它能提高网络中计算资源的利用率,这得益于网络结构的精心设计(基于 Hebbian principle 和 the intuition of multi-scale processing ),使得网络在增加宽度和深度的同时又能保持计算开销不变.作者在论文中还介绍了 Inception 的一个应用例子--GoogLenet,…
TextBoxes 论文关键idea 本文和SegLink一样,也是在SSD的基础上进行改进的.相比SSD做了以下的改进: 修改了default box的apect ratio,分别为[1 2 3 5 7 10],目的是适应文本行长度比较长,宽度比较短的特性,也就是说现在的default box是长条形 提出了text-box层,修改classifier卷积核的大小为  ,而SSD中卷积核的大小为 ,这样做的目的是更适合文本行的检测,避免引入非文本噪声 提出了端到端的训练框架.在训练的时候,输入…
接上一篇:AI:IPPR的数学表示-CNN基础结构进化(Alex.ZF.Inception.Res.InceptionRes). 抄自于各个博客,有大量修改,如有疑问,请移步各个原文.....  前言:AutoML-NasNet VGG结构和INception结构.ResNet基元结构的出现,验证了通过反复堆叠小型inception结构可以构建大型CNN网络,而构建过程可以通过特定的规则自动完成.自动完成大型网络的稀疏性构建出现了一定的人为指导,如Mobile.xception.Shuffle.…
tensorflow+inceptionv3图像分类网络结构的解析与代码实现 论文链接:论文地址 ResNet传送门:Resnet-cifar10 DenseNet传送门:DenseNet SegNet传送门:Segnet-segmentation 深度学习的火热,使得越来越多的科研人员投入到其中.而作为各种应用类型的网络基础,图像分类的网络结构有许多,从AlexNet开始,到VGG-Net,到GoogleNet,到ResNet,denseNet等.网络结构在不断地改进,也在不断地趋于稳定.新的…
Google Inception Net,ILSVRC 2014比赛第一名.控制计算量.参数量,分类性能非常好.V1,top-5错误率6.67%,22层,15亿次浮点运算,500万参数(AlexNet 6000万).V1降低参数量目的,参数越多模型越庞大,需数据量越大,高质量数据昂贵:参数越多,耗费计算资源越大.模型层数更深,表达能力更强,去除最后全连接层,用全局平均池化层(图片尺寸变1x1),参数大减,模型训练更快,减轻过拟合(<Network in Network>论文),Inceptio…
Inception模型和Residual残差模型是卷积神经网络中对卷积升级的两个操作. 一.  Inception模型(by google) 这个模型的trick是将大卷积核变成小卷积核,将多个卷积核的运算结果进行连接,充分利用多尺度信息,这也体现了这篇文章的标题 Going Deeper with Convolutions.更加深的卷积操作. 废话不多说,上图 注意输入层在底部,输出层在顶部.废话不多说,上keras代码. from keras.layers import Conv2D, Ma…
在架构内容设计方面,其中一个比较有帮助的想法是使用1x1卷积.1x1卷积能做什么? 对于6x6x1的通道的图片来说,1x1卷积效果不佳,如果是一张6x6x32的图片,那么使用1x1卷积核进行卷积效果更好. 1x1卷积所实现的功能是,遍历36(6x6)个单元,计算左图中32个数字和卷积核中32个数字的乘积(element wise),然后应用于ReLU非线性函数. 这种方法称为1x1卷积,有时候也被称为Network in Network 我们可以用池化层压缩输入的高度与宽度,而1x1卷积可以改变…
GoogleNet设计的目的 GoogleNet设计的初衷是为了提高在网络里面的计算资源的利用率. Motivation 网络越大,意味着网络的参数较多,尤其当数据集很小的时候,网络更容易发生过拟合.网络越大带来的另一个缺点就是计算资源的利用率会急剧增加.例如,如果两个卷积层是串联的,他们滤波器数量中任何一个均匀增加都会导致计算资源的二次方浪费.解决这两个问题的方法是用稀疏连接的结构代替全连接.在早期为了打破网络的对称性和提高学习能力,传统的网络都使用随机的稀疏连接,但是计算机硬件对非均匀的稀疏…
信道压缩~跨~信~减 一.1 X 1的卷积核作用 所谓信道压缩,Network in Network是怎么做到的? 对于如下的二维矩阵,做卷积,相当于直接乘以2,貌似看上去没什么意义: 但是,对于下面这种32通道的数据,如果我用1个1x1x32的卷积核与其做卷积运算,得到的就是1个6x6的矩阵 在这个过程中,发生了如下的事情: (1)遍历36个单元格(6x6) (2)计算左图中32个信道中截面与卷积核中32个元素的乘积 (3)此时得到的结果,仍然是6x6x32的矩阵 (4)每个6x6的矩阵都叠加…
论文原址:https://arxiv.org/pdf/1409.4842.pdf 代码连接:https://github.com/titu1994/Inception-v4(包含v1,v2,v4)  摘要 本文提出了一个深层的卷积网络结构-Inception,该结构的主要特点是提高了网络内部计算资源的利用率.在预估计算资源消耗量不变的情况下增加网络的深度及宽度.为了进行有效的优化,结构决策基于Hebbian原理及多尺寸处理操作.本文思想的一个经典实现是GoogLeNet,网络的深度为22层,该网…
转载自知乎:卷积神经网络的复杂度分析 之前的Inception学习博客: 『TensorFlow』读书笔记_Inception_V3_上 『TensorFlow』读书笔记_Inception_V3_下 一.时间复杂度 即模型的运算次数,可用FLOPs衡量,也就是浮点运算次数(FLoating-point OPerations). 单个卷积层的时间复杂度 Time~O(M2·K2·Cin·Cout) M:输出特征图边长 K:卷积核尺寸 C:通道数目 输出边长M计算公式为: M = (X - K +…
CNN中,1X1卷积核到底有什么作用呢? https://www.jianshu.com/p/ba51f8c6e348 Question: 从NIN 到Googlenet mrsa net 都是用了这个,为什么呢? 发现很多网络使用了1X1卷积核,这能起到什么作用呢?另外我一直觉得,1X1卷积核就是对输入的一个比例缩放,因为1X1卷积核只有一个参数,这个核在输入上滑动,就相当于给输入数据乘以一个系数.不知道我理解的是否正确. Answer [ruirui_ICT]:我来说说我的理解,我认为1×1…
0 - 背景 在经过了inception v1的基础上,google的人员还是觉得有维度约间的空间,在<Rethinking the Inception Architecture for Computer Vision>一文中,通过卷积分解.网格约间等方式来修改inception模块.当然了在BN那篇论文的附录部分也多少涉及到v2的设计方向. 因为第一篇论文并没有详细说明设计inception v1的一些具体原理,而其主要是从如何减小模型的参数量上下手,所以v3上对这部分做了个简单的原则说明:…
一 1x1卷积 在架构内容设计方面,其中一个比较有帮助的想法是使用 1×1 卷积.也许你会好奇,1×1 的卷积能做什么呢?不就是乘以数字么?听上去挺好笑的,结果并非如此,我们来具体看看. 过滤器为 1×1 ,这里是数字 2,输入一张 6×6×1 的图片,然后对它做卷积,过滤器大小为 1×1 ,结果相当于把这个图片乘以数字 2,所以前三个单元格分别是 2. 4. 6 等等.用 1×1 的过滤器进行卷积,似乎用处不大,只是对输入矩阵乘以某个数字.但这仅仅是对于6×6×1的一个通道图片来说, 1×1…
inception v1-v3:通过多尺度卷积核学习不同尺度的空间信息并进行耦合:通过多个小卷积核来代替大卷积核的功能从而降低计算量: 通常,在一组特征图上进行卷积需要三维的卷积核,也即卷积核需要同时学习空间上的相关性和通道间的相关性.为了完全显示地对这两者相关性进行分离,后面又有了Xception,在channel维度上进行卷积; 参考:https://www.leiphone.com/news/201708/KGJYBHXPwsRYMhWw.html…
论文地址 Inception V1 :Going Deeper with Convolutions Inception-v2 :Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Inception-v3 :Rethinking the Inception Architecture for Computer Vision Inception-v4 :Inception-Res…
1.池化层的作用 在卷积神经网络中,卷积层之间往往会加上一个池化层.池化层可以非常有效地缩小参数矩阵的尺寸,从而减少最后全连层中的参数数量.使用池化层即可以加快计算速度也有防止过拟合的作用. 2.为什么max pooling要更常用? 通常来讲,max-pooling的效果更好,虽然max-pooling和average-pooling都对数据做了下采样,但是max-pooling感觉更像是做了特征选择,选出了分类辨识度更好的特征,提供了非线性,根据相关理论,特征提取的误差主要来自两个方面:(1…
http://blog.csdn.net/diamonjoy_zone/article/details/70576775 参考: 1. Inception[V1]: Going Deeper with Convolutions 2. Inception[V2]: Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 3. Inception[V3]: Rethink…
一种简单的解释是用来降维. For example, an image of 200*200 with 50 features on convolution with 20 filters of 1*1 would result in size of 200*200*20. 但是,1*1卷积核的作用不仅仅于此. 特征变换 1*1卷积是在Network in Network 中第一次被提出来,作者的目的是为了得到一个深的网络,但作者并不想直接垂直的堆砌一些layer.作者用了一些1*1,3*3的卷…
From: https://github.com/jcjohnson/cnn-benchmarks#alexnet 先大概了解模型,再看如果加载pre-training weight. 关于retain这件事,插入231n的一页PPT.总之:数据多,筹码多,再大胆训练更多的weight:否则,别胡闹. 这里有lots of pretrained ConvNets:https://github.com/BVLC/caffe/wiki/Model-Zoo CS231n Winter 2016: Le…
https://blog.csdn.net/xxiaozr/article/details/71481356 inception v1: 去除了最后的全连接层,使用全局平均池化层来代替,因为全连接层的参数很多,基本上占据了百分之九十的参数,而且全连接层会带来过拟合的问题. 采用了inception module. Hebbian 原理:神经反射活动的持续和重复会导致神经元连接稳定性的持久提升,当两个神经元细胞A和B距离很接近,并且A参与了对B的重复持续的兴奋,那么某些代谢变化会导致A将作为能使B…
1. 实现跨通道的交互和信息整合 1×1的卷积层(可能)引起人们的重视是在NIN的结构中,论文中林敏师兄的想法是利用MLP代替传统的线性卷积核,从而提高网络的表达能力.文中同时利用了跨通道pooling的角度解释,认为文中提出的MLP其实等价于在传统卷积核后面接cccp层,从而实现多个feature map的线性组合,实现跨通道的信息整合.而cccp层是等价于1×1卷积的,因此细看NIN的caffe实现,就是在每个传统卷积层后面接了两个cccp层(其实就是接了两个1×1的卷积层). 2. 进行卷…
简介 VGG, resnet和inception是3种典型的卷积神经网络结构. VGG采用了3*3的卷积核,逐步扩大通道数量 resnet中,每两层卷积增加一个旁路 inception实现了卷积核的并联,然后把各自通道拼接到一起 简单起见,直接使用了[1]的代码来测试 resnet,然后用[2],[4]的代码替换[1]中的model,改了改通道,测 VGG 和 inception. GPU是gtx1050,主板开始是 x79,后来坏了,换成 x470,GPU占比提高很多. CPU占比始终100%…
转自https://blog.csdn.net/u014114990/article/details/50767786 从NIN 到Googlenet mrsa net 都是用了这个,为什么呢 发现很多网络使用了1X1卷积核,这能起到什么作用呢?另外我一直觉得,1X1卷积核就是对输入的一个比例缩放,因为1X1卷积核只有一个参数,这个核在输入上滑动,就相当于给输入数据乘以一个系数.不知道我理解的是否正确. 我来说说我的理解,我认为1×1的卷积大概有两个方面的作用吧:1. 实现跨通道的交互和信息整合…
从GoogLeNet的Inceptionv1开始,发展了众多inception,如inception v2.v3.v4与Inception-ResNet-V2. 故事还是要从inception v1开始说起. Inception v1 相比于GoogLeNet之前的众多卷积神经网络而言,inception v1采用在同一层中提取不同的特征(使用不同尺寸的卷积核),并提出了卷积核的并行合并(也称为Bottleneck layer),如下图 这样的结构主要有以下改进: 一层block就包含1x1卷积…
1. 摘要 作者提出了一个代号为 Inception 的卷积神经网络架构,这也是作者在 2014 年 ImageNet 大规模视觉识别挑战赛中用于分类和检测的新技术. 通过精心的设计,该架构提高了网络内计算资源的利用率,因而允许在增加网络的深度和宽度的同时保持计算预算不变. 在作者提交的 ILSVRC14 中使用的一个特定的模型称为 GoogLeNet ,一个 22 层深的网络,在分类和检测的背景下对其性能进行了评估. 2. 介绍 在过去三年中,卷积神经网络在图像识别和物体检测领域取得了巨大的进…