现代神经网络QA(LeNet/AlexNet/VGG/NiN/GooleNet/ResNet)-----一篇搞懂

ops/2025/2/14 0:52:25/

现代神经网络Q&A-----一篇搞懂

LeNet核心架构

经典卷积神经网络的包括:

  1. 带填充以保持分辨率的卷积层;
  2. 非线性激活函数,如ReLU;
  3. 汇聚层,如最大汇聚层。

在这里插入图片描述

  1. pooling时,使用avg还是max?

    • max:侧重该感受野的最大信息量(有没有鸟)
    • avg:侧重整个感受野的各项信息量
  2. 一层卷积为什么从1个通道变成6个通道?

    一个通道是灰度图(28 * 28 * 1) 使用6个权重不同的卷积核分别对图像卷积操作,每个卷积核得到一个feature map特征图,则变成6个通道。

  3. 卷积只能做图像吗?可以做时序任务吗?

    没问题,二维卷积变成一维即可。

  4. sigmoid换成relu可以吗?替换之后为什么模型不收敛,有什么区别?

    sigmoid原Learning rate为0.9,后改为relu可以将Learning rate改为0.1,即可收敛,人工调参。

  5. 如何可视化网络学到的东西?

    CNN Explainer (poloclub.github.io)

    clicking on topmost first conv. layer activation map

    直接在网页中动态查看即可,十分直观。

  6. LeNet卷积层通道数扩大到了16,这意味着信息被放大了吗?

    • 通常,高宽减半,通道数加倍;

    • 每个通道对应一个独立的特征检测器(如边缘、纹理等模式识别),也就是说每个特征图可以看做某些特定模式的识别,特征图变小,但是通道数增多,意味着能识别这些模式的神经元变多了,并且一个位置能编码更丰富的语义信息。

  7. mlp和cnn使用哪个?

    数据不大mlp没问题,当然都可以尝试;数据集很大则放弃mlp,很有可能overfitting

AlexNet核心架构
  • 是更大更深的LeNet,10x参数个数,260x计算复杂度
  • 新加:dropout丢弃法,reLu,最大池化层,数据增强
  • AlexNet由八层组成:五个卷积层、两个全连接隐藏层和一个全连接输出层。

在这里插入图片描述

AlexNet VS LeNet

左LeNet,右AlexNet

在这里插入图片描述

  1. AlexNet 池化层放到不同卷积层之后,效果一样吗?

    这个需要自己尝试。

  2. Local Response Normalizaon有什么意义?

    • 模拟神经元的侧抑制机制。其主要作用是增强局部区域内的激活响应,同时抑制周围区域的激活,以提高模型的感知能力。
    • LRN会增加计算复杂度和内存消耗,而对模型性能的提升有限
    • 其实LRN和ReLU作用相差不大,后面也没用LRN
  3. dropout有什么用?

    为了正则化,通过随机删除部分神经元的活动,来缓解模型的复杂性,防止过拟合

  4. 如果网络输入size固定,实际图片输入时会resize吗?

    不会,保持图片比例,垂直水平方向会切边。

  5. 为什么要有两个相同的Dense(4096)?

    两个较大的全连接层有较好的效果。

  6. 全连接层的参数量占据大多数,有什么必要作用?

    • 全连接层需要捕获整体结构的信息,在图像分类任务中,全连接层可以帮助识别图像的整体形状或颜色模式,而不是仅仅关注局部细节

    • 全连接层可以将多个不同层次的神经元(如卷积层中的各个池化层输出)通过线性变换连接起来。

  7. 为什么AlexNet新增加了3层384输出的卷积层,有什么道理?

    没有特别的原因,试出来性能好。

VGG核心架构

img

One VGG Block重复n次,每个Block包括以下序列:

  1. 带填充以保持分辨率的卷积层;3×3; pad 1
  2. 非线性激活函数,如ReLU;
  3. 汇聚层,如最大汇聚层;2×2;stride 2
参数计算:
  • 卷积层需要较少的参数:
    c i × c 0 × k 2 ( 输入通道 × 输出通道 × k e r n e l 大小 ) c_i×c_0×k^2 (输入通道×输出通道×kernel大小) ci×c0×k2(输入通道×输出通道×kernel大小)

  • 但卷积层后的第一个全连接层的参数

    • LeNet 16x5x5x120=48k
    • AlexNet 256x5x5x4096=26M
    • VGG 512x7x7x4096=102M
VGG VS AlexNet

在这里插入图片描述

**VGG16:**13卷积层+3全连接层

  1. 训练损失一直下降测试损失从开始起就一点不降成水平状是什么原因呢?

代码有问题;或者是过拟合overfitting了,测试集和训练集差距很大。

  1. 为什么VGG(1,1,224,224)的输入高宽减半后,通道数是64?

    通道数和高宽减半无关,通道数是人工设置的kernel数量(也就是该卷积层输出通道)

NiN核心架构
  • 无全连接层 参数少
  • 交替使用NiN块和步幅为2的最大池化层逐步减小高宽和增大通道数
  • 最后使用全局平均池化层得到输出其输入通道数是类别数
NiN VS VGG

