
设总损失函数J(w)J(w)J(w)为数据集中NNN个独立样本的损失函数Li(w)L_i(w)Li(w)之和即J(w)∑i1NLi(w)J(w) \sum\limits_{i1}^{N} L_i(w)J(w)i1∑NLi(w)。若每个样本的损失函数Li(w)L_i(w)Li(w)关于模型参数www均可导则总损失函数J(w)J(w)J(w)关于参数www的导数或梯度等于各个样本损失函数Li(w)L_i(w)Li(w)关于参数www的导数或梯度之和。用数学公式表示即为∂J(w)∂w∂∂w(∑i1NLi(w))∑i1N∂Li(w)∂w\frac{\partial J(w)}{\partial w} \frac{\partial}{\partial w} \left( \sum\limits_{i1}^{N} L_i(w) \right) \sum\limits_{i1}^{N} \frac{\partial L_i(w)}{\partial w}∂w∂J(w)∂w∂(i1∑NLi(w))i1∑N∂w∂Li(w)证明这个结论的证明依赖于微积分中两个最基础的求导法则求和法则与链式法则。在机器学习中总损失函数JJJ通常是所有NNN个样本的损失LiL_iLi的平均值或总和即J(w)1N∑i1NLi(w)J(w) \frac{1}{N} \sum\limits_{i1}^{N} L_i(w)J(w)N1i1∑NLi(w)其中LiL_iLi是第iii个样本的损失它依赖于模型的预测值而预测值又依赖于参数www。对参数www求导对总损失JJJ关于参数www求偏导数∂J∂w∂∂w(1N∑i1NLi)\frac{\partial J}{\partial w} \frac{\partial}{\partial w} \left( \frac{1}{N} \sum\limits_{i1}^{N} L_i \right)∂w∂J∂w∂(N1i1∑NLi)运用求和法则根据微积分的求和法则和的导数等于导数的和以及常数因子可以提取到导数外面的性质可以把求导符号放进求和符号里面∂J(w)∂w1N∑i1N∂Li(w)∂w\frac{\partial J(w)}{\partial w} \frac{1}{N} \sum\limits_{i1}^{N} \frac{\partial L_i(w)}{\partial w}∂w∂J(w)N1i1∑N∂w∂Li(w)结论观察上面的等式右边∑i1N∂Li∂w\sum\limits_{i1}^{N} \dfrac{\partial L_i}{\partial w}i1∑N∂w∂Li正是各个样本损失对参数的导数之和。这个数学性质是批量梯度下降Batch Gradient Descent和小批量随机梯度下降Mini-batch SGD能够成立的基石。并行计算的基础因为它证明了总梯度可以拆分成独立的部分所以可以把数据分成一个个 Batch分别计算每个 Batch 的梯度最后把它们加起来或取平均就能得到全量数据的真实梯度。补充说明适用前提该性质成立的核心前提是各个样本的损失LiL_iLi之间是相互独立的并且都是关于参数www的可导函数。