计算机系统应用教程网站

网站首页 > 技术文章 正文

卷积神经网络图片分类模型之Inception-ResNet

btikc 2024-09-16 13:01:11 技术文章 22 ℃ 0 评论

在Inception-ResNet 中,使用了更廉价的Inception 块:inception 模块的池化运算由残差连接替代。

在Reduction 模块中能够找到池化运算。

Inception ResNet 有两个版本:v1 和 v2 。

  • v1 的计算成本和Inception v3 的接近,v2 的计算成本和Inception v4 的接近。
  • v1 和v2 具有不同的stem 。
  • 两个版本都有相同的模块A、B、C 和缩减块结构,唯一不同在于超参数设置。

Inception-ResNet-v1 结构如下:

stem 部分的结构:

Inception-ResNet-A模块(这样的模块有5个):

Inception-B模块(这样的模块有10个):

Inception-C模块(这样的模块有5个):

  • Reduction-A模块:同inception_v4 的 Reduction-A模块
  • Reduction-B模块:

Inception-ResNet-v2 结构与Inception-ResNet-v1 基本相同 :

  • stem 部分的结构:同inception_v4 的 stem 部分。
  • Inception-ResNet-v2 使用了inception v4 的 stem 部分,因此后续的通道数量与Inception-ResNet-v1 不同。
  • Inception-ResNet-A模块(这样的模块有5个):它的结构与Inception-ResNet-v1 的Inception-ResNet-A相同,只是通道数发生了改变。

Inception-B模块(这样的模块有10个):它的结构与Inception-ResNet-v1 的Inception-ResNet-B相同,只是通道数发生了改变。

Inception-C模块(这样的模块有5个):它的结构与Inception-ResNet-v1 的Inception-ResNet-C相同,只是通道数发生变化

  • Reduction-A模块:同inception_v4 的 Reduction-A模块。
  • Reduction-B模块:它的结构与Inception-ResNet-v1 的Reduction-B相同,只是通道数发生了改变。

如果滤波器数量超过1000,则残差网络开始出现不稳定,同时网络会在训练过程早期出现“死亡”:经过成千上万次迭代之后,在平均池化之前的层开始只生成 0 。

解决方案:在残差模块添加到activation 激活层之前,对其进行缩放能够稳定训练。降低学习率或者增加额外的BN都无法避免这种状况。

这就是Inception ResNet 中的 Inception-A,Inception-B,Inception-C 为何如此设计的原因。

  • 将Inception-A,Inception-B,Inception-C 放置在两个Relu activation 之间。
  • 通过线性的1x1 Conv(不带激活函数)来执行对残差的线性缩放。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表