3.2 卷积神经网络进阶-Vggnet-Resnet

4.2.2 卷积神经网络进阶(Vggnet-Resnet)

  • VGGNet

    • 调参经验网络

      • 更深层次的神经网络
      • 多使用3*3的卷积核
        • 2个3x3的卷积层能够看作一层5x5的卷积层
        • 3个3x3的卷积层能够看作一层7x7的卷积层
      • 1x1的卷积层能够看作是非线性变换
      • 每通过一个pooling层,通道数目翻倍
    • 视野域:2个3*3 = 1个5*5,由于,他们能够看到的视野区域是同样的ide

      image.png

      • 好处:
        • 2层比1层更多一次的非线性变换
        • 参数下降28%((5*5-2*3*3)/5*5
    • 多使用1*1的卷积核学习

      1*1的卷积核至关于一次非线性变换。(当卷积核是1*1的时候,至关因而在作全链接,只不过这个全链接是纵向的,是在通道上的)优化

      咱们能够经过这种方式对通道进行降维的操做,即便得输出通道的数目小于输入通道的数目code

      1*1的卷积核能够在加多个这种操做的状况下也不损失信息cdn

      image.png

    • 从11层递增至19层的过程blog

      每个版本都是在每一层的后面加一些卷积层,这是由于开始输入的图像比较大,计算比较耗时,不过通过两个maxpooling以后,图像就变的比较小了,这个时候多加几个卷积层以后所耗的损失也没有那么大it

      image.png

      LRN 归一化,已经快过期了io

      基于VGGVet,咱们能够配置出各类各样的网络机构,整体参数样本也能够保持不变class

    • 训练技巧

      • 先训练浅层网络如A ,再去训练深层网络
      • 多尺度输入
        • 不一样的尺度训练多个分类器,而后作ensemble
        • 随机使用不一样的尺度缩放而后输入进分类器进行训练
  • ResNet

    VGGNet是将网络层次加深,可是加深到必定程度之后,再加深效果也不能提高效果了。ResNet就是解决了这样一个问题,可让网络不停的加深,最多能够加深到1000多层

    image.png

    • 加深层次的问题

      • 模型深度达到某个程度后继续加深会致使训练集准确率降低

        image.png

        image.png

    • 加深层次的问题解决

      • 假设:深层网络更难优化而不是学不到东西,ResNet基于这种假设解决了这个加深层次的问题
        • 深层网络至少能够和浅层网络持平
        • y=x,虽然增长了深度,但偏差不会增长
    • 模型结构

      • Identity部分是恒等变化

        这样若是F(x)=0,也就是说F(x)没有学到东西,那么咱们能够把他忽略掉,而保留恒等变换X,这样至少可让他和浅层的神经网络持平

        可是他的层次会更深,这样一旦Fx确实学到了一些东西,那么他就能够继续加强这个效果

        image.png

      • F(x)是残差学习,ResNet叫作残差网络,这是ResNet的一个基本原理

      • ResNet-34与ResNet-101使用的子结构(34,101表明层次)

        image.png

        下面是更多的层次结构的说明

        方括号里的是残差子结构。通过卷积层以后没有全链接层,由于没有了全链接层,咱们就能够将全链接层的参数分摊到卷积层,在这里参数数目能够必定程度上反映模型的容量,参数数目越多,就能够学到更多的东西。

        可是参数数目多会致使过拟合,为了使得模型容量是必定的,咱们在这里就弱化了全链接层,强化了卷积层

        image.png

        • 先用一个普通的卷积层, stride=2
        • 再通过一个3*3的max_ _pooling
        • 再通过残差结构
        • 没有中间的全链接层,直接到输出
      • 残差结构使得网络须要学习的知识变少,容易学习

      • 残差结构使得每一层的数据分布接近,容易学习

相关文章
相关标签/搜索