首页
工具导航
归档统计
友链
友文
留言板
关于
更多
打 赏
Search
1
Qt Designer独立安装包Windows版下载指南 | 官方原版一键安装教程
1,452 阅读
2
从PointNet到PointNet++,小白也能看懂的核心思想
1,070 阅读
3
破除玩客云刷机超时难题!Armbian固件直刷包与Amlogic USB Burning工具版本完美搭配指南
819 阅读
4
(可API调用)无需联网即可使用基于深度学习识别的OCR工具Umi-OCR,内置高效率的离线OCR引擎
793 阅读
5
PyTorch梯度裁剪完全实用指南:原理、场景、优缺点、max_norm值估计方法
521 阅读
开源工具
实用插件
软件开发
机器学习
深度学习
论文阅读
登录
/
注册
找到
1
篇与
模型训练优化
相关的结果
三维视觉深度学习模型训练中归一化对结果的影响研究
深度学习
# 中国开发者开源项目
# 三维视觉
# 深度学习
# 归一化技术
# 点云处理
# 模型训练优化
# 批量归一化
admin
5月1日
0
16
0
2025-05-01
三维视觉是计算机视觉领域中一个快速发展且至关重要的分支,其在自动驾驶、机器人技术和医疗成像等众多应用中发挥着越来越重要的作用。为了处理和理解复杂的三维数据,研究人员日益依赖于深度学习模型。这些模型,例如用于点云数据的 PointNet 和 PointNet++,用于体素数据的 VoxelNet,以及三维卷积神经网络(3D CNNs),在三维物体分类、分割和场景理解等任务中取得了显著的成功。然而,训练这些深度神经网络并非易事,常常会遇到梯度消失或爆炸、收敛速度慢以及对超参数初始化敏感等问题。为了应对这些挑战,归一化技术已成为训练稳定且高效的深度学习模型的关键组成部分。本文旨在深入探讨归一化对三维视觉深度学习模型训练结果的影响。文将考察各种归一化方法,并分析它们在不同的三维模型架构和应用中的作用。通过对现有研究的综合分析,本文旨在为研究人员和从业人员提供关于何时以及如何有效地利用归一化技术来优化其三维视觉深度学习模型的训练过程的全面理解。 关于归一化具体的实现,可以参考文章:《点云数据标准化(归一化):常用方法及可视化对比的Python实现》 归一化基本原理及目的 在深度学习的背景下,归一化是指对输入数据或神经网络层激活值进行尺度变换和平移的过程,使其落入一个标准的范围或服从特定的分布 。归一化的总体目标是将特征置于相似的尺度或分布上,确保每个特征对学习过程的贡献是成比例的,并防止具有较大数值范围的特征在学习过程中占据主导地位 。 归一化的主要目的如下: (1)加速收敛: 归一化有助于优化算法,特别是梯度下降,通过创建更良性的损失函数地形来更快地收敛,从而简化优化过程并允许更大的梯度步长 。当不同的特征具有不同的数值范围时,梯度下降可能会在损失函数上发生“弹跳”,从而减缓学习速度 。虽然诸如 Adam 和 Adagrad 等更高级的优化器可以通过随时间改变有效学习率来部分缓解这个问题,但归一化仍然提供了额外的益处 。通过确保特征处于相似的尺度,损失函数的地形变得更加均匀,使得梯度下降能够更平稳地向最小值移动 。如果没有归一化,梯度下降的轨迹可能会发生振荡,需要更多的步骤才能收敛 。 (2)提高训练稳定性: 归一化通过减少内部协变量偏移来提高训练的稳定性。内部协变量偏移是指在训练过程中,由于先前层权重的更新,神经网络层输入分布发生变化 。隐藏层激活分布的这种变化就像后续层的“移动目标”,使得学习变得困难。归一化稳定了这些分布,使得每一层能够更独立和高效地学习 。稳定的输入分布允许使用更高的学习率而不会导致发散,并使模型对初始化选择的敏感性降低 。 (3)更好的泛化: 归一化可以作为一种正则化形式,通过减少模型对特定激活模式的依赖性,从而巧妙地防止过拟合并提高模型对未见过数据的泛化能力 。尤其是在批量归一化中,由于每个小批次统计数据的计算,归一化过程中引入的轻微噪声可以产生类似于 dropout 的正则化效果 。 (4)避免 NaN 陷阱: 归一化有助于防止数值不稳定性问题,例如当特征值非常高并超过浮点精度限制时可能发生的“NaN 陷阱”。 (5)学习适当的权重: 归一化通过将所有特征置于相似的尺度上,确保模型为每个特征学习适当的权重,防止具有较大数值范围的特征在学习过程中占据主导地位,并确保每个特征都做出成比例的贡献。 归一化寻优路线图片 归一化技术概述 (1)输入归一化 在将数据输入网络之前对其进行归一化至关重要,以确保数值大小的统一性并防止具有较大值的特征占据主导地位 。常见的输入归一化技术包括最小-最大缩放(归一化)、Z-score 缩放(标准化)、对数缩放等等。 (2)批量归一化 (BN) BN 的核心概念是在训练期间对一个小批次内的神经网络层激活值进行归一化,通过计算小批次中每个特征的激活值的均值和方差,然后使用这些统计数据进行归一化 。 在推理期间,BN 使用在训练期间计算的总体统计数据(运行均值和方差)。BN 的具体优点包括更快的收敛、更高的学习率、可以减少 dropout 需求的正则化效果以及降低对初始化的敏感性 。其局限性包括对批次大小的依赖性(如果小批次大小太小,效果可能会降低)以及由于训练和推理统计数据之间的差异可能导致预测困难 。 (3)层归一化 (LN) LN 对神经网络层中每个单独数据样本的特征进行归一化,而不是跨小批次进行归一化 。 优点包括适用于各种架构(包括由于可变序列长度而 BN 效果较差的 RNN)、跨不同批次大小的一致性以及一致的训练/推理过程 。它常用于 NLP 和 Transformer 网络 。 (4)实例归一化 (IN) IN 独立地对每个训练样本的每个通道在其空间维度(高度和宽度)上进行归一化,将每个实例视为唯一 。优点包括适用于风格迁移和图像生成(其中需要去除实例特定的对比度信息或保留风格)以及独立于批次大小 。对于需要批次级统计数据以学习跨数据集的鲁棒特征的任务,它可能效果较差 。 (5)组归一化 (GN) GN 将通道分成若干组,并在每个组内独立地对特征进行归一化,而不利用批次维度 。 优点包括对批次大小的灵活性、即使在小批次情况下也能增强模型训练、由于统计数据在样本内组中计算而非常适合分布式训练以及跨各种数据类型的通用性 。组的数量 (G) 这个超参数在层归一化 (G=C) 和实例归一化 (G=1) 之间进行插值方面起着作用 。 技术归一化范围对批次大小的依赖性三维视觉中的典型应用主要优点主要缺点批量归一化小批次内的特征高三维 CNN,体素网络加速收敛,允许更高的学习率,正则化小批次大小依赖性,训练和推理统计数据可能不同层归一化单个样本内的特征低点云模型(当批次大小较小时),序列三维数据适用于可变输入大小,与批次大小无关,训练和推理一致可能不适用于所有类型的三维数据实例归一化单个样本和通道内的空间维度低风格迁移,生成模型保留实例特定的特征,与批次大小无关可能不适用于需要批次级统计数据的任务组归一化每个样本内预定义的通道组低点云模型(当计算资源有限时),小批次大小对批次大小灵活,适用于分布式训练需要调整组的数量在训练三维视觉深度学习模型中的作用 (1)对基于点云的模型的影响 PointNet: PointNet 是一种直接使用点云并使用共享 MLP 为每个点学习特征,然后使用最大池化聚合它们的架构 。原始 PointNet 架构在输入和特征变换网络(T-net)以及共享 MLP 中使用了批量归一化,以稳定训练并提高收敛速度 。归一化有助于使模型对旋转和平移等某些变换保持不变,从而稳定特征学习过程 。研究探索了 PointNet 的替代归一化技术,例如上下文归一化,它独立地归一化每个点云,并且在旋转增强的数据集中显示出改进,表明旋转不变性增强 。输入归一化对于 PointNet 来说也很重要,以解决数据值范围的巨大差异,这可能会阻碍网络收敛 。 PointNet++: PointNet++ 通过学习分层局部特征来构建在 PointNet 之上,它使用多个集合抽象层 。批量归一化通常用于 PointNet++ 的集合抽象 (SA) 层中,以归一化在层次结构的每个级别学习的特征。归一化有助于学习局部几何结构并提高对非均匀点密度的鲁棒性。研究表明,PointNet++ 中相对位置归一化(将相对坐标除以邻域半径)的效果可以简化优化并提高性能 。组归一化已被用作计算能力有限或小批次大小场景中批量归一化的替代方案,在这种受限环境中显示出提高分类准确性的潜力 。PointNorm 中引入的双重归一化(点归一化和反向点归一化)旨在解决 PointNet++ 等架构中采样分组操作后点云的不规则性,展示了最先进的准确性和效率 。 PointNet图片 (2)对基于体素的模型的影响 VoxelNet 通过将点云划分为三维体素,然后使用体素特征编码 (VFE) 层和后续的三维卷积进行物体检测 。批量归一化用于 VFE 层和三维卷积中间层中,以学习每个体素内点的统一特征表示并稳定深度三维 CNN 的训练。归一化有助于 VoxelNet 在 KITTI 等基准测试中实现强大的三维物体检测性能 。虽然这些片段没有提供关于在没有批量归一化的情况下训练 VoxelNet 及其影响的具体细节,但该架构的深度和对稳定梯度流的依赖性表明,BN 对于实现其报告的性能可能是至关重要的。其他片段中讨论的在没有归一化的情况下训练深度 CNN 的一般挑战可能也适用于 VoxelNet。 VoxelNet图片 (3)对三维卷积神经网络 (3D CNNs) 的影响 三维 CNN 的架构和应用包括视频分类、医学图像分析(CT 扫描、MRI)以及来自体积数据的通用三维物体识别 。在三维卷积层之后加入批量归一化层是一种标准做法,以通过减少内部协变量偏移来稳定训练,通过允许更高的学习率来加速收敛,并通过提供轻微的正则化效果来改善泛化 。归一化有助于管理与三维 CNN 相比二维 CNN 相关的参数数量增加以及显著的内存和计算需求 。研究探索了使用和不使用归一化训练三维 CNN 的性能,结果表明,虽然在没有 BN 的情况下进行训练是可能的,但除非采用仔细的初始化和潜在的替代架构,否则验证准确性通常会停留在非常低的水平 。经验证据表明,向三维 CNN 添加批量归一化可以显著提高训练速度并获得更高的准确性,通常只需要更少的训练步骤 。 关于归一化的建议 基于现有证据,建议将批量归一化作为训练三维 CNN 和基于体素模型的强大且通常有效的默认选择,因为它在稳定训练和提高各种任务的性能方面取得了广泛的成功。对于基于点云的模型,尤其是在处理可变数量的输入点或在小批量大小下训练时,探索层归一化可能是一个合适的选择,因为在这些情况下,批量归一化可能存在局限性。对于需要保留实例特定特征的三维视觉应用,例如在三维形状的生成模型中或潜在地在涉及场景中单个物体分析的任务中,建议考虑实例归一化。组归一化是一种很有前途的批量归一化替代方案,尤其是在批次大小受到内存限制或三维数据性质限制的情况下,它在批次级和实例级归一化的优点之间提供了平衡。对于有兴趣探索深度学习前沿的研究人员和从业人员,建议研究在没有归一化的情况下训练三维视觉模型的策略,强调需要仔细考虑权重初始化、学习率调度以及可能采用专门的网络架构来缓解与缺少归一化相关的挑战。未来的研究方向可能包括开发专门为不同三维数据表示和三维视觉任务的几何性质量身定制的新型归一化技术,以及继续探索在不依赖传统归一化层的情况下训练高性能三维模型的方法的理论基础。
智能助理
×
您好,有什么可以帮您从本站内容中寻找答案吗?