深度学习经典模型之Network in Network

1 Network in Network

1.1 模型介绍

​ Network In Network (NIN)是由 M i n L i n Min Lin MinLin等人提出,在CIFAR-10和CIFAR-100分类任务中达到当时的最好水平,因其网络结构是由三个多层感知机堆叠而被成为NIN [ 5 ] ^{[5]} [5]。NIN以一种全新的角度审视了卷积神经网络中的卷积核设计,通过引入子网络结构代替纯卷积中的线性映射部分,这种形式的网络结构激发了更复杂的卷积神经网络的结构设计,其中下一节中介绍的GoogLeNet的Inception结构就是来源于这个思想。

1.2 模型结构

​ 图 1 NIN网络结构图

​ NIN由三层的多层感知卷积层(MLPConv Layer)构成,每一层多层感知卷积层内部由若干层的局部全连接层和非线性激活函数组成,代替了传统卷积层中采用的线性卷积核。在网络推理(inference)时,这个多层感知器会对输入特征图的局部特征进行划窗计算,并且每个划窗的局部特征图对应的乘积的权重是共享的,这两点是和传统卷积操作完全一致的,最大的不同在于多层感知器对局部特征进行了非线性的映射,而传统卷积的方式是线性的。NIN的网络参数配置表4.4所示(原论文并未给出网络参数,表中参数为编者结合网络结构图和CIFAR-100数据集以 3 × 3 3\times3 3×3卷积为例给出)。

​ 表2 NIN网络参数配置(结合原论文NIN结构和CIFAR-100数据给出)

网络层 输入尺寸 核尺寸 输出尺寸 参数个数
局部全连接层 L 11 L_{11} L11 ∗ ^* ∗ 32 × 32 × 3 32\times32\times3 32×32×3 ( 3 × 3 ) × 16 / 1 (3\times3)\times16/1 (3×3)×16/1 30 × 30 × 16 30\times30\times16 30×30×16 ( 3 × 3 × 3 + 1 ) × 16 (3\times3\times3+1)\times16 (3×3×3+1)×16
全连接层 L 12 L_{12} L12 ∗ ^* ∗ 30 × 30 × 16 30\times30\times16 30×30×16 16 × 16 16\times16 16×16 30 × 30 × 16 30\times30\times16 30×30×16 ( ( 16 + 1 ) × 16 ) ((16+1)\times16) ((16+1)×16)
局部全连接层 L 21 L_{21} L21 30 × 30 × 16 30\times30\times16 30×30×16 ( 3 × 3 ) × 64 / 1 (3\times3)\times64/1 (3×3)×64/1 28 × 28 × 64 28\times28\times64 28×28×64 ( 3 × 3 × 16 + 1 ) × 64 (3\times3\times16+1)\times64 (3×3×16+1)×64
全连接层 L 22 L_{22} L22 28 × 28 × 64 28\times28\times64 28×28×64 64 × 64 64\times64 64×64 28 × 28 × 64 28\times28\times64 28×28×64 ( ( 64 + 1 ) × 64 ) ((64+1)\times64) ((64+1)×64)
局部全连接层 L 31 L_{31} L31 28 × 28 × 64 28\times28\times64 28×28×64 ( 3 × 3 ) × 100 / 1 (3\times3)\times100/1 (3×3)×100/1 26 × 26 × 100 26\times26\times100 26×26×100 ( 3 × 3 × 64 + 1 ) × 100 (3\times3\times64+1)\times100 (3×3×64+1)×100
全连接层 L 32 L_{32} L32 26 × 26 × 100 26\times26\times100 26×26×100 100 × 100 100\times100 100×100 26 × 26 × 100 26\times26\times100 26×26×100 ( ( 100 + 1 ) × 100 ) ((100+1)\times100) ((100+1)×100)
全局平均采样 G A P GAP GAP ∗ ^* ∗ 26 × 26 × 100 26\times26\times100 26×26×100 26 × 26 × 100 / 1 26\times26\times100/1 26×26×100/1 1 × 1 × 100 1\times1\times100 1×1×100 0 0 0

局部全连接层 L 11 L_{11} L11实际上是对原始输入图像进行划窗式的全连接操作,因此划窗得到的输出特征尺寸为 30 × 30 30\times30 30×30( 32 − 3 k + 1 1 s t r i d e = 30 \frac{32-3_k+1}{1_{stride}}=30 1stride32−3k+1=30)

全连接层 L 12 L_{12} L12是紧跟 L 11 L_{11} L11后的全连接操作,输入的特征是划窗后经过激活的局部响应特征,因此仅需连接 L 11 L_{11} L11和 L 12 L_{12} L12的节点即可,而每个局部全连接层和紧接的全连接层构成代替卷积操作的多层感知卷积层(MLPConv)。

全局平均采样层或全局平均池化层 G A P GAP GAP(Global Average Pooling)将 L 32 L_{32} L32输出的每一个特征图进行全局的平均池化操作,直接得到最后的类别数,可以有效地减少参数量。

1.3 模型特点

  • 使用多层感知机结构来代替卷积的滤波操作,不但有效减少卷积核数过多而导致的参数量暴涨问题,还能通过引入非线性的映射来提高模型对特征的抽象能力。
  • 使用全局平均池化来代替最后一个全连接层,能够有效地减少参数量(没有可训练参数),同时池化用到了整个特征图的信息,对空间信息的转换更加鲁棒,最后得到的输出结果可直接作为对应类别的置信度。
相关推荐
Struart_R2 分钟前
Edify 3D: Scalable High-Quality 3D Asset Generation 论文解读
人工智能·深度学习·3d·扩散模型·三维生成·三维资产
forestsea37 分钟前
【Java 解释器模式】实现高扩展性的医学专家诊断规则引擎
java·人工智能·设计模式·解释器模式
九筠44 分钟前
【自然语言处理】word2vec
人工智能·自然语言处理·word2vec
凌虚(失业了求个工作)1 小时前
Web 端语音对话 AI 示例:使用 Whisper 和 llama.cpp 构建语音聊天机器人
前端·人工智能·python·whisper·llama
XinZong1 小时前
【人工智能】利用OpenAI API Key轻松实现全自动数据分析!基础教程(附源码)
人工智能
YRr YRr1 小时前
深度解析神经网络中的最大池化层:工作原理、参数配置与应用示例
人工智能·深度学习·神经网络
爱研究的小牛1 小时前
AIVA 技术浅析(四):捕捉音乐作品中的长期依赖关系
人工智能·rnn·深度学习·aigc·lstm
LokiSan1 小时前
从社交媒体到元宇宙:Facebook未来发展新方向
人工智能·ai·vr·媒体·facebook
静能生慧2 小时前
大模型-微调与对齐-非强化学习的对齐方法
人工智能·深度学习·机器学习·大模型
micro_xx2 小时前
Matlab 深度学习工具箱 案例学习与测试————求二阶微分方程
深度学习·学习·matlab