NiN(Network in Network)是一种在深度学习中提升模型表达能力的卷积神经网络(CNN)结构。它通过嵌入更强大的特征变换来增强传统卷积网络的性能。本文将带您了解NiN的基本原理、核心结构以及它在计算机视觉领域的应用。
一、NiN 的核心概念
NiN 由 Min Lin 等人于 2013 年提出,旨在解决传统 CNN 网络架构中存在的两大问题:
特征表达力不足:传统卷积网络中,卷积层只能提取局部空间信息,而无法很好地组合这些信息形成全局性特征。
层数较浅,难以建模复杂关系:当网络层数增加时,信息的传递会减弱,导致深层特征表示的丢失。
为了解决这些问题,NiN 提出了 “网络中的网络” 概念。即在传统卷积操作后引入更复杂的多层感知器(MLP)结构,用于学习局部卷积特征的非线性组合,从而实现更强的特征表达能力。
二、NiN 的结构解析
NiN 的核心结构是 MLPConv 层,它在传统的卷积层之后增加了 1x1 的卷积核。1x1 卷积核的作用是将通道间的信息重新组合,就像一个小型的神经网络层。NiN 网络主要包含以下三部分:
MLPConv 层:这是 NiN 的核心组件,通过多个 1x1 卷积层(每层包含非线性激活函数 ReLU)组合成小型网络,使得每个卷积输出的特征图都经过一系列的非线性变换,从而提升了模型的表达能力。
全局平均池化层:NiN 摒弃了传统的全连接层,转而使用全局平均池化(Global Average Pooling, GAP)来代替。这种方式不仅减少了参数量,还能够有效避免过拟合ÿ