gpt4 book ai didi

python - 神经网络 - 输入标准化

转载 作者:行者123 更新时间:2023-11-30 09:48:11 26 4
gpt4 key购买 nike

将输入值(神经网络)标准化以加速学习过程是一种常见的做法,特别是当特征具有非常大的尺度时。

归一化的理论很容易理解。但我想知道如果训练数据集非常大(例如 100 万个训练样本),这是如何完成的?如果每个训练示例的 # 个特征也很大(例如,每个训练示例 100 个特征),则会突然出现 2 个问题:- 标准化所有训练样本需要一些时间- 规范化的训练样本需要保存在某个地方,因此我们需要将必要的磁盘空间加倍(特别是如果我们不想覆盖原始数据)。

在实践中如何解决输入标准化,特别是在数据集非常大的情况下?

一个选择可能是在训练时动态标准化每个小批量内存中的输入。但是标准化结果将从一个小批量更改为另一个小批量。那这样可以忍受吗?

这个平台上可能有人对这个问题有实际经验。如果您能分享您的经验,我将不胜感激。

提前谢谢您。

最佳答案

大量的特征使得数据集标准化的并行化变得更加容易。这并不是一个真正的问题。大型数据集的标准化很容易通过 GPU 加速,而且速度相当快。即使对于像您所描述的大型数据集也是如此。我编写的一个框架可以在 4 核 4 线程 CPU 上在 10 秒内标准化整个 MNIST 数据集。 GPU 可以在 2 秒内轻松完成。计算不是问题。对于较小的数据集,您可以将整个标准化数据集保存在内存中,而对于较大的数据集,就像您提到的那样,如果您标准化整个数据集,则需要交换到磁盘。但是,如果您正在执行相当大的批量大小(大约 128 或更高),则最小值和最大值不会波动那么大,具体取决于数据集。这允许您在训练网络之前对小批量进行标准化,但这又取决于网络。我建议根据您的数据集进行实验,并选择最佳方法。

关于python - 神经网络 - 输入标准化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49593985/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com