十分钟一起学会Inception网络

简介:

一、Inception网络简介

二、Inception网络模块

三、Inception网络降低参数计算量

四、Inception网络减缓梯度消失现象

五、Inception网络框架

六、Inception论文彩蛋

一、Inception网络简介

Inception网络又叫做GoogLeNet,之所以不叫GoogleNet,是为了向LeNet致敬,是2014年ChristianSzegedy在《Going deeper with convolutions》提出的一种全新的深度学习结构。

一般来说,提升网络性能最保险的方法就是增加网络的宽度和深度,这样做同时也会伴随着副作用。首先越深越宽的网络往往会意味着有巨大的参数量,当数据量很少的时候,训练出来的网络很容易过拟合,并且当网络有很深的深度的时候,很容易造成梯度消失现象这两个副作用制约着又深又宽的卷积神经网络的发展,Inception网络很好的解决了这两个问题。

二、Inception网络模块

下图是Inception中的一个模块,Inception由多个这样的模块组合而成的。

43805a1b34af9d642d5bca1afd0bc9e6abdf85c7

Inception网络结构中其中一个模块是这样的:在同一层中,分别含有1*1、3*3、5*5卷积和池化层,在使用滤波器进行卷积操作与池化层进行池化操作时都会使用padding以保证输出都是同尺寸大小,经过这些操作后输出的结果也就是特征图Featuremap再全部整合在一起。该模块的特性就是在同一层中,分别通过使用上述不同尺寸的滤波器与进行池化操作收集到了上一层输入的不同特征。这样就增加了网络的宽度,用这些不同尺寸的滤波器和池化操作去提取上一层的不同特征。

但是这样存在一个问题,经过这样一个模块后,输出的特征图往往很大,滤波器参数的默认计算是滤波器的尺寸n*n*深度的,深度等于上一层的特征图的个数,这样用不了几层就会造成参数过多并且计算量过大的问题,为了解决这个问题,使用了如下的构造:

c5cfa18b6683136419fd5fa684a559327daa95ad

相比于上一个原始的Inception模块,维度减少模型中在3*3卷积层和5*5卷积层前增加了1*1的卷积层,并在池化层后增加了1*1的卷积层。这样做的意义是减少了参数量,避免了每层的计算量过大。

三、Inception网络降低参数计算量

1*1卷积降低参数和计算量:

3dbed9a99b8949378d79c056db6a56109df1d1f3

如上图所示,针对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预测层,这两个预测层分别是从网络框架中间部分引出的分支,用于反向传播更新梯度,这样就避免了因梯度消失导致浅层的网络参数无法更新。注意这两个分支只在训练的时候防止梯度消失会用到,真正做预测的时候需要删除。

4c470501705c24269d8d635fef554abbb1aa17a1

五、Inception网络框架

f676cae9226bfc13058ff1721efadfd10b4f6c6c

六.Inception论文彩蛋

以上就是关于Inception网络的介绍,顺便说一下Christian Szegedy在发表该网络的论文《Going deeper with convolutions》中附了一个小彩蛋,就是下图,表明了往更深层次网络架构发展的决心,其实将该网络取名Inception,就是《盗梦空间》的名称。

9611fa1b239df121df5dc38784e09c35e418d31b

原文发布时间为:2018-09-11本文作者:荔枝boy本文来自云栖社区合作伙伴“ 磐创AI”,了解相关信息可以关注“ 磐创AI”。
相关文章
|
1月前
|
机器学习/深度学习 数据采集 人工智能
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
38 0
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
|
1月前
|
机器学习/深度学习 算法 计算机视觉
m基于深度学习网络的性别识别系统matlab仿真,带GUI界面
m基于深度学习网络的性别识别系统matlab仿真,带GUI界面
29 2
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
1月前
|
机器学习/深度学习 算法 数据库
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
|
1月前
|
传感器 算法 Go
基于EKF扩展卡尔曼滤波的传感器网络目标跟踪matlab仿真
基于EKF扩展卡尔曼滤波的传感器网络目标跟踪matlab仿真
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【MATLAB】tvf_emd_ MFE_SVM_LSTM 神经网络时序预测算法
【MATLAB】tvf_emd_ MFE_SVM_LSTM 神经网络时序预测算法
44 2
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【MATLAB】REMD_ MFE_SVM_LSTM 神经网络时序预测算法
【MATLAB】REMD_ MFE_SVM_LSTM 神经网络时序预测算法
43 5
|
1月前
|
机器学习/深度学习 并行计算 算法
m基于深度学习网络的瓜果种类识别系统matlab仿真,带GUI界面
m基于深度学习网络的瓜果种类识别系统matlab仿真,带GUI界面
31 0

热门文章

最新文章