1. 对于回归问题,用损失函数来计算预测值和真实值的差异,一种常用的公式是如下图所示(Mean Square Error),如果损失函数的值越小说明神经网络学习越准确,所以神经网络训练目标是减小损失函数的值,
2. 对于分类问题,损失函数和上面不一样,这里使用交叉熵作为损失函数,神经网络训练目标是最小化交叉熵。
3. 最小化损失函数的方法(梯度下降法),即将优化步骤拆分成若干个步骤,每次对损失函数的值做小幅缩小,具体过程是对损失函数求该模型参数的梯度,每次迭代对向着梯度变化最快的方向前进一步(这样就可以计算出模型参数,并在此轮迭代后更新模型参数),这样就可以使损失函数值降低一点,每次前进一步的步长称为学习率。
4. 回归问题的梯度求解过程:输出是标量F(x), 输入是[x1,x2,...xn], 对输入求偏导,得到的向量是梯度。
5. 分类问题的梯度求解过程:输出是向量F(X),有多个输出,让每个输出对输入变量X[x1,x2,..xn]求微分,得到的jacobian矩阵是梯度
6. 求微分时的链式法则:
7.求微分实例:
8.在实际深度学习场景中,对每个参数梯度计算是通过反向传播算法实现的。
9.单个节点梯度的计算过程: downstream_gradient = upstream_gradient * local_gradient 这个公式在实际写算子时会用到。