ResNet的特点?BN层的目的?模型验证的时候可以用BN吗?

ResNet(残差神经网络)

残差思想:主要目的是为了解决深度神经网络训练过程中的梯度消失和梯度爆炸问题,同时帮助网络更好地学习到特征表示,突出微小的变化,提高网络的性能和泛化能力。从而突出微小的变化

可以被用来训练非常深的网络

亮点

超深的网络结构

提出residual模块

使用Batch Normalization加速训练(丢弃dropout)

Residual结构
  1. 将原本的输入和经过卷积后的输出相加,要注意主分支与shortcut的输出特征矩阵shape必须相同

  2. 残差结构分为好几种,一种为不改变矩阵的长和宽,只改变深度;另外一种为改变矩阵的长和宽,也改变深度。对于不改变矩阵长宽和深度的,只需要直接把输入和输出相加就可以,如果改变了,则输入也要经过卷积后为同样形状方可加减。

Batch Normalization(数据标准化)

BN层的目的是使我们的一批feature map满足均值为0,方差为1的分布规律,从而可以加速收敛

  • 原本我们在输入数据的时候,比如图片处理像素特征,我们会对他进行归一化,使其满足某一分布规律,但经过层层的卷积后,feature map就不一定满足某一分布规律了,而数据标准化(BN)层的目的就是使输入的一批(batch)数据的 feature map满足均值为0,方差为1的分布规律
  • 注意事项:
    1. 训练时候将traning参数设置为true,验证时将trainning参数设置为False,因为训练的时候要统计均值和方差,trainning的时候就要使用之前统计的均值和方差。均值和方差是在正向传播过程中统计得到, γ β在反向传播中统计得到
    2. batch size 尽可能设置大点,设置小后表现可能很糟糕,越大求的均值核方差越接近整个训练集的均值和方差。
    3. 建议将bn层放在卷积层和激活层之间,且卷积层不要使用偏置bias,因为没有用。
迁移学习
  1. 能够快速训练出一个理想结果
  2. 当数据集较小时也能训练出理想效果

注意: 使用别人预训练模型参数时,要注意别人的预处理方式。

ResNeXt

更新了block模块,

通过对卷积过程改进,减少了参数量。

相关推荐
Java小白笔记1 小时前
Codex 桌面应用设置功能完全指南
人工智能·opencv·目标检测·机器学习·计算机视觉·数据挖掘·语音识别
大鱼>2 小时前
Scikit-learn Pipeline:构建可复用的 ML 流水线
python·机器学习·scikit-learn
147API2 小时前
Claude global workspace 研究给智能体测试提了一个醒
人工智能·算法·机器学习
葫三生2 小时前
《论三生原理》与模糊数学的关联、异同、互补关系?
人工智能·科技·算法·机器学习·开源
格林威2 小时前
网口相机 vs USB相机:区别与适用场景(选型不再纠结)
人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉·工业相机
Token炼金师4 小时前
四段式淬炼:预训练、持续预训练、中训练、冷启动 SFT —— 课程学习与训练阶段编排
人工智能·深度学习·机器学习
AI 大模型学习不踩坑4 小时前
Harness 架构原理与工程实践详解
java·人工智能·神经网络·机器学习·计算机视觉·架构
敲不会代码也学不会英语5 小时前
【AI学习之旅02】AI全景图:一张图看懂AI生态——机器学习/深度学习/大模型关系与术语扫盲
人工智能·学习·机器学习
水龙吟啸5 小时前
华为2026.6.24机考选择题+编程题【速刷敲黑板】
人工智能·深度学习·算法·机器学习·华为
苏州邦恩精密5 小时前
蔡司3D扫描仪怎么选?从企业检测需求看供应商实力
人工智能·机器学习·3d·自动化·制造