AIGC探索之 NiN:深入神经网络的应用与实现

AIGC探索之 NiN:深入神经网络的应用与实现_全连接

引言

深度学习模型的设计直接影响了生成内容的质量和效率。传统的卷积神经网络(CNN)通过卷积和池化层逐步提取特征,但随着任务复杂度的增加,单一的线性层难以有效捕获高阶特征。NiN通过在卷积网络中引入全局平均池化和逐层的全连接网络,以更有效的方式提取数据的非线性特征,从而提升了模型的表达能力。

1. 介绍


前面文章讲到的LeNetAlexNetVGG都有一个共同的设计模式:通过一系列的卷积层与汇聚层来提取空间结构特征;然后通过全连接层对特征的表征进行处理。 AlexNet和VGG对LeNet的改进主要在于如何扩大和加深这两个模块。 或者,可以想象在这个过程的早期使用全连接层。然而,如果使用了全连接层,可能会完全放弃表征的空间结构。 网络中的网络(NiN)提供了一个非常简单的解决方案:在每个像素的通道上分别使用多层感知机

参考文献: Lin, M., Chen, Q., & Yan, S. (2013). Network in network. arXiv preprint arXiv:1312.4400.

2. NiN概述


NiN(Network in Network) 由Min Lin等人于2013年提出。其核心思想是在卷积层之后加入多层感知机(MLP),实现更复杂的特征表达能力。NiN在保持模型计算效率的同时,增强了非线性建模能力,使其在多个任务上都表现出色。

2.1 NiN的架构

NiN主要由以下三部分组成:

  • MLPConv层:在传统的卷积操作后,增加一个逐点卷积,即1x1卷积。这样每个像素点可以通过MLP进行非线性映射。
  • 全局平均池化层(Global Average Pooling):替代了传统的全连接层,减少了参数量,同时避免了过拟合。
  • 分类器:通过Softmax层进行分类输出。

AIGC探索之 NiN:深入神经网络的应用与实现_GAP_02

2.2 NiN相较于传统CNN的优势

  • 参数减少:传统CNN使用大量的全连接层,容易导致过拟合。而NiN使用全局平均池化,显著减少了参数数量。
  • 非线性特征提取:1x1卷积允许模型在每个像素点进行非线性处理,大大增强了特征表达能力。
  • 防止过拟合:通过减少全连接层的使用以及参数量,NiN能够在训练小数据集时表现更好。

AIGC探索之 NiN:深入神经网络的应用与实现_GAP_03

3. NiN的技术原理解析


3.1 MLPConv层

MLPConv层的关键在于1x1卷积,其主要功能是对卷积层输出的特征图进行逐像素的全连接。这种设计使得网络能够学习到更加丰富和复杂的特征。

设输入特征图为 ,其中:

  • 为输入通道数,
  • 分别为特征图的高度和宽度。

1x1卷积操作的输出可以表示为:

对于每个输出通道

  • 是1x1卷积核的权重,
  • 是偏置项。

1x1卷积的作用是将输入的每个像素与所有输入通道的权重相乘,并将结果相加,从而实现逐像素的全连接。这可以理解为在空间上对每个像素点进行全连接,而不是在通道上。

3.2 全局平均池化(GAP)

全局平均池化层(Global Average Pooling)通过计算每个特征图的平均值来替代传统的全连接层。这一操作使得每个特征图都汇聚为一个单一的数值,从而简化了模型并减少了过拟合的风险。

假设卷积层的输出为 ,其中:

  • 为通道数,
  • 为特征图的高度和宽度。

GAP的输出 的计算过程为:

上一篇:SPI的学习


下一篇:多品牌NVR管理工具/设备EasyNVRNVR监测软件/设备HTML5技术B/S架构实时视频监控方案