Pytorch学习之GoogLeNet实现

一、Inception Module

  1. 本文提出了一种名为Inception的深度卷积神经网络,获得了ILSVRC的检测与分类冠军
  2. Inception提高计算资源率,增加了网络的深度与宽度,参数少量增加。
  3. 借鉴Hebbian principle(赫布理论)和 多尺度处理。
    Pytorch学习之GoogLeNet实现_第1张图片
    左图是简单版本,右图是改进版本。相对于左图,Inception结构1×1 卷积用于降维,作为信息融合的一种方式。
    Inception结构,采用了多尺度卷积(1×1 3×3 5×5)提取不同的特征。1×1 卷积用于降维,作为信息融合的一种方式。3×3 max pooling 保留了特征图数量。

下图是Inception结构简单版本,未引入1×1 卷积。
Naive版本问题:数据量大、计算量大。
Pytorch学习之GoogLeNet实现_第2张图片
1×1 卷积原理及作用:压缩特征厚度,信息融合
Pytorch学习之GoogLeNet实现_第3张图片
下图是改进的inception结构:

  1. 在卷积之前,使用1×1卷积先压缩通道,使整个网络的计算量大大降低。
  2. 在max pooling后,原来通道太大,采用1×1卷积减少通道。
    Pytorch学习之GoogLeNet实现_第4张图片
    如果直接采用3×3的卷积 作用与28×28的图像,则需要参数量为3×3×256×192。加入1×1卷积后,参数量为 1×1×256×64 + 3×3×64×192,参数量明显降低。

二、GoogLeNet 结构

Pytorch学习之GoogLeNet实现_第5张图片
蓝色—卷积
红色—池化
绿色—LRN/特征融合
黄色—激活函数

GoogLeNet可分为3个阶段:

  1. conv-pool-conv-pool 快速降低分辨率。
  2. 堆叠Inception,达22层。
  3. FC层分类输出。

GoogLeNet 还增加了两个辅助损失,缓解了梯度损失。(中间层分类输出层使用)

GoogLeNet参数表:
Pytorch学习之GoogLeNet实现_第6张图片
三、GoogLeNet(Pytorch实现)

你可能感兴趣的:(Pytorch学习,深度学习,卷积,网络,人工智能,计算机视觉)