在这里插入图片描述

  1. 一个超级宽的:单隐藏层难以训练是因为显存不够大吗?

    很容易过拟合。

  2. 全局池化层的设计是否很关键?

    代替全连接层,通道数不变,将卷积输出的feature mapping高宽变成1,把输入变小了,并且没有可学习的参数;将模型复杂度降低,提升泛化性,但是收敛变慢了,需要训练时长变长,但是精度会高一些。

  3. NiN Block为什么选用2个1×1Conv?

    可以试一下。。。

  4. 分类不用做softmax吗?

    softmax写在了交叉损失熵Loss函数中,不会出现在网络代码中

  5. 两个1×1Conv对每个像素增加了非线性性,为什么?

    • 1×1Conv 输入输出的宽高不变,通道数改变
    • 理解:将某一像素点视为样本,该像素点的通道视为特征的全连接。
    • 相当于2个隐含层的mlp,存在ReLU,增加了非线性性
ResNet核心架构

是否越深越好?
在这里插入图片描述

架构:左侧正常块,右侧残差块

  • ResNet残差块高宽减半 步幅2
  • 后接多个正常块

在这里插入图片描述

  • 残差块使得很深的网络更加容易训练甚至可以训练一千层的网络
  • 残差网络对随后的深层神经网络设计产生了深远影响,无论是卷积类网络还是全连接类网络。
  1. 为什么lenet batch size大于1000收敛会有问题?会有什么样的问题?nan还是?

    • 较大的batch size可以提高内存利用率,减少每个epoch所需的迭代次数,从而加快训练速度。然而,过大的batch size可能导致内存不足,影响训练效率
    • batch size大于1000可能会出现特征图相似情况,计算类似,影响收敛精度。
  2. f(x)=x+g(x),这样就能保证至少不会变坏吗?如果g(x)不是变好也不是什么都不干,而是变坏了呢?

    g(x)是训练出来的,如果不好,权重也就不会更新,通常情况不会使模型变坏。

  3. cos学习率会比step 或者固定学习率好吗?

    足够多的时间做微调。

  4. 测试精度一定比训练精度低吗?

    • 不一定,如果训练数据大量噪声,测试数据没有,测试精度可能会比训练精度高。

    • 训练噪音使得模型鲁棒性提高,泛化能力变强


http://www.ppmy.cn/ops/158180.html

相关文章

【Rust中级教程】1.5. 内存 Pt.3:深入探究Rust堆内存底层实现

喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 1.5.1. 堆内存(Heap) Heap意味着混乱,而stack则相对比较整齐。Heap是一个内存池…

计算机网络和操作系统常见面试题目(带脑图,做了延伸以防面试官深入提问)

呜哦~~(✪▽✪)曼波~~~~ 今天我们来聊聊计算机网络和操作系统的面试题目吧!这些题目是面试中经常遇到的,曼波觉得掌握它们对面试非常有帮助哦!(๑✧◡✧๑) --- 1. 计算机网络面试题目 1.1 OSI 七层模型是什么? 回答&#xff…

智能背后的阴影:LLM安全风险

智能化与危机并行:解读LLM安全隐忧 ©作者|Lorne 来源|神州问学 一、背景 Background 图1:LLM潜在隐患 近年来,大语言模型(Large Language Model, LLM)研究的热度持续攀升。自ChatGPT问世并迅速走红以来&#xf…

数据结构——【二叉树模版】

#思路 1、二叉树不同于数的构建,在树节点类中,有数据,左子结点,右子节点三个属性,在树类的构造函数中,添加了变量maxNodes,用于后续列表索引的判断 2.GetTreeNode()函数是常用方法,…

NO.15十六届蓝桥杯备战|while循环|六道练习(C++)

while循环 while语法形式 while 语句的语法结构和 if 语句⾮常相似,但不同的是 while 是⽤来实现循环的, if 是⽆法实现循环的。 下⾯是 while 循环的语法形式: //形式1 while ( 表达式 )语句; //形式2 //如果循环体想包含更多的语句&a…

最新消息 | 德思特荣获中国创新创业大赛暨广州科技创新创业大赛三等奖!

2024年12月30日,广州市科技局公开第十三届中国创新创业大赛(广东广州赛区)暨2024年广州科技创新创业大赛决赛成绩及拟获奖企业名单,德思特获得了智能与新能源汽车初创组【第六名】【三等奖】的好成绩! 关于德思特&…

Vim操作笔记

注:本篇文章是追加笔记,用于记录自己的常用操作。 将文本中A字符串替换成B字符串 基本语法: :{范围}s/{目标}/{替换}/{标志} 作用范围 分为前行(:s)、全文(:%s)、选区(:start,ends)等。选区可以在Visual模式下选择区域后输入&#xff1a…

大数据和数据科学——解锁数据潜力,驱动创新与洞察

在当今数字化时代,数据量呈爆炸式增长,大数据和数据科学已成为企业获取竞争优势、推动创新和实现业务转型的关键技术。《DAMA数据管理知识体系指南(第二版)》的第十四章深入探讨了大数据和数据科学的定义、业务驱动因素、活动、工…