[动手学习深度学习]26. 网络中的网络 NiN

前面的LeNet、AlexNet、VGG在设计上的共同之处在于:先以卷积层构成的模块充分抽取空间特征,再以全连接层构成的模块来输出分类结果

其中AlexNet和VGG对LeNet的改进主要在于如何对这两个模块价款(增加通道数)和加深

这一节的NiN提出另一个思路:串联多个由卷积层和"全连接"层构成的小网络来构建一个深层网络

(NiN现在用的不多,但是这里提出的思路用的很多)

全连接层的问题

前面几个网络都在最后用了比较大的全连接层,最后再通过一个全连接层进行输出

但是全连接层非常占用空间,网络的所有参数基本都在全连接层

  • 但是最大的问题是,他会带来过拟合

    假如用卷积层,参数个数=输入通道数*输出通道数*窗口的高*窗口的宽

    若用全连接层,参数个数=输入的所有像素*输出的所有像素*窗口的高*窗口的宽

    如上面LeNet:120是输出的隐藏层的大小,16是最后一个卷积层的输出通道数,5是压缩的大小

NiN块

  • 1个卷积层后跟2个全连接层(11的卷积层等价于是全连接层)
    步幅1,无填充,输出形状和卷积层输出一样,也不会改变通道数

    这里两个1
    1的卷积层,其实是当作全连接层用的,他唯一的作用是对每个通道进行混合

NiN架构

  • 无全连接层

  • 交替使用NiN块和步幅为2的最大池化层

    • 逐步减小高宽和增大通道数
  • 最后使用全局平均池化层得到输出

    • 全局平均池化层:池化层的高宽=输入的高宽 -> 取每一个通道的最大值
    • 输入通道数是类别数

    (如:若在最后的全局池化层输入的通道是1000的话,对每一个通道拿出一个值,把这个值当作这个类别的预测,再加上softmax就是类别的概率了)

所以最后也不需要使用全连接层->这是一个非常极端的设计

总结

  • NiN块使用卷积层+2个11卷积层
    1
    1的卷积层充当全连接层,对每个像素增加了非线性
  • NiN使用全局平均池化层来代替VGG和AlexNet中的全连接层
    • 不容易过拟合,更少的参数个数

所以NiN相对于前面结构比较简单,参数个数非常少(因为没有全连接层)

相关推荐
开开心心就好4 小时前
免费刷题软件推荐,支持导入题库自动判题
网络·网络协议·tcp/ip·jupyter·智能手机·电脑·idea
海上小飞龙4 小时前
大模型推理的两阶段:一次 Prefill,加上多次 Decode
人工智能·深度学习·语言模型
m4Rk_4 小时前
【论文阅读】Agent 记忆机制(62):DCM-Agent——用双簇记忆化解优化问题的多范式冲突
论文阅读·人工智能·学习·开源·github
xian_wwq5 小时前
【学习笔记】深度认知系列-第13讲AI Agent时代到来——从“回答问题”到“执行任务”
人工智能·笔记·学习
程序猿炎义5 小时前
【llm-algo-leetcode学习笔记】量化优化手段
笔记·学习
HugoStudio_SWAN5 小时前
洛谷 P10719 \[GESP202406 五级] 黑白格——暴力美学与图像处理的最小外接矩形
c++·图像处理·人工智能·学习·程序人生·算法·目标跟踪
那年窗外下的雪.5 小时前
AIDC 学习日志|第 20 天|多归属业务验收与哈希不均定位
学习·算法·哈希算法
xian_wwq5 小时前
【学习笔记】深度认知系列- 第15讲 AI算力战争——GPU、光通信与太空数据中心
笔记·学习
zhangrelay5 小时前
答疑-是否软件源问题都必须更换为国内呢-
linux·笔记·学习·ubuntu·ros2
zhangrelay5 小时前
《ROS 机器人程序设计》课程教学大纲-2026- kinetic-lyrical
linux·笔记·学习·ubuntu·机器人