【笔记】Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
2017-10-18 14:02
761 查看
论文:https://arxiv.org/abs/1602.07261
代码:https://github.com/gu-yan/mlAlgorithms/blob/master/inception_impl/Inception_resnet_v2_temsorflow.py
先贴出模型:
Inception V4:https://raw.githubusercontent.com/titu1994/Inception-v4/master/Architectures/Inception-v4.png
图片来自:http://blog.csdn.net/lynnandwei/article/details/53736235
Inecption Res-v2 :
图片来自:http://blog.csdn.net/lynnandwei/article/details/53736235
Residual连接训练更深的网络变得容易。Inception结构也使得网络变深。将Residual连接添加到Inception结构中,就可以用残差网络来训练Inception,且保留计算的高效性。
Inception结构最初由GoogLeNet引入:
相关博文:http://blog.csdn.net/u014114990/article/details/52583912
http://www.cnblogs.com/haiyang21/p/7243200.html
-----------------------------------------------------------------------------------------------------------------
[v1] Going Deeper with Convolutions, 6.67% test error, http://arxiv.org/abs/1409.4842
GoogLeNet叫做Inception-v1,Inception v1的网络,将1x1,3x3,5x5的conv和3x3的pooling,stack在一起,一方面增加了网络的width,另一方面使用 MLPConv 和全局平均池化,扩宽卷积层网络宽度,增加了网络对尺度的适应性;;
-------------------------------------------------------------------------------------------------------------------
[v2] Batch Normalization: Accelerating Deep Network Training by Reducing
Internal Covariate Shift, 4.8% test error, http://arxiv.org/abs/1502.03167
Inception-v2的网络在v1的基础上,进行了改进,一方面了加入了Batch
Normalization,代替 Dropout 和 LRN,减少了Internal
Covariate Shift(内部neuron的数据分布发生变化),使每一层的输出都规范化到一个N(0, 1)的高斯,其正则化的效果让大型卷积网络的训练速度加快很多倍,同时收敛后的分类准确率也可以得到大幅提高;另外一方面学习VGG用2个3x3的conv替代inception模块中的5x5,既降低了参数数量,也加速计算;
-----------------------------------------------------------------------------------------------------------------
[v3] Rethinking the Inception Architecture for Computer Vision, 3.5%
test error, http://arxiv.org/abs/1512.00567
Inception-v3一个最重要的改进是分解(Factorization),将7x7分解成两个一维的卷积(1x7,7x1),3x3也是一样(1x3,3x1),这样的好处,既可以加速计算(多余的计算能力可以用来加深网络),又可以将1个较大的conv拆成2个较小conv,使得网络深度进一步增加,增加了网络的非线性,还有值得注意的地方是网络输入从224x224变为了299x299,更加精细设计了35x35/17x17/8x8的模块;
-----------------------------------------------------------------------------------------------------------------
[v4] Inception-v4, Inception-ResNet and the Impact of Residual Connections
on Learning, 3.08% test error, http://arxiv.org/abs/1602.07261
Inception-v4研究了Inception模块结合Residual
Connection能不能有改进?发现ResNet的结构可以极大地加速训练,同时性能也有提升,得到一个Inception-ResNet v2网络,同时还设计了一个更深更优化的Inception v4模型,能达到与Inception-ResNet v2相媲美的性能
-----------------------------------------------------------------------------------------------------------------
Inception-v4共有四种结构:(其中k,l,m,n表示filter
bank size)
1、不包含Residual
connection结构的;
2、包含Residual
connection结构的;
3、Inception-ResNet-v1
4、Inception-ResNet-v2。
当卷积核个数超过1000时,训练将会变得不稳定,在训练的早期,网络“died”。这是缩小Residuals有助于稳定训练,缩小因子介于0.1到0.3。
He在训练Residual Net时也发现这个问题,提出了“two phase”训练。首先“warm up”,使用较小的学习率。接着再使用较大的学习率。
使用Momentum + SGM,momentum=0.9。使用RMSProp,decay为0.9,ϵ=1.0。
学习率为0.045,每2个epoch缩小为原理的0.94。
-----------------------------------------------------------------------END------------------------------------------------------------------------------
到最后,我有一个Question:
如何来设计这些inception啊,是有什么依据呢?还是逐个实验呢?需大牛解答~~~
代码:https://github.com/gu-yan/mlAlgorithms/blob/master/inception_impl/Inception_resnet_v2_temsorflow.py
先贴出模型:
Inception V4:https://raw.githubusercontent.com/titu1994/Inception-v4/master/Architectures/Inception-v4.png
图片来自:http://blog.csdn.net/lynnandwei/article/details/53736235
Inecption Res-v2 :
图片来自:http://blog.csdn.net/lynnandwei/article/details/53736235
Residual连接训练更深的网络变得容易。Inception结构也使得网络变深。将Residual连接添加到Inception结构中,就可以用残差网络来训练Inception,且保留计算的高效性。
Inception结构最初由GoogLeNet引入:
相关博文:http://blog.csdn.net/u014114990/article/details/52583912
http://www.cnblogs.com/haiyang21/p/7243200.html
-----------------------------------------------------------------------------------------------------------------
[v1] Going Deeper with Convolutions, 6.67% test error, http://arxiv.org/abs/1409.4842
GoogLeNet叫做Inception-v1,Inception v1的网络,将1x1,3x3,5x5的conv和3x3的pooling,stack在一起,一方面增加了网络的width,另一方面使用 MLPConv 和全局平均池化,扩宽卷积层网络宽度,增加了网络对尺度的适应性;;
-------------------------------------------------------------------------------------------------------------------
[v2] Batch Normalization: Accelerating Deep Network Training by Reducing
Internal Covariate Shift, 4.8% test error, http://arxiv.org/abs/1502.03167
Inception-v2的网络在v1的基础上,进行了改进,一方面了加入了Batch
Normalization,代替 Dropout 和 LRN,减少了Internal
Covariate Shift(内部neuron的数据分布发生变化),使每一层的输出都规范化到一个N(0, 1)的高斯,其正则化的效果让大型卷积网络的训练速度加快很多倍,同时收敛后的分类准确率也可以得到大幅提高;另外一方面学习VGG用2个3x3的conv替代inception模块中的5x5,既降低了参数数量,也加速计算;
-----------------------------------------------------------------------------------------------------------------
[v3] Rethinking the Inception Architecture for Computer Vision, 3.5%
test error, http://arxiv.org/abs/1512.00567
Inception-v3一个最重要的改进是分解(Factorization),将7x7分解成两个一维的卷积(1x7,7x1),3x3也是一样(1x3,3x1),这样的好处,既可以加速计算(多余的计算能力可以用来加深网络),又可以将1个较大的conv拆成2个较小conv,使得网络深度进一步增加,增加了网络的非线性,还有值得注意的地方是网络输入从224x224变为了299x299,更加精细设计了35x35/17x17/8x8的模块;
-----------------------------------------------------------------------------------------------------------------
[v4] Inception-v4, Inception-ResNet and the Impact of Residual Connections
on Learning, 3.08% test error, http://arxiv.org/abs/1602.07261
Inception-v4研究了Inception模块结合Residual
Connection能不能有改进?发现ResNet的结构可以极大地加速训练,同时性能也有提升,得到一个Inception-ResNet v2网络,同时还设计了一个更深更优化的Inception v4模型,能达到与Inception-ResNet v2相媲美的性能
-----------------------------------------------------------------------------------------------------------------
Inception-v4共有四种结构:(其中k,l,m,n表示filter
bank size)
1、不包含Residual
connection结构的;
2、包含Residual
connection结构的;
3、Inception-ResNet-v1
4、Inception-ResNet-v2。
缩放Residuals
当卷积核个数超过1000时,训练将会变得不稳定,在训练的早期,网络“died”。这是缩小Residuals有助于稳定训练,缩小因子介于0.1到0.3。He在训练Residual Net时也发现这个问题,提出了“two phase”训练。首先“warm up”,使用较小的学习率。接着再使用较大的学习率。
训练方法
使用Momentum + SGM,momentum=0.9。使用RMSProp,decay为0.9,ϵ=1.0。学习率为0.045,每2个epoch缩小为原理的0.94。
实验结果
-----------------------------------------------------------------------END------------------------------------------------------------------------------
到最后,我有一个Question:
如何来设计这些inception啊,是有什么依据呢?还是逐个实验呢?需大牛解答~~~
相关文章推荐
- 论文笔记 | Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
- 《Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning》笔记
- Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning 论文笔记
- Inception系列3_Inception-v4:Inception-ResNet and the Impact of Residual Connections on Learning
- How to design DL model(2):Inception(v4)-ResNet and the Impact of Residual Connections on Learning
- Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
- GoogleNetV4 Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
- Inception-ResNet and the Impact of Residual Connections on Learning 论文阅读
- googLeNet--Inception四部曲四Inception-ResNet and the Impact of Residual Connections on Learning
- Theano-Deep Learning Tutorials 笔记:Modeling and generating sequences of polyphonic music with the RNN
- The Evolution Of LINQ And Its Impact On The Design Of C#
- Machine-Learning Maestro Michael Jordan on the Delusions of Big Data and Other Huge Engineering Effo
- [论文笔记] The Impact of Service Pricing Models on Service Selection (ICIW, 2009)
- The Design and Implementation of Two-dimensional Vector Graphics Interactive Tools Based on “Smart Handle”
- [笔记] How to get the versionCode and versionName of your app
- Machine Learning—Mixtures of Gaussians and the EM algorithm
- The State of Visual Analytics Views on what visual analytics is and where it is going
- The Idea of Combining Random Matrix and Graphical Models in Machine Learning
- A Novel Approach to Improvingthe Efficiency of Storing and Accessing Small Files on Hadoop: a Case S
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(一)