Inception Net(V1)_Jackybored的博客-程序员宝宝

摘要

在这里插入图片描述
Inception net是2014年ILSVRC的冠军,这个是第一个版本因此称作v1,总的来说该网络的创新点如下:

  • 提高了网络的计算资源利用率
  • 增加了网络深度和每一层的宽度,但计算量不变
  • 基于Hebbian原则和多尺度处理

提高网络性能

在这里插入图片描述
最直接提高网络性能的方法主要有两种,增加网络的深度和增加层网络的宽度(即增加每一级中的单元数)。
缺点:

  • 直接单纯的增加网络深度和宽度会导致网络参数过多,在数据集一定的情况下会导致过拟合现象,并且增加数据集是棘手的并且昂贵的事情。
  • 参数的增加会导致计算量的大量增加
    解决方法:
  • 使用全局平均池化代替全连接层(VGG网络中全连接层参数占据了总量的90%)
  • 大量使用1x1卷积核
    如此设计原因:
  • 逐层构造网络:如果数据集的概率分布能够被一个神经网络表达,那么构造这个网络的最佳方法是逐层构筑网络,即将上一层高度相关的输出聚类到一起。几乎所有效果好的深度网络都具有这一点,不管AlexNet VGG堆叠多个卷积,googleNet堆叠多个inception模块,还是ResNet堆叠多个resblock。
  • 符合Hebbian原理: Cells that fire together, wire together. 一起发射的神经元会连在一起。 相关性高的节点应该被连接而在一起。

网络块结构

在这里插入图片描述
该架构的主要思想是最优局部结构可以被现有的密集组件逼近和覆盖,且该想法实用性更高
卷积块使用的原理:
将稀疏矩阵聚类成相对密集的子矩阵,往往能够提供最先进的稀疏矩阵乘法的实用性能。我们假设转换不变性意味着我们需要使用块来搭建神经网络,我们需要做的是找到最优的局部结构并且去重复它。Arora表明在逐层搭建的网络中,应该分析上一层的关联统计,并将关联性高的聚类成一组单元。在同一个位置但在不同通道的卷积核输出结果相关性极高,应当把这些单元聚类到一起,这正好体现了1x1卷积核的作用之一。(这也解释了卷积操作时卷积核参数的设置问题,即卷积核的宽度,高度,与输入层的通道数相等,该层通道数。好久才明白该操作,原来每一步都有原因的。)这些聚类形成下一层的单元,我们假设前一层的每个单元对应于输入图像的某个区域,这些单元被分组到过滤器组中。这意味着,我们最终会在一个区域内聚集许多集群,它们可以被下一层的1x1个卷积覆盖。当这种聚类越来越多时,每一层会变小,因此该处只采用了3x3和5x5核。这还意味着,建议的体系结构是所有这些层的组合,它们的输出过滤器组连接成一个输出向量,形成下一阶段的输入。
1x1核的另一个作用是降维,减少参数个数。已上图的两种结构为例:
原始结构:
输入层有192个通道,1x1有64个通道,3x3有128个,5x5有32个
参数:(1×1×192×64) + (3×3×192×128) + (5×5×192×32) = 153600
最终输出的feature map:64+128+32+192 = 416
加入不同channel的1×1卷积后:
其它均相同,新加的1x1分别为96个通道,16个通道。
参数:1×1×192×64+(1×1×192×96+3×3×96×128)+(1×1×192×16+5×5×16×32)=15872
最终输出的feature map: 64+128+32+32=256
所以加入1×1的卷积后,在降低大量运算的前提下,降低了维度。
降低维度也是inception module一个非常明智的举措。这种举措允许增加网络的深度和宽度,但这种结构需要人工去手调。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_34116958/article/details/90112572

智能推荐

前端bootstrap 下拉框二级联动_一只乌龙的博客-程序员宝宝_selectpicker 二级

使用bootstrap的selectpicker时,二级联动一直不展示其他选项。<div class="col-sm-1"> <select id="province_code" data-style="btn-success btn-outline" class="selectpicker" onchange="getCity()"> <o...

安卓 coordination 等各种特效_当富网络的博客-程序员宝宝

今天看到了一个不错的网址 :app开发者,其中特效小记一下,以便以后有用安卓 coordination 等各种特效:http://www.appkfz.com/2015/11/12/mastering-coordinator/#more

docker运行 jenkins 重点在 -v 和-u jenkins内部文件操作_康师傅架构学习之路的博客-程序员宝宝

国外比较慢 选择良心企业  c.163.comdocker pull hub.c.163.com/library/jenkins:latestdocker images  docker run -d --name yourname  -u root  -p 8080:8080 -p  50000:50000 -v /${yourpath}/software/jenkins:/var

Farpoint Spread 常用事件_weixin_30388677的博客-程序员宝宝

1//单元格编辑结束,焦点离开或者按回车键时 比如:你要判断当前单元格输入内容是否合法。privatevoidfpSpread1_EditModeOff(objectsender, System.EventArgs e)2//单元格得到焦点时触发privatevoidfpSpread1_EnterCell(objectsender, FarPoint....

串行 spi Flash 跨页编程的注意点_cherisegege的博客-程序员宝宝_flash page program

spi Flash 进行 page program的时候,编程的数据为1-256个字节不等。在Datasheet中,如果编程的数据为256个字节,那么,输入的起始地址需要256个字节对齐,即需要页对齐。但如果编程的数据小于256个字节,datasheet则语焉不详。前几天在优化spi flash驱动的时候,为了提升flash编程速度,将page从4个字节增加到12个字节。由于没有注意到跨页

随便推点

2021-04-22_墨尘246的博客-程序员宝宝

ERROR(stdcmds.ael line 290, column 5) Unable to start status server. could not invoke program链接: link.很多人ADS2021版安装好了,也破解好了,可是仿真的时候就会出现这样的问题,其实原因很简单,保存的文件路径有中文名。图片: 带尺寸的图片: 居中的图片: 居中并且带尺寸的图片: 当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。如何插入一段漂亮的代码片去博客设置页面,选择一款你喜欢

LightOJ1236 - Pairs Forming LCM (LCM·唯一分解)_Rain722的博客-程序员宝宝

题意 :给你一个数n  求满足lcm(a, b) == n, a 唯一分解定理内容:对于任意一个大于1的数都可以唯一分解为若干个素数的乘积,即n=a1^b1*a2^b2*......an^bn;容易知道 n 是由a和b的所有素因子构成的,n的中的素因子指数等于a,b中相同素因子指数较大的指数。先将n分解为素数指数积的形式  n = π(pi^ei)    那么对于每个素因子pi

基于51单片机用DS1302和LCD1602设计可调式电子日历与时钟(Proteus仿真)_JaneZJW的博客-程序员宝宝

基于51单片机用DS1302和LCD1602设计可调式电子日历与时钟(Proteus仿真)

使用 Fiddler Everywhere 进行抓包_keeper42的博客-程序员宝宝

使用 Fiddler Everywhere 进行抓包开启各项必备功能 在打开浏览器之前需要先开启LiveTraffic为Capturing 然后点击像芯片一样的东西叫Decode(蓝色为开启状态)这个东西在原fiddler4中是这样显示的,也是就为了纠正respond中出现乱码的现象,也就是Rules下的RemoveAll Encodings 如果需要抓取视频流或其他持续传输流的话就需要开启Stream(蓝色为开启状态)。 原fiddler4中也有该选项 如果需要指

推荐文章

热门文章

相关标签