十分钟一起学会Inception网络
作者 | 荔枝boy
编辑 | 安可
出品 | 磐创AI技术团队
【磐创AI导读】:本文介绍了一些Inception网络的相关知识。想要获取更多的机器学习、深度学习资源。欢迎大家点击上方蓝字关注我们的公众号:磐创AI。
一、Inception网络简介
二、Inception网络模块
三、Inception网络降低参数计算量
四、Inception网络减缓梯度消失现象
五、Inception网络框架
六、Inception论文彩蛋
一、Inception网络简介
Inception网络又叫做GoogLeNet,之所以不叫GoogleNet,是为了向LeNet致敬,是2014年ChristianSzegedy在《Going deeper with convolutions》提出的一种全新的深度学习结构。
一般来说,提升网络性能最保险的方法就是增加网络的宽度和深度,这样做同时也会伴随着副作用。首先越深越宽的网络往往会意味着有巨大的参数量,当数据量很少的时候,训练出来的网络很容易过拟合,并且当网络有很深的深度的时候,很容易造成梯度消失现象这两个副作用制约着又深又宽的卷积神经网络的发展,Inception网络很好的解决了这两个问题。
二、Inception网络模块
下图是Inception中的一个模块,Inception由多个这样的模块组合而成的。
Inception网络结构中其中一个模块是这样的:在同一层中,分别含有1*1、3*3、5*5卷积和池化层,在使用滤波器进行卷积操作与池化层进行池化操作时都会使用padding以保证输出都是同尺寸大小,经过这些操作后输出的结果也就是特征图Featuremap再全部整合在一起。该模块的特性就是在同一层中,分别通过使用上述不同尺寸的滤波器与进行池化操作收集到了上一层输入的不同特征。这样就增加了网络的宽度,用这些不同尺寸的滤波器和池化操作去提取上一层的不同特征。
但是这样存在一个问题,经过这样一个模块后,输出的特征图往往很大,滤波器参数的默认计算是滤波器的尺寸n*n*深度的,深度等于上一层的特征图的个数,这样用不了几层就会造成参数过多并且计算量过大的问题,为了解决这个问题,使用了如下的构造:
相比于上一个原始的Inception模块,维度减少模型中在3*3卷积层和5*5卷积层前增加了1*1的卷积层,并在池化层后增加了1*1的卷积层。这样做的意义是减少了参数量,避免了每层的计算量过大。
三、Inception网络降低参数计算量
1*1卷积降低参数和计算量:
如上图所示,针对5*5卷积的这一层,不包含1*1的卷积模块时,参数量为5*5*256*64=409600个参数,连接数为(5*5*256+1)*64*n*n=409664*n*n个。而包含1*1的卷积模块时,参数量为1*1*256*32+5*5*32*64=59392个参数,连接数为((1*1*256+1)*32*n*n+(5*5*32+1)*64*n*n)=59488*n*n个。由此可见,包含1*1的卷积模块比不包含的参数数量和计算量要少很多。
Inception网络在增加了网络宽度,每一层都用不同的卷积池化去提取上一层特征图的特征,并且采用了在3*3和5*5卷积前,池化层后添加1*1卷积,可以有效避免了复杂的参数和计算量。这样Inception很好的缓和了因扩大网络宽度而造成的计算量过大和过拟合问题。
四、Inception网络减缓梯度消失现象
Inception网络框架中会有额外的两个softmadx预测层,这两个预测层分别是从网络框架中间部分引出的分支,用于反向传播更新梯度,这样就避免了因梯度消失导致浅层的网络参数无法更新。注意这两个分支只在训练的时候防止梯度消失会用到,真正做预测的时候需要删除。
五、Inception网络框架
六.Inception论文彩蛋
以上就是关于Inception网络的介绍,顺便说一下Christian Szegedy在发表该网络的论文《Going deeper with convolutions》中附了一个小彩蛋,就是下图,表明了往更深层次网络架构发展的决心,其实将该网络取名Inception,就是《盗梦空间》的名称。
欢迎扫码关注:
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31555081/viewspace-2214415/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31555081/viewspace-2214415/
十分钟一起学会Inception网络相关推荐
- Bee框架,一个十分钟即可学会的ORM框架--Bee
Bee 是一个ORM框架.关注:省时/优雅.简易.自动( Tea: Timesaving/Tasteful, Easy, Automatic) 特性.减少开发人员的编码量,只为一个目标--让别人不再叫 ...
- 十分钟,学会使用js三种方法创建本地json数据文件
前言 在干业务时,需要得到一份全国省市到街道的区划数据,刚好业务中连接了高德地图,高德地图又提供了区划的api,这下只需要把数据写到json里了.什么!你说你还不会用js创建json文件?没关系,只需 ...
- 十分钟轻松学会python-10分钟轻松学会python turtle绘图
python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics),turtle库是python的内部库,使用导入即可 import turtle 先说明一下turtl ...
- 十分钟能学会的简单python爬虫
简单爬虫三步走,So easy~ 本文介绍一个使用python实现爬虫的超简单方法,精通爬虫挺难,但学会实现一个能满足简单需求的爬虫,只需10分钟,往下读吧~ 该方法不能用于带有反爬机制的页面,但对于 ...
- ❤️十分钟快速学会使用Nodejs全栈开发微信公众号【建议收藏】
一.准备 注册微信订阅号 注册小程序测试号 sunny-ngrok工具安装及注册账号 注意:sunny-ngrok的原型是ngrok,不过ngrok是国外的,sunny-ngrok是国内的一个私服,速 ...
- ipv6联网几十分钟后显示无网络连接,v4网络正常的解决方法
教育网,同时拥有v4v6地址,之前有一段时间突然出现这个问题,开机v6无法连接,这时候确定你勾选了ipv6协议,再通过打开任务管理器-服务-IP转换配置服务后,重新禁用启用网卡解决. 这时候遇到了第二 ...
- 十分钟内学会 Python
# # main.py # Some Python Program # # Created by Mewlan Musajan on 4/27/21. # Excerpt From: Stochast ...
- python编的游戏越玩越卡_用Python写游戏,不到十分钟就学会了
安装pygame 本人电脑是windows 10.python3.6,pygame下载地址:pypi.python.org/pypi/Pygame- 请自行下载对应python版本的pygame 运行 ...
- python游戏代码运行不了_用Python写游戏,不到十分钟就学会了
安装pygame 请自行下载对应python版本的pygame 运行以下命令 创建Pygame窗口及响应用户输入 新建一个文件夹alien_invasion,并在文件夹中新建alien_invasio ...
最新文章
- java window.onload_从HTML中的window.onload调用webpacked代码
- Spring JDBC整合
- 2.QT中使用资源文件,程序打包
- git add 文件夹_软件测试学习资源—Git 基础使用
- 探索式测试的思维模型
- python四舍五入保留小数点后三位_Python中的“正确”四舍五入到小数点后3位
- iOS开发系列--Objective-C之协议、代码块、分类
- 计算机专业知识比喻,很好的计算机基础知识比喻
- Django Form 详解
- 机器人技术之Simulink仿真基础
- 自组织网络(Ad hoc)
- 模拟电子中放大电路的基本分析方法
- [人工智能-深度学习-81]:视觉 - 视频换脸软件大全
- 组织架构图,比较实用,收走
- distill_bert和tiny_bert
- web页面中如何唤起打开APP
- 在Isight软件里如何调用matlab子程序?
- LeetCode #77 组合
- 、OA系统中的绩效管理
- 简历中的项目经历可以怎么写?