码迷,mamicode.com
首页 > 其他好文 > 详细

inception模型和卷积层的残差连接的keras实现

时间:2018-03-09 11:14:04      阅读:836      评论:0      收藏:0      [点我收藏+]

标签:pool   tensor   pad   pdf   from   文章   get   width   lan   

     Inception模型和Residual残差模型是卷积神经网络中对卷积升级的两个操作。

一、  Inception模型(by google)

     这个模型的trick是将大卷积核变成小卷积核,将多个卷积核的运算结果进行连接,充分利用多尺度信息,这也体现了这篇文章的标题

    Going Deeper with Convolutions。更加深的卷积操作。

     废话不多说,上图

技术分享图片

      注意输入层在底部,输出层在顶部。废话不多说,上keras代码。

 

 1 from keras.layers import Conv2D, MaxPooling2D, Input
 2 
 3 input_img = Input(shape=(256, 256, 3))
 4 
 5 tower_1 = Conv2D(64, (1, 1), padding=same, activation=relu)(input_img)
 6 tower_1 = Conv2D(64, (3, 3), padding=same, activation=relu)(tower_1)
 7 
 8 tower_2 = Conv2D(64, (1, 1), padding=same, activation=relu)(input_img)
 9 tower_2 = Conv2D(64, (5, 5), padding=same, activation=relu)(tower_2)
10 
11 tower_3 = MaxPooling2D((3, 3), strides=(1, 1), padding=same)(input_img)
12 tower_3 = Conv2D(64, (1, 1), padding=same, activation=relu)(tower_3)
13 
14 output = keras.layers.concatenate([tower_1, tower_2, tower_3], axis=1)
最后的concatenate是核心,其实就是连接在一起,比如两列向量和两列向量,连接成四列向量即可。

二、  Residual模型(by microsoft)

这个模型的trick是将进行了一种跨连接操作,将特征跨过一定的操作后在后面进行求和。这个意义一个是减轻梯度消失,
还有个目的其实让后续的卷积结果变得越来越强。DenseNet 其实也是这种思想。

废话不多说,上图

 

         技术分享图片

          从上图看,输出的结果就是X+F(X) 直接相加,逐个元素对应相加,而不是连接。F(X) 是什么呢? 看下图

         技术分享图片

          F(X)实际上就是一个或者多个卷积操作,非常简单直观。废话不多说,上keras代码。下面代码只演示了一个卷积操作。

 

1 from keras.layers import Conv2D, Input
2 
3 # input tensor for a 3-channel 256x256 image
4 x = Input(shape=(256, 256, 3))
5 # 3x3 conv with 3 output channels (same as input channels)
6 y = Conv2D(3, (3, 3), padding=same)(x)
7 # this returns x + y.
8 z = keras.layers.add([x, y])

         以上,就是现在目前最最有效的两种卷积升级操作的keras实现。

参考文献:

      Keras文档

 

 

 

    

inception模型和卷积层的残差连接的keras实现

标签:pool   tensor   pad   pdf   from   文章   get   width   lan   

原文地址:https://www.cnblogs.com/love6tao/p/8532661.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!