1.梯度下降
梯度下降算法经常用来求解最优化问题,通常用来求解损失函数的最小值,沿着梯度的方向,误差下降最快,举个简单容易理解的例子:求解开口向上的二次函数的最小值点,取其上一点,每次沿着该点的导数方向,逐步逼近最小值点,直到找到最小值,这样进行迭代,寻找最小值的速度最快。该思想就采用了梯度下降的方法。
2.反向传播
反向传播相当于一个反馈系统,对一个神经网络(感知机)而言,输入值X,输出值Y,初始权值w,
由于权值的不同,会导致输出值与真实值间存在误差,利用反向传播,将输出层误差反向进行传递,然后输入层根据传递过来的误差,误差从后向前传递并分摊给各层所有单元,各层单元依据误差进行参数的更新,以达到误差最小化的目的。
3.计算图
计算图是数学运算的图形化表示,每个非叶子节点表示一个基本操作,每个叶子节点为一个输入变量或常量。如下图:
4.使用Numpy编程实现例题
步长为15,迭代次数为15
步长为 1,迭代次数为100
步长为500,迭代次数为50
5.使用PyTorch的Backward()编程实现例题