• 经典模型——NiN&GoogLeNet


    文章目录

    NiN

    全连接层的问题:包含大量的参数。很容易过拟合。

    通常是 输 入 通 道 数 × 图 像 尺 寸 × 输 出 尺 度 输入通道数\times 图像尺寸\times 输出尺度 ××

    NiN的思想是:完全不要全连接层;

    一个NiN块:
    请添加图片描述

    卷积层之后跟两个1x1的卷积,步幅为1,无填充,输出形状和卷积层输出一样。起到了全连接层的作用(按照逐一像素)。

    NiN的架构:

    1. 无全连接层;
    2. 交替使用NiN块和步幅为2的最大池化层(逐步减小高宽和增大通道数);
    3. 最后使用全局平均池化层得到输出(输入通道数是类别数);

    如果我们要得到1000类的话,最后就有1000个通道,每个做全局平均池化得到这一通道对应类的置信度。

    总结:

    1. NiN块使用卷积层+2个1x1卷积层,后者对每个像素增加了非线性;
    2. 全局平均池化代替VGG和AlexNet的全连接层,参数个数少,不容易过拟合。

    请添加图片描述
    参数用了Alex那一套,不过加了一些1x1的卷积。

    GoogleNet

    怎么选择最好的超参数?
    卷积核、池化方式、通道数?

    Inception块:每种卷积都要,最后concatenation(高宽不变,通道数连接)。

    请添加图片描述
    可以看到,白色块的作用都是通过改变通道数来降低模型复杂度(也就是参数量)。蓝色块的作用是抽取信息。

    先降后增的设计思路是bottleneck的感觉。

    Inception块相比单独的3x3或5x5卷积相比,其有更少的参数个数和计算复杂度。

    同时Inception块还增加了其中学习得到的信息的多样性。

    请添加图片描述
    Stage1和Stage2和VGG一致。GoogleNet用了很多NiN的思想,大量地使用1x1卷积减少参数量。

    请添加图片描述
    相比于AlexNet,GoogleNet的卷积核是比较小的,这使得空间信息不会被很快压缩,支撑后续通道数增加时的信息学习。

    同时,空间信息被压缩,我认为也是为了增加通道数的无奈之举,目的是为了减少参数量。

    请添加图片描述
    第三阶段,可以看到通道数还是在增加的,但是每一个Inception块的参数都不一样。值得一提的是,3x3卷积永远是被分配地最多的,这是因为它参数量不大,提取信息的效果也还行。

    Inception块后续有很多变种,V2加入了BN、V3修改了卷积尺寸、V4加入了残差连接。

  • 相关阅读:
    2022-08-02 mysql/stonedb慢SQL-Q18-内存使用暴涨分析
    vue文档学习笔记之列表渲染---展示过滤或排序后的结果
    1589 - Xiangqi (UVA)
    Vue3 使用vite搭建Vue3项目、pinia的使用(笔记)
    Linux中swap几乎耗尽,但物理内存还有空余的现象
    SWT/ANR问题--Dump时间过长导致的SWT
    pytest文档83 - 把收集的 yaml 文件转 Item 用例并运行
    华为OD 完全二叉树非叶子部分后序遍历(200分)【java】A卷+B卷
    Web3.0时代的全新合作模式:DAO
    H5游戏开发-搭建开发环境
  • 原文地址:https://blog.csdn.net/weixin_46365033/article/details/125460173