当前位置: 首页 > news >正文

[动手学习深度学习]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相对于前面结构比较简单,参数个数非常少(因为没有全连接层)

相关文章:

  • 个人blog系统 前后端分离 前端js后端go
  • 【保姆级教程】Windows系统+ollama+Docker+Anythingllm部署deepseek本地知识库问答大模型,可局域网多用户访问
  • 深度学习框架PyTorch——从入门到精通(5)构建神经网络
  • 华为OD机试 - 最长回文字符串 - 贪心算法(Java 2024 E卷 100分)
  • 算法 之 ST表
  • 基于Android语言实现身份证二要素核验-身份证实名认证API
  • 【k8s】serviceaccount是给pod使用的与外部访问k8s无关
  • 深入理解事务
  • GoLang 反射
  • pppd拨号模块的总结【Linux】
  • 【从零开始学习计算机科学与技术】计算机网络(五)网络层
  • 【npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree】
  • 3.4 二分查找专题:LeetCode 69. x 的平方根
  • TCP、UDP协议的应用、ServerSocket和Socket、DatagramSocket和DatagramPacket
  • 查询修改ORACLE的server、客户端和导出dmp文件 字符集编码
  • SpringBoot-2整合MyBatis以及基本的使用方法
  • 大模型学习-让其他电脑可访问本地ollama的模型并进行流式响应
  • AMD锐龙8845HS+780M核显 虚拟机安装macOS 15 Sequoia 15.0.1 (2024.10)
  • 【ELK】节省存储 之 压缩存储方式调整
  • element-ui image 组件源码分享
  • 千亿市值光储龙头董事长向母校合肥工业大学捐赠1亿元
  • 挤占学生伙食费、公务考察到景区旅游……青岛通报5起违规典型问题
  • 第1现场|无军用物资!伊朗港口爆炸已遇难40人伤1200人
  • 朝鲜证实出兵俄罗斯协助收复库尔斯克
  • 加拿大驾车撞人事件遇难人数升到11人
  • 三杀皇马剑指四冠,硬扛到底的巴萨,赢球又赢人