人工智能算法-inception v1 v2 v3 v4 resnet densenet

Inception v1

inception 的核心就是把google net的某一些打的卷积层换成 11 33 5*5 的小卷积,这样可以大大的减少权值参数数量,下图


例子:比如这一层本来是2828大小的卷积核,一共输出224层,换成inception以后就是64层11,128层33,32层55。这样最后依然是224层,但是参数个数明显减少,
28*28*224变成了64*1*1+128*3*3+32*5*5
人工智能算法-inception v1 v2 v3 v4 resnet densenet_第1张图片

def inception(net):
    with tf.variable_scope('Branch_1'):
            tower_conv_1 = slim.conv2d(net, 64, 1, scope='Conv2d_1x1')
    with tf.variable_scope('Branch_3'):
            tower_conv_3 = slim.conv2d(net, 128, 3, scope='Conv2d_3x3')
    with tf.variable_scope('Branch_5'):
            tower_conv_5 = slim.conv2d(net, 32, 5, scope='Conv2d_5x5')

    mixed = tf.concat([tower_conv_1, tower_conv_3, tower_conv_5], 3)

    return mixed

既然变小,为什么不直接使用11的,而还需要33,5*5,这样是为了适应更多的尺度,保证输入图像即使被缩放也还是可以正常工作,毕竟相等于有个金字塔去检测了

Inception v2

下图为inception v2
人工智能算法-inception v1 v2 v3 v4 resnet densenet_第2张图片
inception v2其实在网络上没有什么改动,只是在输入的时候增加了batch_normal,所以他的论文名字也是叫batch_normal,加了这个以后训练起来收敛更快,学习起来自然更高效,可以减少dropout的使用,他的normalization的过程是这样的
人工智能算法-inception v1 v2 v3 v4 resnet densenet_第3张图片
其实也是个很简单的正则化处理,这样保障出现过的最大值为1,最小值为0,所有输出保障在0-1之间。
论文还提到了batch_normal
人工智能算法-inception v1 v2 v3 v4 resnet densenet_第4张图片
当然,有了batch_normal并不是完整的inception V2,官方定义这个叫做V1的加强版,后来google又出了一篇新论文,把55的卷积改成了两个33的卷积串联,它说一个55的卷积看起来像是一个55的全连接,所以干脆用两个3*3的卷积,第一层是卷积,第二层相当于全连接,这样可以增加网络的深度,并且减少了很多参数。

Inception v3

inception V3把googlenet里一些77的卷积变成了17和71的两层串联,33的也一样,变成了13和31,这样加速了计算,还增加了网络的非线性,减小过拟合的概率。另外,网络的输入从224改成了299.

Inception V4

inception v4实际上是把原来的inception加上了resnet的方法,从一个节点能够跳过一些节点直接连入之后的一些节点,并且残差也跟着过去一个。
另外就是V4把一个先11再33那步换成了先33再11.
论文说引入resnet不是用来提高深度,进而提高准确度的,只是用来提高速度的。

Resnet

Densenet

论文

[v1] Going Deeper with Convolutions, 6.67% test error, http://arxiv.org/abs/1409.4842
[v2] Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift, 4.8% test error, http://arxiv.org/abs/1502.03167
[v3] Rethinking the Inception Architecture for Computer Vision, 3.5% test error, http://arxiv.org/abs/1512.00567
[v4] Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning, 3.08% test error, http://arxiv.org/abs/1602.07261

你可能感兴趣的:(人工智能,Inception-v3,inception)