up主 刘二大人

视频链接 刘二大人的个人空间_哔哩哔哩_Bilibili

GoogLeNet

如下图所示, 当层数过多时, 为了减少代码冗余即将设计中重复出现的层定义成一个类。

GoogLeNet模型中将这样的模块称之为Inception Module.

 Inception Module

如下图所示为Inception Module设计, 最终这四条路径的输出,按照通道的顺序进行拼接,进而进行下一步。

Inception Module 进一步解读参考如下博客:

        【模型解读】Inception结构,你看懂了吗 - 知乎

 

1*1卷积(Network in Network)

对于多通道输入数据, 每个通道配置一个1*1 卷积核, 输出数据W/H不变, 输出通道数根据卷积核个数变化而变化。

如 (C=Channel=通道数):

        输入数据 3(C) * W * H , 经过1个 3(C)* 1*1 卷积核, 输出为1(C) * W * H;

        输入数据 3(C) * W * H , 经过10个 3(C) * 1*1 卷积核, 输出为10(C) * W * H

得出:

        1*1 卷积核Channel = 输入数据Channel;

        输出数据Channel = C*1*1卷积核的个数

 

1*1 卷积的作用

  • 减少计算量
  • 改变通道数, 从而达到升维/降维的作用

1) 减少计算量

如下示例中,通过1*1 卷积计算量降低1/10 (假设有padding,28个元素都参与运算)

2) 改变通道数

借鉴如下博客:

        一文读懂卷积神经网络中的1x1卷积核 - 知乎

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