LeNet5、AlexNet、VGGNet、ResNet

1. 经典的卷积神经网络框架:LeNet5、AlexNet、VGGNet

1.1LeNet5

LeNet5不带输入层,一共有7层,可训练参数的层数为 5。

INPUT-卷积C1-池化S2-卷积C3-池化S4-卷积C5-全链接F6-全链接OUTPUT

INPUT的尺寸统一归一化为32*32*1 。

卷积:卷积核大小5×5,步长:1

池化:平均

激活函数:双曲正切(Tanh)或S(Sigmoid)的激活函数

1.2AlexNet

 

AlexNet 结构:

  • 输入层:图像大小为 227×227×3,其中 3 表示输入图像的 channel 数(R,G,B)为 3。
  • 卷积层:filter 大小 11×11,filter 个数 96,卷积步长 ?=4。(filter 大小只列出了宽和高,filter矩阵的 channel 数和输入图片的 channel 数一样,在这里没有列出)
  • 池化层:max pooling,filter 大小 3×3,步长 ?=2
  • 卷积层:filter 大小 5×5,filter 个数 256,步长 ?=1,padding 使用 same convolution,即使得卷积层输出图像和输入图像在宽和高上保持不变。
  • 池化层:max pooling,filter 大小 3×3,步长 ?=2
  • 卷积层:filter 大小 3×3,filter 个数 384,步长 ?=1,padding 使用 same convolution。
  • 卷积层:filter 大小 3×3,filter 个数 384,步长 ?=1,padding 使用 same convolution。
  • 卷积层:filter 大小 3×3,filter 个数 256,步长 ?=1,padding 使用 same convolution。
  • 池化层:max pooling,filter 大小 3×3,步长 ?=2;池化操作结束后,将大小为  6×6×256 的输出矩阵 flatten 成一个 9216 维的向量。
  • 全连接层:neuron 数量为 4096。
  • 全连接层:neuron 数量为 4096。
  • 全连接层,输出层:softmax 激活函数,neuron 数量为 1000,代表 1000 个类别。

池化:最大化

激活函数:ReLU

1.3VGGNet

 VGG-16 结构:

  • 输入层
  • 卷积层-卷积层
  • 池化层
  • 卷积层-卷积层
  • 池化层
  • 卷积层-卷积层-卷积层
  • 池化层
  • 卷积层-卷积层-卷积层
  • 池化层
  • 卷积层-卷积层-卷积层
  • 池化层
  • 全连接层
  • 全连接层
  • 全连接层,输出层

卷积层:filter 宽和高都是 3,步长为 1,padding 都使用 same convolution

池化层:filter 宽和高都是 2,步长都是 2。

随着网络的加深,图像的高度和宽度都在以一定的规律不断缩小,每次池化后刚好缩小一半,而通道数量在不断增加,而且刚好也是在每组卷积操作后增加一倍。也就是说,图像缩小的比例和通道数增加的比例是有规律的。

2.ResNet

  • 网络的深度为什么重要?

       因为CNN能够提取low/mid/high-level的特征,网络的层数越多,意味着能够提取到不同level的特征越丰富。并且,越深的网 络提取的特征越抽象,越具有语义信息。

  • 为什么不能简单地增加网络层数?

       对于原来的网络,如果简单地增加深度,会导致梯度弥散或梯度爆炸。解决该问题的方法:This problem,however, has been largely addressed by normalized initialization and intermediate normalization layers, which enable networks with tens of layers to start converging for stochastic gradient descent (SGD) with backpropagation。这样可以训练几十层的网络。但是又会出现另一个问题,就是退化问题,网络层数增加,但是在训练集上的准确率却饱和甚至下降了。(这个不能解释为overfitting,因为overfit应该表现为在训练集上表现更好才对)

        解决退化问题:深度残差网络。

ResNet提出了两种mapping:一种是identity mapping,指的就是图1中”弯弯的曲线”,另一种residual mapping,指的就是除了”弯弯的曲线“那部分,所以最后的输出是 y=F(x)+xy=F(x)+x
identity mapping就是公式中的x,而residual mapping指的是“差”,也就是y−x,所以残差指的就是F(x)部分。

  • \oplusConnection有两种方式:

              (1)shortcut同等维度映射,F(x)与x相加就是就是逐元素相加

                                                    y=F(x,Wi)+xy=F(x,Wi​)+x
                                                    F=W2σ(W1x)F=W2​σ(W1​x)

              (2)如果两者维度不同,有两种可选方案:

                      (2.1)直接通过zero padding 来增加维度(channel)。

                      (2.2) 给x执行一个线性映射来匹配维度。实现是用1x1卷积实现的,直接改变1x1卷积的filters数目。这种会增加参数。

 

  • 如果F(x)与x的channels不同,分别是3x3x64和3x3x128的卷积操作,他们的channel个数不同(64和128),所以采用计算方式:

             其中W是卷积操作(用128个(3x3)x64的filter),用来调整x的channel维度的。

ResNetX的网络结构

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值