【动手学深度学习】7.3 网络中的网络(NiN)(个人向笔记)

  • LeNet,AlexNet和VGG都有一个共同的设计模型:通过一系列卷积层和汇聚层来提取空间结构特征,然后通过全连接层对特征的表征进行处理
  • AlexNet和VGG对LeNet的改进主要是在于如何扩大和加深这两个模块
  • 网络中的网络(NIN)提出了:在每个像素的通道上分别使用MLP

1. NiN块

  • 卷积层的输入由四维张量组成:样本,通道,高度和宽度
  • 全连接层的输入和输出分别对应于样本和特征的二维张量。NiN的想法时在每个像素位置(针对每个高度和宽度)应用一个全连接层,如果我们将权重连接到每个空间位置,可以将其视为 1 × 1 1\times1 1×1 的卷积层,或者说是作为每个像素位置上独立作用的全连接层
  • 从另一个角度看,即将空间维度中每个像素视为单个样本,将通道视为不同特征
  • 下图说明了VGG和NiN它们块之间的主要差异。NiN块以一个普通的卷积层开始,后面是两个 1 × 1 1\times1 1×1的卷积层。这两个 1 × 1 1\times1 1×1 充当带有ReLU激活函数的逐像素全连接层。第一层卷积窗口形状由用户设置,随后的卷积窗口形状固定为 1 × 1 1\times1 1×1


2. NiN模型

  • 最初的 NiN 网络是在 AlexNet 后不久提出的,显然它从 AlexNet 中得到了一些启示
  • NiN使用窗口形状为 11 × 11 11\times11 11×11、 5 × 5 5\times5 5×5 和 3 × 3 3\times3 3×3 的卷积层,输出通道数量与AlexNet中的相同。 每个NiN块后有一个最大汇聚层,汇聚窗口形状为 3 × 3 3\times3 3×3,步幅为2
  • NiN和AlexNet之间的一个显著区别是NiN完全取消了全连接层。 相反,NiN使用一个NiN块,其输出通道数等于标签类别的数量。最后放一个全局平均汇聚层(global average pooling layer),生成一个对数几率 (logits)。NiN设计的一个优点是,它显著减少了模型所需参数的数量。然而,在实践中,这种设计有时会增加训练模型的时间

3. 训练模型

相关推荐
峥无11 小时前
C++11 深度详解:现代 C++ 基石全梳理
开发语言·c++·笔记
阿米亚波11 小时前
【C++ STL】std::unordered_multimap
开发语言·数据结构·c++·笔记·stl
中微极客12 小时前
多智能体编排实战:CrewAI vs AutoGen(2026版)
大数据·网络·人工智能
小王C语言12 小时前
【3. 基于 Vibe Coding 的 OJ 平台】. 构建仓库、环境准备、需求梳理、安装依赖
网络·c++
新手unity自用笔记12 小时前
unity网络基础_1
网络·unity·游戏引擎
小王C语言12 小时前
【8.进行接口测试】:通过 curl 进行接口自动化测试 / 通过 python 程序进行接口自动化测试
网络·c++
一条大祥脚12 小时前
26杭电暑期第三场 DP|费用流|分解质因子|数论|贪心|图论|期望|无穷级数
网络·图论·网络流·无穷级数·费用流
早睡早起身体好12313 小时前
为什么 Network 中会出现两个同名请求?——CORS 预检请求学习笔记
网络·笔记·学习·网络安全
sponge'13 小时前
《以场景为中心的无监督视频全景分割》论文框架讲解
人工智能·深度学习
daad77713 小时前
记录matlab状态机demo
java·网络·matlab