训练样本的成本函数和小批量的成本函数之间的差异



假设我有一个名为"NN"的神经网络,具有500个权重和偏差(总参数=500(。

对于一个训练样本:它是通过"NN"引入的,它吐出一个输出(Out1(,将输出与训练标签进行比较,使用反向传播算法,"NN"的每个参数都有一个小的变化(正或负(。成本函数由维度为1x500的向量表示,并通过反向传播算法获得所有小的修改。

假设mini_batch_size=10

对于一个小批量:10个训练样本中的每一个都提供尺寸为1x500的成本函数。

为了更好地可视化和解释,假设我们创建一个10x500(称为M(的矩阵,其中每一行都是每个训练样本的成本函数。

问题:对于小批量训练示例,小批量的最终成本函数是所有列元素的平均值的结果吗?

PD。如果这个问题还不够清楚,我留下了一些代码来说明我的确切意思。

for j=1:500
Cost_mini_batch(j)=sum(M(:,j))/10
end

Cost_mini_batch的尺寸为1x500。

"成本"是指损失,即Out1和训练标签之间的错误。

成本函数由维度为1x500的向量表示,并通过反向传播算法获得所有小的修改。

这被称为"梯度",而不是成本函数。

问题:对于小批量训练示例,小批量的最终成本函数是所有列元素的平均值的结果吗?

是的,迷你批次的梯度和成本函数都是迷你批次中每个示例的梯度的平均值。

最新更新