在神经网络中,我总是看到按 1/ n缩放的成本函数,其中n = 训练示例的总数。我也看到了它,比如在成本上添加一个正则化项。为什么这样做?
这种缩放意味着更新权重的梯度也会被缩放,因此增加训练数据会减慢学习速度。如果你将训练数据翻倍,你的学习速度就会减半。对于 2000 个示例(这没什么!)我需要一个 1.0 的疯狂学习率才能到达任何地方,这意味着我肯定在这里误解了一些东西。
当我拿出这个 1/ n缩放时,我一点问题都没有,而且当我添加更多的训练数据时,我也不必调整我的学习率,这让我更加确定我在这里遗漏了一些东西。
另一个问题是我正在使用一种非常动态的数据增强,其中每个小批量都随机旋转、缩放、添加噪声等,因此网络永远不会真正看到相同的输入两次。在这种情况下,你甚至会如何使用这个 1/ n缩放?

