Machine learning SGD小批量-所有尺寸相同?

Machine learning SGD小批量-所有尺寸相同?,machine-learning,neural-network,gradient-descent,Machine Learning,Neural Network,Gradient Descent,具有小批量的随机梯度下降算法通常使用小批量的大小或数量作为参数 现在我想知道的是,所有的小批量产品都需要完全相同的尺寸吗 以MNIST(60k训练图像)的训练数据和70的小批量为例 如果我们在一个简单的循环中进行,我们将生产857个尺寸为70(如指定)的小批量和一个尺寸为10的小批量。 现在,(使用这种方法)一个小批量比其他小批量重要吗(最坏的情况是:1号小批量)? 这会严重影响我们的网络在几乎所有的“训练”中学习到的权重和偏差吗 否,小批量不必具有相同的大小。出于效率原因,它们的大小通常是恒定

具有小批量的随机梯度下降算法通常使用小批量的大小或数量作为参数

现在我想知道的是,所有的小批量产品都需要完全相同的尺寸吗

以MNIST(60k训练图像)的训练数据和70的小批量为例

如果我们在一个简单的循环中进行,我们将生产
857个尺寸为70(如指定)的小批量和一个尺寸为10的小批量。

现在,(使用这种方法)一个小批量比其他小批量重要吗(最坏的情况是:1号小批量)?
这会严重影响我们的网络在几乎所有的“训练”中学习到的权重和偏差吗

否,小批量不必具有相同的大小。出于效率原因,它们的大小通常是恒定的(您不必重新分配内存/调整张量大小)。在实践中,您甚至可以在每次迭代中对批次进行抽样


但是,批次的大小会产生影响。很难说哪一个是最好的,但是使用更小/更大的批量可能会导致不同的解决方案(并且总是-不同的收敛速度)。这是处理更多随机运动(小批量)与平滑更新(良好梯度估计器)的效果。特别是-使用一些预定义的大小分布对批次进行随机大小调整,可以同时使用这两种效果(但拟合此分布所花费的时间可能不值得)

不,小批次不必具有相同的大小。出于效率原因,它们的大小通常是恒定的(您不必重新分配内存/调整张量大小)。在实践中,您甚至可以在每次迭代中对批次进行抽样


但是,批次的大小会产生影响。很难说哪一个是最好的,但是使用更小/更大的批量可能会导致不同的解决方案(并且总是-不同的收敛速度)。这是处理更多随机运动(小批量)与平滑更新(良好梯度估计器)的效果。特别是-使用一些预定义的大小分布对批次进行随机大小调整,可以同时使用这两种效果(但花在拟合此分布上的时间可能不值得)

太好了,谢谢。还有一个问题我找不到答案:如果我从中获取批次的训练数据每一个历元都被洗牌,那么你对小批次进行采样的方式能否改善结果?(当然,我不是说随机的改进:D)不应该。假设您的小批量产品是统一抽样的。唯一可能发生的事情是,您可以通过不正确的采样(例如以非随机方式)来减少结果。类似地,很难分析经典学习方法在对抗性环境中的表现(当你修改你的采样以关注更难的例子等)——然后更多的是关于启发式(缺乏理论结果)。好的,我理解。谢谢你的洞察力。太好了,谢谢。还有一个问题我找不到答案:如果我从中获取批次的训练数据每一个历元都被洗牌,那么你对小批次进行采样的方式能否改善结果?(当然,我不是说随机的改进:D)不应该。假设您的小批量产品是统一抽样的。唯一可能发生的事情是,您可以通过不正确的采样(例如以非随机方式)来减少结果。类似地,很难分析经典学习方法在对抗性环境中的表现(当你修改你的采样以关注更难的例子等)——然后更多的是关于启发式(缺乏理论结果)。好的,我理解。谢谢你的洞察力。